[MESA]
authorJérôme Gardou <jerome.gardou@reactos.org>
Tue, 1 Oct 2013 19:30:37 +0000 (19:30 +0000)
committerJérôme Gardou <jerome.gardou@reactos.org>
Tue, 1 Oct 2013 19:30:37 +0000 (19:30 +0000)
 - leaner build part 4 of X
 - Get rid of ARB_occlusion_query, ARB_occlusion_query2, ARB_sync, ARB_transform_feedback2, EXT_draw_buffers2, EXT_transform_feedback, EXT_timer_query, ATI_fragment_shader (this time for real) and NV_conditional_render extensions

svn path=/trunk/; revision=60503

65 files changed:
reactos/dll/opengl/mesa/src/glsl/linker.cpp
reactos/dll/opengl/mesa/src/mesa/drivers/common/driverfuncs.c
reactos/dll/opengl/mesa/src/mesa/drivers/common/meta.c
reactos/dll/opengl/mesa/src/mesa/drivers/common/meta.h
reactos/dll/opengl/mesa/src/mesa/main/CMakeLists.txt
reactos/dll/opengl/mesa/src/mesa/main/accum.c
reactos/dll/opengl/mesa/src/mesa/main/api_exec.c
reactos/dll/opengl/mesa/src/mesa/main/api_validate.c
reactos/dll/opengl/mesa/src/mesa/main/api_validate.h
reactos/dll/opengl/mesa/src/mesa/main/atifragshader.c [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/atifragshader.h [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/attrib.c
reactos/dll/opengl/mesa/src/mesa/main/bufferobj.c
reactos/dll/opengl/mesa/src/mesa/main/condrender.c [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/condrender.h [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/config.h
reactos/dll/opengl/mesa/src/mesa/main/context.c
reactos/dll/opengl/mesa/src/mesa/main/dd.h
reactos/dll/opengl/mesa/src/mesa/main/dispatch.h
reactos/dll/opengl/mesa/src/mesa/main/dlist.c
reactos/dll/opengl/mesa/src/mesa/main/enable.c
reactos/dll/opengl/mesa/src/mesa/main/enable.h
reactos/dll/opengl/mesa/src/mesa/main/extensions.c
reactos/dll/opengl/mesa/src/mesa/main/get.c
reactos/dll/opengl/mesa/src/mesa/main/get.h
reactos/dll/opengl/mesa/src/mesa/main/queryobj.c [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/queryobj.h [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/remap.c [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/remap.h [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/remap_helper.h [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/shaderapi.c
reactos/dll/opengl/mesa/src/mesa/main/shaderobj.c
reactos/dll/opengl/mesa/src/mesa/main/shared.c
reactos/dll/opengl/mesa/src/mesa/main/state.c
reactos/dll/opengl/mesa/src/mesa/main/syncobj.c [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/syncobj.h [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/transformfeedback.c [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/transformfeedback.h [deleted file]
reactos/dll/opengl/mesa/src/mesa/main/varray.h
reactos/dll/opengl/mesa/src/mesa/main/version.c
reactos/dll/opengl/mesa/src/mesa/main/vtxfmt.c
reactos/dll/opengl/mesa/src/mesa/program/program.c
reactos/dll/opengl/mesa/src/mesa/swrast/CMakeLists.txt
reactos/dll/opengl/mesa/src/mesa/swrast/s_atifragshader.c [deleted file]
reactos/dll/opengl/mesa/src/mesa/swrast/s_atifragshader.h [deleted file]
reactos/dll/opengl/mesa/src/mesa/swrast/s_bitmap.c
reactos/dll/opengl/mesa/src/mesa/swrast/s_blit.c
reactos/dll/opengl/mesa/src/mesa/swrast/s_clear.c
reactos/dll/opengl/mesa/src/mesa/swrast/s_context.c
reactos/dll/opengl/mesa/src/mesa/swrast/s_context.h
reactos/dll/opengl/mesa/src/mesa/swrast/s_copypix.c
reactos/dll/opengl/mesa/src/mesa/swrast/s_drawpix.c
reactos/dll/opengl/mesa/src/mesa/swrast/s_span.c
reactos/dll/opengl/mesa/src/mesa/swrast/s_triangle.c
reactos/dll/opengl/mesa/src/mesa/swrast_setup/ss_context.c
reactos/dll/opengl/mesa/src/mesa/tnl/t_draw.c
reactos/dll/opengl/mesa/src/mesa/tnl/tnl.h
reactos/dll/opengl/mesa/src/mesa/vbo/vbo.h
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_exec_array.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_exec_draw.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_rebase.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_save_api.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_save_draw.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_split_copy.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_split_inplace.c

index f028ab3..961f61a 100644 (file)
@@ -1376,385 +1376,6 @@ demote_shader_inputs_and_outputs(gl_shader *sh, enum ir_variable_mode mode)
 }
 
 
-/**
- * Data structure tracking information about a transform feedback declaration
- * during linking.
- */
-class tfeedback_decl
-{
-public:
-   bool init(struct gl_context *ctx, struct gl_shader_program *prog,
-             const void *mem_ctx, const char *input);
-   static bool is_same(const tfeedback_decl &x, const tfeedback_decl &y);
-   bool assign_location(struct gl_context *ctx, struct gl_shader_program *prog,
-                        ir_variable *output_var);
-   bool accumulate_num_outputs(struct gl_shader_program *prog, unsigned *count);
-   bool store(struct gl_context *ctx, struct gl_shader_program *prog,
-              struct gl_transform_feedback_info *info, unsigned buffer,
-              unsigned varying, const unsigned max_outputs) const;
-
-
-   /**
-    * True if assign_location() has been called for this object.
-    */
-   bool is_assigned() const
-   {
-      return this->location != -1;
-   }
-
-   /**
-    * Determine whether this object refers to the variable var.
-    */
-   bool matches_var(ir_variable *var) const
-   {
-      if (this->is_clip_distance_mesa)
-         return strcmp(var->name, "gl_ClipDistanceMESA") == 0;
-      else
-         return strcmp(var->name, this->var_name) == 0;
-   }
-
-   /**
-    * The total number of varying components taken up by this variable.  Only
-    * valid if is_assigned() is true.
-    */
-   unsigned num_components() const
-   {
-      if (this->is_clip_distance_mesa)
-         return this->size;
-      else
-         return this->vector_elements * this->matrix_columns * this->size;
-   }
-
-private:
-   /**
-    * The name that was supplied to glTransformFeedbackVaryings.  Used for
-    * error reporting and glGetTransformFeedbackVarying().
-    */
-   const char *orig_name;
-
-   /**
-    * The name of the variable, parsed from orig_name.
-    */
-   const char *var_name;
-
-   /**
-    * True if the declaration in orig_name represents an array.
-    */
-   bool is_subscripted;
-
-   /**
-    * If is_subscripted is true, the subscript that was specified in orig_name.
-    */
-   unsigned array_subscript;
-
-   /**
-    * True if the variable is gl_ClipDistance and the driver lowers
-    * gl_ClipDistance to gl_ClipDistanceMESA.
-    */
-   bool is_clip_distance_mesa;
-
-   /**
-    * The vertex shader output location that the linker assigned for this
-    * variable.  -1 if a location hasn't been assigned yet.
-    */
-   int location;
-
-   /**
-    * If location != -1, the number of vector elements in this variable, or 1
-    * if this variable is a scalar.
-    */
-   unsigned vector_elements;
-
-   /**
-    * If location != -1, the number of matrix columns in this variable, or 1
-    * if this variable is not a matrix.
-    */
-   unsigned matrix_columns;
-
-   /** Type of the varying returned by glGetTransformFeedbackVarying() */
-   GLenum type;
-
-   /**
-    * If location != -1, the size that should be returned by
-    * glGetTransformFeedbackVarying().
-    */
-   unsigned size;
-};
-
-
-/**
- * Initialize this object based on a string that was passed to
- * glTransformFeedbackVaryings.  If there is a parse error, the error is
- * reported using linker_error(), and false is returned.
- */
-bool
-tfeedback_decl::init(struct gl_context *ctx, struct gl_shader_program *prog,
-                     const void *mem_ctx, const char *input)
-{
-   /* We don't have to be pedantic about what is a valid GLSL variable name,
-    * because any variable with an invalid name can't exist in the IR anyway.
-    */
-
-   this->location = -1;
-   this->orig_name = input;
-   this->is_clip_distance_mesa = false;
-
-   const char *bracket = strrchr(input, '[');
-
-   if (bracket) {
-      this->var_name = ralloc_strndup(mem_ctx, input, bracket - input);
-      if (sscanf(bracket, "[%u]", &this->array_subscript) != 1) {
-         linker_error(prog, "Cannot parse transform feedback varying %s", input);
-         return false;
-      }
-      this->is_subscripted = true;
-   } else {
-      this->var_name = ralloc_strdup(mem_ctx, input);
-      this->is_subscripted = false;
-   }
-
-   /* For drivers that lower gl_ClipDistance to gl_ClipDistanceMESA, this
-    * class must behave specially to account for the fact that gl_ClipDistance
-    * is converted from a float[8] to a vec4[2].
-    */
-   if (ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].LowerClipDistance &&
-       strcmp(this->var_name, "gl_ClipDistance") == 0) {
-      this->is_clip_distance_mesa = true;
-   }
-
-   return true;
-}
-
-
-/**
- * Determine whether two tfeedback_decl objects refer to the same variable and
- * array index (if applicable).
- */
-bool
-tfeedback_decl::is_same(const tfeedback_decl &x, const tfeedback_decl &y)
-{
-   if (strcmp(x.var_name, y.var_name) != 0)
-      return false;
-   if (x.is_subscripted != y.is_subscripted)
-      return false;
-   if (x.is_subscripted && x.array_subscript != y.array_subscript)
-      return false;
-   return true;
-}
-
-
-/**
- * Assign a location for this tfeedback_decl object based on the location
- * assignment in output_var.
- *
- * If an error occurs, the error is reported through linker_error() and false
- * is returned.
- */
-bool
-tfeedback_decl::assign_location(struct gl_context *ctx,
-                                struct gl_shader_program *prog,
-                                ir_variable *output_var)
-{
-   if (output_var->type->is_array()) {
-      /* Array variable */
-      const unsigned matrix_cols =
-         output_var->type->fields.array->matrix_columns;
-      unsigned actual_array_size = this->is_clip_distance_mesa ?
-         prog->Vert.ClipDistanceArraySize : output_var->type->array_size();
-
-      if (this->is_subscripted) {
-         /* Check array bounds. */
-         if (this->array_subscript >= actual_array_size) {
-            linker_error(prog, "Transform feedback varying %s has index "
-                         "%i, but the array size is %u.",
-                         this->orig_name, this->array_subscript,
-                         actual_array_size);
-            return false;
-         }
-         if (this->is_clip_distance_mesa) {
-            this->location =
-               output_var->location + this->array_subscript / 4;
-         } else {
-            this->location =
-               output_var->location + this->array_subscript * matrix_cols;
-         }
-         this->size = 1;
-      } else {
-         this->location = output_var->location;
-         this->size = actual_array_size;
-      }
-      this->vector_elements = output_var->type->fields.array->vector_elements;
-      this->matrix_columns = matrix_cols;
-      if (this->is_clip_distance_mesa)
-         this->type = GL_FLOAT;
-      else
-         this->type = output_var->type->fields.array->gl_type;
-   } else {
-      /* Regular variable (scalar, vector, or matrix) */
-      if (this->is_subscripted) {
-         linker_error(prog, "Transform feedback varying %s requested, "
-                      "but %s is not an array.",
-                      this->orig_name, this->var_name);
-         return false;
-      }
-      this->location = output_var->location;
-      this->size = 1;
-      this->vector_elements = output_var->type->vector_elements;
-      this->matrix_columns = output_var->type->matrix_columns;
-      this->type = output_var->type->gl_type;
-   }
-
-   /* From GL_EXT_transform_feedback:
-    *   A program will fail to link if:
-    *
-    *   * the total number of components to capture in any varying
-    *     variable in <varyings> is greater than the constant
-    *     MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT and the
-    *     buffer mode is SEPARATE_ATTRIBS_EXT;
-    */
-   if (prog->TransformFeedback.BufferMode == GL_SEPARATE_ATTRIBS &&
-       this->num_components() >
-       ctx->Const.MaxTransformFeedbackSeparateComponents) {
-      linker_error(prog, "Transform feedback varying %s exceeds "
-                   "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS.",
-                   this->orig_name);
-      return false;
-   }
-
-   return true;
-}
-
-
-bool
-tfeedback_decl::accumulate_num_outputs(struct gl_shader_program *prog,
-                                       unsigned *count)
-{
-   if (!this->is_assigned()) {
-      /* From GL_EXT_transform_feedback:
-       *   A program will fail to link if:
-       *
-       *   * any variable name specified in the <varyings> array is not
-       *     declared as an output in the geometry shader (if present) or
-       *     the vertex shader (if no geometry shader is present);
-       */
-      linker_error(prog, "Transform feedback varying %s undeclared.",
-                   this->orig_name);
-      return false;
-   }
-
-   unsigned translated_size = this->size;
-   if (this->is_clip_distance_mesa)
-      translated_size = (translated_size + 3) / 4;
-
-   *count += translated_size * this->matrix_columns;
-
-   return true;
-}
-
-
-/**
- * Update gl_transform_feedback_info to reflect this tfeedback_decl.
- *
- * If an error occurs, the error is reported through linker_error() and false
- * is returned.
- */
-bool
-tfeedback_decl::store(struct gl_context *ctx, struct gl_shader_program *prog,
-                      struct gl_transform_feedback_info *info,
-                      unsigned buffer,
-                      unsigned varying, const unsigned max_outputs) const
-{
-   /* From GL_EXT_transform_feedback:
-    *   A program will fail to link if:
-    *
-    *     * the total number of components to capture is greater than
-    *       the constant MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT
-    *       and the buffer mode is INTERLEAVED_ATTRIBS_EXT.
-    */
-   if (prog->TransformFeedback.BufferMode == GL_INTERLEAVED_ATTRIBS &&
-       info->BufferStride[buffer] + this->num_components() >
-       ctx->Const.MaxTransformFeedbackInterleavedComponents) {
-      linker_error(prog, "The MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS "
-                   "limit has been exceeded.");
-      return false;
-   }
-
-   unsigned translated_size = this->size;
-   if (this->is_clip_distance_mesa)
-      translated_size = (translated_size + 3) / 4;
-   unsigned components_so_far = 0;
-   for (unsigned index = 0; index < translated_size; ++index) {
-      for (unsigned v = 0; v < this->matrix_columns; ++v) {
-         unsigned num_components = this->vector_elements;
-         assert(info->NumOutputs < max_outputs);
-         info->Outputs[info->NumOutputs].ComponentOffset = 0;
-         if (this->is_clip_distance_mesa) {
-            if (this->is_subscripted) {
-               num_components = 1;
-               info->Outputs[info->NumOutputs].ComponentOffset =
-                  this->array_subscript % 4;
-            } else {
-               num_components = MIN2(4, this->size - components_so_far);
-            }
-         }
-         info->Outputs[info->NumOutputs].OutputRegister =
-            this->location + v + index * this->matrix_columns;
-         info->Outputs[info->NumOutputs].NumComponents = num_components;
-         info->Outputs[info->NumOutputs].OutputBuffer = buffer;
-         info->Outputs[info->NumOutputs].DstOffset = info->BufferStride[buffer];
-         ++info->NumOutputs;
-         info->BufferStride[buffer] += num_components;
-         components_so_far += num_components;
-      }
-   }
-   assert(components_so_far == this->num_components());
-
-   info->Varyings[varying].Name = ralloc_strdup(prog, this->orig_name);
-   info->Varyings[varying].Type = this->type;
-   info->Varyings[varying].Size = this->size;
-   info->NumVarying++;
-
-   return true;
-}
-
-
-/**
- * Parse all the transform feedback declarations that were passed to
- * glTransformFeedbackVaryings() and store them in tfeedback_decl objects.
- *
- * If an error occurs, the error is reported through linker_error() and false
- * is returned.
- */
-static bool
-parse_tfeedback_decls(struct gl_context *ctx, struct gl_shader_program *prog,
-                      const void *mem_ctx, unsigned num_names,
-                      char **varying_names, tfeedback_decl *decls)
-{
-   for (unsigned i = 0; i < num_names; ++i) {
-      if (!decls[i].init(ctx, prog, mem_ctx, varying_names[i]))
-         return false;
-      /* From GL_EXT_transform_feedback:
-       *   A program will fail to link if:
-       *
-       *   * any two entries in the <varyings> array specify the same varying
-       *     variable;
-       *
-       * We interpret this to mean "any two entries in the <varyings> array
-       * specify the same varying variable and array index", since transform
-       * feedback of arrays would be useless otherwise.
-       */
-      for (unsigned j = 0; j < i; ++j) {
-         if (tfeedback_decl::is_same(decls[i], decls[j])) {
-            linker_error(prog, "Transform feedback varying %s specified "
-                         "more than once.", varying_names[i]);
-            return false;
-         }
-      }
-   }
-   return true;
-}
-
-
 /**
  * Assign a location for a variable that is produced in one pipeline stage
  * (the "producer") and consumed in the next stage (the "consumer").
@@ -1817,15 +1438,6 @@ assign_varying_location(ir_variable *input_var, ir_variable *output_var,
  * Variables produced by the producer may also be consumed by transform
  * feedback.
  *
- * \param num_tfeedback_decls is the number of declarations indicating
- *        variables that may be consumed by transform feedback.
- *
- * \param tfeedback_decls is a pointer to an array of tfeedback_decl objects
- *        representing the result of parsing the strings passed to
- *        glTransformFeedbackVaryings().  assign_location() will be called for
- *        each of these objects that matches one of the outputs of the
- *        producer.
- *
  * When num_tfeedback_decls is nonzero, it is permissible for the consumer to
  * be NULL.  In this case, varying locations are assigned solely based on the
  * requirements of transform feedback.
@@ -1833,9 +1445,7 @@ assign_varying_location(ir_variable *input_var, ir_variable *output_var,
 bool
 assign_varying_locations(struct gl_context *ctx,
                         struct gl_shader_program *prog,
-                        gl_shader *producer, gl_shader *consumer,
-                         unsigned num_tfeedback_decls,
-                         tfeedback_decl *tfeedback_decls)
+                        gl_shader *producer, gl_shader *consumer)
 {
    /* FINISHME: Set dynamically when geometry shader support is added. */
    unsigned output_index = VERT_RESULT_VAR0;
@@ -1872,18 +1482,6 @@ assign_varying_locations(struct gl_context *ctx,
          assign_varying_location(input_var, output_var, &input_index,
                                  &output_index);
       }
-
-      for (unsigned i = 0; i < num_tfeedback_decls; ++i) {
-         if (!tfeedback_decls[i].is_assigned() &&
-             tfeedback_decls[i].matches_var(output_var)) {
-            if (output_var->location == -1) {
-               assign_varying_location(input_var, output_var, &input_index,
-                                       &output_index);
-            }
-            if (!tfeedback_decls[i].assign_location(ctx, prog, output_var))
-               return false;
-         }
-      }
    }
 
    unsigned varying_vectors = 0;
@@ -1963,57 +1561,6 @@ assign_varying_locations(struct gl_context *ctx,
    return true;
 }
 
-
-/**
- * Store transform feedback location assignments into
- * prog->LinkedTransformFeedback based on the data stored in tfeedback_decls.
- *
- * If an error occurs, the error is reported through linker_error() and false
- * is returned.
- */
-static bool
-store_tfeedback_info(struct gl_context *ctx, struct gl_shader_program *prog,
-                     unsigned num_tfeedback_decls,
-                     tfeedback_decl *tfeedback_decls)
-{
-   bool separate_attribs_mode =
-      prog->TransformFeedback.BufferMode == GL_SEPARATE_ATTRIBS;
-
-   ralloc_free(prog->LinkedTransformFeedback.Varyings);
-   ralloc_free(prog->LinkedTransformFeedback.Outputs);
-
-   memset(&prog->LinkedTransformFeedback, 0,
-          sizeof(prog->LinkedTransformFeedback));
-
-   prog->LinkedTransformFeedback.NumBuffers =
-      separate_attribs_mode ? num_tfeedback_decls : 1;
-
-   prog->LinkedTransformFeedback.Varyings =
-      rzalloc_array(prog,
-                   struct gl_transform_feedback_varying_info,
-                   num_tfeedback_decls);
-
-   unsigned num_outputs = 0;
-   for (unsigned i = 0; i < num_tfeedback_decls; ++i)
-      if (!tfeedback_decls[i].accumulate_num_outputs(prog, &num_outputs))
-         return false;
-
-   prog->LinkedTransformFeedback.Outputs =
-      rzalloc_array(prog,
-                    struct gl_transform_feedback_output,
-                    num_outputs);
-
-   for (unsigned i = 0; i < num_tfeedback_decls; ++i) {
-      unsigned buffer = separate_attribs_mode ? i : 0;
-      if (!tfeedback_decls[i].store(ctx, prog, &prog->LinkedTransformFeedback,
-                                    buffer, i, num_outputs))
-         return false;
-   }
-   assert(prog->LinkedTransformFeedback.NumOutputs == num_outputs);
-
-   return true;
-}
-
 /**
  * Store the gl_FragDepth layout in the gl_shader_program struct.
  */
@@ -2117,9 +1664,6 @@ check_resources(struct gl_context *ctx, struct gl_shader_program *prog)
 void
 link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
 {
-   tfeedback_decl *tfeedback_decls = NULL;
-   unsigned num_tfeedback_decls = prog->TransformFeedback.NumVarying;
-
    void *mem_ctx = ralloc_context(NULL); // temporary linker context
 
    prog->LinkStatus = false;
@@ -2288,54 +1832,17 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
         break;
    }
 
-   if (num_tfeedback_decls != 0) {
-      /* From GL_EXT_transform_feedback:
-       *   A program will fail to link if:
-       *
-       *   * the <count> specified by TransformFeedbackVaryingsEXT is
-       *     non-zero, but the program object has no vertex or geometry
-       *     shader;
-       */
-      if (prev >= MESA_SHADER_FRAGMENT) {
-         linker_error(prog, "Transform feedback varyings specified, but "
-                      "no vertex or geometry shader is present.");
-         goto done;
-      }
-
-      tfeedback_decls = ralloc_array(mem_ctx, tfeedback_decl,
-                                     prog->TransformFeedback.NumVarying);
-      if (!parse_tfeedback_decls(ctx, prog, mem_ctx, num_tfeedback_decls,
-                                 prog->TransformFeedback.VaryingNames,
-                                 tfeedback_decls))
-         goto done;
-   }
-
    for (unsigned i = prev + 1; i < MESA_SHADER_TYPES; i++) {
       if (prog->_LinkedShaders[i] == NULL)
         continue;
 
       if (!assign_varying_locations(
-             ctx, prog, prog->_LinkedShaders[prev], prog->_LinkedShaders[i],
-             i == MESA_SHADER_FRAGMENT ? num_tfeedback_decls : 0,
-             tfeedback_decls))
+             ctx, prog, prog->_LinkedShaders[prev], prog->_LinkedShaders[i]))
         goto done;
 
       prev = i;
    }
 
-   if (prev != MESA_SHADER_FRAGMENT && num_tfeedback_decls != 0) {
-      /* There was no fragment shader, but we still have to assign varying
-       * locations for use by transform feedback.
-       */
-      if (!assign_varying_locations(
-             ctx, prog, prog->_LinkedShaders[prev], NULL, num_tfeedback_decls,
-             tfeedback_decls))
-         goto done;
-   }
-
-   if (!store_tfeedback_info(ctx, prog, num_tfeedback_decls, tfeedback_decls))
-      goto done;
-
    if (prog->_LinkedShaders[MESA_SHADER_VERTEX] != NULL) {
       demote_shader_inputs_and_outputs(prog->_LinkedShaders[MESA_SHADER_VERTEX],
                                       ir_var_out);
index 61731bc..645d897 100644 (file)
@@ -30,7 +30,6 @@
 #include "main/context.h"
 #include "main/framebuffer.h"
 #include "main/mipmap.h"
-#include "main/queryobj.h"
 #include "main/readpix.h"
 #include "main/renderbuffer.h"
 #include "main/shaderobj.h"
@@ -42,9 +41,7 @@
 #include "main/texstore.h"
 #include "main/bufferobj.h"
 #include "main/fbobject.h"
-#include "main/syncobj.h"
 #include "main/texturebarrier.h"
-#include "main/transformfeedback.h"
 
 #include "program/program.h"
 #include "tnl/tnl.h"
@@ -171,11 +168,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
    /* buffer objects */
    _mesa_init_buffer_object_functions(driver);
 
-   /* query objects */
-   _mesa_init_query_object_functions(driver);
-
-   _mesa_init_sync_object_functions(driver);
-
    driver->NewFramebuffer = _mesa_new_framebuffer;
    driver->NewRenderbuffer = _swrast_new_soft_renderbuffer;
    driver->MapRenderbuffer = _swrast_map_soft_renderbuffer;
@@ -196,8 +188,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
 
    _mesa_init_shader_object_functions(driver);
 
-   _mesa_init_transform_feedback_functions(driver);
-
    /* T&L stuff */
    driver->CurrentExecPrimitive = 0;
    driver->CurrentSavePrimitive = 0;
index ddb7ea1..06aba33 100644 (file)
@@ -40,7 +40,7 @@
 #include "main/bufferobj.h"
 #include "main/buffers.h"
 #include "main/colortab.h"
-#include "main/condrender.h"
+#include "main/context.h"
 #include "main/depth.h"
 #include "main/enable.h"
 #include "main/fbobject.h"
@@ -65,7 +65,6 @@
 #include "main/teximage.h"
 #include "main/texparam.h"
 #include "main/texstate.h"
-#include "main/transformfeedback.h"
 #include "main/uniforms.h"
 #include "main/varray.h"
 #include "main/viewport.h"
@@ -170,10 +169,6 @@ struct save_state
    /** MESA_META_CLAMP_VERTEX_COLOR */
    GLenum ClampVertexColor;
 
-   /** MESA_META_CONDITIONAL_RENDER */
-   struct gl_query_object *CondRenderQuery;
-   GLenum CondRenderMode;
-
    /** MESA_META_SELECT_FEEDBACK */
    GLenum RenderMode;
    struct gl_selection Select;
@@ -182,7 +177,6 @@ struct save_state
    /** Miscellaneous (always disabled) */
    GLboolean Lighting;
    GLboolean RasterDiscard;
-   GLboolean TransformFeedbackNeedsResume;
 };
 
 /**
@@ -439,15 +433,6 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state)
    memset(save, 0, sizeof(*save));
    save->SavedState = state;
 
-   /* Pausing transform feedback needs to be done early, or else we won't be
-    * able to change other state.
-    */
-   save->TransformFeedbackNeedsResume =
-      ctx->TransformFeedback.CurrentObject->Active &&
-      !ctx->TransformFeedback.CurrentObject->Paused;
-   if (save->TransformFeedbackNeedsResume)
-      _mesa_PauseTransformFeedback();
-
    if (state & MESA_META_ALPHA_TEST) {
       save->AlphaEnabled = ctx->Color.AlphaEnabled;
       save->AlphaFunc = ctx->Color.AlphaFunc;
@@ -459,15 +444,7 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state)
    if (state & MESA_META_BLEND) {
       save->BlendEnabled = ctx->Color.BlendEnabled;
       if (ctx->Color.BlendEnabled) {
-         if (ctx->Extensions.EXT_draw_buffers2) {
-            GLuint i;
-            for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) {
-               _mesa_set_enablei(ctx, GL_BLEND, i, GL_FALSE);
-            }
-         }
-         else {
-            _mesa_set_enable(ctx, GL_BLEND, GL_FALSE);
-         }
+         _mesa_set_enable(ctx, GL_BLEND, GL_FALSE);
       }
       save->ColorLogicOpEnabled = ctx->Color.ColorLogicOpEnabled;
       if (ctx->Color.ColorLogicOpEnabled)
@@ -706,14 +683,6 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state)
       _mesa_ClampColorARB(GL_CLAMP_VERTEX_COLOR, GL_FALSE);
    }
 
-   if (state & MESA_META_CONDITIONAL_RENDER) {
-      save->CondRenderQuery = ctx->Query.CondRenderQuery;
-      save->CondRenderMode = ctx->Query.CondRenderMode;
-
-      if (ctx->Query.CondRenderQuery)
-        _mesa_EndConditionalRender();
-   }
-
    if (state & MESA_META_SELECT_FEEDBACK) {
       save->RenderMode = ctx->RenderMode;
       if (ctx->RenderMode == GL_SELECT) {
@@ -754,15 +723,7 @@ _mesa_meta_end(struct gl_context *ctx)
 
    if (state & MESA_META_BLEND) {
       if (ctx->Color.BlendEnabled != save->BlendEnabled) {
-         if (ctx->Extensions.EXT_draw_buffers2) {
-            GLuint i;
-            for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) {
-               _mesa_set_enablei(ctx, GL_BLEND, i, (save->BlendEnabled >> i) & 1);
-            }
-         }
-         else {
-            _mesa_set_enable(ctx, GL_BLEND, (save->BlendEnabled & 1));
-         }
+         _mesa_set_enable(ctx, GL_BLEND, (save->BlendEnabled & 1));
       }
       if (ctx->Color.ColorLogicOpEnabled != save->ColorLogicOpEnabled)
          _mesa_set_enable(ctx, GL_COLOR_LOGIC_OP, save->ColorLogicOpEnabled);
@@ -992,22 +953,6 @@ _mesa_meta_end(struct gl_context *ctx)
       _mesa_ClampColorARB(GL_CLAMP_VERTEX_COLOR, save->ClampVertexColor);
    }
 
-   if (state & MESA_META_CONDITIONAL_RENDER) {
-      if (save->CondRenderQuery)
-        _mesa_BeginConditionalRender(save->CondRenderQuery->Id,
-                                     save->CondRenderMode);
-   }
-
-   if (state & MESA_META_SELECT_FEEDBACK) {
-      if (save->RenderMode == GL_SELECT) {
-        _mesa_RenderMode(GL_SELECT);
-        ctx->Select = save->Select;
-      } else if (save->RenderMode == GL_FEEDBACK) {
-        _mesa_RenderMode(GL_FEEDBACK);
-        ctx->Feedback = save->Feedback;
-      }
-   }
-
    /* misc */
    if (save->Lighting) {
       _mesa_set_enable(ctx, GL_LIGHTING, GL_TRUE);
@@ -1015,8 +960,6 @@ _mesa_meta_end(struct gl_context *ctx)
    if (save->RasterDiscard) {
       _mesa_set_enable(ctx, GL_RASTERIZER_DISCARD, GL_TRUE);
    }
-   if (save->TransformFeedbackNeedsResume)
-      _mesa_ResumeTransformFeedback();
 }
 
 
@@ -1637,8 +1580,7 @@ _mesa_meta_Clear(struct gl_context *ctx, GLbitfield buffers)
    /* save all state but scissor, pixel pack/unpack */
    GLbitfield metaSave = (MESA_META_ALL -
                          MESA_META_SCISSOR -
-                         MESA_META_PIXEL_STORE -
-                         MESA_META_CONDITIONAL_RENDER);
+                         MESA_META_PIXEL_STORE);
    const GLuint stencilMax = (1 << ctx->DrawBuffer->Visual.stencilBits) - 1;
 
    if (buffers & BUFFER_BITS_COLOR) {
index de039b5..05286e2 100644 (file)
@@ -52,7 +52,6 @@
 #define MESA_META_VIEWPORT               0x4000
 #define MESA_META_CLAMP_FRAGMENT_COLOR   0x8000
 #define MESA_META_CLAMP_VERTEX_COLOR    0x10000
-#define MESA_META_CONDITIONAL_RENDER    0x20000
 #define MESA_META_CLIP                  0x40000
 #define MESA_META_SELECT_FEEDBACK       0x80000
 /**\}*/
index 8fa198d..5f3fd24 100644 (file)
@@ -14,7 +14,6 @@ list(APPEND SOURCE
     clear.c
     clip.c
     colortab.c
-    condrender.c
     context.c
     convolve.c
     cpuinfo.c
@@ -59,10 +58,8 @@ list(APPEND SOURCE
     points.c
     polygon.c
     querymatrix.c
-    queryobj.c
     rastpos.c
     readpix.c
-    remap.c
     renderbuffer.c
     scissor.c
     shaderapi.c
@@ -71,7 +68,6 @@ list(APPEND SOURCE
     shared.c
     state.c
     stencil.c
-    syncobj.c
     texcompress.c
     texcompress_rgtc.c
     texcompress_s3tc.c
@@ -88,7 +84,6 @@ list(APPEND SOURCE
     texstorage.c
     texstore.c
     texturebarrier.c
-    transformfeedback.c
     uniform_query.cpp
     uniforms.c
     varray.c
index df6f219..4ae0921 100644 (file)
@@ -24,7 +24,6 @@
 
 #include "glheader.h"
 #include "accum.h"
-#include "condrender.h"
 #include "context.h"
 #include "format_unpack.h"
 #include "format_pack.h"
@@ -459,9 +458,6 @@ _mesa_accum(struct gl_context *ctx, GLenum op, GLfloat value)
       return;
    }
 
-   if (!_mesa_check_conditional_render(ctx))
-      return;
-
    xpos = ctx->DrawBuffer->_Xmin;
    ypos = ctx->DrawBuffer->_Ymin;
    width =  ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin;
index 46c7310..da753b5 100644 (file)
@@ -36,7 +36,6 @@
 #if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program
 #include "arbprogram.h"
 #endif
-#include "atifragshader.h"
 #include "attrib.h"
 #include "blend.h"
 #include "bufferobj.h"
@@ -47,7 +46,6 @@
 #include "clear.h"
 #include "clip.h"
 #include "colortab.h"
-#include "condrender.h"
 #include "context.h"
 #include "convolve.h"
 #include "depth.h"
@@ -74,7 +72,6 @@
 #include "pixelstore.h"
 #include "points.h"
 #include "polygon.h"
-#include "queryobj.h"
 #include "readpix.h"
 #include "scissor.h"
 #include "stencil.h"
@@ -87,7 +84,6 @@
 #include "texstate.h"
 #include "texstorage.h"
 #include "texturebarrier.h"
-#include "transformfeedback.h"
 #include "mtypes.h"
 #include "varray.h"
 #include "viewport.h"
@@ -98,7 +94,6 @@
 #include "shaderapi.h"
 #include "uniforms.h"
 #endif
-#include "syncobj.h"
 #include "main/dispatch.h"
 
 
@@ -464,10 +459,6 @@ _mesa_create_exec_table(void)
    /* ???. GL_EXT_depth_bounds_test */
    SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT);
 
-   /* 352. GL_EXT_transform_feedback */
-   /* ARB 93. GL_ARB_transform_feedback2 */
-   _mesa_init_transform_feedback_dispatch(exec);
-
    /* 364. GL_EXT_provoking_vertex */
    SET_ProvokingVertexEXT(exec, _mesa_ProvokingVertexEXT);
 
@@ -587,9 +578,6 @@ _mesa_create_exec_table(void)
    SET_MapBufferARB(exec, _mesa_MapBufferARB);
    SET_UnmapBufferARB(exec, _mesa_UnmapBufferARB);
 
-   /* ARB 29. GL_ARB_occlusion_query */
-   _mesa_init_queryobj_dispatch(exec);
-
    /* ARB 37. GL_ARB_draw_buffers */
 #if FEATURE_draw_read_buffer
    SET_DrawBuffersARB(exec, _mesa_DrawBuffersARB);
@@ -601,12 +589,6 @@ _mesa_create_exec_table(void)
    SET_GetnTexImageARB(exec, _mesa_GetnTexImageARB);
    SET_ReadnPixelsARB(exec, _mesa_ReadnPixelsARB);
 
-   /* GL_ARB_sync */
-   _mesa_init_sync_dispatch(exec);
-
-  /* GL_ATI_fragment_shader */
-   _mesa_init_ati_fragment_shader_dispatch(exec);
-
   /* GL_ATI_envmap_bumpmap */
    SET_GetTexBumpParameterivATI(exec, _mesa_GetTexBumpParameterivATI);
    SET_GetTexBumpParameterfvATI(exec, _mesa_GetTexBumpParameterfvATI);
@@ -670,18 +652,6 @@ _mesa_create_exec_table(void)
    SET_BindVertexArray(exec, _mesa_BindVertexArray);
    SET_GenVertexArrays(exec, _mesa_GenVertexArrays);
 
-   /* GL_EXT_draw_buffers2 */
-   SET_ColorMaskIndexedEXT(exec, _mesa_ColorMaskIndexed);
-   SET_GetBooleanIndexedvEXT(exec, _mesa_GetBooleanIndexedv);
-   SET_GetIntegerIndexedvEXT(exec, _mesa_GetIntegerIndexedv);
-   SET_EnableIndexedEXT(exec, _mesa_EnableIndexed);
-   SET_DisableIndexedEXT(exec, _mesa_DisableIndexed);
-   SET_IsEnabledIndexedEXT(exec, _mesa_IsEnabledIndexed);
-
-   /* GL_NV_conditional_render */
-   SET_BeginConditionalRenderNV(exec, _mesa_BeginConditionalRender);
-   SET_EndConditionalRenderNV(exec, _mesa_EndConditionalRender);
-
 #if FEATURE_OES_EGL_image
    SET_EGLImageTargetTexture2DOES(exec, _mesa_EGLImageTargetTexture2DOES);
    SET_EGLImageTargetRenderbufferStorageOES(exec, _mesa_EGLImageTargetRenderbufferStorageOES);
index d1af2be..2f71f53 100644 (file)
@@ -475,36 +475,3 @@ _mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
    return GL_TRUE;
 }
 
-
-#if FEATURE_EXT_transform_feedback
-
-GLboolean
-_mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
-                                     GLenum mode,
-                                     struct gl_transform_feedback_object *obj)
-{
-   ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);
-
-   if (!_mesa_valid_prim_mode(ctx, mode)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glDrawTransformFeedback(mode)");
-      return GL_FALSE;
-   }
-
-   if (!obj) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glDrawTransformFeedback(name)");
-      return GL_FALSE;
-   }
-
-   if (!obj->EndedAnytime) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawTransformFeedback");
-      return GL_FALSE;
-   }
-
-   if (!check_valid_to_render(ctx, "glDrawTransformFeedback")) {
-      return GL_FALSE;
-   }
-
-   return GL_TRUE;
-}
-
-#endif
index f494842..c03e095 100644 (file)
@@ -72,13 +72,4 @@ _mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
                                      const GLvoid *indices, GLsizei primcount,
                                      GLint basevertex);
 
-#if FEATURE_EXT_transform_feedback
-
-extern GLboolean
-_mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
-                                     GLenum mode,
-                                     struct gl_transform_feedback_object *obj);
-
-#endif
-
 #endif
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/atifragshader.c b/reactos/dll/opengl/mesa/src/mesa/main/atifragshader.c
deleted file mode 100644 (file)
index c74c999..0000000
+++ /dev/null
@@ -1,796 +0,0 @@
-/**
- * \file atifragshader.c
- * \author David Airlie
- * Copyright (C) 2004  David Airlie   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
- * DAVID AIRLIE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include "main/glheader.h"
-#include "main/context.h"
-#include "main/hash.h"
-#include "main/imports.h"
-#include "main/macros.h"
-#include "main/mfeatures.h"
-#include "main/enums.h"
-#include "main/mtypes.h"
-#include "main/dispatch.h"
-#include "main/atifragshader.h"
-
-#if FEATURE_ATI_fragment_shader
-
-#define MESA_DEBUG_ATI_FS 0
-
-static struct ati_fragment_shader DummyShader;
-
-
-void
-_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp)
-{
-   SET_GenFragmentShadersATI(disp, _mesa_GenFragmentShadersATI);
-   SET_BindFragmentShaderATI(disp, _mesa_BindFragmentShaderATI);
-   SET_DeleteFragmentShaderATI(disp, _mesa_DeleteFragmentShaderATI);
-   SET_BeginFragmentShaderATI(disp, _mesa_BeginFragmentShaderATI);
-   SET_EndFragmentShaderATI(disp, _mesa_EndFragmentShaderATI);
-   SET_PassTexCoordATI(disp, _mesa_PassTexCoordATI);
-   SET_SampleMapATI(disp, _mesa_SampleMapATI);
-   SET_ColorFragmentOp1ATI(disp, _mesa_ColorFragmentOp1ATI);
-   SET_ColorFragmentOp2ATI(disp, _mesa_ColorFragmentOp2ATI);
-   SET_ColorFragmentOp3ATI(disp, _mesa_ColorFragmentOp3ATI);
-   SET_AlphaFragmentOp1ATI(disp, _mesa_AlphaFragmentOp1ATI);
-   SET_AlphaFragmentOp2ATI(disp, _mesa_AlphaFragmentOp2ATI);
-   SET_AlphaFragmentOp3ATI(disp, _mesa_AlphaFragmentOp3ATI);
-   SET_SetFragmentShaderConstantATI(disp, _mesa_SetFragmentShaderConstantATI);
-}
-
-
-/**
- * Allocate and initialize a new ATI fragment shader object.
- */
-struct ati_fragment_shader *
-_mesa_new_ati_fragment_shader(struct gl_context *ctx, GLuint id)
-{
-   struct ati_fragment_shader *s = CALLOC_STRUCT(ati_fragment_shader);
-   (void) ctx;
-   if (s) {
-      s->Id = id;
-      s->RefCount = 1;
-   }
-   return s;
-}
-
-
-/**
- * Delete the given ati fragment shader
- */
-void
-_mesa_delete_ati_fragment_shader(struct gl_context *ctx, struct ati_fragment_shader *s)
-{
-   GLuint i;
-   for (i = 0; i < MAX_NUM_PASSES_ATI; i++) {
-      if (s->Instructions[i])
-         free(s->Instructions[i]);
-      if (s->SetupInst[i])
-         free(s->SetupInst[i]);
-   }
-   free(s);
-}
-
-
-
-static void
-new_arith_inst(struct ati_fragment_shader *prog)
-{
-/* set "default" instruction as not all may get defined.
-   there is no specified way to express a nop with ati fragment shaders we use
-   GL_NONE as the op enum and just set some params to 0 - so nothing to do here */
-   prog->numArithInstr[prog->cur_pass >> 1]++;
-}
-
-static void
-new_tex_inst(struct ati_fragment_shader *prog)
-{
-}
-
-static void match_pair_inst(struct ati_fragment_shader *curProg, GLuint optype)
-{
-   if (optype == curProg->last_optype) {
-      curProg->last_optype = 1;
-   }
-}
-
-#if MESA_DEBUG_ATI_FS
-static char *
-create_dst_mod_str(GLuint mod)
-{
-   static char ret_str[1024];
-
-   memset(ret_str, 0, 1024);
-   if (mod & GL_2X_BIT_ATI)
-      strncat(ret_str, "|2X", 1024);
-
-   if (mod & GL_4X_BIT_ATI)
-      strncat(ret_str, "|4X", 1024);
-
-   if (mod & GL_8X_BIT_ATI)
-      strncat(ret_str, "|8X", 1024);
-   if (mod & GL_HALF_BIT_ATI)
-      strncat(ret_str, "|HA", 1024);
-   if (mod & GL_QUARTER_BIT_ATI)
-      strncat(ret_str, "|QU", 1024);
-   if (mod & GL_EIGHTH_BIT_ATI)
-      strncat(ret_str, "|EI", 1024);
-
-   if (mod & GL_SATURATE_BIT_ATI)
-      strncat(ret_str, "|SAT", 1024);
-
-   if (strlen(ret_str) == 0)
-      strncat(ret_str, "NONE", 1024);
-   return ret_str;
-}
-
-static char *atifs_ops[] = {"ColorFragmentOp1ATI", "ColorFragmentOp2ATI", "ColorFragmentOp3ATI", 
-                           "AlphaFragmentOp1ATI", "AlphaFragmentOp2ATI", "AlphaFragmentOp3ATI" };
-
-static void debug_op(GLint optype, GLuint arg_count, GLenum op, GLuint dst,
-                    GLuint dstMask, GLuint dstMod, GLuint arg1,
-                    GLuint arg1Rep, GLuint arg1Mod, GLuint arg2,
-                    GLuint arg2Rep, GLuint arg2Mod, GLuint arg3,
-                    GLuint arg3Rep, GLuint arg3Mod)
-{
-  char *op_name;
-
-  op_name = atifs_ops[(arg_count-1)+(optype?3:0)];
-  
-  fprintf(stderr, "%s(%s, %s", op_name, _mesa_lookup_enum_by_nr(op),
-             _mesa_lookup_enum_by_nr(dst));
-  if (!optype)
-    fprintf(stderr, ", %d", dstMask);
-  
-  fprintf(stderr, ", %s", create_dst_mod_str(dstMod));
-  
-  fprintf(stderr, ", %s, %s, %d", _mesa_lookup_enum_by_nr(arg1),
-             _mesa_lookup_enum_by_nr(arg1Rep), arg1Mod);
-  if (arg_count>1)
-    fprintf(stderr, ", %s, %s, %d", _mesa_lookup_enum_by_nr(arg2),
-             _mesa_lookup_enum_by_nr(arg2Rep), arg2Mod);
-  if (arg_count>2)
-    fprintf(stderr, ", %s, %s, %d", _mesa_lookup_enum_by_nr(arg3),
-             _mesa_lookup_enum_by_nr(arg3Rep), arg3Mod);
-
-  fprintf(stderr,")\n");
-
-}
-#endif
-
-static int check_arith_arg(struct ati_fragment_shader *curProg,
-                       GLuint optype, GLuint arg, GLuint argRep)
-{
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (((arg < GL_CON_0_ATI) || (arg > GL_CON_7_ATI)) &&
-      ((arg < GL_REG_0_ATI) || (arg > GL_REG_5_ATI)) &&
-      (arg != GL_ZERO) && (arg != GL_ONE) &&
-      (arg != GL_PRIMARY_COLOR_ARB) && (arg != GL_SECONDARY_INTERPOLATOR_ATI)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "C/AFragmentOpATI(arg)");
-      return 0;
-   }
-   if ((arg == GL_SECONDARY_INTERPOLATOR_ATI) && (((optype == 0) && (argRep == GL_ALPHA)) ||
-      ((optype == 1) && ((arg == GL_ALPHA) || (argRep == GL_NONE))))) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "C/AFragmentOpATI(sec_interp)");
-      return 0;
-   }
-   if ((arg == GL_SECONDARY_INTERPOLATOR_ATI) && (((optype == 0) && (argRep == GL_ALPHA)) ||
-      ((optype == 1) && ((arg == GL_ALPHA) || (argRep == GL_NONE))))) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "C/AFragmentOpATI(sec_interp)");
-      return 0;
-   }
-   if ((curProg->cur_pass == 1) &&
-      ((arg == GL_PRIMARY_COLOR_ARB) || (arg == GL_SECONDARY_INTERPOLATOR_ATI))) {
-      curProg->interpinp1 = GL_TRUE;
-   }
-   return 1;
-}
-
-GLuint GLAPIENTRY
-_mesa_GenFragmentShadersATI(GLuint range)
-{
-   GLuint first;
-   GLuint i;
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (range == 0) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glGenFragmentShadersATI(range)");
-      return 0;
-   }
-
-   if (ctx->ATIFragmentShader.Compiling) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glGenFragmentShadersATI(insideShader)");
-      return 0;
-   }
-
-   first = _mesa_HashFindFreeKeyBlock(ctx->Shared->ATIShaders, range);
-   for (i = 0; i < range; i++) {
-      _mesa_HashInsert(ctx->Shared->ATIShaders, first + i, &DummyShader);
-   }
-
-   return first;
-}
-
-void GLAPIENTRY
-_mesa_BindFragmentShaderATI(GLuint id)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct ati_fragment_shader *curProg = ctx->ATIFragmentShader.Current;
-   struct ati_fragment_shader *newProg;
-
-   if (ctx->ATIFragmentShader.Compiling) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glBindFragmentShaderATI(insideShader)");
-      return;
-   }
-
-   FLUSH_VERTICES(ctx, _NEW_PROGRAM);
-
-   if (curProg->Id == id) {
-      return;
-   }
-
-   /* unbind current */
-   if (curProg->Id != 0) {
-      curProg->RefCount--;
-      if (curProg->RefCount <= 0) {
-        _mesa_HashRemove(ctx->Shared->ATIShaders, id);
-      }
-   }
-
-   /* find new shader */
-   if (id == 0) {
-      newProg = ctx->Shared->DefaultFragmentShader;
-   }
-   else {
-      newProg = (struct ati_fragment_shader *)
-         _mesa_HashLookup(ctx->Shared->ATIShaders, id);
-      if (!newProg || newProg == &DummyShader) {
-        /* allocate a new program now */
-        newProg = _mesa_new_ati_fragment_shader(ctx, id);
-        if (!newProg) {
-           _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBindFragmentShaderATI");
-           return;
-        }
-        _mesa_HashInsert(ctx->Shared->ATIShaders, id, newProg);
-      }
-
-   }
-
-   /* do actual bind */
-   ctx->ATIFragmentShader.Current = newProg;
-
-   ASSERT(ctx->ATIFragmentShader.Current);
-   if (newProg)
-      newProg->RefCount++;
-
-   /*if (ctx->Driver.BindProgram)
-      ctx->Driver.BindProgram(ctx, target, prog); */
-}
-
-void GLAPIENTRY
-_mesa_DeleteFragmentShaderATI(GLuint id)
-{
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (ctx->ATIFragmentShader.Compiling) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glDeleteFragmentShaderATI(insideShader)");
-      return;
-   }
-
-   if (id != 0) {
-      struct ati_fragment_shader *prog = (struct ati_fragment_shader *)
-        _mesa_HashLookup(ctx->Shared->ATIShaders, id);
-      if (prog == &DummyShader) {
-        _mesa_HashRemove(ctx->Shared->ATIShaders, id);
-      }
-      else if (prog) {
-        if (ctx->ATIFragmentShader.Current &&
-            ctx->ATIFragmentShader.Current->Id == id) {
-            FLUSH_VERTICES(ctx, _NEW_PROGRAM);
-           _mesa_BindFragmentShaderATI(0);
-        }
-      }
-
-      /* The ID is immediately available for re-use now */
-      _mesa_HashRemove(ctx->Shared->ATIShaders, id);
-      if (prog) {
-        prog->RefCount--;
-        if (prog->RefCount <= 0) {
-           assert(prog != &DummyShader);
-           free(prog);
-        }
-      }
-   }
-}
-
-
-void GLAPIENTRY
-_mesa_BeginFragmentShaderATI(void)
-{
-   GLint i;
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (ctx->ATIFragmentShader.Compiling) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glBeginFragmentShaderATI(insideShader)");
-      return;
-   }
-
-   FLUSH_VERTICES(ctx, _NEW_PROGRAM);
-
-   /* if the shader was already defined free instructions and get new ones
-      (or, could use the same mem but would need to reinitialize) */
-   /* no idea if it's allowed to redefine a shader */
-   for (i = 0; i < MAX_NUM_PASSES_ATI; i++) {
-         if (ctx->ATIFragmentShader.Current->Instructions[i])
-            free(ctx->ATIFragmentShader.Current->Instructions[i]);
-         if (ctx->ATIFragmentShader.Current->SetupInst[i])
-            free(ctx->ATIFragmentShader.Current->SetupInst[i]);
-   }
-
-   /* malloc the instructions here - not sure if the best place but its
-      a start */
-   for (i = 0; i < MAX_NUM_PASSES_ATI; i++) {
-      ctx->ATIFragmentShader.Current->Instructions[i] =
-        (struct atifs_instruction *)
-        calloc(1, sizeof(struct atifs_instruction) *
-                  (MAX_NUM_INSTRUCTIONS_PER_PASS_ATI));
-      ctx->ATIFragmentShader.Current->SetupInst[i] =
-        (struct atifs_setupinst *)
-        calloc(1, sizeof(struct atifs_setupinst) *
-                  (MAX_NUM_FRAGMENT_REGISTERS_ATI));
-   }
-
-/* can't rely on calloc for initialization as it's possible to redefine a shader (?) */
-   ctx->ATIFragmentShader.Current->LocalConstDef = 0;
-   ctx->ATIFragmentShader.Current->numArithInstr[0] = 0;
-   ctx->ATIFragmentShader.Current->numArithInstr[1] = 0;
-   ctx->ATIFragmentShader.Current->regsAssigned[0] = 0;
-   ctx->ATIFragmentShader.Current->regsAssigned[1] = 0;
-   ctx->ATIFragmentShader.Current->NumPasses = 0;
-   ctx->ATIFragmentShader.Current->cur_pass = 0;
-   ctx->ATIFragmentShader.Current->last_optype = 0;
-   ctx->ATIFragmentShader.Current->interpinp1 = GL_FALSE;
-   ctx->ATIFragmentShader.Current->isValid = GL_FALSE;
-   ctx->ATIFragmentShader.Current->swizzlerq = 0;
-   ctx->ATIFragmentShader.Compiling = 1;
-}
-
-void GLAPIENTRY
-_mesa_EndFragmentShaderATI(void)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct ati_fragment_shader *curProg = ctx->ATIFragmentShader.Current;
-#if MESA_DEBUG_ATI_FS
-   GLint i, j;
-#endif
-
-   if (!ctx->ATIFragmentShader.Compiling) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glEndFragmentShaderATI(outsideShader)");
-      return;
-   }
-   if (curProg->interpinp1 && (ctx->ATIFragmentShader.Current->cur_pass > 1)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glEndFragmentShaderATI(interpinfirstpass)");
-   /* according to spec, DON'T return here */
-   }
-
-   match_pair_inst(curProg, 0);
-   ctx->ATIFragmentShader.Compiling = 0;
-   ctx->ATIFragmentShader.Current->isValid = GL_TRUE;
-   if ((ctx->ATIFragmentShader.Current->cur_pass == 0) ||
-      (ctx->ATIFragmentShader.Current->cur_pass == 2)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glEndFragmentShaderATI(noarithinst)");
-   }
-   if (ctx->ATIFragmentShader.Current->cur_pass > 1)
-      ctx->ATIFragmentShader.Current->NumPasses = 2;
-   else
-      ctx->ATIFragmentShader.Current->NumPasses = 1;
-
-   ctx->ATIFragmentShader.Current->cur_pass = 0;
-
-#if MESA_DEBUG_ATI_FS
-   for (j = 0; j < MAX_NUM_PASSES_ATI; j++) {
-      for (i = 0; i < MAX_NUM_FRAGMENT_REGISTERS_ATI; i++) {
-        GLuint op = curProg->SetupInst[j][i].Opcode;
-        const char *op_enum = op > 5 ? _mesa_lookup_enum_by_nr(op) : "0";
-        GLuint src = curProg->SetupInst[j][i].src;
-        GLuint swizzle = curProg->SetupInst[j][i].swizzle;
-        fprintf(stderr, "%2d %04X %s %d %04X\n", i, op, op_enum, src,
-             swizzle);
-      }
-      for (i = 0; i < curProg->numArithInstr[j]; i++) {
-        GLuint op0 = curProg->Instructions[j][i].Opcode[0];
-        GLuint op1 = curProg->Instructions[j][i].Opcode[1];
-        const char *op0_enum = op0 > 5 ? _mesa_lookup_enum_by_nr(op0) : "0";
-        const char *op1_enum = op1 > 5 ? _mesa_lookup_enum_by_nr(op1) : "0";
-        GLuint count0 = curProg->Instructions[j][i].ArgCount[0];
-        GLuint count1 = curProg->Instructions[j][i].ArgCount[1];
-        fprintf(stderr, "%2d %04X %s %d %04X %s %d\n", i, op0, op0_enum, count0,
-             op1, op1_enum, count1);
-      }
-   }
-#endif
-
-   if (!ctx->Driver.ProgramStringNotify(ctx, GL_FRAGMENT_SHADER_ATI, NULL)) {
-      ctx->ATIFragmentShader.Current->isValid = GL_FALSE;
-      /* XXX is this the right error? */
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glEndFragmentShaderATI(driver rejected shader)");
-   }
-}
-
-void GLAPIENTRY
-_mesa_PassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct ati_fragment_shader *curProg = ctx->ATIFragmentShader.Current;
-   struct atifs_setupinst *curI;
-
-   if (!ctx->ATIFragmentShader.Compiling) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glPassTexCoordATI(outsideShader)");
-      return;
-   }
-
-   if (curProg->cur_pass == 1) {
-      match_pair_inst(curProg, 0);
-      curProg->cur_pass = 2;
-   }
-   if ((curProg->cur_pass > 2) ||
-      ((1 << (dst - GL_REG_0_ATI)) & curProg->regsAssigned[curProg->cur_pass >> 1])) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glPassTexCoord(pass)");
-      return;
-   }
-   if ((dst < GL_REG_0_ATI) || (dst > GL_REG_5_ATI) ||
-      ((dst - GL_REG_0_ATI) >= ctx->Const.MaxTextureUnits)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glPassTexCoordATI(dst)");
-      return;
-   }
-   if (((coord < GL_REG_0_ATI) || (coord > GL_REG_5_ATI)) &&
-       ((coord < GL_TEXTURE0_ARB) || (coord > GL_TEXTURE7_ARB) ||
-       ((coord - GL_TEXTURE0_ARB) >= ctx->Const.MaxTextureUnits))) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glPassTexCoordATI(coord)");
-      return;
-   }
-   if ((curProg->cur_pass == 0) && (coord >= GL_REG_0_ATI)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glPassTexCoordATI(coord)");
-      return;
-   }
-   if (!(swizzle >= GL_SWIZZLE_STR_ATI) && (swizzle <= GL_SWIZZLE_STQ_DQ_ATI)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glPassTexCoordATI(swizzle)");
-      return;
-   }
-   if ((swizzle & 1) && (coord >= GL_REG_0_ATI)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glPassTexCoordATI(swizzle)");
-      return;
-   }
-   if (coord <= GL_TEXTURE7_ARB) {
-      GLuint tmp = coord - GL_TEXTURE0_ARB;
-      if ((((curProg->swizzlerq >> (tmp * 2)) & 3) != 0) &&
-          (((swizzle & 1) + 1) != ((curProg->swizzlerq >> (tmp * 2)) & 3))) {
-        _mesa_error(ctx, GL_INVALID_OPERATION, "glPassTexCoordATI(swizzle)");
-        return;
-      } else {
-        curProg->swizzlerq |= (((swizzle & 1) + 1) << (tmp * 2));
-      }
-   }
-
-   curProg->regsAssigned[curProg->cur_pass >> 1] |= 1 << (dst - GL_REG_0_ATI);
-   new_tex_inst(curProg);
-
-   /* add the instructions */
-   curI = &curProg->SetupInst[curProg->cur_pass >> 1][dst - GL_REG_0_ATI];
-
-   curI->Opcode = ATI_FRAGMENT_SHADER_PASS_OP;
-   curI->src = coord;
-   curI->swizzle = swizzle;
-
-#if MESA_DEBUG_ATI_FS
-   _mesa_debug(ctx, "%s(%s, %s, %s)\n", __FUNCTION__,
-              _mesa_lookup_enum_by_nr(dst), _mesa_lookup_enum_by_nr(coord),
-              _mesa_lookup_enum_by_nr(swizzle));
-#endif
-}
-
-void GLAPIENTRY
-_mesa_SampleMapATI(GLuint dst, GLuint interp, GLenum swizzle)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct ati_fragment_shader *curProg = ctx->ATIFragmentShader.Current;
-   struct atifs_setupinst *curI;
-
-   if (!ctx->ATIFragmentShader.Compiling) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glSampleMapATI(outsideShader)");
-      return;
-   }
-
-   if (curProg->cur_pass == 1) {
-      match_pair_inst(curProg, 0);
-      curProg->cur_pass = 2;
-   }
-   if ((curProg->cur_pass > 2) ||
-      ((1 << (dst - GL_REG_0_ATI)) & curProg->regsAssigned[curProg->cur_pass >> 1])) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glSampleMapATI(pass)");
-      return;
-   }
-   if ((dst < GL_REG_0_ATI) || (dst > GL_REG_5_ATI) ||
-      ((dst - GL_REG_0_ATI) >= ctx->Const.MaxTextureUnits)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glSampleMapATI(dst)");
-      return;
-   }
-   if (((interp < GL_REG_0_ATI) || (interp > GL_REG_5_ATI)) &&
-       ((interp < GL_TEXTURE0_ARB) || (interp > GL_TEXTURE7_ARB) ||
-       ((interp - GL_TEXTURE0_ARB) >= ctx->Const.MaxTextureUnits))) {
-   /* is this texture5 or texture7? spec is a bit unclear there */
-      _mesa_error(ctx, GL_INVALID_ENUM, "glSampleMapATI(interp)");
-      return;
-   }
-   if ((curProg->cur_pass == 0) && (interp >= GL_REG_0_ATI)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glSampleMapATI(interp)");
-      return;
-   }
-   if (!(swizzle >= GL_SWIZZLE_STR_ATI) && (swizzle <= GL_SWIZZLE_STQ_DQ_ATI)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glSampleMapATI(swizzle)");
-      return;
-   }
-   if ((swizzle & 1) && (interp >= GL_REG_0_ATI)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glSampleMapATI(swizzle)");
-      return;
-   }
-   if (interp <= GL_TEXTURE7_ARB) {
-      GLuint tmp = interp - GL_TEXTURE0_ARB;
-      if ((((curProg->swizzlerq >> (tmp * 2)) & 3) != 0) &&
-          (((swizzle & 1) + 1) != ((curProg->swizzlerq >> (tmp * 2)) & 3))) {
-        _mesa_error(ctx, GL_INVALID_OPERATION, "glSampleMapATI(swizzle)");
-        return;
-      } else {
-        curProg->swizzlerq |= (((swizzle & 1) + 1) << (tmp * 2));
-      }
-   }
-
-   curProg->regsAssigned[curProg->cur_pass >> 1] |= 1 << (dst - GL_REG_0_ATI);
-   new_tex_inst(curProg);
-
-   /* add the instructions */
-   curI = &curProg->SetupInst[curProg->cur_pass >> 1][dst - GL_REG_0_ATI];
-
-   curI->Opcode = ATI_FRAGMENT_SHADER_SAMPLE_OP;
-   curI->src = interp;
-   curI->swizzle = swizzle;
-
-#if MESA_DEBUG_ATI_FS
-   _mesa_debug(ctx, "%s(%s, %s, %s)\n", __FUNCTION__,
-              _mesa_lookup_enum_by_nr(dst), _mesa_lookup_enum_by_nr(interp),
-              _mesa_lookup_enum_by_nr(swizzle));
-#endif
-}
-
-static void
-_mesa_FragmentOpXATI(GLint optype, GLuint arg_count, GLenum op, GLuint dst,
-                    GLuint dstMask, GLuint dstMod, GLuint arg1,
-                    GLuint arg1Rep, GLuint arg1Mod, GLuint arg2,
-                    GLuint arg2Rep, GLuint arg2Mod, GLuint arg3,
-                    GLuint arg3Rep, GLuint arg3Mod)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct ati_fragment_shader *curProg = ctx->ATIFragmentShader.Current;
-   GLint ci;
-   struct atifs_instruction *curI;
-   GLuint modtemp = dstMod & ~GL_SATURATE_BIT_ATI;
-
-   if (!ctx->ATIFragmentShader.Compiling) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "C/AFragmentOpATI(outsideShader)");
-      return;
-   }
-
-   if (curProg->cur_pass==0)
-      curProg->cur_pass=1;
-
-   else if (curProg->cur_pass==2)
-      curProg->cur_pass=3;
-
-   /* decide whether this is a new instruction or not ... all color instructions are new,
-      and alpha instructions might also be new if there was no preceding color inst */
-   if ((optype == 0) || (curProg->last_optype == optype)) {
-      if (curProg->numArithInstr[curProg->cur_pass >> 1] > 7) {
-        _mesa_error(ctx, GL_INVALID_OPERATION, "C/AFragmentOpATI(instrCount)");
-        return;
-      }
-      /* easier to do that here slight side effect invalid instr will still be inserted as nops */
-      match_pair_inst(curProg, optype);
-      new_arith_inst(curProg);
-   }
-   curProg->last_optype = optype;
-   ci = curProg->numArithInstr[curProg->cur_pass >> 1] - 1;
-
-   /* add the instructions */
-   curI = &curProg->Instructions[curProg->cur_pass >> 1][ci];
-
-   /* error checking */
-   if ((dst < GL_REG_0_ATI) || (dst > GL_REG_5_ATI)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "C/AFragmentOpATI(dst)");
-      return;
-   }
-   if ((modtemp != GL_NONE) && (modtemp != GL_2X_BIT_ATI) &&
-      (modtemp != GL_4X_BIT_ATI) && (modtemp != GL_8X_BIT_ATI) &&
-      (modtemp != GL_HALF_BIT_ATI) && !(modtemp != GL_QUARTER_BIT_ATI) &&
-      (modtemp != GL_EIGHTH_BIT_ATI)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "C/AFragmentOpATI(dstMod)%x", modtemp);
-      return;
-   }
-   /* op checking? Actually looks like that's missing in the spec but we'll do it anyway */
-   if (((op < GL_ADD_ATI) || (op > GL_DOT2_ADD_ATI)) && !(op == GL_MOV_ATI)) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "C/AFragmentOpATI(op)");
-      return;
-   }
-   if (optype == 1) {
-      if (((op == GL_DOT2_ADD_ATI) && (curI->Opcode[0] != GL_DOT2_ADD_ATI)) ||
-        ((op == GL_DOT3_ATI) && (curI->Opcode[0] != GL_DOT3_ATI)) ||
-        ((op == GL_DOT4_ATI) && (curI->Opcode[0] != GL_DOT4_ATI)) ||
-        ((op != GL_DOT4_ATI) && (curI->Opcode[0] == GL_DOT4_ATI))) {
-        _mesa_error(ctx, GL_INVALID_OPERATION, "AFragmentOpATI(op)");
-        return;
-      }
-   }
-   if ((op == GL_DOT4_ATI) &&
-      (((arg1 == GL_SECONDARY_INTERPOLATOR_ATI) && ((arg1Rep == GL_ALPHA) || (arg1Rep == GL_NONE))) ||
-      (((arg2 == GL_SECONDARY_INTERPOLATOR_ATI) && ((arg2Rep == GL_ALPHA) || (arg2Rep == GL_NONE)))))) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "C/AFragmentOpATI(sec_interp)");
-   }
-
-   if (!check_arith_arg(curProg, optype, arg1, arg1Rep)) {
-      return;
-   }
-   if (arg2) {
-      if (!check_arith_arg(curProg, optype, arg2, arg2Rep)) {
-        return;
-      }
-   }
-   if (arg3) {
-      if (!check_arith_arg(curProg, optype, arg3, arg3Rep)) {
-        return;
-      }
-      if ((arg1 >= GL_CON_0_ATI) && (arg1 <= GL_CON_7_ATI) &&
-         (arg2 >= GL_CON_0_ATI) && (arg2 <= GL_CON_7_ATI) &&
-         (arg3 >= GL_CON_0_ATI) && (arg3 <= GL_CON_7_ATI) &&
-         (arg1 != arg2) && (arg1 != arg3) && (arg2 != arg3)) {
-        _mesa_error(ctx, GL_INVALID_OPERATION, "C/AFragmentOpATI(3Consts)");
-        return;
-      }
-   }
-
-   /* all ok - not all fully validated though (e.g. argNMod - spec doesn't say anything) */
-
-   curI->Opcode[optype] = op;
-   curI->SrcReg[optype][0].Index = arg1;
-   curI->SrcReg[optype][0].argRep = arg1Rep;
-   curI->SrcReg[optype][0].argMod = arg1Mod;
-   curI->ArgCount[optype] = arg_count;
-
-   if (arg2) {
-      curI->SrcReg[optype][1].Index = arg2;
-      curI->SrcReg[optype][1].argRep = arg2Rep;
-      curI->SrcReg[optype][1].argMod = arg2Mod;
-   }
-
-   if (arg3) {
-      curI->SrcReg[optype][2].Index = arg3;
-      curI->SrcReg[optype][2].argRep = arg3Rep;
-      curI->SrcReg[optype][2].argMod = arg3Mod;
-   }
-
-   curI->DstReg[optype].Index = dst;
-   curI->DstReg[optype].dstMod = dstMod;
-   curI->DstReg[optype].dstMask = dstMask;
-
-#if MESA_DEBUG_ATI_FS
-   debug_op(optype, arg_count, op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);
-#endif
-
-}
-
-void GLAPIENTRY
-_mesa_ColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask,
-                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
-                         GLuint arg1Mod)
-{
-   _mesa_FragmentOpXATI(ATI_FRAGMENT_SHADER_COLOR_OP, 1, op, dst, dstMask,
-                       dstMod, arg1, arg1Rep, arg1Mod, 0, 0, 0, 0, 0, 0);
-}
-
-void GLAPIENTRY
-_mesa_ColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask,
-                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
-                         GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
-                         GLuint arg2Mod)
-{
-   _mesa_FragmentOpXATI(ATI_FRAGMENT_SHADER_COLOR_OP, 2, op, dst, dstMask,
-                       dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep,
-                       arg2Mod, 0, 0, 0);
-}
-
-void GLAPIENTRY
-_mesa_ColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask,
-                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
-                         GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
-                         GLuint arg2Mod, GLuint arg3, GLuint arg3Rep,
-                         GLuint arg3Mod)
-{
-   _mesa_FragmentOpXATI(ATI_FRAGMENT_SHADER_COLOR_OP, 3, op, dst, dstMask,
-                       dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep,
-                       arg2Mod, arg3, arg3Rep, arg3Mod);
-}
-
-void GLAPIENTRY
-_mesa_AlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
-                         GLuint arg1Rep, GLuint arg1Mod)
-{
-   _mesa_FragmentOpXATI(ATI_FRAGMENT_SHADER_ALPHA_OP, 1, op, dst, 0, dstMod,
-                       arg1, arg1Rep, arg1Mod, 0, 0, 0, 0, 0, 0);
-}
-
-void GLAPIENTRY
-_mesa_AlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
-                         GLuint arg1Rep, GLuint arg1Mod, GLuint arg2,
-                         GLuint arg2Rep, GLuint arg2Mod)
-{
-   _mesa_FragmentOpXATI(ATI_FRAGMENT_SHADER_ALPHA_OP, 2, op, dst, 0, dstMod,
-                       arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, 0, 0,
-                       0);
-}
-
-void GLAPIENTRY
-_mesa_AlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
-                         GLuint arg1Rep, GLuint arg1Mod, GLuint arg2,
-                         GLuint arg2Rep, GLuint arg2Mod, GLuint arg3,
-                         GLuint arg3Rep, GLuint arg3Mod)
-{
-   _mesa_FragmentOpXATI(ATI_FRAGMENT_SHADER_ALPHA_OP, 3, op, dst, 0, dstMod,
-                       arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3,
-                       arg3Rep, arg3Mod);
-}
-
-void GLAPIENTRY
-_mesa_SetFragmentShaderConstantATI(GLuint dst, const GLfloat * value)
-{
-   GLuint dstindex;
-   GET_CURRENT_CONTEXT(ctx);
-
-   if ((dst < GL_CON_0_ATI) || (dst > GL_CON_7_ATI)) {
-      /* spec says nothing about what should happen here but we can't just segfault...*/
-      _mesa_error(ctx, GL_INVALID_ENUM, "glSetFragmentShaderConstantATI(dst)");
-      return;
-   }
-
-   dstindex = dst - GL_CON_0_ATI;
-   if (ctx->ATIFragmentShader.Compiling) {
-      struct ati_fragment_shader *curProg = ctx->ATIFragmentShader.Current;
-      COPY_4V(curProg->Constants[dstindex], value);
-      curProg->LocalConstDef |= 1 << dstindex;
-   }
-   else {
-      FLUSH_VERTICES(ctx, _NEW_PROGRAM);
-      COPY_4V(ctx->ATIFragmentShader.GlobalConstants[dstindex], value);
-   }
-}
-
-#endif /* FEATURE_ATI_fragment_shader */
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/atifragshader.h b/reactos/dll/opengl/mesa/src/mesa/main/atifragshader.h
deleted file mode 100644 (file)
index 90ada21..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Mesa 3-D graphics library ATI Fragment Shader
- *
- * Copyright (C) 2004  David Airlie   All Rights Reserved.
- *
- */
-
-#ifndef ATIFRAGSHADER_H
-#define ATIFRAGSHADER_H
-
-#include "compiler.h"
-#include "glheader.h"
-#include "mfeatures.h"
-
-struct _glapi_table;
-struct gl_context;
-
-#define MAX_NUM_INSTRUCTIONS_PER_PASS_ATI 8
-#define MAX_NUM_PASSES_ATI                2
-#define MAX_NUM_FRAGMENT_REGISTERS_ATI    6
-
-struct ati_fs_opcode_st
-{
-   GLenum opcode;
-   GLint num_src_args;
-};
-
-extern struct ati_fs_opcode_st ati_fs_opcodes[];
-
-struct atifragshader_src_register
-{
-   GLuint Index;
-   GLuint argRep;
-   GLuint argMod;
-};
-
-struct atifragshader_dst_register
-{
-   GLuint Index;
-   GLuint dstMod;
-   GLuint dstMask;
-};
-
-#define ATI_FRAGMENT_SHADER_COLOR_OP 0
-#define ATI_FRAGMENT_SHADER_ALPHA_OP 1
-#define ATI_FRAGMENT_SHADER_PASS_OP  2
-#define ATI_FRAGMENT_SHADER_SAMPLE_OP 3
-
-/* two opcodes - one for color/one for alpha */
-/* up to three source registers for most ops */
-struct atifs_instruction
-{
-   GLenum Opcode[2];
-   GLuint ArgCount[2];
-   struct atifragshader_src_register SrcReg[2][3];
-   struct atifragshader_dst_register DstReg[2];
-};
-
-/* different from arithmetic shader instruction */
-struct atifs_setupinst
-{
-   GLenum Opcode;
-   GLuint src;
-   GLenum swizzle;
-};
-
-
-#if FEATURE_ATI_fragment_shader
-
-extern void
-_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp);
-
-extern struct ati_fragment_shader *
-_mesa_new_ati_fragment_shader(struct gl_context *ctx, GLuint id);
-
-extern void
-_mesa_delete_ati_fragment_shader(struct gl_context *ctx,
-                                 struct ati_fragment_shader *s);
-
-
-extern GLuint GLAPIENTRY _mesa_GenFragmentShadersATI(GLuint range);
-
-extern void GLAPIENTRY _mesa_BindFragmentShaderATI(GLuint id);
-
-extern void GLAPIENTRY _mesa_DeleteFragmentShaderATI(GLuint id);
-
-extern void GLAPIENTRY _mesa_BeginFragmentShaderATI(void);
-
-extern void GLAPIENTRY _mesa_EndFragmentShaderATI(void);
-
-extern void GLAPIENTRY
-_mesa_PassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle);
-
-extern void GLAPIENTRY
-_mesa_SampleMapATI(GLuint dst, GLuint interp, GLenum swizzle);
-
-extern void GLAPIENTRY
-_mesa_ColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask,
-                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
-                         GLuint arg1Mod);
-
-extern void GLAPIENTRY
-_mesa_ColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask,
-                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
-                         GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
-                         GLuint arg2Mod);
-
-extern void GLAPIENTRY
-_mesa_ColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask,
-                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
-                         GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
-                         GLuint arg2Mod, GLuint arg3, GLuint arg3Rep,
-                         GLuint arg3Mod);
-
-extern void GLAPIENTRY
-_mesa_AlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
-                         GLuint arg1Rep, GLuint arg1Mod);
-
-extern void GLAPIENTRY
-_mesa_AlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
-                         GLuint arg1Rep, GLuint arg1Mod, GLuint arg2,
-                         GLuint arg2Rep, GLuint arg2Mod);
-
-extern void GLAPIENTRY
-_mesa_AlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
-                         GLuint arg1Rep, GLuint arg1Mod, GLuint arg2,
-                         GLuint arg2Rep, GLuint arg2Mod, GLuint arg3,
-                         GLuint arg3Rep, GLuint arg3Mod);
-
-extern void GLAPIENTRY
-_mesa_SetFragmentShaderConstantATI(GLuint dst, const GLfloat * value);
-
-#else /* FEATURE_ATI_fragment_shader */
-
-static inline void
-_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp)
-{
-}
-
-static inline struct ati_fragment_shader *
-_mesa_new_ati_fragment_shader(struct gl_context *ctx, GLuint id)
-{
-   return NULL;
-}
-
-static inline void
-_mesa_delete_ati_fragment_shader(struct gl_context *ctx,
-                                 struct ati_fragment_shader *s)
-{
-}
-
-#endif /* FEATURE_ATI_fragment_shader */
-
-#endif /* ATIFRAGSHADER_H */
index c9d1e45..bd099d3 100644 (file)
@@ -492,15 +492,7 @@ pop_enable_group(struct gl_context *ctx, const struct gl_enable_attrib *enable)
 
    TEST_AND_UPDATE(ctx->Color.AlphaEnabled, enable->AlphaTest, GL_ALPHA_TEST);
    if (ctx->Color.BlendEnabled != enable->Blend) {
-      if (ctx->Extensions.EXT_draw_buffers2) {
-         GLuint i;
-         for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) {
-            _mesa_set_enablei(ctx, GL_BLEND, i, (enable->Blend >> i) & 1);
-         }
-      }
-      else {
-         _mesa_set_enable(ctx, GL_BLEND, (enable->Blend & 1));
-      }
+      _mesa_set_enable(ctx, GL_BLEND, (enable->Blend & 1));
    }
 
    for (i=0;i<ctx->Const.MaxClipPlanes;i++) {
@@ -865,22 +857,10 @@ _mesa_PopAttrib(void)
                                 color->ClearColor.f[2],
                                 color->ClearColor.f[3]);
                _mesa_IndexMask(color->IndexMask);
-               if (!ctx->Extensions.EXT_draw_buffers2) {
-                  _mesa_ColorMask((GLboolean) (color->ColorMask[0][0] != 0),
-                                  (GLboolean) (color->ColorMask[0][1] != 0),
-                                  (GLboolean) (color->ColorMask[0][2] != 0),
-                                  (GLboolean) (color->ColorMask[0][3] != 0));
-               }
-               else {
-                  GLuint i;
-                  for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) {
-                     _mesa_ColorMaskIndexed(i, 
-                                  (GLboolean) (color->ColorMask[i][0] != 0),
-                                  (GLboolean) (color->ColorMask[i][1] != 0),
-                                  (GLboolean) (color->ColorMask[i][2] != 0),
-                                  (GLboolean) (color->ColorMask[i][3] != 0));
-                  }
-               }
+               _mesa_ColorMask((GLboolean) (color->ColorMask[0][0] != 0),
+                               (GLboolean) (color->ColorMask[0][1] != 0),
+                               (GLboolean) (color->ColorMask[0][2] != 0),
+                               (GLboolean) (color->ColorMask[0][3] != 0));
                {
                   /* Need to determine if more than one color output is
                    * specified.  If so, call glDrawBuffersARB, else call
@@ -913,16 +893,7 @@ _mesa_PopAttrib(void)
                _mesa_set_enable(ctx, GL_ALPHA_TEST, color->AlphaEnabled);
                _mesa_AlphaFunc(color->AlphaFunc, color->AlphaRefUnclamped);
                if (ctx->Color.BlendEnabled != color->BlendEnabled) {
-                  if (ctx->Extensions.EXT_draw_buffers2) {
-                     GLuint i;
-                     for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) {
-                        _mesa_set_enablei(ctx, GL_BLEND, i,
-                                          (color->BlendEnabled >> i) & 1);
-                     }
-                  }
-                  else {
-                     _mesa_set_enable(ctx, GL_BLEND, (color->BlendEnabled & 1));
-                  }
+                  _mesa_set_enable(ctx, GL_BLEND, (color->BlendEnabled & 1));
                }
                if (ctx->Color._BlendFuncPerBuffer ||
                    ctx->Color._BlendEquationPerBuffer) {
index dfd6cfc..235d504 100644 (file)
@@ -42,7 +42,6 @@
 #include "mfeatures.h"
 #include "mtypes.h"
 #include "texobj.h"
-#include "transformfeedback.h"
 
 
 /* Debug flags */
@@ -80,13 +79,6 @@ get_buffer_target(struct gl_context *ctx, GLenum target)
       return &ctx->CopyReadBuffer;
    case GL_COPY_WRITE_BUFFER:
       return &ctx->CopyWriteBuffer;
-#if FEATURE_EXT_transform_feedback
-   case GL_TRANSFORM_FEEDBACK_BUFFER:
-      if (ctx->Extensions.EXT_transform_feedback) {
-         return &ctx->TransformFeedback.CurrentBuffer;
-      }
-      break;
-#endif
    case GL_TEXTURE_BUFFER:
       if (ctx->Extensions.ARB_texture_buffer_object) {
          return &ctx->Texture.BufferObject;
@@ -800,16 +792,6 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids)
             _mesa_BindBufferARB( GL_COPY_WRITE_BUFFER, 0 );
          }
 
-         /* unbind transform feedback binding points */
-         if (ctx->TransformFeedback.CurrentBuffer == bufObj) {
-            _mesa_BindBufferARB( GL_TRANSFORM_FEEDBACK_BUFFER, 0 );
-         }
-         for (j = 0; j < MAX_FEEDBACK_ATTRIBS; j++) {
-            if (ctx->TransformFeedback.CurrentObject->Buffers[j] == bufObj) {
-               _mesa_BindBufferBase( GL_TRANSFORM_FEEDBACK_BUFFER, j, 0 );
-            }
-         }
-
          /* unbind any pixel pack/unpack pointers bound to this buffer */
          if (ctx->Pack.BufferObj == bufObj) {
             _mesa_BindBufferARB( GL_PIXEL_PACK_BUFFER_EXT, 0 );
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/condrender.c b/reactos/dll/opengl/mesa/src/mesa/main/condrender.c
deleted file mode 100644 (file)
index 57f3715..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.8
- *
- * 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 (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS 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 condrender.c
- * Conditional rendering functions
- *
- * \author Brian Paul
- */
-
-#include "glheader.h"
-#include "condrender.h"
-#include "enums.h"
-#include "mtypes.h"
-#include "queryobj.h"
-
-
-void GLAPIENTRY
-_mesa_BeginConditionalRender(GLuint queryId, GLenum mode)
-{
-   struct gl_query_object *q;
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (!ctx->Extensions.NV_conditional_render || ctx->Query.CondRenderQuery ||
-       queryId == 0) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glBeginConditionalRender()");
-      return;
-   }
-
-   ASSERT(ctx->Query.CondRenderMode == GL_NONE);
-
-   switch (mode) {
-   case GL_QUERY_WAIT:
-   case GL_QUERY_NO_WAIT:
-   case GL_QUERY_BY_REGION_WAIT:
-   case GL_QUERY_BY_REGION_NO_WAIT:
-      /* OK */
-      break;
-   default:
-      _mesa_error(ctx, GL_INVALID_ENUM, "glBeginConditionalRender(mode=%s)",
-                  _mesa_lookup_enum_by_nr(mode));
-      return;
-   }
-
-   q = _mesa_lookup_query_object(ctx, queryId);
-   if (!q) {
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glBeginConditionalRender(bad queryId=%u)", queryId);
-      return;
-   }
-   ASSERT(q->Id == queryId);
-
-   if (q->Target != GL_SAMPLES_PASSED || q->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glBeginConditionalRender()");
-      return;
-   }
-
-   ctx->Query.CondRenderQuery = q;
-   ctx->Query.CondRenderMode = mode;
-
-   if (ctx->Driver.BeginConditionalRender)
-      ctx->Driver.BeginConditionalRender(ctx, q, mode);
-}
-
-
-void APIENTRY
-_mesa_EndConditionalRender(void)
-{
-   GET_CURRENT_CONTEXT(ctx);
-
-   FLUSH_VERTICES(ctx, 0x0);
-
-   if (!ctx->Extensions.NV_conditional_render || !ctx->Query.CondRenderQuery) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glEndConditionalRender()");
-      return;
-   }
-
-   if (ctx->Driver.EndConditionalRender)
-      ctx->Driver.EndConditionalRender(ctx, ctx->Query.CondRenderQuery);
-
-   ctx->Query.CondRenderQuery = NULL;
-   ctx->Query.CondRenderMode = GL_NONE;
-}
-
-
-/**
- * This function is called by software rendering commands (all point,
- * line triangle drawing, glClear, glDrawPixels, glCopyPixels, and
- * glBitmap, glBlitFramebuffer) to determine if subsequent drawing
- * commands should be
- * executed or discarded depending on the current conditional
- * rendering state.  Ideally, this check would be implemented by the
- * GPU when doing hardware rendering.  XXX should this function be
- * called via a new driver hook?
- *
- * \return GL_TRUE if we should render, GL_FALSE if we should discard
- */
-GLboolean
-_mesa_check_conditional_render(struct gl_context *ctx)
-{
-   struct gl_query_object *q = ctx->Query.CondRenderQuery;
-
-   if (!q) {
-      /* no query in progress - draw normally */
-      return GL_TRUE;
-   }
-
-   switch (ctx->Query.CondRenderMode) {
-   case GL_QUERY_BY_REGION_WAIT:
-      /* fall-through */
-   case GL_QUERY_WAIT:
-      if (!q->Ready) {
-         ctx->Driver.WaitQuery(ctx, q);
-      }
-      return q->Result > 0;
-   case GL_QUERY_BY_REGION_NO_WAIT:
-      /* fall-through */
-   case GL_QUERY_NO_WAIT:
-      return q->Ready ? (q->Result > 0) : GL_TRUE;
-   default:
-      _mesa_problem(ctx, "Bad cond render mode %s in "
-                    " _mesa_check_conditional_render()",
-                    _mesa_lookup_enum_by_nr(ctx->Query.CondRenderMode));
-      return GL_TRUE;
-   }
-}
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/condrender.h b/reactos/dll/opengl/mesa/src/mesa/main/condrender.h
deleted file mode 100644 (file)
index cf6d4ca..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.8
- *
- * 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 (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef CONDRENDER_H
-#define CONDRENDER_H
-
-
-#include "glheader.h"
-#include "context.h"
-
-
-extern void GLAPIENTRY
-_mesa_BeginConditionalRender(GLuint queryId, GLenum mode);
-
-extern void APIENTRY
-_mesa_EndConditionalRender(void);
-
-extern GLboolean
-_mesa_check_conditional_render(struct gl_context *ctx);
-
-
-#endif /* CONDRENDER_H */
index 7b7740e..25e4896 100644 (file)
 /** For GL_ATI_envmap_bump - support bump mapping on first 8 units */
 #define SUPPORTED_ATI_BUMP_UNITS 0xff
 
-/** For GL_EXT_transform_feedback */
-#define MAX_FEEDBACK_ATTRIBS 32
-
 /** For GL_ARB_geometry_shader4 */
 /*@{*/
 #define MAX_GEOMETRY_TEXTURE_IMAGE_UNITS             8
index 43e7438..0335dca 100644 (file)
 #include "pixelstore.h"
 #include "points.h"
 #include "polygon.h"
-#include "queryobj.h"
-#include "syncobj.h"
 #include "rastpos.h"
-#include "remap.h"
 #include "scissor.h"
 #include "shared.h"
 #include "shaderobj.h"
 #include "stencil.h"
 #include "texcompress_s3tc.h"
 #include "texstate.h"
-#include "transformfeedback.h"
 #include "mtypes.h"
 #include "varray.h"
 #include "version.h"
@@ -425,18 +421,6 @@ one_time_init( struct gl_context *ctx )
 #endif
    }
 
-   /* per-API one-time init */
-   if (!(api_init_mask & (1 << ctx->API))) {
-      /*
-       * This is fine as ES does not use the remap table, but it may not be
-       * future-proof.  We cannot always initialize the remap table because
-       * when an app is linked to libGLES*, there are not enough dynamic
-       * entries.
-       */
-      if (ctx->API == API_OPENGL)
-         _mesa_init_remap_table();
-   }
-
    api_init_mask |= 1 << ctx->API;
 
    _glthread_UNLOCK_MUTEX(OneTimeLock);
@@ -639,20 +623,12 @@ _mesa_init_constants(struct gl_context *ctx)
    /* GL_ARB_framebuffer_object */
    ctx->Const.MaxSamples = 0;
 
-   /* GL_ARB_sync */
-   ctx->Const.MaxServerWaitTimeout = (GLuint64) ~0;
-
    /* GL_ATI_envmap_bumpmap */
    ctx->Const.SupportedBumpUnits = SUPPORTED_ATI_BUMP_UNITS;
 
    /* GL_EXT_provoking_vertex */
    ctx->Const.QuadsFollowProvokingVertexConvention = GL_TRUE;
 
-   /* GL_EXT_transform_feedback */
-   ctx->Const.MaxTransformFeedbackSeparateAttribs = MAX_FEEDBACK_ATTRIBS;
-   ctx->Const.MaxTransformFeedbackSeparateComponents = 4 * MAX_FEEDBACK_ATTRIBS;
-   ctx->Const.MaxTransformFeedbackInterleavedComponents = 4 * MAX_FEEDBACK_ATTRIBS;
-
    /* GL 3.2: hard-coded for now: */
    ctx->Const.ProfileMask = GL_CONTEXT_COMPATIBILITY_PROFILE_BIT;
 
@@ -778,14 +754,11 @@ init_attrib_groups(struct gl_context *ctx)
    _mesa_init_point( ctx );
    _mesa_init_polygon( ctx );
    _mesa_init_program( ctx );
-   _mesa_init_queryobj( ctx );
-   _mesa_init_sync( ctx );
    _mesa_init_rastpos( ctx );
    _mesa_init_scissor( ctx );
    _mesa_init_shader_state( ctx );
    _mesa_init_stencil( ctx );
    _mesa_init_transform( ctx );
-   _mesa_init_transform_feedback( ctx );
    _mesa_init_varray( ctx );
    _mesa_init_viewport( ctx );
 
@@ -1117,10 +1090,7 @@ _mesa_free_context_data( struct gl_context *ctx )
    _mesa_free_viewport_data( ctx );
    _mesa_free_program_data(ctx);
    _mesa_free_shader_state(ctx);
-   _mesa_free_queryobj_data(ctx);
-   _mesa_free_sync_data(ctx);
    _mesa_free_varray_data(ctx);
-   _mesa_free_transform_feedback(ctx);
 
    _mesa_delete_array_object(ctx, ctx->Array.DefaultArrayObj);
 
index 407cadb..15ce009 100644 (file)
@@ -871,25 +871,6 @@ struct dd_function_table {
 
    /**@}*/
 
-   /**
-    * \name GL_ARB_sync interfaces
-    */
-   /*@{*/
-   struct gl_sync_object * (*NewSyncObject)(struct gl_context *, GLenum);
-   void (*FenceSync)(struct gl_context *, struct gl_sync_object *, GLenum, GLbitfield);
-   void (*DeleteSyncObject)(struct gl_context *, struct gl_sync_object *);
-   void (*CheckSync)(struct gl_context *, struct gl_sync_object *);
-   void (*ClientWaitSync)(struct gl_context *, struct gl_sync_object *,
-                         GLbitfield, GLuint64);
-   void (*ServerWaitSync)(struct gl_context *, struct gl_sync_object *,
-                         GLbitfield, GLuint64);
-   /*@}*/
-
-   /** GL_NV_conditional_render */
-   void (*BeginConditionalRender)(struct gl_context *ctx, struct gl_query_object *q,
-                                  GLenum mode);
-   void (*EndConditionalRender)(struct gl_context *ctx, struct gl_query_object *q);
-
    /**
     * \name GL_OES_draw_texture interface
     */
@@ -909,22 +890,6 @@ struct dd_function_table {
                                             struct gl_renderbuffer *rb,
                                             void *image_handle);
 
-   /**
-    * \name GL_EXT_transform_feedback interface
-    */
-   struct gl_transform_feedback_object *
-        (*NewTransformFeedback)(struct gl_context *ctx, GLuint name);
-   void (*DeleteTransformFeedback)(struct gl_context *ctx,
-                                   struct gl_transform_feedback_object *obj);
-   void (*BeginTransformFeedback)(struct gl_context *ctx, GLenum mode,
-                                  struct gl_transform_feedback_object *obj);
-   void (*EndTransformFeedback)(struct gl_context *ctx,
-                                struct gl_transform_feedback_object *obj);
-   void (*PauseTransformFeedback)(struct gl_context *ctx,
-                                  struct gl_transform_feedback_object *obj);
-   void (*ResumeTransformFeedback)(struct gl_context *ctx,
-                                   struct gl_transform_feedback_object *obj);
-
    /**
     * \name GL_NV_texture_barrier interface
     */
@@ -1080,7 +1045,6 @@ typedef struct {
    void (GLAPIENTRYP DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count,
                                             GLenum type, const GLvoid *indices,
                                             GLsizei primcount, GLint basevertex);
-   void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint name);
    /*@}*/
 
    /**
index df10681..bf9e114 100644 (file)
 #define _gloffset_IsBufferARB 518
 #define _gloffset_MapBufferARB 519
 #define _gloffset_UnmapBufferARB 520
-#define _gloffset_BeginQueryARB 521
-#define _gloffset_DeleteQueriesARB 522
-#define _gloffset_EndQueryARB 523
-#define _gloffset_GenQueriesARB 524
-#define _gloffset_GetQueryObjectivARB 525
-#define _gloffset_GetQueryObjectuivARB 526
-#define _gloffset_GetQueryivARB 527
-#define _gloffset_IsQueryARB 528
 #define _gloffset_AttachObjectARB 529
 #define _gloffset_CompileShaderARB 530
 #define _gloffset_CreateProgramObjectARB 531
 #define _gloffset_BindVertexArray 583
 #define _gloffset_GenVertexArrays 584
 #define _gloffset_CopyBufferSubData 585
-#define _gloffset_ClientWaitSync 586
-#define _gloffset_DeleteSync 587
-#define _gloffset_FenceSync 588
-#define _gloffset_GetInteger64v 589
-#define _gloffset_GetSynciv 590
-#define _gloffset_IsSync 591
-#define _gloffset_WaitSync 592
 #define _gloffset_DrawElementsBaseVertex 593
 #define _gloffset_DrawElementsInstancedBaseVertex 594
 #define _gloffset_DrawRangeElementsBaseVertex 595
 #define _gloffset_BlendEquationiARB 598
 #define _gloffset_BlendFuncSeparateiARB 599
 #define _gloffset_BlendFunciARB 600
-#define _gloffset_BindTransformFeedback 653
-#define _gloffset_DeleteTransformFeedbacks 654
-#define _gloffset_DrawTransformFeedback 655
-#define _gloffset_GenTransformFeedbacks 656
-#define _gloffset_IsTransformFeedback 657
-#define _gloffset_PauseTransformFeedback 658
-#define _gloffset_ResumeTransformFeedback 659
 #define _gloffset_ClearDepthf 660
 #define _gloffset_DepthRangef 661
 #define _gloffset_GetShaderPrecisionFormat 662
 #define _gloffset_GetTexBumpParameterivATI 846
 #define _gloffset_TexBumpParameterfvATI 847
 #define _gloffset_TexBumpParameterivATI 848
-#define _gloffset_AlphaFragmentOp1ATI 849
-#define _gloffset_AlphaFragmentOp2ATI 850
-#define _gloffset_AlphaFragmentOp3ATI 851
-#define _gloffset_BeginFragmentShaderATI 852
-#define _gloffset_BindFragmentShaderATI 853
-#define _gloffset_ColorFragmentOp1ATI 854
-#define _gloffset_ColorFragmentOp2ATI 855
-#define _gloffset_ColorFragmentOp3ATI 856
-#define _gloffset_DeleteFragmentShaderATI 857
-#define _gloffset_EndFragmentShaderATI 858
-#define _gloffset_GenFragmentShadersATI 859
-#define _gloffset_PassTexCoordATI 860
-#define _gloffset_SampleMapATI 861
-#define _gloffset_SetFragmentShaderConstantATI 862
 #define _gloffset_PointParameteriNV 863
 #define _gloffset_PointParameterivNV 864
 #define _gloffset_ActiveStencilFaceEXT 865
 #define _gloffset_VertexAttribI4usvEXT 932
 #define _gloffset_VertexAttribIPointerEXT 933
 #define _gloffset_FramebufferTextureLayerEXT 934
-#define _gloffset_ColorMaskIndexedEXT 935
-#define _gloffset_DisableIndexedEXT 936
-#define _gloffset_EnableIndexedEXT 937
-#define _gloffset_GetBooleanIndexedvEXT 938
-#define _gloffset_GetIntegerIndexedvEXT 939
-#define _gloffset_IsEnabledIndexedEXT 940
 #define _gloffset_ClearColorIiEXT 941
 #define _gloffset_ClearColorIuiEXT 942
 #define _gloffset_GetTexParameterIivEXT 943
 #define _gloffset_GetTexParameterIuivEXT 944
 #define _gloffset_TexParameterIivEXT 945
 #define _gloffset_TexParameterIuivEXT 946
-#define _gloffset_BeginConditionalRenderNV 947
-#define _gloffset_EndConditionalRenderNV 948
-#define _gloffset_BeginTransformFeedbackEXT 949
-#define _gloffset_BindBufferBaseEXT 950
-#define _gloffset_BindBufferOffsetEXT 951
-#define _gloffset_BindBufferRangeEXT 952
-#define _gloffset_EndTransformFeedbackEXT 953
-#define _gloffset_GetTransformFeedbackVaryingEXT 954
-#define _gloffset_TransformFeedbackVaryingsEXT 955
 #define _gloffset_ProvokingVertexEXT 956
 #define _gloffset_GetTexParameterPointervAPPLE 957
 #define _gloffset_TextureRangeAPPLE 958
@@ -1106,14 +1055,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define IsBufferARB_remap_index 110
 #define MapBufferARB_remap_index 111
 #define UnmapBufferARB_remap_index 112
-#define BeginQueryARB_remap_index 113
-#define DeleteQueriesARB_remap_index 114
-#define EndQueryARB_remap_index 115
-#define GenQueriesARB_remap_index 116
-#define GetQueryObjectivARB_remap_index 117
-#define GetQueryObjectuivARB_remap_index 118
-#define GetQueryivARB_remap_index 119
-#define IsQueryARB_remap_index 120
 #define AttachObjectARB_remap_index 121
 #define CompileShaderARB_remap_index 122
 #define CreateProgramObjectARB_remap_index 123
@@ -1171,13 +1112,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define BindVertexArray_remap_index 175
 #define GenVertexArrays_remap_index 176
 #define CopyBufferSubData_remap_index 177
-#define ClientWaitSync_remap_index 178
-#define DeleteSync_remap_index 179
-#define FenceSync_remap_index 180
-#define GetInteger64v_remap_index 181
-#define GetSynciv_remap_index 182
-#define IsSync_remap_index 183
-#define WaitSync_remap_index 184
 #define DrawElementsBaseVertex_remap_index 185
 #define DrawElementsInstancedBaseVertex_remap_index 186
 #define DrawRangeElementsBaseVertex_remap_index 187
@@ -1186,13 +1120,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define BlendEquationiARB_remap_index 190
 #define BlendFuncSeparateiARB_remap_index 191
 #define BlendFunciARB_remap_index 192
-#define BindTransformFeedback_remap_index 245
-#define DeleteTransformFeedbacks_remap_index 246
-#define DrawTransformFeedback_remap_index 247
-#define GenTransformFeedbacks_remap_index 248
-#define IsTransformFeedback_remap_index 249
-#define PauseTransformFeedback_remap_index 250
-#define ResumeTransformFeedback_remap_index 251
 #define ClearDepthf_remap_index 252
 #define DepthRangef_remap_index 253
 #define GetShaderPrecisionFormat_remap_index 254
@@ -1382,20 +1309,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define GetTexBumpParameterivATI_remap_index 438
 #define TexBumpParameterfvATI_remap_index 439
 #define TexBumpParameterivATI_remap_index 440
-#define AlphaFragmentOp1ATI_remap_index 441
-#define AlphaFragmentOp2ATI_remap_index 442
-#define AlphaFragmentOp3ATI_remap_index 443
-#define BeginFragmentShaderATI_remap_index 444
-#define BindFragmentShaderATI_remap_index 445
-#define ColorFragmentOp1ATI_remap_index 446
-#define ColorFragmentOp2ATI_remap_index 447
-#define ColorFragmentOp3ATI_remap_index 448
-#define DeleteFragmentShaderATI_remap_index 449
-#define EndFragmentShaderATI_remap_index 450
-#define GenFragmentShadersATI_remap_index 451
-#define PassTexCoordATI_remap_index 452
-#define SampleMapATI_remap_index 453
-#define SetFragmentShaderConstantATI_remap_index 454
 #define PointParameteriNV_remap_index 455
 #define PointParameterivNV_remap_index 456
 #define ActiveStencilFaceEXT_remap_index 457
@@ -1468,27 +1381,12 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define VertexAttribI4usvEXT_remap_index 524
 #define VertexAttribIPointerEXT_remap_index 525
 #define FramebufferTextureLayerEXT_remap_index 526
-#define ColorMaskIndexedEXT_remap_index 527
-#define DisableIndexedEXT_remap_index 528
-#define EnableIndexedEXT_remap_index 529
-#define GetBooleanIndexedvEXT_remap_index 530
-#define GetIntegerIndexedvEXT_remap_index 531
-#define IsEnabledIndexedEXT_remap_index 532
 #define ClearColorIiEXT_remap_index 533
 #define ClearColorIuiEXT_remap_index 534
 #define GetTexParameterIivEXT_remap_index 535
 #define GetTexParameterIuivEXT_remap_index 536
 #define TexParameterIivEXT_remap_index 537
 #define TexParameterIuivEXT_remap_index 538
-#define BeginConditionalRenderNV_remap_index 539
-#define EndConditionalRenderNV_remap_index 540
-#define BeginTransformFeedbackEXT_remap_index 541
-#define BindBufferBaseEXT_remap_index 542
-#define BindBufferOffsetEXT_remap_index 543
-#define BindBufferRangeEXT_remap_index 544
-#define EndTransformFeedbackEXT_remap_index 545
-#define GetTransformFeedbackVaryingEXT_remap_index 546
-#define TransformFeedbackVaryingsEXT_remap_index 547
 #define ProvokingVertexEXT_remap_index 548
 #define GetTexParameterPointervAPPLE_remap_index 549
 #define TextureRangeAPPLE_remap_index 550
@@ -1618,14 +1516,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define _gloffset_IsBufferARB driDispatchRemapTable[IsBufferARB_remap_index]
 #define _gloffset_MapBufferARB driDispatchRemapTable[MapBufferARB_remap_index]
 #define _gloffset_UnmapBufferARB driDispatchRemapTable[UnmapBufferARB_remap_index]
-#define _gloffset_BeginQueryARB driDispatchRemapTable[BeginQueryARB_remap_index]
-#define _gloffset_DeleteQueriesARB driDispatchRemapTable[DeleteQueriesARB_remap_index]
-#define _gloffset_EndQueryARB driDispatchRemapTable[EndQueryARB_remap_index]
-#define _gloffset_GenQueriesARB driDispatchRemapTable[GenQueriesARB_remap_index]
-#define _gloffset_GetQueryObjectivARB driDispatchRemapTable[GetQueryObjectivARB_remap_index]
-#define _gloffset_GetQueryObjectuivARB driDispatchRemapTable[GetQueryObjectuivARB_remap_index]
-#define _gloffset_GetQueryivARB driDispatchRemapTable[GetQueryivARB_remap_index]
-#define _gloffset_IsQueryARB driDispatchRemapTable[IsQueryARB_remap_index]
 #define _gloffset_AttachObjectARB driDispatchRemapTable[AttachObjectARB_remap_index]
 #define _gloffset_CompileShaderARB driDispatchRemapTable[CompileShaderARB_remap_index]
 #define _gloffset_CreateProgramObjectARB driDispatchRemapTable[CreateProgramObjectARB_remap_index]
@@ -1683,13 +1573,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index]
 #define _gloffset_GenVertexArrays driDispatchRemapTable[GenVertexArrays_remap_index]
 #define _gloffset_CopyBufferSubData driDispatchRemapTable[CopyBufferSubData_remap_index]
-#define _gloffset_ClientWaitSync driDispatchRemapTable[ClientWaitSync_remap_index]
-#define _gloffset_DeleteSync driDispatchRemapTable[DeleteSync_remap_index]
-#define _gloffset_FenceSync driDispatchRemapTable[FenceSync_remap_index]
-#define _gloffset_GetInteger64v driDispatchRemapTable[GetInteger64v_remap_index]
-#define _gloffset_GetSynciv driDispatchRemapTable[GetSynciv_remap_index]
-#define _gloffset_IsSync driDispatchRemapTable[IsSync_remap_index]
-#define _gloffset_WaitSync driDispatchRemapTable[WaitSync_remap_index]
 #define _gloffset_DrawElementsBaseVertex driDispatchRemapTable[DrawElementsBaseVertex_remap_index]
 #define _gloffset_DrawElementsInstancedBaseVertex driDispatchRemapTable[DrawElementsInstancedBaseVertex_remap_index]
 #define _gloffset_DrawRangeElementsBaseVertex driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index]
@@ -1698,13 +1581,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define _gloffset_BlendEquationiARB driDispatchRemapTable[BlendEquationiARB_remap_index]
 #define _gloffset_BlendFuncSeparateiARB driDispatchRemapTable[BlendFuncSeparateiARB_remap_index]
 #define _gloffset_BlendFunciARB driDispatchRemapTable[BlendFunciARB_remap_index]
-#define _gloffset_BindTransformFeedback driDispatchRemapTable[BindTransformFeedback_remap_index]
-#define _gloffset_DeleteTransformFeedbacks driDispatchRemapTable[DeleteTransformFeedbacks_remap_index]
-#define _gloffset_DrawTransformFeedback driDispatchRemapTable[DrawTransformFeedback_remap_index]
-#define _gloffset_GenTransformFeedbacks driDispatchRemapTable[GenTransformFeedbacks_remap_index]
-#define _gloffset_IsTransformFeedback driDispatchRemapTable[IsTransformFeedback_remap_index]
-#define _gloffset_PauseTransformFeedback driDispatchRemapTable[PauseTransformFeedback_remap_index]
-#define _gloffset_ResumeTransformFeedback driDispatchRemapTable[ResumeTransformFeedback_remap_index]
 #define _gloffset_ClearDepthf driDispatchRemapTable[ClearDepthf_remap_index]
 #define _gloffset_DepthRangef driDispatchRemapTable[DepthRangef_remap_index]
 #define _gloffset_GetShaderPrecisionFormat driDispatchRemapTable[GetShaderPrecisionFormat_remap_index]
@@ -1894,20 +1770,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define _gloffset_GetTexBumpParameterivATI driDispatchRemapTable[GetTexBumpParameterivATI_remap_index]
 #define _gloffset_TexBumpParameterfvATI driDispatchRemapTable[TexBumpParameterfvATI_remap_index]
 #define _gloffset_TexBumpParameterivATI driDispatchRemapTable[TexBumpParameterivATI_remap_index]
-#define _gloffset_AlphaFragmentOp1ATI driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index]
-#define _gloffset_AlphaFragmentOp2ATI driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index]
-#define _gloffset_AlphaFragmentOp3ATI driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index]
-#define _gloffset_BeginFragmentShaderATI driDispatchRemapTable[BeginFragmentShaderATI_remap_index]
-#define _gloffset_BindFragmentShaderATI driDispatchRemapTable[BindFragmentShaderATI_remap_index]
-#define _gloffset_ColorFragmentOp1ATI driDispatchRemapTable[ColorFragmentOp1ATI_remap_index]
-#define _gloffset_ColorFragmentOp2ATI driDispatchRemapTable[ColorFragmentOp2ATI_remap_index]
-#define _gloffset_ColorFragmentOp3ATI driDispatchRemapTable[ColorFragmentOp3ATI_remap_index]
-#define _gloffset_DeleteFragmentShaderATI driDispatchRemapTable[DeleteFragmentShaderATI_remap_index]
-#define _gloffset_EndFragmentShaderATI driDispatchRemapTable[EndFragmentShaderATI_remap_index]
-#define _gloffset_GenFragmentShadersATI driDispatchRemapTable[GenFragmentShadersATI_remap_index]
-#define _gloffset_PassTexCoordATI driDispatchRemapTable[PassTexCoordATI_remap_index]
-#define _gloffset_SampleMapATI driDispatchRemapTable[SampleMapATI_remap_index]
-#define _gloffset_SetFragmentShaderConstantATI driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index]
 #define _gloffset_PointParameteriNV driDispatchRemapTable[PointParameteriNV_remap_index]
 #define _gloffset_PointParameterivNV driDispatchRemapTable[PointParameterivNV_remap_index]
 #define _gloffset_ActiveStencilFaceEXT driDispatchRemapTable[ActiveStencilFaceEXT_remap_index]
@@ -1980,27 +1842,12 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define _gloffset_VertexAttribI4usvEXT driDispatchRemapTable[VertexAttribI4usvEXT_remap_index]
 #define _gloffset_VertexAttribIPointerEXT driDispatchRemapTable[VertexAttribIPointerEXT_remap_index]
 #define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index]
-#define _gloffset_ColorMaskIndexedEXT driDispatchRemapTable[ColorMaskIndexedEXT_remap_index]
-#define _gloffset_DisableIndexedEXT driDispatchRemapTable[DisableIndexedEXT_remap_index]
-#define _gloffset_EnableIndexedEXT driDispatchRemapTable[EnableIndexedEXT_remap_index]
-#define _gloffset_GetBooleanIndexedvEXT driDispatchRemapTable[GetBooleanIndexedvEXT_remap_index]
-#define _gloffset_GetIntegerIndexedvEXT driDispatchRemapTable[GetIntegerIndexedvEXT_remap_index]
-#define _gloffset_IsEnabledIndexedEXT driDispatchRemapTable[IsEnabledIndexedEXT_remap_index]
 #define _gloffset_ClearColorIiEXT driDispatchRemapTable[ClearColorIiEXT_remap_index]
 #define _gloffset_ClearColorIuiEXT driDispatchRemapTable[ClearColorIuiEXT_remap_index]
 #define _gloffset_GetTexParameterIivEXT driDispatchRemapTable[GetTexParameterIivEXT_remap_index]
 #define _gloffset_GetTexParameterIuivEXT driDispatchRemapTable[GetTexParameterIuivEXT_remap_index]
 #define _gloffset_TexParameterIivEXT driDispatchRemapTable[TexParameterIivEXT_remap_index]
 #define _gloffset_TexParameterIuivEXT driDispatchRemapTable[TexParameterIuivEXT_remap_index]
-#define _gloffset_BeginConditionalRenderNV driDispatchRemapTable[BeginConditionalRenderNV_remap_index]
-#define _gloffset_EndConditionalRenderNV driDispatchRemapTable[EndConditionalRenderNV_remap_index]
-#define _gloffset_BeginTransformFeedbackEXT driDispatchRemapTable[BeginTransformFeedbackEXT_remap_index]
-#define _gloffset_BindBufferBaseEXT driDispatchRemapTable[BindBufferBaseEXT_remap_index]
-#define _gloffset_BindBufferOffsetEXT driDispatchRemapTable[BindBufferOffsetEXT_remap_index]
-#define _gloffset_BindBufferRangeEXT driDispatchRemapTable[BindBufferRangeEXT_remap_index]
-#define _gloffset_EndTransformFeedbackEXT driDispatchRemapTable[EndTransformFeedbackEXT_remap_index]
-#define _gloffset_GetTransformFeedbackVaryingEXT driDispatchRemapTable[GetTransformFeedbackVaryingEXT_remap_index]
-#define _gloffset_TransformFeedbackVaryingsEXT driDispatchRemapTable[TransformFeedbackVaryingsEXT_remap_index]
 #define _gloffset_ProvokingVertexEXT driDispatchRemapTable[ProvokingVertexEXT_remap_index]
 #define _gloffset_GetTexParameterPointervAPPLE driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index]
 #define _gloffset_TextureRangeAPPLE driDispatchRemapTable[TextureRangeAPPLE_remap_index]
@@ -7750,94 +7597,6 @@ static inline void SET_UnmapBufferARB(struct _glapi_table *disp, GLboolean (GLAP
    SET_by_offset(disp, _gloffset_UnmapBufferARB, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_BeginQueryARB)(GLenum, GLuint);
-#define CALL_BeginQueryARB(disp, parameters) \
-    (* GET_BeginQueryARB(disp)) parameters
-static inline _glptr_BeginQueryARB GET_BeginQueryARB(struct _glapi_table *disp) {
-   return (_glptr_BeginQueryARB) (GET_by_offset(disp, _gloffset_BeginQueryARB));
-}
-
-static inline void SET_BeginQueryARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
-   SET_by_offset(disp, _gloffset_BeginQueryARB, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_DeleteQueriesARB)(GLsizei, const GLuint *);
-#define CALL_DeleteQueriesARB(disp, parameters) \
-    (* GET_DeleteQueriesARB(disp)) parameters
-static inline _glptr_DeleteQueriesARB GET_DeleteQueriesARB(struct _glapi_table *disp) {
-   return (_glptr_DeleteQueriesARB) (GET_by_offset(disp, _gloffset_DeleteQueriesARB));
-}
-
-static inline void SET_DeleteQueriesARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
-   SET_by_offset(disp, _gloffset_DeleteQueriesARB, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_EndQueryARB)(GLenum);
-#define CALL_EndQueryARB(disp, parameters) \
-    (* GET_EndQueryARB(disp)) parameters
-static inline _glptr_EndQueryARB GET_EndQueryARB(struct _glapi_table *disp) {
-   return (_glptr_EndQueryARB) (GET_by_offset(disp, _gloffset_EndQueryARB));
-}
-
-static inline void SET_EndQueryARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
-   SET_by_offset(disp, _gloffset_EndQueryARB, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GenQueriesARB)(GLsizei, GLuint *);
-#define CALL_GenQueriesARB(disp, parameters) \
-    (* GET_GenQueriesARB(disp)) parameters
-static inline _glptr_GenQueriesARB GET_GenQueriesARB(struct _glapi_table *disp) {
-   return (_glptr_GenQueriesARB) (GET_by_offset(disp, _gloffset_GenQueriesARB));
-}
-
-static inline void SET_GenQueriesARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
-   SET_by_offset(disp, _gloffset_GenQueriesARB, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GetQueryObjectivARB)(GLuint, GLenum, GLint *);
-#define CALL_GetQueryObjectivARB(disp, parameters) \
-    (* GET_GetQueryObjectivARB(disp)) parameters
-static inline _glptr_GetQueryObjectivARB GET_GetQueryObjectivARB(struct _glapi_table *disp) {
-   return (_glptr_GetQueryObjectivARB) (GET_by_offset(disp, _gloffset_GetQueryObjectivARB));
-}
-
-static inline void SET_GetQueryObjectivARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLint *)) {
-   SET_by_offset(disp, _gloffset_GetQueryObjectivARB, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GetQueryObjectuivARB)(GLuint, GLenum, GLuint *);
-#define CALL_GetQueryObjectuivARB(disp, parameters) \
-    (* GET_GetQueryObjectuivARB(disp)) parameters
-static inline _glptr_GetQueryObjectuivARB GET_GetQueryObjectuivARB(struct _glapi_table *disp) {
-   return (_glptr_GetQueryObjectuivARB) (GET_by_offset(disp, _gloffset_GetQueryObjectuivARB));
-}
-
-static inline void SET_GetQueryObjectuivARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLuint *)) {
-   SET_by_offset(disp, _gloffset_GetQueryObjectuivARB, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GetQueryivARB)(GLenum, GLenum, GLint *);
-#define CALL_GetQueryivARB(disp, parameters) \
-    (* GET_GetQueryivARB(disp)) parameters
-static inline _glptr_GetQueryivARB GET_GetQueryivARB(struct _glapi_table *disp) {
-   return (_glptr_GetQueryivARB) (GET_by_offset(disp, _gloffset_GetQueryivARB));
-}
-
-static inline void SET_GetQueryivARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) {
-   SET_by_offset(disp, _gloffset_GetQueryivARB, fn);
-}
-
-typedef GLboolean (GLAPIENTRYP _glptr_IsQueryARB)(GLuint);
-#define CALL_IsQueryARB(disp, parameters) \
-    (* GET_IsQueryARB(disp)) parameters
-static inline _glptr_IsQueryARB GET_IsQueryARB(struct _glapi_table *disp) {
-   return (_glptr_IsQueryARB) (GET_by_offset(disp, _gloffset_IsQueryARB));
-}
-
-static inline void SET_IsQueryARB(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
-   SET_by_offset(disp, _gloffset_IsQueryARB, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_AttachObjectARB)(GLhandleARB, GLhandleARB);
 #define CALL_AttachObjectARB(disp, parameters) \
     (* GET_AttachObjectARB(disp)) parameters
@@ -8465,83 +8224,6 @@ static inline void SET_CopyBufferSubData(struct _glapi_table *disp, void (GLAPIE
    SET_by_offset(disp, _gloffset_CopyBufferSubData, fn);
 }
 
-typedef GLenum (GLAPIENTRYP _glptr_ClientWaitSync)(GLsync, GLbitfield, GLuint64);
-#define CALL_ClientWaitSync(disp, parameters) \
-    (* GET_ClientWaitSync(disp)) parameters
-static inline _glptr_ClientWaitSync GET_ClientWaitSync(struct _glapi_table *disp) {
-   return (_glptr_ClientWaitSync) (GET_by_offset(disp, _gloffset_ClientWaitSync));
-}
-
-static inline void SET_ClientWaitSync(struct _glapi_table *disp, GLenum (GLAPIENTRYP fn)(GLsync, GLbitfield, GLuint64)) {
-   SET_by_offset(disp, _gloffset_ClientWaitSync, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_DeleteSync)(GLsync);
-#define CALL_DeleteSync(disp, parameters) \
-    (* GET_DeleteSync(disp)) parameters
-static inline _glptr_DeleteSync GET_DeleteSync(struct _glapi_table *disp) {
-   return (_glptr_DeleteSync) (GET_by_offset(disp, _gloffset_DeleteSync));
-}
-
-static inline void SET_DeleteSync(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsync)) {
-   SET_by_offset(disp, _gloffset_DeleteSync, fn);
-}
-
-typedef GLsync (GLAPIENTRYP _glptr_FenceSync)(GLenum, GLbitfield);
-#define CALL_FenceSync(disp, parameters) \
-    (* GET_FenceSync(disp)) parameters
-static inline _glptr_FenceSync GET_FenceSync(struct _glapi_table *disp) {
-   return (_glptr_FenceSync) (GET_by_offset(disp, _gloffset_FenceSync));
-}
-
-static inline void SET_FenceSync(struct _glapi_table *disp, GLsync (GLAPIENTRYP fn)(GLenum, GLbitfield)) {
-   SET_by_offset(disp, _gloffset_FenceSync, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GetInteger64v)(GLenum, GLint64 *);
-#define CALL_GetInteger64v(disp, parameters) \
-    (* GET_GetInteger64v(disp)) parameters
-static inline _glptr_GetInteger64v GET_GetInteger64v(struct _glapi_table *disp) {
-   return (_glptr_GetInteger64v) (GET_by_offset(disp, _gloffset_GetInteger64v));
-}
-
-static inline void SET_GetInteger64v(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint64 *)) {
-   SET_by_offset(disp, _gloffset_GetInteger64v, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *);
-#define CALL_GetSynciv(disp, parameters) \
-    (* GET_GetSynciv(disp)) parameters
-static inline _glptr_GetSynciv GET_GetSynciv(struct _glapi_table *disp) {
-   return (_glptr_GetSynciv) (GET_by_offset(disp, _gloffset_GetSynciv));
-}
-
-static inline void SET_GetSynciv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsync, GLenum, GLsizei, GLsizei *, GLint *)) {
-   SET_by_offset(disp, _gloffset_GetSynciv, fn);
-}
-
-typedef GLboolean (GLAPIENTRYP _glptr_IsSync)(GLsync);
-#define CALL_IsSync(disp, parameters) \
-    (* GET_IsSync(disp)) parameters
-static inline _glptr_IsSync GET_IsSync(struct _glapi_table *disp) {
-   return (_glptr_IsSync) (GET_by_offset(disp, _gloffset_IsSync));
-}
-
-static inline void SET_IsSync(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLsync)) {
-   SET_by_offset(disp, _gloffset_IsSync, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_WaitSync)(GLsync, GLbitfield, GLuint64);
-#define CALL_WaitSync(disp, parameters) \
-    (* GET_WaitSync(disp)) parameters
-static inline _glptr_WaitSync GET_WaitSync(struct _glapi_table *disp) {
-   return (_glptr_WaitSync) (GET_by_offset(disp, _gloffset_WaitSync));
-}
-
-static inline void SET_WaitSync(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsync, GLbitfield, GLuint64)) {
-   SET_by_offset(disp, _gloffset_WaitSync, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_DrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLint);
 #define CALL_DrawElementsBaseVertex(disp, parameters) \
     (* GET_DrawElementsBaseVertex(disp)) parameters
@@ -8630,83 +8312,6 @@ static inline void SET_BlendFunciARB(struct _glapi_table *disp, void (GLAPIENTRY
    SET_by_offset(disp, _gloffset_BlendFunciARB, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_BindTransformFeedback)(GLenum, GLuint);
-#define CALL_BindTransformFeedback(disp, parameters) \
-    (* GET_BindTransformFeedback(disp)) parameters
-static inline _glptr_BindTransformFeedback GET_BindTransformFeedback(struct _glapi_table *disp) {
-   return (_glptr_BindTransformFeedback) (GET_by_offset(disp, _gloffset_BindTransformFeedback));
-}
-
-static inline void SET_BindTransformFeedback(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
-   SET_by_offset(disp, _gloffset_BindTransformFeedback, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_DeleteTransformFeedbacks)(GLsizei, const GLuint *);
-#define CALL_DeleteTransformFeedbacks(disp, parameters) \
-    (* GET_DeleteTransformFeedbacks(disp)) parameters
-static inline _glptr_DeleteTransformFeedbacks GET_DeleteTransformFeedbacks(struct _glapi_table *disp) {
-   return (_glptr_DeleteTransformFeedbacks) (GET_by_offset(disp, _gloffset_DeleteTransformFeedbacks));
-}
-
-static inline void SET_DeleteTransformFeedbacks(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
-   SET_by_offset(disp, _gloffset_DeleteTransformFeedbacks, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_DrawTransformFeedback)(GLenum, GLuint);
-#define CALL_DrawTransformFeedback(disp, parameters) \
-    (* GET_DrawTransformFeedback(disp)) parameters
-static inline _glptr_DrawTransformFeedback GET_DrawTransformFeedback(struct _glapi_table *disp) {
-   return (_glptr_DrawTransformFeedback) (GET_by_offset(disp, _gloffset_DrawTransformFeedback));
-}
-
-static inline void SET_DrawTransformFeedback(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
-   SET_by_offset(disp, _gloffset_DrawTransformFeedback, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GenTransformFeedbacks)(GLsizei, GLuint *);
-#define CALL_GenTransformFeedbacks(disp, parameters) \
-    (* GET_GenTransformFeedbacks(disp)) parameters
-static inline _glptr_GenTransformFeedbacks GET_GenTransformFeedbacks(struct _glapi_table *disp) {
-   return (_glptr_GenTransformFeedbacks) (GET_by_offset(disp, _gloffset_GenTransformFeedbacks));
-}
-
-static inline void SET_GenTransformFeedbacks(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
-   SET_by_offset(disp, _gloffset_GenTransformFeedbacks, fn);
-}
-
-typedef GLboolean (GLAPIENTRYP _glptr_IsTransformFeedback)(GLuint);
-#define CALL_IsTransformFeedback(disp, parameters) \
-    (* GET_IsTransformFeedback(disp)) parameters
-static inline _glptr_IsTransformFeedback GET_IsTransformFeedback(struct _glapi_table *disp) {
-   return (_glptr_IsTransformFeedback) (GET_by_offset(disp, _gloffset_IsTransformFeedback));
-}
-
-static inline void SET_IsTransformFeedback(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
-   SET_by_offset(disp, _gloffset_IsTransformFeedback, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_PauseTransformFeedback)(void);
-#define CALL_PauseTransformFeedback(disp, parameters) \
-    (* GET_PauseTransformFeedback(disp)) parameters
-static inline _glptr_PauseTransformFeedback GET_PauseTransformFeedback(struct _glapi_table *disp) {
-   return (_glptr_PauseTransformFeedback) (GET_by_offset(disp, _gloffset_PauseTransformFeedback));
-}
-
-static inline void SET_PauseTransformFeedback(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
-   SET_by_offset(disp, _gloffset_PauseTransformFeedback, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_ResumeTransformFeedback)(void);
-#define CALL_ResumeTransformFeedback(disp, parameters) \
-    (* GET_ResumeTransformFeedback(disp)) parameters
-static inline _glptr_ResumeTransformFeedback GET_ResumeTransformFeedback(struct _glapi_table *disp) {
-   return (_glptr_ResumeTransformFeedback) (GET_by_offset(disp, _gloffset_ResumeTransformFeedback));
-}
-
-static inline void SET_ResumeTransformFeedback(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
-   SET_by_offset(disp, _gloffset_ResumeTransformFeedback, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_ClearDepthf)(GLclampf);
 #define CALL_ClearDepthf(disp, parameters) \
     (* GET_ClearDepthf(disp)) parameters
@@ -10786,160 +10391,6 @@ static inline void SET_TexBumpParameterivATI(struct _glapi_table *disp, void (GL
    SET_by_offset(disp, _gloffset_TexBumpParameterivATI, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_AlphaFragmentOp1ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
-#define CALL_AlphaFragmentOp1ATI(disp, parameters) \
-    (* GET_AlphaFragmentOp1ATI(disp)) parameters
-static inline _glptr_AlphaFragmentOp1ATI GET_AlphaFragmentOp1ATI(struct _glapi_table *disp) {
-   return (_glptr_AlphaFragmentOp1ATI) (GET_by_offset(disp, _gloffset_AlphaFragmentOp1ATI));
-}
-
-static inline void SET_AlphaFragmentOp1ATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint)) {
-   SET_by_offset(disp, _gloffset_AlphaFragmentOp1ATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_AlphaFragmentOp2ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-#define CALL_AlphaFragmentOp2ATI(disp, parameters) \
-    (* GET_AlphaFragmentOp2ATI(disp)) parameters
-static inline _glptr_AlphaFragmentOp2ATI GET_AlphaFragmentOp2ATI(struct _glapi_table *disp) {
-   return (_glptr_AlphaFragmentOp2ATI) (GET_by_offset(disp, _gloffset_AlphaFragmentOp2ATI));
-}
-
-static inline void SET_AlphaFragmentOp2ATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) {
-   SET_by_offset(disp, _gloffset_AlphaFragmentOp2ATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_AlphaFragmentOp3ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-#define CALL_AlphaFragmentOp3ATI(disp, parameters) \
-    (* GET_AlphaFragmentOp3ATI(disp)) parameters
-static inline _glptr_AlphaFragmentOp3ATI GET_AlphaFragmentOp3ATI(struct _glapi_table *disp) {
-   return (_glptr_AlphaFragmentOp3ATI) (GET_by_offset(disp, _gloffset_AlphaFragmentOp3ATI));
-}
-
-static inline void SET_AlphaFragmentOp3ATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) {
-   SET_by_offset(disp, _gloffset_AlphaFragmentOp3ATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_BeginFragmentShaderATI)(void);
-#define CALL_BeginFragmentShaderATI(disp, parameters) \
-    (* GET_BeginFragmentShaderATI(disp)) parameters
-static inline _glptr_BeginFragmentShaderATI GET_BeginFragmentShaderATI(struct _glapi_table *disp) {
-   return (_glptr_BeginFragmentShaderATI) (GET_by_offset(disp, _gloffset_BeginFragmentShaderATI));
-}
-
-static inline void SET_BeginFragmentShaderATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
-   SET_by_offset(disp, _gloffset_BeginFragmentShaderATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_BindFragmentShaderATI)(GLuint);
-#define CALL_BindFragmentShaderATI(disp, parameters) \
-    (* GET_BindFragmentShaderATI(disp)) parameters
-static inline _glptr_BindFragmentShaderATI GET_BindFragmentShaderATI(struct _glapi_table *disp) {
-   return (_glptr_BindFragmentShaderATI) (GET_by_offset(disp, _gloffset_BindFragmentShaderATI));
-}
-
-static inline void SET_BindFragmentShaderATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
-   SET_by_offset(disp, _gloffset_BindFragmentShaderATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_ColorFragmentOp1ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-#define CALL_ColorFragmentOp1ATI(disp, parameters) \
-    (* GET_ColorFragmentOp1ATI(disp)) parameters
-static inline _glptr_ColorFragmentOp1ATI GET_ColorFragmentOp1ATI(struct _glapi_table *disp) {
-   return (_glptr_ColorFragmentOp1ATI) (GET_by_offset(disp, _gloffset_ColorFragmentOp1ATI));
-}
-
-static inline void SET_ColorFragmentOp1ATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) {
-   SET_by_offset(disp, _gloffset_ColorFragmentOp1ATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_ColorFragmentOp2ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-#define CALL_ColorFragmentOp2ATI(disp, parameters) \
-    (* GET_ColorFragmentOp2ATI(disp)) parameters
-static inline _glptr_ColorFragmentOp2ATI GET_ColorFragmentOp2ATI(struct _glapi_table *disp) {
-   return (_glptr_ColorFragmentOp2ATI) (GET_by_offset(disp, _gloffset_ColorFragmentOp2ATI));
-}
-
-static inline void SET_ColorFragmentOp2ATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) {
-   SET_by_offset(disp, _gloffset_ColorFragmentOp2ATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_ColorFragmentOp3ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-#define CALL_ColorFragmentOp3ATI(disp, parameters) \
-    (* GET_ColorFragmentOp3ATI(disp)) parameters
-static inline _glptr_ColorFragmentOp3ATI GET_ColorFragmentOp3ATI(struct _glapi_table *disp) {
-   return (_glptr_ColorFragmentOp3ATI) (GET_by_offset(disp, _gloffset_ColorFragmentOp3ATI));
-}
-
-static inline void SET_ColorFragmentOp3ATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) {
-   SET_by_offset(disp, _gloffset_ColorFragmentOp3ATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_DeleteFragmentShaderATI)(GLuint);
-#define CALL_DeleteFragmentShaderATI(disp, parameters) \
-    (* GET_DeleteFragmentShaderATI(disp)) parameters
-static inline _glptr_DeleteFragmentShaderATI GET_DeleteFragmentShaderATI(struct _glapi_table *disp) {
-   return (_glptr_DeleteFragmentShaderATI) (GET_by_offset(disp, _gloffset_DeleteFragmentShaderATI));
-}
-
-static inline void SET_DeleteFragmentShaderATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
-   SET_by_offset(disp, _gloffset_DeleteFragmentShaderATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_EndFragmentShaderATI)(void);
-#define CALL_EndFragmentShaderATI(disp, parameters) \
-    (* GET_EndFragmentShaderATI(disp)) parameters
-static inline _glptr_EndFragmentShaderATI GET_EndFragmentShaderATI(struct _glapi_table *disp) {
-   return (_glptr_EndFragmentShaderATI) (GET_by_offset(disp, _gloffset_EndFragmentShaderATI));
-}
-
-static inline void SET_EndFragmentShaderATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
-   SET_by_offset(disp, _gloffset_EndFragmentShaderATI, fn);
-}
-
-typedef GLuint (GLAPIENTRYP _glptr_GenFragmentShadersATI)(GLuint);
-#define CALL_GenFragmentShadersATI(disp, parameters) \
-    (* GET_GenFragmentShadersATI(disp)) parameters
-static inline _glptr_GenFragmentShadersATI GET_GenFragmentShadersATI(struct _glapi_table *disp) {
-   return (_glptr_GenFragmentShadersATI) (GET_by_offset(disp, _gloffset_GenFragmentShadersATI));
-}
-
-static inline void SET_GenFragmentShadersATI(struct _glapi_table *disp, GLuint (GLAPIENTRYP fn)(GLuint)) {
-   SET_by_offset(disp, _gloffset_GenFragmentShadersATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_PassTexCoordATI)(GLuint, GLuint, GLenum);
-#define CALL_PassTexCoordATI(disp, parameters) \
-    (* GET_PassTexCoordATI(disp)) parameters
-static inline _glptr_PassTexCoordATI GET_PassTexCoordATI(struct _glapi_table *disp) {
-   return (_glptr_PassTexCoordATI) (GET_by_offset(disp, _gloffset_PassTexCoordATI));
-}
-
-static inline void SET_PassTexCoordATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLenum)) {
-   SET_by_offset(disp, _gloffset_PassTexCoordATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_SampleMapATI)(GLuint, GLuint, GLenum);
-#define CALL_SampleMapATI(disp, parameters) \
-    (* GET_SampleMapATI(disp)) parameters
-static inline _glptr_SampleMapATI GET_SampleMapATI(struct _glapi_table *disp) {
-   return (_glptr_SampleMapATI) (GET_by_offset(disp, _gloffset_SampleMapATI));
-}
-
-static inline void SET_SampleMapATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLenum)) {
-   SET_by_offset(disp, _gloffset_SampleMapATI, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_SetFragmentShaderConstantATI)(GLuint, const GLfloat *);
-#define CALL_SetFragmentShaderConstantATI(disp, parameters) \
-    (* GET_SetFragmentShaderConstantATI(disp)) parameters
-static inline _glptr_SetFragmentShaderConstantATI GET_SetFragmentShaderConstantATI(struct _glapi_table *disp) {
-   return (_glptr_SetFragmentShaderConstantATI) (GET_by_offset(disp, _gloffset_SetFragmentShaderConstantATI));
-}
-
-static inline void SET_SetFragmentShaderConstantATI(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLfloat *)) {
-   SET_by_offset(disp, _gloffset_SetFragmentShaderConstantATI, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_PointParameteriNV)(GLenum, GLint);
 #define CALL_PointParameteriNV(disp, parameters) \
     (* GET_PointParameteriNV(disp)) parameters
@@ -11732,72 +11183,6 @@ static inline void SET_FramebufferTextureLayerEXT(struct _glapi_table *disp, voi
    SET_by_offset(disp, _gloffset_FramebufferTextureLayerEXT, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_ColorMaskIndexedEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
-#define CALL_ColorMaskIndexedEXT(disp, parameters) \
-    (* GET_ColorMaskIndexedEXT(disp)) parameters
-static inline _glptr_ColorMaskIndexedEXT GET_ColorMaskIndexedEXT(struct _glapi_table *disp) {
-   return (_glptr_ColorMaskIndexedEXT) (GET_by_offset(disp, _gloffset_ColorMaskIndexedEXT));
-}
-
-static inline void SET_ColorMaskIndexedEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)) {
-   SET_by_offset(disp, _gloffset_ColorMaskIndexedEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_DisableIndexedEXT)(GLenum, GLuint);
-#define CALL_DisableIndexedEXT(disp, parameters) \
-    (* GET_DisableIndexedEXT(disp)) parameters
-static inline _glptr_DisableIndexedEXT GET_DisableIndexedEXT(struct _glapi_table *disp) {
-   return (_glptr_DisableIndexedEXT) (GET_by_offset(disp, _gloffset_DisableIndexedEXT));
-}
-
-static inline void SET_DisableIndexedEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
-   SET_by_offset(disp, _gloffset_DisableIndexedEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_EnableIndexedEXT)(GLenum, GLuint);
-#define CALL_EnableIndexedEXT(disp, parameters) \
-    (* GET_EnableIndexedEXT(disp)) parameters
-static inline _glptr_EnableIndexedEXT GET_EnableIndexedEXT(struct _glapi_table *disp) {
-   return (_glptr_EnableIndexedEXT) (GET_by_offset(disp, _gloffset_EnableIndexedEXT));
-}
-
-static inline void SET_EnableIndexedEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
-   SET_by_offset(disp, _gloffset_EnableIndexedEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GetBooleanIndexedvEXT)(GLenum, GLuint, GLboolean *);
-#define CALL_GetBooleanIndexedvEXT(disp, parameters) \
-    (* GET_GetBooleanIndexedvEXT(disp)) parameters
-static inline _glptr_GetBooleanIndexedvEXT GET_GetBooleanIndexedvEXT(struct _glapi_table *disp) {
-   return (_glptr_GetBooleanIndexedvEXT) (GET_by_offset(disp, _gloffset_GetBooleanIndexedvEXT));
-}
-
-static inline void SET_GetBooleanIndexedvEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLboolean *)) {
-   SET_by_offset(disp, _gloffset_GetBooleanIndexedvEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GetIntegerIndexedvEXT)(GLenum, GLuint, GLint *);
-#define CALL_GetIntegerIndexedvEXT(disp, parameters) \
-    (* GET_GetIntegerIndexedvEXT(disp)) parameters
-static inline _glptr_GetIntegerIndexedvEXT GET_GetIntegerIndexedvEXT(struct _glapi_table *disp) {
-   return (_glptr_GetIntegerIndexedvEXT) (GET_by_offset(disp, _gloffset_GetIntegerIndexedvEXT));
-}
-
-static inline void SET_GetIntegerIndexedvEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLint *)) {
-   SET_by_offset(disp, _gloffset_GetIntegerIndexedvEXT, fn);
-}
-
-typedef GLboolean (GLAPIENTRYP _glptr_IsEnabledIndexedEXT)(GLenum, GLuint);
-#define CALL_IsEnabledIndexedEXT(disp, parameters) \
-    (* GET_IsEnabledIndexedEXT(disp)) parameters
-static inline _glptr_IsEnabledIndexedEXT GET_IsEnabledIndexedEXT(struct _glapi_table *disp) {
-   return (_glptr_IsEnabledIndexedEXT) (GET_by_offset(disp, _gloffset_IsEnabledIndexedEXT));
-}
-
-static inline void SET_IsEnabledIndexedEXT(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLenum, GLuint)) {
-   SET_by_offset(disp, _gloffset_IsEnabledIndexedEXT, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_ClearColorIiEXT)(GLint, GLint, GLint, GLint);
 #define CALL_ClearColorIiEXT(disp, parameters) \
     (* GET_ClearColorIiEXT(disp)) parameters
@@ -11864,105 +11249,6 @@ static inline void SET_TexParameterIuivEXT(struct _glapi_table *disp, void (GLAP
    SET_by_offset(disp, _gloffset_TexParameterIuivEXT, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_BeginConditionalRenderNV)(GLuint, GLenum);
-#define CALL_BeginConditionalRenderNV(disp, parameters) \
-    (* GET_BeginConditionalRenderNV(disp)) parameters
-static inline _glptr_BeginConditionalRenderNV GET_BeginConditionalRenderNV(struct _glapi_table *disp) {
-   return (_glptr_BeginConditionalRenderNV) (GET_by_offset(disp, _gloffset_BeginConditionalRenderNV));
-}
-
-static inline void SET_BeginConditionalRenderNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum)) {
-   SET_by_offset(disp, _gloffset_BeginConditionalRenderNV, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_EndConditionalRenderNV)(void);
-#define CALL_EndConditionalRenderNV(disp, parameters) \
-    (* GET_EndConditionalRenderNV(disp)) parameters
-static inline _glptr_EndConditionalRenderNV GET_EndConditionalRenderNV(struct _glapi_table *disp) {
-   return (_glptr_EndConditionalRenderNV) (GET_by_offset(disp, _gloffset_EndConditionalRenderNV));
-}
-
-static inline void SET_EndConditionalRenderNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
-   SET_by_offset(disp, _gloffset_EndConditionalRenderNV, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_BeginTransformFeedbackEXT)(GLenum);
-#define CALL_BeginTransformFeedbackEXT(disp, parameters) \
-    (* GET_BeginTransformFeedbackEXT(disp)) parameters
-static inline _glptr_BeginTransformFeedbackEXT GET_BeginTransformFeedbackEXT(struct _glapi_table *disp) {
-   return (_glptr_BeginTransformFeedbackEXT) (GET_by_offset(disp, _gloffset_BeginTransformFeedbackEXT));
-}
-
-static inline void SET_BeginTransformFeedbackEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
-   SET_by_offset(disp, _gloffset_BeginTransformFeedbackEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_BindBufferBaseEXT)(GLenum, GLuint, GLuint);
-#define CALL_BindBufferBaseEXT(disp, parameters) \
-    (* GET_BindBufferBaseEXT(disp)) parameters
-static inline _glptr_BindBufferBaseEXT GET_BindBufferBaseEXT(struct _glapi_table *disp) {
-   return (_glptr_BindBufferBaseEXT) (GET_by_offset(disp, _gloffset_BindBufferBaseEXT));
-}
-
-static inline void SET_BindBufferBaseEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint)) {
-   SET_by_offset(disp, _gloffset_BindBufferBaseEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_BindBufferOffsetEXT)(GLenum, GLuint, GLuint, GLintptr);
-#define CALL_BindBufferOffsetEXT(disp, parameters) \
-    (* GET_BindBufferOffsetEXT(disp)) parameters
-static inline _glptr_BindBufferOffsetEXT GET_BindBufferOffsetEXT(struct _glapi_table *disp) {
-   return (_glptr_BindBufferOffsetEXT) (GET_by_offset(disp, _gloffset_BindBufferOffsetEXT));
-}
-
-static inline void SET_BindBufferOffsetEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLintptr)) {
-   SET_by_offset(disp, _gloffset_BindBufferOffsetEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_BindBufferRangeEXT)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
-#define CALL_BindBufferRangeEXT(disp, parameters) \
-    (* GET_BindBufferRangeEXT(disp)) parameters
-static inline _glptr_BindBufferRangeEXT GET_BindBufferRangeEXT(struct _glapi_table *disp) {
-   return (_glptr_BindBufferRangeEXT) (GET_by_offset(disp, _gloffset_BindBufferRangeEXT));
-}
-
-static inline void SET_BindBufferRangeEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)) {
-   SET_by_offset(disp, _gloffset_BindBufferRangeEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_EndTransformFeedbackEXT)(void);
-#define CALL_EndTransformFeedbackEXT(disp, parameters) \
-    (* GET_EndTransformFeedbackEXT(disp)) parameters
-static inline _glptr_EndTransformFeedbackEXT GET_EndTransformFeedbackEXT(struct _glapi_table *disp) {
-   return (_glptr_EndTransformFeedbackEXT) (GET_by_offset(disp, _gloffset_EndTransformFeedbackEXT));
-}
-
-static inline void SET_EndTransformFeedbackEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
-   SET_by_offset(disp, _gloffset_EndTransformFeedbackEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_GetTransformFeedbackVaryingEXT)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
-#define CALL_GetTransformFeedbackVaryingEXT(disp, parameters) \
-    (* GET_GetTransformFeedbackVaryingEXT(disp)) parameters
-static inline _glptr_GetTransformFeedbackVaryingEXT GET_GetTransformFeedbackVaryingEXT(struct _glapi_table *disp) {
-   return (_glptr_GetTransformFeedbackVaryingEXT) (GET_by_offset(disp, _gloffset_GetTransformFeedbackVaryingEXT));
-}
-
-static inline void SET_GetTransformFeedbackVaryingEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)) {
-   SET_by_offset(disp, _gloffset_GetTransformFeedbackVaryingEXT, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_TransformFeedbackVaryingsEXT)(GLuint, GLsizei, const char **, GLenum);
-#define CALL_TransformFeedbackVaryingsEXT(disp, parameters) \
-    (* GET_TransformFeedbackVaryingsEXT(disp)) parameters
-static inline _glptr_TransformFeedbackVaryingsEXT GET_TransformFeedbackVaryingsEXT(struct _glapi_table *disp) {
-   return (_glptr_TransformFeedbackVaryingsEXT) (GET_by_offset(disp, _gloffset_TransformFeedbackVaryingsEXT));
-}
-
-static inline void SET_TransformFeedbackVaryingsEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const char **, GLenum)) {
-   SET_by_offset(disp, _gloffset_TransformFeedbackVaryingsEXT, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_ProvokingVertexEXT)(GLenum);
 #define CALL_ProvokingVertexEXT(disp, parameters) \
     (* GET_ProvokingVertexEXT(disp)) parameters
index 45db66a..7eed408 100644 (file)
@@ -35,9 +35,6 @@
 #include "api_exec.h"
 #include "api_loopback.h"
 #include "api_validate.h"
-#if FEATURE_ATI_fragment_shader
-#include "atifragshader.h"
-#endif
 #include "config.h"
 #include "mfeatures.h"
 #include "bufferobj.h"
@@ -57,9 +54,7 @@
 #include "macros.h"
 #include "pack.h"
 #include "pbo.h"
-#include "queryobj.h"
 #include "shaderapi.h"
-#include "syncobj.h"
 #include "teximage.h"
 #include "texstorage.h"
 #include "mtypes.h"
@@ -70,9 +65,6 @@
 #if FEATURE_NV_vertex_program || FEATURE_NV_fragment_program
 #include "nvprogram.h"
 #endif
-#if FEATURE_EXT_transform_feedback
-#include "transformfeedback.h"
-#endif
 
 #include "math/m_matrix.h"
 
@@ -217,7 +209,6 @@ typedef enum
    OPCODE_CLEAR_BUFFER_FI,
    OPCODE_CLIP_PLANE,
    OPCODE_COLOR_MASK,
-   OPCODE_COLOR_MASK_INDEXED,
    OPCODE_COLOR_MATERIAL,
    OPCODE_COLOR_TABLE,
    OPCODE_COLOR_TABLE_PARAMETER_FV,
@@ -242,11 +233,9 @@ typedef enum
    OPCODE_DEPTH_MASK,
    OPCODE_DEPTH_RANGE,
    OPCODE_DISABLE,
-   OPCODE_DISABLE_INDEXED,
    OPCODE_DRAW_BUFFER,
    OPCODE_DRAW_PIXELS,
    OPCODE_ENABLE,
-   OPCODE_ENABLE_INDEXED,
    OPCODE_EVALMESH1,
    OPCODE_EVALMESH2,
    OPCODE_FOG,
@@ -343,16 +332,10 @@ typedef enum
    /* GL_ARB_vertex/fragment_program */
    OPCODE_PROGRAM_STRING_ARB,
    OPCODE_PROGRAM_ENV_PARAMETER_ARB,
-   /* GL_ARB_occlusion_query */
-   OPCODE_BEGIN_QUERY_ARB,
-   OPCODE_END_QUERY_ARB,
    /* GL_ARB_draw_buffers */
    OPCODE_DRAW_BUFFERS_ARB,
    /* GL_ATI_fragment_shader */
    OPCODE_TEX_BUMP_PARAMETER_ATI,
-   /* GL_ATI_fragment_shader */
-   OPCODE_BIND_FRAGMENT_SHADER_ATI,
-   OPCODE_SET_FRAGMENT_SHADER_CONSTANTS_ATI,
    /* OpenGL 2.0 */
    OPCODE_STENCIL_FUNC_SEPARATE,
    OPCODE_STENCIL_OP_SEPARATE,
@@ -425,14 +408,6 @@ typedef enum
    /* GL_EXT_provoking_vertex */
    OPCODE_PROVOKING_VERTEX,
 
-   /* GL_EXT_transform_feedback */
-   OPCODE_BEGIN_TRANSFORM_FEEDBACK,
-   OPCODE_END_TRANSFORM_FEEDBACK,
-   OPCODE_BIND_TRANSFORM_FEEDBACK,
-   OPCODE_PAUSE_TRANSFORM_FEEDBACK,
-   OPCODE_RESUME_TRANSFORM_FEEDBACK,
-   OPCODE_DRAW_TRANSFORM_FEEDBACK,
-
    /* GL_EXT_texture_integer */
    OPCODE_CLEARCOLOR_I,
    OPCODE_CLEARCOLOR_UI,
@@ -454,13 +429,6 @@ typedef enum
    OPCODE_FRAMEBUFFER_TEXTURE,
    OPCODE_FRAMEBUFFER_TEXTURE_FACE,
 
-   /* GL_ARB_sync */
-   OPCODE_WAIT_SYNC,
-
-   /* GL_NV_conditional_render */
-   OPCODE_BEGIN_CONDITIONAL_RENDER,
-   OPCODE_END_CONDITIONAL_RENDER,
-
    /* The following three are meta instructions */
    OPCODE_ERROR,                /* raise compiled-in error */
    OPCODE_CONTINUE,
@@ -1660,27 +1628,6 @@ save_ColorMask(GLboolean red, GLboolean green,
 }
 
 
-static void GLAPIENTRY
-save_ColorMaskIndexed(GLuint buf, GLboolean red, GLboolean green,
-                      GLboolean blue, GLboolean alpha)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_COLOR_MASK_INDEXED, 5);
-   if (n) {
-      n[1].ui = buf;
-      n[2].b = red;
-      n[3].b = green;
-      n[4].b = blue;
-      n[5].b = alpha;
-   }
-   if (ctx->ExecuteFlag) {
-      /*CALL_ColorMaskIndexedEXT(ctx->Exec, (buf, red, green, blue, alpha));*/
-   }
-}
-
-
 static void GLAPIENTRY
 save_ColorMaterial(GLenum face, GLenum mode)
 {
@@ -2237,23 +2184,6 @@ save_Disable(GLenum cap)
 }
 
 
-static void GLAPIENTRY
-save_DisableIndexed(GLuint index, GLenum cap)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_DISABLE_INDEXED, 2);
-   if (n) {
-      n[1].ui = index;
-      n[2].e = cap;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_DisableIndexedEXT(ctx->Exec, (index, cap));
-   }
-}
-
-
 static void GLAPIENTRY
 save_DrawBuffer(GLenum mode)
 {
@@ -2312,24 +2242,6 @@ save_Enable(GLenum cap)
 
 
 
-static void GLAPIENTRY
-save_EnableIndexed(GLuint index, GLenum cap)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_ENABLE_INDEXED, 2);
-   if (n) {
-      n[1].ui = index;
-      n[2].e = cap;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_EnableIndexedEXT(ctx->Exec, (index, cap));
-   }
-}
-
-
-
 static void GLAPIENTRY
 save_EvalMesh1(GLenum mode, GLint i1, GLint i2)
 {
@@ -5269,43 +5181,6 @@ save_ProgramStringARB(GLenum target, GLenum format, GLsizei len,
 #endif /* FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program */
 
 
-#if FEATURE_queryobj
-
-static void GLAPIENTRY
-save_BeginQueryARB(GLenum target, GLuint id)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_BEGIN_QUERY_ARB, 2);
-   if (n) {
-      n[1].e = target;
-      n[2].ui = id;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_BeginQueryARB(ctx->Exec, (target, id));
-   }
-}
-
-
-static void GLAPIENTRY
-save_EndQueryARB(GLenum target)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_END_QUERY_ARB, 1);
-   if (n) {
-      n[1].e = target;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_EndQueryARB(ctx->Exec, (target));
-   }
-}
-
-#endif /* FEATURE_queryobj */
-
-
 static void GLAPIENTRY
 save_DrawBuffersARB(GLsizei count, const GLenum * buffers)
 {
@@ -5357,42 +5232,6 @@ save_TexBumpParameterivATI(GLenum pname, const GLint *param)
    save_TexBumpParameterfvATI(pname, p);
 }
 
-#if FEATURE_ATI_fragment_shader
-static void GLAPIENTRY
-save_BindFragmentShaderATI(GLuint id)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-
-   n = alloc_instruction(ctx, OPCODE_BIND_FRAGMENT_SHADER_ATI, 1);
-   if (n) {
-      n[1].ui = id;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_BindFragmentShaderATI(ctx->Exec, (id));
-   }
-}
-
-static void GLAPIENTRY
-save_SetFragmentShaderConstantATI(GLuint dst, const GLfloat *value)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-
-   n = alloc_instruction(ctx, OPCODE_SET_FRAGMENT_SHADER_CONSTANTS_ATI, 5);
-   if (n) {
-      n[1].ui = dst;
-      n[2].f = value[0];
-      n[3].f = value[1];
-      n[4].f = value[2];
-      n[5].f = value[3];
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_SetFragmentShaderConstantATI(ctx->Exec, (dst, value));
-   }
-}
-#endif
-
 static void GLAPIENTRY
 save_Attr1fNV(GLenum attr, GLfloat x)
 {
@@ -6275,91 +6114,6 @@ save_ProvokingVertexEXT(GLenum mode)
    }
 }
 
-
-/** GL_EXT_transform_feedback */
-static void GLAPIENTRY
-save_BeginTransformFeedback(GLenum mode)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_BEGIN_TRANSFORM_FEEDBACK, 1);
-   if (n) {
-      n[1].e = mode;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_BeginTransformFeedbackEXT(ctx->Exec, (mode));
-   }
-}
-
-
-/** GL_EXT_transform_feedback */
-static void GLAPIENTRY
-save_EndTransformFeedback(void)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   (void) alloc_instruction(ctx, OPCODE_END_TRANSFORM_FEEDBACK, 0);
-   if (ctx->ExecuteFlag) {
-      CALL_EndTransformFeedbackEXT(ctx->Exec, ());
-   }
-}
-
-static void GLAPIENTRY
-save_BindTransformFeedback(GLenum target, GLuint name)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_BIND_TRANSFORM_FEEDBACK, 2);
-   if (n) {
-      n[1].e = target;
-      n[2].ui = name;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_BindTransformFeedback(ctx->Exec, (target, name));
-   }
-}
-
-static void GLAPIENTRY
-save_PauseTransformFeedback(void)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   (void) alloc_instruction(ctx, OPCODE_PAUSE_TRANSFORM_FEEDBACK, 0);
-   if (ctx->ExecuteFlag) {
-      CALL_PauseTransformFeedback(ctx->Exec, ());
-   }
-}
-
-static void GLAPIENTRY
-save_ResumeTransformFeedback(void)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   (void) alloc_instruction(ctx, OPCODE_RESUME_TRANSFORM_FEEDBACK, 0);
-   if (ctx->ExecuteFlag) {
-      CALL_ResumeTransformFeedback(ctx->Exec, ());
-   }
-}
-
-static void GLAPIENTRY
-save_DrawTransformFeedback(GLenum mode, GLuint name)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK, 2);
-   if (n) {
-      n[1].e = mode;
-      n[2].ui = name;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_DrawTransformFeedback(ctx->Exec, (mode, name));
-   }
-}
-
-
 /* aka UseProgram() */
 static void GLAPIENTRY
 save_UseProgramObjectARB(GLhandleARB program)
@@ -7224,57 +6978,6 @@ save_FramebufferTextureFace(GLenum target, GLenum attachment,
 }
 
 
-
-static void GLAPIENTRY
-save_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
-{
-   Node *n;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_WAIT_SYNC, 4);
-   if (n) {
-      union uint64_pair p;
-      p.uint64 = timeout;
-      n[1].data = sync;
-      n[2].e = flags;
-      n[3].ui = p.uint32[0];
-      n[4].ui = p.uint32[1];
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_WaitSync(ctx->Exec, (sync, flags, timeout));
-   }
-}
-
-
-/** GL_NV_conditional_render */
-static void GLAPIENTRY
-save_BeginConditionalRender(GLuint queryId, GLenum mode)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_BEGIN_CONDITIONAL_RENDER, 2);
-   if (n) {
-      n[1].i = queryId;
-      n[2].e = mode;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_BeginConditionalRenderNV(ctx->Exec, (queryId, mode));
-   }
-}
-
-static void GLAPIENTRY
-save_EndConditionalRender(void)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   alloc_instruction(ctx, OPCODE_END_CONDITIONAL_RENDER, 0);
-   if (ctx->ExecuteFlag) {
-      CALL_EndConditionalRenderNV(ctx->Exec, ());
-   }
-}
-
-
 /**
  * Save an error-generating command into display list.
  *
@@ -7504,10 +7207,6 @@ execute_list(struct gl_context *ctx, GLuint list)
          case OPCODE_COLOR_MASK:
             CALL_ColorMask(ctx->Exec, (n[1].b, n[2].b, n[3].b, n[4].b));
             break;
-         case OPCODE_COLOR_MASK_INDEXED:
-            CALL_ColorMaskIndexedEXT(ctx->Exec, (n[1].ui, n[2].b, n[3].b,
-                                                 n[4].b, n[5].b));
-            break;
          case OPCODE_COLOR_MATERIAL:
             CALL_ColorMaterial(ctx->Exec, (n[1].e, n[2].e));
             break;
@@ -7650,9 +7349,6 @@ execute_list(struct gl_context *ctx, GLuint list)
          case OPCODE_DISABLE:
             CALL_Disable(ctx->Exec, (n[1].e));
             break;
-         case OPCODE_DISABLE_INDEXED:
-            CALL_DisableIndexedEXT(ctx->Exec, (n[1].ui, n[2].e));
-            break;
          case OPCODE_DRAW_BUFFER:
             CALL_DrawBuffer(ctx->Exec, (n[1].e));
             break;
@@ -7668,9 +7364,6 @@ execute_list(struct gl_context *ctx, GLuint list)
          case OPCODE_ENABLE:
             CALL_Enable(ctx->Exec, (n[1].e));
             break;
-         case OPCODE_ENABLE_INDEXED:
-            CALL_EnableIndexedEXT(ctx->Exec, (n[1].ui, n[2].e));
-            break;
          case OPCODE_EVALMESH1:
             CALL_EvalMesh1(ctx->Exec, (n[1].e, n[2].i, n[3].i));
             break;
@@ -8145,14 +7838,6 @@ execute_list(struct gl_context *ctx, GLuint list)
                                                       n[4].f, n[5].f,
                                                       n[6].f));
             break;
-#endif
-#if FEATURE_queryobj
-         case OPCODE_BEGIN_QUERY_ARB:
-            CALL_BeginQueryARB(ctx->Exec, (n[1].e, n[2].ui));
-            break;
-         case OPCODE_END_QUERY_ARB:
-            CALL_EndQueryARB(ctx->Exec, (n[1].e));
-            break;
 #endif
          case OPCODE_DRAW_BUFFERS_ARB:
             {
@@ -8307,21 +7992,6 @@ execute_list(struct gl_context *ctx, GLuint list)
                CALL_TexBumpParameterfvATI(ctx->Exec, (pname, values));
             }
             break;
-#if FEATURE_ATI_fragment_shader
-         case OPCODE_BIND_FRAGMENT_SHADER_ATI:
-            CALL_BindFragmentShaderATI(ctx->Exec, (n[1].i));
-            break;
-         case OPCODE_SET_FRAGMENT_SHADER_CONSTANTS_ATI:
-            {
-               GLfloat values[4];
-               GLuint i, dst = n[1].ui;
-
-               for (i = 0; i < 4; i++)
-                  values[i] = n[1 + i].f;
-               CALL_SetFragmentShaderConstantATI(ctx->Exec, (dst, values));
-            }
-            break;
-#endif
          case OPCODE_ATTR_1F_NV:
             CALL_VertexAttrib1fNV(ctx->Exec, (n[1].e, n[2].f));
             break;
@@ -8452,26 +8122,6 @@ execute_list(struct gl_context *ctx, GLuint list)
             CALL_TextureBarrierNV(ctx->Exec, ());
             break;
 
-         /* GL_EXT/ARB_transform_feedback */
-         case OPCODE_BEGIN_TRANSFORM_FEEDBACK:
-            CALL_BeginTransformFeedbackEXT(ctx->Exec, (n[1].e));
-            break;
-         case OPCODE_END_TRANSFORM_FEEDBACK:
-            CALL_EndTransformFeedbackEXT(ctx->Exec, ());
-            break;
-         case OPCODE_BIND_TRANSFORM_FEEDBACK:
-            CALL_BindTransformFeedback(ctx->Exec, (n[1].e, n[2].ui));
-            break;
-         case OPCODE_PAUSE_TRANSFORM_FEEDBACK:
-            CALL_PauseTransformFeedback(ctx->Exec, ());
-            break;
-         case OPCODE_RESUME_TRANSFORM_FEEDBACK:
-            CALL_ResumeTransformFeedback(ctx->Exec, ());
-            break;
-         case OPCODE_DRAW_TRANSFORM_FEEDBACK:
-            CALL_DrawTransformFeedback(ctx->Exec, (n[1].e, n[2].ui));
-            break;
-
          /* GL_ARB_geometry_shader4 */
          case OPCODE_PROGRAM_PARAMETERI:
             CALL_ProgramParameteriARB(ctx->Exec, (n[1].ui, n[2].e, n[3].i));
@@ -8485,24 +8135,6 @@ execute_list(struct gl_context *ctx, GLuint list)
                                                        n[3].ui, n[4].i, n[5].e));
             break;
 
-         /* GL_ARB_sync */
-         case OPCODE_WAIT_SYNC:
-            {
-               union uint64_pair p;
-               p.uint32[0] = n[3].ui;
-               p.uint32[1] = n[4].ui;
-               CALL_WaitSync(ctx->Exec, (n[1].data, n[2].bf, p.uint64));
-            }
-            break;
-
-         /* GL_NV_conditional_render */
-         case OPCODE_BEGIN_CONDITIONAL_RENDER:
-            CALL_BeginConditionalRenderNV(ctx->Exec, (n[1].i, n[2].e));
-            break;
-         case OPCODE_END_CONDITIONAL_RENDER:
-            CALL_EndConditionalRenderNV(ctx->Exec, ());
-            break;
-
          case OPCODE_CONTINUE:
             n = (Node *) n[1].next;
             break;
@@ -9560,7 +9192,6 @@ _mesa_create_save_table(void)
    SET_ClearStencil(table, save_ClearStencil);
    SET_ClipPlane(table, save_ClipPlane);
    SET_ColorMask(table, save_ColorMask);
-   SET_ColorMaskIndexedEXT(table, save_ColorMaskIndexed);
    SET_ColorMaterial(table, save_ColorMaterial);
    SET_CopyPixels(table, save_CopyPixels);
    SET_CullFace(table, save_CullFace);
@@ -9569,11 +9200,9 @@ _mesa_create_save_table(void)
    SET_DepthMask(table, save_DepthMask);
    SET_DepthRange(table, save_DepthRange);
    SET_Disable(table, save_Disable);
-   SET_DisableIndexedEXT(table, save_DisableIndexed);
    SET_DrawBuffer(table, save_DrawBuffer);
    SET_DrawPixels(table, save_DrawPixels);
    SET_Enable(table, save_Enable);
-   SET_EnableIndexedEXT(table, save_EnableIndexed);
    SET_EndList(table, _mesa_EndList);
    SET_EvalMesh1(table, save_EvalMesh1);
    SET_EvalMesh2(table, save_EvalMesh2);
@@ -9928,12 +9557,6 @@ _mesa_create_save_table(void)
    SET_TexBumpParameterivATI(table, save_TexBumpParameterivATI);
    SET_TexBumpParameterfvATI(table, save_TexBumpParameterfvATI);
 
-   /* 245. GL_ATI_fragment_shader */
-#if FEATURE_ATI_fragment_shader
-   SET_BindFragmentShaderATI(table, save_BindFragmentShaderATI);
-   SET_SetFragmentShaderConstantATI(table, save_SetFragmentShaderConstantATI);
-#endif
-
    /* 282. GL_NV_fragment_program */
 #if FEATURE_NV_fragment_program
    SET_ProgramNamedParameter4fNV(table, save_ProgramNamedParameter4fNV);
@@ -10070,12 +9693,6 @@ _mesa_create_save_table(void)
    SET_MapBufferARB(table, _mesa_MapBufferARB);
    SET_UnmapBufferARB(table, _mesa_UnmapBufferARB);
 
-#if FEATURE_queryobj
-   _mesa_init_queryobj_dispatch(table); /* glGetQuery, etc */
-   SET_BeginQueryARB(table, save_BeginQueryARB);
-   SET_EndQueryARB(table, save_EndQueryARB);
-#endif
-
    SET_DrawBuffersARB(table, save_DrawBuffersARB);
 
 #if FEATURE_EXT_framebuffer_blit
@@ -10186,21 +9803,6 @@ _mesa_create_save_table(void)
    (void) save_Uniform4uiv;
 #endif
 
-#if FEATURE_EXT_transform_feedback
-   /* These are not compiled into display lists: */
-   SET_BindBufferBaseEXT(table, _mesa_BindBufferBase);
-   SET_BindBufferOffsetEXT(table, _mesa_BindBufferOffsetEXT);
-   SET_BindBufferRangeEXT(table, _mesa_BindBufferRange);
-   SET_TransformFeedbackVaryingsEXT(table, _mesa_TransformFeedbackVaryings);
-   /* These are: */
-   SET_BeginTransformFeedbackEXT(table, save_BeginTransformFeedback);
-   SET_EndTransformFeedbackEXT(table, save_EndTransformFeedback);
-   SET_BindTransformFeedback(table, save_BindTransformFeedback);
-   SET_PauseTransformFeedback(table, save_PauseTransformFeedback);
-   SET_ResumeTransformFeedback(table, save_ResumeTransformFeedback);
-   SET_DrawTransformFeedback(table, save_DrawTransformFeedback);
-#endif
-
    /* GL_ARB_instanced_arrays */
    SET_VertexAttribDivisorARB(table, save_VertexAttribDivisor);
 
@@ -10218,14 +9820,6 @@ _mesa_create_save_table(void)
    SET_FramebufferTextureARB(table, save_FramebufferTexture);
    SET_FramebufferTextureFaceARB(table, save_FramebufferTextureFace);
 
-   /* GL_NV_conditional_render */
-   SET_BeginConditionalRenderNV(table, save_BeginConditionalRender);
-   SET_EndConditionalRenderNV(table, save_EndConditionalRender);
-
-   /* GL_ARB_sync */
-   _mesa_init_sync_dispatch(table);
-   SET_WaitSync(table, save_WaitSync);
-
    /* GL_ARB_texture_storage (no dlist support) */
    SET_TexStorage1D(table, _mesa_TexStorage1D);
    SET_TexStorage2D(table, _mesa_TexStorage2D);
index 270b240..beb4e04 100644 (file)
@@ -853,16 +853,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
         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);
@@ -886,16 +876,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
         }
         break;
 
-#if FEATURE_EXT_transform_feedback
-      case GL_RASTERIZER_DISCARD:
-        CHECK_EXTENSION(EXT_transform_feedback, cap);
-         if (ctx->RasterDiscard != state) {
-            FLUSH_VERTICES(ctx, _NEW_RASTERIZER_DISCARD);
-            ctx->RasterDiscard = state;
-         }
-         break;
-#endif
-
       /* GL 3.1 primitive restart.  Note: this enum is different from
        * GL_PRIMITIVE_RESTART_NV (which is client state).
        */
@@ -968,86 +948,6 @@ _mesa_Disable( GLenum cap )
 }
 
 
-
-/**
- * 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);
-   ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0);
-   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) {                     \
@@ -1390,22 +1290,10 @@ _mesa_IsEnabled( GLenum cap )
          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->RasterDiscard;
-#endif
-
       /* GL_NV_primitive_restart */
       case GL_PRIMITIVE_RESTART_NV:
         if (!ctx->Extensions.NV_primitive_restart) {
index 6d90c17..7fe8873 100644 (file)
@@ -49,18 +49,6 @@ _mesa_Enable( GLenum cap );
 extern GLboolean GLAPIENTRY
 _mesa_IsEnabled( GLenum cap );
 
-extern void
-_mesa_set_enablei(struct gl_context *ctx, GLenum cap, GLuint index, GLboolean state);
-
-extern void GLAPIENTRY
-_mesa_DisableIndexed( GLenum cap, GLuint index );
-
-extern void GLAPIENTRY
-_mesa_EnableIndexed( GLenum cap, GLuint index );
-
-extern GLboolean GLAPIENTRY
-_mesa_IsEnabledIndexed( GLenum cap, GLuint index );
-
 extern void GLAPIENTRY
 _mesa_EnableClientState( GLenum cap );
 
index 82bf346..9d8083c 100644 (file)
@@ -101,8 +101,6 @@ static const struct extension extension_table[] = {
    { "GL_ARB_map_buffer_range",                    o(ARB_map_buffer_range),                    GL,             2008 },
    { "GL_ARB_multisample",                         o(dummy_true),                              GL,             1994 },
    { "GL_ARB_multitexture",                        o(dummy_true),                              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 },
@@ -113,7 +111,6 @@ static const struct extension extension_table[] = {
    { "GL_ARB_shader_stencil_export",               o(ARB_shader_stencil_export),               GL,             2009 },
    { "GL_ARB_shader_texture_lod",                  o(ARB_shader_texture_lod),                  GL,             2009 },
    { "GL_ARB_shading_language_100",                o(ARB_shading_language_100),                GL,             2003 },
-   { "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(dummy_true),                              GL,             2000 },
@@ -130,7 +127,6 @@ static const struct extension extension_table[] = {
    { "GL_ARB_texture_rectangle",                   o(NV_texture_rectangle),                    GL,             2004 },
    { "GL_ARB_texture_rg",                          o(ARB_texture_rg),                          GL,             2008 },
    { "GL_ARB_texture_storage",                     o(ARB_texture_storage),                     GL,             2011 },
-   { "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 },
@@ -151,7 +147,6 @@ static const struct extension extension_table[] = {
    { "GL_EXT_compiled_vertex_array",               o(EXT_compiled_vertex_array),               GL,             1996 },
    { "GL_EXT_copy_texture",                        o(dummy_true),                              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 },
@@ -198,7 +193,6 @@ static const struct extension extension_table[] = {
    { "GL_EXT_texture_snorm",                       o(EXT_texture_snorm),                       GL,             2009 },
    { "GL_EXT_texture_sRGB",                        o(EXT_texture_sRGB),                        GL,             2004 },
    { "GL_EXT_texture_type_2_10_10_10_REV",         o(dummy_true),                                         ES2, 2008 },
-   { "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(dummy_true),                              GL,             1995 },
 
@@ -254,7 +248,6 @@ static const struct extension extension_table[] = {
    { "GL_ATI_blend_equation_separate",             o(EXT_blend_equation_separate),             GL,             2003 },
    { "GL_ATI_draw_buffers",                        o(dummy_true),                              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 },
@@ -271,7 +264,6 @@ static const struct extension extension_table[] = {
    { "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_draw_buffers",                         o(dummy_true),                                         ES2, 2011 },
    { "GL_NV_fbo_color_attachments",                o(EXT_framebuffer_object),                             ES2, 2010 },
@@ -387,10 +379,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
    ctx->Extensions.ARB_half_float_pixel = GL_TRUE;
    ctx->Extensions.ARB_half_float_vertex = GL_TRUE;
    ctx->Extensions.ARB_map_buffer_range = 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;
@@ -415,18 +403,12 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
 #endif
 #if FEATURE_ARB_vertex_shader
    ctx->Extensions.ARB_vertex_shader = 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;
@@ -436,7 +418,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
    ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
    ctx->Extensions.EXT_blend_minmax = 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;
@@ -463,9 +444,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
    ctx->Extensions.EXT_texture_mirror_clamp = GL_TRUE;
 #if FEATURE_EXT_texture_sRGB
    ctx->Extensions.EXT_texture_sRGB = GL_TRUE;
-#endif
-#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;*/
@@ -474,7 +452,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
    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;
@@ -546,7 +523,6 @@ _mesa_enable_1_4_extensions(struct gl_context *ctx)
 void
 _mesa_enable_1_5_extensions(struct gl_context *ctx)
 {
-   ctx->Extensions.ARB_occlusion_query = GL_TRUE;
    ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
 }
 
index 847867d..514e164 100644 (file)
@@ -301,7 +301,6 @@ EXTRA_EXT(EXT_stencil_two_side);
 EXTRA_EXT(NV_light_max_exponent);
 EXTRA_EXT(EXT_depth_bounds_test);
 EXTRA_EXT(ARB_depth_clamp);
-EXTRA_EXT(ATI_fragment_shader);
 EXTRA_EXT(EXT_framebuffer_blit);
 EXTRA_EXT(ARB_shader_objects);
 EXTRA_EXT(EXT_provoking_vertex);
@@ -312,10 +311,7 @@ EXTRA_EXT(EXT_framebuffer_object);
 EXTRA_EXT(APPLE_vertex_array_object);
 EXTRA_EXT(ARB_seamless_cube_map);
 EXTRA_EXT(EXT_compiled_vertex_array);
-EXTRA_EXT(ARB_sync);
 EXTRA_EXT(ARB_vertex_shader);
-EXTRA_EXT(EXT_transform_feedback);
-EXTRA_EXT(ARB_transform_feedback2);
 EXTRA_EXT(EXT_pixel_buffer_object);
 EXTRA_EXT(ARB_vertex_program);
 EXTRA_EXT2(NV_point_sprite, ARB_point_sprite);
@@ -1153,17 +1149,6 @@ static const struct value_desc values[] = {
    { GL_DEPTH_CLAMP, CONTEXT_BOOL(Transform.DepthClamp),
      extra_ARB_depth_clamp },
 
-   /* GL_ATI_fragment_shader */
-   { GL_NUM_FRAGMENT_REGISTERS_ATI, CONST(6), extra_ATI_fragment_shader },
-   { GL_NUM_FRAGMENT_CONSTANTS_ATI, CONST(8), extra_ATI_fragment_shader },
-   { GL_NUM_PASSES_ATI, CONST(2), extra_ATI_fragment_shader },
-   { GL_NUM_INSTRUCTIONS_PER_PASS_ATI, CONST(8), extra_ATI_fragment_shader },
-   { GL_NUM_INSTRUCTIONS_TOTAL_ATI, CONST(16), extra_ATI_fragment_shader },
-   { GL_COLOR_ALPHA_PAIRING_ATI, CONST(GL_TRUE), extra_ATI_fragment_shader },
-   { GL_NUM_LOOPBACK_COMPONENTS_ATI, CONST(3), extra_ATI_fragment_shader },
-   { GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI,
-     CONST(3), extra_ATI_fragment_shader },
-
    /* GL_EXT_framebuffer_blit
     * NOTE: GL_DRAW_FRAMEBUFFER_BINDING_EXT == GL_FRAMEBUFFER_BINDING_EXT */
    { GL_READ_FRAMEBUFFER_BINDING_EXT, LOC_CUSTOM, TYPE_INT, 0,
@@ -1188,37 +1173,10 @@ static const struct value_desc values[] = {
    { GL_TEXTURE_CUBE_MAP_SEAMLESS,
      CONTEXT_BOOL(Texture.CubeMapSeamless), extra_ARB_seamless_cube_map },
 
-   /* GL_ARB_sync */
-   { GL_MAX_SERVER_WAIT_TIMEOUT,
-     CONTEXT_INT64(Const.MaxServerWaitTimeout), extra_ARB_sync },
-
    /* GL_EXT_texture_integer */
    { GL_RGBA_INTEGER_MODE_EXT, BUFFER_BOOL(_IntegerColor),
      extra_EXT_texture_integer },
 
-   /* GL_EXT_transform_feedback */
-   { GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0,
-     extra_EXT_transform_feedback },
-   { GL_RASTERIZER_DISCARD, CONTEXT_BOOL(RasterDiscard),
-     extra_EXT_transform_feedback },
-   { GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
-     CONTEXT_INT(Const.MaxTransformFeedbackInterleavedComponents),
-     extra_EXT_transform_feedback },
-   { GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
-     CONTEXT_INT(Const.MaxTransformFeedbackSeparateAttribs),
-     extra_EXT_transform_feedback },
-   { GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
-     CONTEXT_INT(Const.MaxTransformFeedbackSeparateComponents),
-     extra_EXT_transform_feedback },
-
-   /* GL_ARB_transform_feedback2 */
-   { GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED, LOC_CUSTOM, TYPE_BOOLEAN, 0,
-     extra_ARB_transform_feedback2 },
-   { GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE, LOC_CUSTOM, TYPE_BOOLEAN, 0,
-     extra_ARB_transform_feedback2 },
-   { GL_TRANSFORM_FEEDBACK_BINDING, LOC_CUSTOM, TYPE_INT, 0,
-     extra_ARB_transform_feedback2 },
-
    /* GL_ARB_geometry_shader4 */
    { GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB,
      CONTEXT_INT(Const.MaxGeometryTextureImageUnits),
@@ -1646,18 +1604,6 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu
    case GL_PIXEL_UNPACK_BUFFER_BINDING_EXT:
       v->value_int = ctx->Unpack.BufferObj->Name;
       break;
-   case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING:
-      v->value_int = ctx->TransformFeedback.CurrentBuffer->Name;
-      break;
-   case GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED:
-      v->value_int = ctx->TransformFeedback.CurrentObject->Paused;
-      break;
-   case GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE:
-      v->value_int = ctx->TransformFeedback.CurrentObject->Active;
-      break;
-   case GL_TRANSFORM_FEEDBACK_BINDING:
-      v->value_int = ctx->TransformFeedback.CurrentObject->Name;
-      break;
    case GL_CURRENT_PROGRAM:
       v->value_int =
         ctx->Shader.ActiveProgram ? ctx->Shader.ActiveProgram->Name : 0;
@@ -2200,102 +2146,6 @@ _mesa_GetIntegerv(GLenum pname, GLint *params)
    }
 }
 
-#if FEATURE_ARB_sync
-void GLAPIENTRY
-_mesa_GetInteger64v(GLenum pname, GLint64 *params)
-{
-   const struct value_desc *d;
-   union value v;
-   GLmatrix *m;
-   int shift, i;
-   void *p;
-   GET_CURRENT_CONTEXT(ctx);
-
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   d = find_value("glGetInteger64v", pname, &p, &v);
-   switch (d->type) {
-   case TYPE_INVALID:
-      break;
-   case TYPE_CONST:
-      params[0] = d->offset;
-      break;
-
-   case TYPE_FLOAT_4:
-      params[3] = IROUND64(((GLfloat *) p)[3]);
-   case TYPE_FLOAT_3:
-      params[2] = IROUND64(((GLfloat *) p)[2]);
-   case TYPE_FLOAT_2:
-      params[1] = IROUND64(((GLfloat *) p)[1]);
-   case TYPE_FLOAT:
-      params[0] = IROUND64(((GLfloat *) p)[0]);
-      break;
-
-   case TYPE_FLOATN_4:
-      params[3] = FLOAT_TO_INT64(((GLfloat *) p)[3]);
-   case TYPE_FLOATN_3:
-      params[2] = FLOAT_TO_INT64(((GLfloat *) p)[2]);
-   case TYPE_FLOATN_2:
-      params[1] = FLOAT_TO_INT64(((GLfloat *) p)[1]);
-   case TYPE_FLOATN:
-      params[0] = FLOAT_TO_INT64(((GLfloat *) p)[0]);
-      break;
-
-   case TYPE_DOUBLEN:
-      params[0] = FLOAT_TO_INT64(((GLdouble *) p)[0]);
-      break;
-
-   case TYPE_INT_4:
-      params[3] = ((GLint *) p)[3];
-   case TYPE_INT_3:
-      params[2] = ((GLint *) p)[2];
-   case TYPE_INT_2:
-   case TYPE_ENUM_2:
-      params[1] = ((GLint *) p)[1];
-   case TYPE_INT:
-   case TYPE_ENUM:
-      params[0] = ((GLint *) p)[0];
-      break;
-
-   case TYPE_INT_N:
-      for (i = 0; i < v.value_int_n.n; i++)
-        params[i] = INT_TO_BOOLEAN(v.value_int_n.ints[i]);
-      break;
-
-   case TYPE_INT64:
-      params[0] = ((GLint64 *) p)[0];
-      break;
-
-   case TYPE_BOOLEAN:
-      params[0] = ((GLboolean*) p)[0];
-      break;           
-
-   case TYPE_MATRIX:
-      m = *(GLmatrix **) p;
-      for (i = 0; i < 16; i++)
-        params[i] = FLOAT_TO_INT64(m->m[i]);
-      break;
-
-   case TYPE_MATRIX_T:
-      m = *(GLmatrix **) p;
-      for (i = 0; i < 16; i++)
-        params[i] = FLOAT_TO_INT64(m->m[transpose[i]]);
-      break;
-
-   case TYPE_BIT_0:
-   case TYPE_BIT_1:
-   case TYPE_BIT_2:
-   case TYPE_BIT_3:
-   case TYPE_BIT_4:
-   case TYPE_BIT_5:
-   case TYPE_BIT_6:
-   case TYPE_BIT_7:
-      shift = d->type - TYPE_BIT_0;
-      params[0] = (*(GLbitfield *) p >> shift) & 1;
-      break;
-   }
-}
-#endif /* FEATURE_ARB_sync */
 
 void GLAPIENTRY
 _mesa_GetDoublev(GLenum pname, GLdouble *params)
@@ -2386,191 +2236,6 @@ _mesa_GetDoublev(GLenum pname, GLdouble *params)
    }
 }
 
-static enum value_type
-find_value_indexed(const char *func, GLenum pname, int index, union value *v)
-{
-   GET_CURRENT_CONTEXT(ctx);
-
-   switch (pname) {
-
-   case GL_BLEND:
-      if (index >= ctx->Const.MaxDrawBuffers)
-        goto invalid_value;
-      if (!ctx->Extensions.EXT_draw_buffers2)
-        goto invalid_enum;
-      v->value_int = (ctx->Color.BlendEnabled >> index) & 1;
-      return TYPE_INT;
-
-   case GL_BLEND_SRC:
-      /* fall-through */
-   case GL_BLEND_SRC_RGB:
-      if (index >= ctx->Const.MaxDrawBuffers)
-        goto invalid_value;
-      if (!ctx->Extensions.ARB_draw_buffers_blend)
-        goto invalid_enum;
-      v->value_int = ctx->Color.Blend[index].SrcRGB;
-      return TYPE_INT;
-   case GL_BLEND_SRC_ALPHA:
-      if (index >= ctx->Const.MaxDrawBuffers)
-        goto invalid_value;
-      if (!ctx->Extensions.ARB_draw_buffers_blend)
-        goto invalid_enum;
-      v->value_int = ctx->Color.Blend[index].SrcA;
-      return TYPE_INT;
-   case GL_BLEND_DST:
-      /* fall-through */
-   case GL_BLEND_DST_RGB:
-      if (index >= ctx->Const.MaxDrawBuffers)
-        goto invalid_value;
-      if (!ctx->Extensions.ARB_draw_buffers_blend)
-        goto invalid_enum;
-      v->value_int = ctx->Color.Blend[index].DstRGB;
-      return TYPE_INT;
-   case GL_BLEND_DST_ALPHA:
-      if (index >= ctx->Const.MaxDrawBuffers)
-        goto invalid_value;
-      if (!ctx->Extensions.ARB_draw_buffers_blend)
-        goto invalid_enum;
-      v->value_int = ctx->Color.Blend[index].DstA;
-      return TYPE_INT;
-   case GL_BLEND_EQUATION_RGB:
-      if (index >= ctx->Const.MaxDrawBuffers)
-        goto invalid_value;
-      if (!ctx->Extensions.ARB_draw_buffers_blend)
-        goto invalid_enum;
-      v->value_int = ctx->Color.Blend[index].EquationRGB;
-      return TYPE_INT;
-   case GL_BLEND_EQUATION_ALPHA:
-      if (index >= ctx->Const.MaxDrawBuffers)
-        goto invalid_value;
-      if (!ctx->Extensions.ARB_draw_buffers_blend)
-        goto invalid_enum;
-      v->value_int = ctx->Color.Blend[index].EquationA;
-      return TYPE_INT;
-
-   case GL_COLOR_WRITEMASK:
-      if (index >= ctx->Const.MaxDrawBuffers)
-        goto invalid_value;
-      if (!ctx->Extensions.EXT_draw_buffers2)
-        goto invalid_enum;
-      v->value_int_4[0] = ctx->Color.ColorMask[index][RCOMP] ? 1 : 0;
-      v->value_int_4[1] = ctx->Color.ColorMask[index][GCOMP] ? 1 : 0;
-      v->value_int_4[2] = ctx->Color.ColorMask[index][BCOMP] ? 1 : 0;
-      v->value_int_4[3] = ctx->Color.ColorMask[index][ACOMP] ? 1 : 0;
-      return TYPE_INT_4;
-
-   case GL_TRANSFORM_FEEDBACK_BUFFER_START:
-      if (index >= ctx->Const.MaxTransformFeedbackSeparateAttribs)
-        goto invalid_value;
-      if (!ctx->Extensions.EXT_transform_feedback)
-        goto invalid_enum;
-      v->value_int64 = ctx->TransformFeedback.CurrentObject->Offset[index];
-      return TYPE_INT64;
-
-   case GL_TRANSFORM_FEEDBACK_BUFFER_SIZE:
-      if (index >= ctx->Const.MaxTransformFeedbackSeparateAttribs)
-        goto invalid_value;
-      if (!ctx->Extensions.EXT_transform_feedback)
-        goto invalid_enum;
-      v->value_int64 = ctx->TransformFeedback.CurrentObject->Size[index];
-      return TYPE_INT64;
-
-   case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING:
-      if (index >= ctx->Const.MaxTransformFeedbackSeparateAttribs)
-        goto invalid_value;
-      if (!ctx->Extensions.EXT_transform_feedback)
-        goto invalid_enum;
-      v->value_int = ctx->TransformFeedback.CurrentObject->BufferNames[index];
-      return TYPE_INT;
-   }
-
- invalid_enum:
-   _mesa_error(ctx, GL_INVALID_ENUM, "%s(pname=%s)", func,
-               _mesa_lookup_enum_by_nr(pname));
-   return TYPE_INVALID;
- invalid_value:
-   _mesa_error(ctx, GL_INVALID_VALUE, "%s(pname=%s)", func,
-               _mesa_lookup_enum_by_nr(pname));
-   return TYPE_INVALID;
-}
-
-void GLAPIENTRY
-_mesa_GetBooleanIndexedv( GLenum pname, GLuint index, GLboolean *params )
-{
-   union value v;
-   enum value_type type =
-      find_value_indexed("glGetBooleanIndexedv", pname, index, &v);
-
-   switch (type) {
-   case TYPE_INT:
-      params[0] = INT_TO_BOOLEAN(v.value_int);
-      break;
-   case TYPE_INT_4:
-      params[0] = INT_TO_BOOLEAN(v.value_int_4[0]);
-      params[1] = INT_TO_BOOLEAN(v.value_int_4[1]);
-      params[2] = INT_TO_BOOLEAN(v.value_int_4[2]);
-      params[3] = INT_TO_BOOLEAN(v.value_int_4[3]);
-      break;
-   case TYPE_INT64:
-      params[0] = INT64_TO_BOOLEAN(v.value_int);
-      break;
-   default:
-      ; /* nothing - GL error was recorded */
-   }
-}
-
-void GLAPIENTRY
-_mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params )
-{
-   union value v;
-   enum value_type type =
-      find_value_indexed("glGetIntegerIndexedv", pname, index, &v);
-
-   switch (type) {
-   case TYPE_INT:
-      params[0] = v.value_int;
-      break;
-   case TYPE_INT_4:
-      params[0] = v.value_int_4[0];
-      params[1] = v.value_int_4[1];
-      params[2] = v.value_int_4[2];
-      params[3] = v.value_int_4[3];
-      break;
-   case TYPE_INT64:
-      params[0] = INT64_TO_INT(v.value_int);
-      break;
-   default:
-      ; /* nothing - GL error was recorded */
-   }
-}
-
-#if FEATURE_ARB_sync
-void GLAPIENTRY
-_mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params )
-{
-   union value v;
-   enum value_type type =
-      find_value_indexed("glGetIntegerIndexedv", pname, index, &v);      
-
-   switch (type) {
-   case TYPE_INT:
-      params[0] = v.value_int;
-      break;
-   case TYPE_INT_4:
-      params[0] = v.value_int_4[0];
-      params[1] = v.value_int_4[1];
-      params[2] = v.value_int_4[2];
-      params[3] = v.value_int_4[3];
-      break;
-   case TYPE_INT64:
-      params[0] = v.value_int;
-      break;
-   default:
-      ; /* nothing - GL error was recorded */
-   }
-}
-#endif /* FEATURE_ARB_sync */
-
 #if FEATURE_ES1
 void GLAPIENTRY
 _mesa_GetFixedv(GLenum pname, GLfixed *params)
index 9422efe..b26cdd3 100644 (file)
@@ -53,12 +53,6 @@ _mesa_GetInteger64v( GLenum pname, GLint64 *params );
 extern void GLAPIENTRY
 _mesa_GetFixedv(GLenum pname, GLfixed *params);
 
-extern void GLAPIENTRY
-_mesa_GetBooleanIndexedv( GLenum pname, GLuint index, GLboolean *params );
-
-extern void GLAPIENTRY
-_mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params );
-
 extern void GLAPIENTRY
 _mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params );
 
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/queryobj.c b/reactos/dll/opengl/mesa/src/mesa/main/queryobj.c
deleted file mode 100644 (file)
index e1e1016..0000000
+++ /dev/null
@@ -1,532 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.1
- *
- * 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 "context.h"
-#include "enums.h"
-#include "hash.h"
-#include "imports.h"
-#include "queryobj.h"
-#include "mfeatures.h"
-#include "mtypes.h"
-#include "main/dispatch.h"
-
-
-#if FEATURE_queryobj
-
-
-/**
- * Allocate a new query object.  This is a fallback routine called via
- * ctx->Driver.NewQueryObject().
- * \param ctx - rendering context
- * \param id - the new object's ID
- * \return pointer to new query_object object or NULL if out of memory.
- */
-static struct gl_query_object *
-_mesa_new_query_object(struct gl_context *ctx, GLuint id)
-{
-   struct gl_query_object *q = MALLOC_STRUCT(gl_query_object);
-   (void) ctx;
-   if (q) {
-      q->Id = id;
-      q->Result = 0;
-      q->Active = GL_FALSE;
-      q->Ready = GL_TRUE;   /* correct, see spec */
-   }
-   return q;
-}
-
-
-/**
- * Begin a query.  Software driver fallback.
- * Called via ctx->Driver.BeginQuery().
- */
-static void
-_mesa_begin_query(struct gl_context *ctx, struct gl_query_object *q)
-{
-   /* no-op */
-}
-
-
-/**
- * End a query.  Software driver fallback.
- * Called via ctx->Driver.EndQuery().
- */
-static void
-_mesa_end_query(struct gl_context *ctx, struct gl_query_object *q)
-{
-   q->Ready = GL_TRUE;
-}
-
-
-/**
- * Wait for query to complete.  Software driver fallback.
- * Called via ctx->Driver.WaitQuery().
- */
-static void
-_mesa_wait_query(struct gl_context *ctx, struct gl_query_object *q)
-{
-   /* For software drivers, _mesa_end_query() should have completed the query.
-    * For real hardware, implement a proper WaitQuery() driver function,
-    * which may require issuing a flush.
-    */
-   assert(q->Ready);
-}
-
-
-/**
- * Check if a query results are ready.  Software driver fallback.
- * Called via ctx->Driver.CheckQuery().
- */
-static void
-_mesa_check_query(struct gl_context *ctx, struct gl_query_object *q)
-{
-   /* No-op for sw rendering.
-    * HW drivers may need to flush at this time.
-    */
-}
-
-
-/**
- * Delete a query object.  Called via ctx->Driver.DeleteQuery().
- * Not removed from hash table here.
- */
-static void
-_mesa_delete_query(struct gl_context *ctx, struct gl_query_object *q)
-{
-   free(q);
-}
-
-
-void
-_mesa_init_query_object_functions(struct dd_function_table *driver)
-{
-   driver->NewQueryObject = _mesa_new_query_object;
-   driver->DeleteQuery = _mesa_delete_query;
-   driver->BeginQuery = _mesa_begin_query;
-   driver->EndQuery = _mesa_end_query;
-   driver->WaitQuery = _mesa_wait_query;
-   driver->CheckQuery = _mesa_check_query;
-}
-
-
-/**
- * Return pointer to the query object binding point for the given target.
- * \return NULL if invalid target, else the address of binding point
- */
-static struct gl_query_object **
-get_query_binding_point(struct gl_context *ctx, GLenum target)
-{
-   switch (target) {
-   case GL_SAMPLES_PASSED_ARB:
-      if (ctx->Extensions.ARB_occlusion_query)
-         return &ctx->Query.CurrentOcclusionObject;
-      else
-         return NULL;
-   case GL_ANY_SAMPLES_PASSED:
-      if (ctx->Extensions.ARB_occlusion_query2)
-         return &ctx->Query.CurrentOcclusionObject;
-      else
-         return NULL;
-#if FEATURE_EXT_transform_feedback
-   case GL_PRIMITIVES_GENERATED:
-      if (ctx->Extensions.EXT_transform_feedback)
-         return &ctx->Query.PrimitivesGenerated;
-      else
-         return NULL;
-   case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:
-      if (ctx->Extensions.EXT_transform_feedback)
-         return &ctx->Query.PrimitivesWritten;
-      else
-         return NULL;
-#endif
-   default:
-      return NULL;
-   }
-}
-
-
-static void GLAPIENTRY
-_mesa_GenQueriesARB(GLsizei n, GLuint *ids)
-{
-   GLuint first;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (MESA_VERBOSE & VERBOSE_API)
-      _mesa_debug(ctx, "glGenQueries(%d)\n", n);
-
-   if (n < 0) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glGenQueriesARB(n < 0)");
-      return;
-   }
-
-   /* No query objects can be active at this time! */
-   if (ctx->Query.CurrentOcclusionObject) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glGenQueriesARB");
-      return;
-   }
-
-   first = _mesa_HashFindFreeKeyBlock(ctx->Query.QueryObjects, n);
-   if (first) {
-      GLsizei i;
-      for (i = 0; i < n; i++) {
-         struct gl_query_object *q
-            = ctx->Driver.NewQueryObject(ctx, first + i);
-         if (!q) {
-            _mesa_error(ctx, GL_OUT_OF_MEMORY, "glGenQueriesARB");
-            return;
-         }
-         ids[i] = first + i;
-         _mesa_HashInsert(ctx->Query.QueryObjects, first + i, q);
-      }
-   }
-}
-
-
-static void GLAPIENTRY
-_mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids)
-{
-   GLint i;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-   FLUSH_VERTICES(ctx, 0);
-
-   if (MESA_VERBOSE & VERBOSE_API)
-      _mesa_debug(ctx, "glDeleeteQueries(%d)\n", n);
-
-   if (n < 0) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteQueriesARB(n < 0)");
-      return;
-   }
-
-   /* No query objects can be active at this time! */
-   if (ctx->Query.CurrentOcclusionObject) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glDeleteQueriesARB");
-      return;
-   }
-
-   for (i = 0; i < n; i++) {
-      if (ids[i] > 0) {
-         struct gl_query_object *q = _mesa_lookup_query_object(ctx, ids[i]);
-         if (q) {
-            ASSERT(!q->Active); /* should be caught earlier */
-            _mesa_HashRemove(ctx->Query.QueryObjects, ids[i]);
-            ctx->Driver.DeleteQuery(ctx, q);
-         }
-      }
-   }
-}
-
-
-static GLboolean GLAPIENTRY
-_mesa_IsQueryARB(GLuint id)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);
-
-   if (MESA_VERBOSE & VERBOSE_API)
-      _mesa_debug(ctx, "glIsQuery(%u)\n", id);
-
-   if (id && _mesa_lookup_query_object(ctx, id))
-      return GL_TRUE;
-   else
-      return GL_FALSE;
-}
-
-
-static void GLAPIENTRY
-_mesa_BeginQueryARB(GLenum target, GLuint id)
-{
-   struct gl_query_object *q, **bindpt;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (MESA_VERBOSE & VERBOSE_API)
-      _mesa_debug(ctx, "glBeginQuery(%s, %u)\n",
-                  _mesa_lookup_enum_by_nr(target), id);
-
-   FLUSH_VERTICES(ctx, _NEW_DEPTH);
-
-   bindpt = get_query_binding_point(ctx, target);
-   if (!bindpt) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glBeginQueryARB(target)");
-      return;
-   }
-
-   if (id == 0) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glBeginQueryARB(id==0)");
-      return;
-   }
-
-   q = _mesa_lookup_query_object(ctx, id);
-   if (!q) {
-      /* create new object */
-      q = ctx->Driver.NewQueryObject(ctx, id);
-      if (!q) {
-         _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBeginQueryARB");
-         return;
-      }
-      _mesa_HashInsert(ctx->Query.QueryObjects, id, q);
-   }
-   else {
-      /* pre-existing object */
-      if (q->Active) {
-         _mesa_error(ctx, GL_INVALID_OPERATION,
-                     "glBeginQueryARB(query already active)");
-         return;
-      }
-   }
-
-   q->Target = target;
-   q->Active = GL_TRUE;
-   q->Result = 0;
-   q->Ready = GL_FALSE;
-
-   /* XXX should probably refcount query objects */
-   *bindpt = q;
-
-   ctx->Driver.BeginQuery(ctx, q);
-}
-
-
-static void GLAPIENTRY
-_mesa_EndQueryARB(GLenum target)
-{
-   struct gl_query_object *q, **bindpt;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (MESA_VERBOSE & VERBOSE_API)
-      _mesa_debug(ctx, "glEndQuery(%s)\n", _mesa_lookup_enum_by_nr(target));
-
-   FLUSH_VERTICES(ctx, _NEW_DEPTH);
-
-   bindpt = get_query_binding_point(ctx, target);
-   if (!bindpt) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glEndQueryARB(target)");
-      return;
-   }
-
-   /* XXX should probably refcount query objects */
-   q = *bindpt;
-   *bindpt = NULL;
-
-   if (!q || !q->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glEndQueryARB(no matching glBeginQueryARB)");
-      return;
-   }
-
-   q->Active = GL_FALSE;
-   ctx->Driver.EndQuery(ctx, q);
-}
-
-
-static void GLAPIENTRY
-_mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)
-{
-   struct gl_query_object *q, **bindpt;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (MESA_VERBOSE & VERBOSE_API)
-      _mesa_debug(ctx, "glGetQueryiv(%s, %s)\n",
-                  _mesa_lookup_enum_by_nr(target),
-                  _mesa_lookup_enum_by_nr(pname));
-
-   bindpt = get_query_binding_point(ctx, target);
-   if (!bindpt) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryARB(target)");
-      return;
-   }
-
-   q = *bindpt;
-
-   switch (pname) {
-      case GL_QUERY_COUNTER_BITS_ARB:
-         *params = 8 * sizeof(q->Result);
-         break;
-      case GL_CURRENT_QUERY_ARB:
-         *params = q ? q->Id : 0;
-         break;
-      default:
-         _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryivARB(pname)");
-         return;
-   }
-}
-
-
-static void GLAPIENTRY
-_mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params)
-{
-   struct gl_query_object *q = NULL;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (MESA_VERBOSE & VERBOSE_API)
-      _mesa_debug(ctx, "glGetQueryObjectiv(%u, %s)\n", id,
-                  _mesa_lookup_enum_by_nr(pname));
-
-   if (id)
-      q = _mesa_lookup_query_object(ctx, id);
-
-   if (!q || q->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glGetQueryObjectivARB(id=%d is invalid or active)", id);
-      return;
-   }
-
-   switch (pname) {
-      case GL_QUERY_RESULT_ARB:
-         if (!q->Ready)
-            ctx->Driver.WaitQuery(ctx, q);
-         /* if result is too large for returned type, clamp to max value */
-         if (q->Target == GL_ANY_SAMPLES_PASSED) {
-            if (q->Result)
-               *params = GL_TRUE;
-            else
-               *params = GL_FALSE;
-         } else {
-            if (q->Result > 0x7fffffff) {
-               *params = 0x7fffffff;
-            }
-            else {
-               *params = (GLint)q->Result;
-            }
-         }
-         break;
-      case GL_QUERY_RESULT_AVAILABLE_ARB:
-        if (!q->Ready)
-           ctx->Driver.CheckQuery( ctx, q );
-         *params = q->Ready;
-         break;
-      default:
-         _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryObjectivARB(pname)");
-         return;
-   }
-}
-
-
-static void GLAPIENTRY
-_mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params)
-{
-   struct gl_query_object *q = NULL;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (MESA_VERBOSE & VERBOSE_API)
-      _mesa_debug(ctx, "glGetQueryObjectuiv(%u, %s)\n", id,
-                  _mesa_lookup_enum_by_nr(pname));
-
-   if (id)
-      q = _mesa_lookup_query_object(ctx, id);
-
-   if (!q || q->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glGetQueryObjectuivARB(id=%d is invalid or active)", id);
-      return;
-   }
-
-   switch (pname) {
-      case GL_QUERY_RESULT_ARB:
-         if (!q->Ready)
-            ctx->Driver.WaitQuery(ctx, q);
-         /* if result is too large for returned type, clamp to max value */
-         if (q->Target == GL_ANY_SAMPLES_PASSED) {
-            if (q->Result)
-               *params = GL_TRUE;
-            else
-               *params = GL_FALSE;
-         } else {
-            if (q->Result > 0xffffffff) {
-               *params = 0xffffffff;
-            }
-            else {
-               *params = (GLuint)q->Result;
-            }
-         }
-         break;
-      case GL_QUERY_RESULT_AVAILABLE_ARB:
-        if (!q->Ready)
-           ctx->Driver.CheckQuery( ctx, q );
-         *params = q->Ready;
-         break;
-      default:
-         _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryObjectuivARB(pname)");
-         return;
-   }
-}
-
-
-void
-_mesa_init_queryobj_dispatch(struct _glapi_table *disp)
-{
-   SET_GenQueriesARB(disp, _mesa_GenQueriesARB);
-   SET_DeleteQueriesARB(disp, _mesa_DeleteQueriesARB);
-   SET_IsQueryARB(disp, _mesa_IsQueryARB);
-   SET_BeginQueryARB(disp, _mesa_BeginQueryARB);
-   SET_EndQueryARB(disp, _mesa_EndQueryARB);
-   SET_GetQueryivARB(disp, _mesa_GetQueryivARB);
-   SET_GetQueryObjectivARB(disp, _mesa_GetQueryObjectivARB);
-   SET_GetQueryObjectuivARB(disp, _mesa_GetQueryObjectuivARB);
-}
-
-
-#endif /* FEATURE_queryobj */
-
-
-/**
- * Allocate/init the context state related to query objects.
- */
-void
-_mesa_init_queryobj(struct gl_context *ctx)
-{
-   ctx->Query.QueryObjects = _mesa_NewHashTable();
-   ctx->Query.CurrentOcclusionObject = NULL;
-}
-
-
-/**
- * Callback for deleting a query object.  Called by _mesa_HashDeleteAll().
- */
-static void
-delete_queryobj_cb(GLuint id, void *data, void *userData)
-{
-   struct gl_query_object *q= (struct gl_query_object *) data;
-   struct gl_context *ctx = (struct gl_context *)userData;
-   ctx->Driver.DeleteQuery(ctx, q);
-}
-
-
-/**
- * Free the context state related to query objects.
- */
-void
-_mesa_free_queryobj_data(struct gl_context *ctx)
-{
-   _mesa_HashDeleteAll(ctx->Query.QueryObjects, delete_queryobj_cb, ctx);
-   _mesa_DeleteHashTable(ctx->Query.QueryObjects);
-}
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/queryobj.h b/reactos/dll/opengl/mesa/src/mesa/main/queryobj.h
deleted file mode 100644 (file)
index e7a133b..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.1
- *
- * 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.
- */
-
-
-#ifndef QUERYOBJ_H
-#define QUERYOBJ_H
-
-
-#include "main/mfeatures.h"
-#include "main/mtypes.h"
-#include "main/hash.h"
-
-
-#if FEATURE_queryobj
-
-static inline struct gl_query_object *
-_mesa_lookup_query_object(struct gl_context *ctx, GLuint id)
-{
-   return (struct gl_query_object *)
-      _mesa_HashLookup(ctx->Query.QueryObjects, id);
-}
-
-
-extern void
-_mesa_init_query_object_functions(struct dd_function_table *driver);
-
-extern void
-_mesa_init_queryobj_dispatch(struct _glapi_table *disp);
-
-#else /* FEATURE_queryobj */
-
-static inline struct gl_query_object *
-_mesa_lookup_query_object(struct gl_context *ctx, GLuint id)
-{
-   return NULL;
-}
-
-static inline void
-_mesa_init_query_object_functions(struct dd_function_table *driver)
-{
-}
-
-static inline void
-_mesa_init_queryobj_dispatch(struct _glapi_table *disp)
-{
-}
-
-#endif /* FEATURE_queryobj */
-
-extern void
-_mesa_init_queryobj(struct gl_context *ctx);
-
-extern void
-_mesa_free_queryobj_data(struct gl_context *ctx);
-
-
-#endif /* QUERYOBJ_H */
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/remap.c b/reactos/dll/opengl/mesa/src/mesa/main/remap.c
deleted file mode 100644 (file)
index c89fba4..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.7
- *
- * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS 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 remap.c
- * Remap table management.
- *
- * Entries in the dispatch table are either static or dynamic.  The
- * dispatch table is shared by mesa core and glapi.  When they are
- * built separately, it is possible that a static entry in mesa core
- * is dynamic, or assigned a different static offset, in glapi.  The
- * remap table is in charge of mapping a static entry in mesa core to
- * a dynamic entry, or the corresponding static entry, in glapi.
- */
-
-#include "mfeatures.h"
-
-#if FEATURE_remap_table
-
-#include "remap.h"
-#include "imports.h"
-#include "glapi/glapi.h"
-
-#define MAX_ENTRY_POINTS 16
-
-#define need_MESA_remap_table
-#include "main/remap_helper.h"
-
-
-/* this is global for quick access */
-int driDispatchRemapTable[driDispatchRemapTable_size];
-
-
-/**
- * Return the spec string associated with the given function index.
- * The index is available from including remap_helper.h.
- *
- * \param func_index an opaque function index.
- *
- * \return the spec string associated with the function index, or NULL.
- */
-const char *
-_mesa_get_function_spec(GLint func_index)
-{
-   if (func_index < Elements(_mesa_function_pool))
-      return _mesa_function_pool + func_index;
-   else
-      return NULL;
-}
-
-
-/**
- * Map a function by its spec.  The function will be added to glapi,
- * and the dispatch offset will be returned.
- *
- * \param spec a '\0'-separated string array specifying a function.
- *        It begins with the parameter signature of the function,
- *        followed by the names of the entry points.  An empty entry
- *        point name terminates the array.
- *
- * \return the offset of the (re-)mapped function in the dispatch
- *         table, or -1.
- */
-GLint
-_mesa_map_function_spec(const char *spec)
-{
-   const char *signature;
-   const char *names[MAX_ENTRY_POINTS + 1];
-   GLint num_names = 0;
-
-   if (!spec)
-      return -1;
-
-   signature = spec;
-   spec += strlen(spec) + 1;
-
-   /* spec is terminated by an empty string */
-   while (*spec) {
-      names[num_names] = spec;
-      num_names++;
-      if (num_names >= MAX_ENTRY_POINTS)
-         break;
-      spec += strlen(spec) + 1;
-   }
-   if (!num_names)
-      return -1;
-
-   names[num_names] = NULL;
-
-   /* add the entry points to the dispatch table */
-   return _glapi_add_dispatch(names, signature);
-}
-
-
-/**
- * Map an array of functions.  This is a convenient function for
- * use with arrays available from including remap_helper.h.
- *
- * Note that the dispatch offsets of the functions are not returned.
- * If they are needed, _mesa_map_function_spec() should be used.
- *
- * \param func_array an array of function remaps.
- */
-void
-_mesa_map_function_array(const struct gl_function_remap *func_array)
-{
-   GLint i;
-
-   if (!func_array)
-      return;
-
-   for (i = 0; func_array[i].func_index != -1; i++) {
-      const char *spec;
-      GLint offset;
-
-      spec = _mesa_get_function_spec(func_array[i].func_index);
-      if (!spec) {
-         _mesa_problem(NULL, "invalid function index %d",
-                       func_array[i].func_index);
-         continue;
-      }
-
-      offset = _mesa_map_function_spec(spec);
-      /* error checks */
-      if (offset < 0) {
-         const char *name = spec + strlen(spec) + 1;
-         _mesa_warning(NULL, "failed to remap %s", name);
-      }
-      else if (func_array[i].dispatch_offset >= 0 &&
-               offset != func_array[i].dispatch_offset) {
-         const char *name = spec + strlen(spec) + 1;
-         _mesa_problem(NULL, "%s should be mapped to %d, not %d",
-                       name, func_array[i].dispatch_offset, offset);
-      }
-   }
-}
-
-
-/**
- * Map the functions which are already static.
- *
- * When a extension function are incorporated into the ABI, the
- * extension suffix is usually stripped.  Mapping such functions
- * makes sure the alternative names are available.
- *
- * Note that functions mapped by _mesa_init_remap_table() are
- * excluded.
- */
-void
-_mesa_map_static_functions(void)
-{
-   /* Remap static functions which have alternative names and are in the ABI.
-    * This is to be on the safe side.  glapi should have defined those names.
-    */
-   _mesa_map_function_array(MESA_alt_functions);
-}
-
-
-/**
- * Initialize the remap table.  This is called in one_time_init().
- * The remap table needs to be initialized before calling the
- * CALL/GET/SET macros defined in main/dispatch.h.
- */
-static void
-_mesa_do_init_remap_table(const char *pool,
-                         int size,
-                         const struct gl_function_pool_remap *remap)
-{
-   static GLboolean initialized = GL_FALSE;
-   GLint i;
-
-   if (initialized)
-      return;
-   initialized = GL_TRUE;
-
-   /* initialize the remap table */
-   for (i = 0; i < size; i++) {
-      GLint offset;
-      const char *spec;
-
-      /* sanity check */
-      ASSERT(i == remap[i].remap_index);
-      spec = _mesa_function_pool + remap[i].pool_index;
-
-      offset = _mesa_map_function_spec(spec);
-      /* store the dispatch offset in the remap table */
-      driDispatchRemapTable[i] = offset;
-      if (offset < 0)
-         _mesa_warning(NULL, "failed to remap index %d", i);
-   }
-}
-
-
-void
-_mesa_init_remap_table(void)
-{
-   _mesa_do_init_remap_table(_mesa_function_pool,
-                            driDispatchRemapTable_size,
-                            MESA_remap_table_functions);
-}
-
-
-#endif /* FEATURE_remap_table */
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/remap.h b/reactos/dll/opengl/mesa/src/mesa/main/remap.h
deleted file mode 100644 (file)
index fa31724..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.7
- *
- * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-
-#ifndef REMAP_H
-#define REMAP_H
-
-
-#include "main/compiler.h"
-#include "main/mfeatures.h"
-
-struct gl_function_pool_remap {
-   int pool_index;
-   int remap_index;
-};
-
-struct gl_function_remap {
-   int func_index;
-   int dispatch_offset; /* for sanity check */
-};
-
-
-#if FEATURE_remap_table
-
-extern int
-driDispatchRemapTable[];
-
-extern const char *
-_mesa_get_function_spec(int func_index);
-
-extern int
-_mesa_map_function_spec(const char *spec);
-
-extern void
-_mesa_map_function_array(const struct gl_function_remap *func_array);
-
-extern void
-_mesa_map_static_functions(void);
-
-extern void
-_mesa_init_remap_table(void);
-
-#else /* FEATURE_remap_table */
-
-static inline const char *
-_mesa_get_function_spec(int func_index)
-{
-   return NULL;
-}
-
-static inline int
-_mesa_map_function_spec(const char *spec)
-{
-   return -1;
-}
-
-static inline void
-_mesa_map_function_array(const struct gl_function_remap *func_array)
-{
-}
-
-static inline void
-_mesa_map_static_functions(void)
-{
-}
-
-
-static inline void
-_mesa_init_remap_table(void)
-{
-}
-
-#endif /* FEATURE_remap_table */
-
-
-#endif /* REMAP_H */
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/remap_helper.h b/reactos/dll/opengl/mesa/src/mesa/main/remap_helper.h
deleted file mode 100644 (file)
index db13fb9..0000000
+++ /dev/null
@@ -1,5792 +0,0 @@
-/* DO NOT EDIT - This file generated automatically by remap_helper.py (from Mesa) script */
-
-/*
- * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
- * 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, sub license,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- * 
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
- * Chia-I Wu,
- * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "main/dispatch.h"
-#include "main/remap.h"
-
-/* this is internal to remap.c */
-#ifndef need_MESA_remap_table
-#error Only remap.c should include this file!
-#endif /* need_MESA_remap_table */
-
-
-static const char _mesa_function_pool[] =
-   /* _mesa_function_pool[0]: MapGrid1d (offset 224) */
-   "idd\0"
-   "glMapGrid1d\0"
-   "\0"
-   /* _mesa_function_pool[17]: UniformMatrix3fvARB (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix3fv\0"
-   "glUniformMatrix3fvARB\0"
-   "\0"
-   /* _mesa_function_pool[64]: MapGrid1f (offset 225) */
-   "iff\0"
-   "glMapGrid1f\0"
-   "\0"
-   /* _mesa_function_pool[81]: VertexAttribI2iEXT (will be remapped) */
-   "iii\0"
-   "glVertexAttribI2iEXT\0"
-   "glVertexAttribI2i\0"
-   "\0"
-   /* _mesa_function_pool[125]: RasterPos4i (offset 82) */
-   "iiii\0"
-   "glRasterPos4i\0"
-   "\0"
-   /* _mesa_function_pool[145]: RasterPos4d (offset 78) */
-   "dddd\0"
-   "glRasterPos4d\0"
-   "\0"
-   /* _mesa_function_pool[165]: NewList (dynamic) */
-   "ii\0"
-   "glNewList\0"
-   "\0"
-   /* _mesa_function_pool[179]: RasterPos4f (offset 80) */
-   "ffff\0"
-   "glRasterPos4f\0"
-   "\0"
-   /* _mesa_function_pool[199]: LoadIdentity (offset 290) */
-   "\0"
-   "glLoadIdentity\0"
-   "\0"
-   /* _mesa_function_pool[216]: TexCoordP2uiv (will be remapped) */
-   "ip\0"
-   "glTexCoordP2uiv\0"
-   "\0"
-   /* _mesa_function_pool[236]: SampleCoverageARB (will be remapped) */
-   "fi\0"
-   "glSampleCoverage\0"
-   "glSampleCoverageARB\0"
-   "\0"
-   /* _mesa_function_pool[277]: ConvolutionFilter1D (offset 348) */
-   "iiiiip\0"
-   "glConvolutionFilter1D\0"
-   "glConvolutionFilter1DEXT\0"
-   "\0"
-   /* _mesa_function_pool[332]: BeginQueryARB (will be remapped) */
-   "ii\0"
-   "glBeginQuery\0"
-   "glBeginQueryARB\0"
-   "\0"
-   /* _mesa_function_pool[365]: RasterPos3dv (offset 71) */
-   "p\0"
-   "glRasterPos3dv\0"
-   "\0"
-   /* _mesa_function_pool[383]: PointParameteriNV (will be remapped) */
-   "ii\0"
-   "glPointParameteri\0"
-   "glPointParameteriNV\0"
-   "\0"
-   /* _mesa_function_pool[425]: GetProgramiv (will be remapped) */
-   "iip\0"
-   "glGetProgramiv\0"
-   "\0"
-   /* _mesa_function_pool[445]: MultiTexCoord3sARB (offset 398) */
-   "iiii\0"
-   "glMultiTexCoord3s\0"
-   "glMultiTexCoord3sARB\0"
-   "\0"
-   /* _mesa_function_pool[490]: SecondaryColor3iEXT (will be remapped) */
-   "iii\0"
-   "glSecondaryColor3i\0"
-   "glSecondaryColor3iEXT\0"
-   "\0"
-   /* _mesa_function_pool[536]: WindowPos3fMESA (will be remapped) */
-   "fff\0"
-   "glWindowPos3f\0"
-   "glWindowPos3fARB\0"
-   "glWindowPos3fMESA\0"
-   "\0"
-   /* _mesa_function_pool[590]: TexCoord1iv (offset 99) */
-   "p\0"
-   "glTexCoord1iv\0"
-   "\0"
-   /* _mesa_function_pool[607]: TexCoord4sv (offset 125) */
-   "p\0"
-   "glTexCoord4sv\0"
-   "\0"
-   /* _mesa_function_pool[624]: RasterPos4s (offset 84) */
-   "iiii\0"
-   "glRasterPos4s\0"
-   "\0"
-   /* _mesa_function_pool[644]: PixelTexGenParameterfvSGIS (will be remapped) */
-   "ip\0"
-   "glPixelTexGenParameterfvSGIS\0"
-   "\0"
-   /* _mesa_function_pool[677]: ActiveTextureARB (offset 374) */
-   "i\0"
-   "glActiveTexture\0"
-   "glActiveTextureARB\0"
-   "\0"
-   /* _mesa_function_pool[715]: BlitFramebufferEXT (will be remapped) */
-   "iiiiiiiiii\0"
-   "glBlitFramebuffer\0"
-   "glBlitFramebufferEXT\0"
-   "\0"
-   /* _mesa_function_pool[766]: TexCoord1f (offset 96) */
-   "f\0"
-   "glTexCoord1f\0"
-   "\0"
-   /* _mesa_function_pool[782]: TexCoord1d (offset 94) */
-   "d\0"
-   "glTexCoord1d\0"
-   "\0"
-   /* _mesa_function_pool[798]: VertexAttrib4ubvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4ubvNV\0"
-   "\0"
-   /* _mesa_function_pool[823]: TexCoord1i (offset 98) */
-   "i\0"
-   "glTexCoord1i\0"
-   "\0"
-   /* _mesa_function_pool[839]: GetProgramNamedParameterdvNV (will be remapped) */
-   "iipp\0"
-   "glGetProgramNamedParameterdvNV\0"
-   "\0"
-   /* _mesa_function_pool[876]: Histogram (offset 367) */
-   "iiii\0"
-   "glHistogram\0"
-   "glHistogramEXT\0"
-   "\0"
-   /* _mesa_function_pool[909]: TexCoord1s (offset 100) */
-   "i\0"
-   "glTexCoord1s\0"
-   "\0"
-   /* _mesa_function_pool[925]: GetMapfv (offset 267) */
-   "iip\0"
-   "glGetMapfv\0"
-   "\0"
-   /* _mesa_function_pool[941]: EvalCoord1f (offset 230) */
-   "f\0"
-   "glEvalCoord1f\0"
-   "\0"
-   /* _mesa_function_pool[958]: FramebufferTexture (will be remapped) */
-   "iiii\0"
-   "glFramebufferTexture\0"
-   "\0"
-   /* _mesa_function_pool[985]: GetGraphicsResetStatusARB (will be remapped) */
-   "\0"
-   "glGetGraphicsResetStatusARB\0"
-   "\0"
-   /* _mesa_function_pool[1015]: TexImage4DSGIS (dynamic) */
-   "iiiiiiiiiip\0"
-   "glTexImage4DSGIS\0"
-   "\0"
-   /* _mesa_function_pool[1045]: PolygonStipple (offset 175) */
-   "p\0"
-   "glPolygonStipple\0"
-   "\0"
-   /* _mesa_function_pool[1065]: WindowPos2dvMESA (will be remapped) */
-   "p\0"
-   "glWindowPos2dv\0"
-   "glWindowPos2dvARB\0"
-   "glWindowPos2dvMESA\0"
-   "\0"
-   /* _mesa_function_pool[1120]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */
-   "ppp\0"
-   "glReplacementCodeuiColor3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[1164]: BlendEquationSeparateEXT (will be remapped) */
-   "ii\0"
-   "glBlendEquationSeparate\0"
-   "glBlendEquationSeparateEXT\0"
-   "glBlendEquationSeparateATI\0"
-   "\0"
-   /* _mesa_function_pool[1246]: ListParameterfSGIX (dynamic) */
-   "iif\0"
-   "glListParameterfSGIX\0"
-   "\0"
-   /* _mesa_function_pool[1272]: TexStorage1D (will be remapped) */
-   "iiii\0"
-   "glTexStorage1D\0"
-   "\0"
-   /* _mesa_function_pool[1293]: SecondaryColor3bEXT (will be remapped) */
-   "iii\0"
-   "glSecondaryColor3b\0"
-   "glSecondaryColor3bEXT\0"
-   "\0"
-   /* _mesa_function_pool[1339]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */
-   "pppp\0"
-   "glTexCoord4fColor4fNormal3fVertex4fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[1385]: GetnPolygonStippleARB (will be remapped) */
-   "ip\0"
-   "glGetnPolygonStippleARB\0"
-   "\0"
-   /* _mesa_function_pool[1413]: GetPixelMapfv (offset 271) */
-   "ip\0"
-   "glGetPixelMapfv\0"
-   "\0"
-   /* _mesa_function_pool[1433]: Color3uiv (offset 22) */
-   "p\0"
-   "glColor3uiv\0"
-   "\0"
-   /* _mesa_function_pool[1448]: IsEnabled (offset 286) */
-   "i\0"
-   "glIsEnabled\0"
-   "\0"
-   /* _mesa_function_pool[1463]: VertexAttrib4svNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4svNV\0"
-   "\0"
-   /* _mesa_function_pool[1487]: EvalCoord2fv (offset 235) */
-   "p\0"
-   "glEvalCoord2fv\0"
-   "\0"
-   /* _mesa_function_pool[1505]: GetBufferSubDataARB (will be remapped) */
-   "iiip\0"
-   "glGetBufferSubData\0"
-   "glGetBufferSubDataARB\0"
-   "\0"
-   /* _mesa_function_pool[1552]: BufferSubDataARB (will be remapped) */
-   "iiip\0"
-   "glBufferSubData\0"
-   "glBufferSubDataARB\0"
-   "\0"
-   /* _mesa_function_pool[1593]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */
-   "ppp\0"
-   "glTexCoord2fColor4ubVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[1631]: AttachShader (will be remapped) */
-   "ii\0"
-   "glAttachShader\0"
-   "\0"
-   /* _mesa_function_pool[1650]: GetCombinerInputParameterfvNV (will be remapped) */
-   "iiiip\0"
-   "glGetCombinerInputParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[1689]: MultiTexCoordP2ui (will be remapped) */
-   "iii\0"
-   "glMultiTexCoordP2ui\0"
-   "\0"
-   /* _mesa_function_pool[1714]: VertexAttrib2fARB (will be remapped) */
-   "iff\0"
-   "glVertexAttrib2f\0"
-   "glVertexAttrib2fARB\0"
-   "\0"
-   /* _mesa_function_pool[1756]: GetDebugLogLengthMESA (dynamic) */
-   "iii\0"
-   "glGetDebugLogLengthMESA\0"
-   "\0"
-   /* _mesa_function_pool[1785]: GetMapiv (offset 268) */
-   "iip\0"
-   "glGetMapiv\0"
-   "\0"
-   /* _mesa_function_pool[1801]: VertexAttrib3fARB (will be remapped) */
-   "ifff\0"
-   "glVertexAttrib3f\0"
-   "glVertexAttrib3fARB\0"
-   "\0"
-   /* _mesa_function_pool[1844]: Indexubv (offset 316) */
-   "p\0"
-   "glIndexubv\0"
-   "\0"
-   /* _mesa_function_pool[1858]: GetQueryivARB (will be remapped) */
-   "iip\0"
-   "glGetQueryiv\0"
-   "glGetQueryivARB\0"
-   "\0"
-   /* _mesa_function_pool[1892]: TexImage3D (offset 371) */
-   "iiiiiiiiip\0"
-   "glTexImage3D\0"
-   "glTexImage3DEXT\0"
-   "\0"
-   /* _mesa_function_pool[1933]: BindFragDataLocationEXT (will be remapped) */
-   "iip\0"
-   "glBindFragDataLocationEXT\0"
-   "glBindFragDataLocation\0"
-   "\0"
-   /* _mesa_function_pool[1987]: TexCoordP4ui (will be remapped) */
-   "ii\0"
-   "glTexCoordP4ui\0"
-   "\0"
-   /* _mesa_function_pool[2006]: ReplacementCodeuiVertex3fvSUN (dynamic) */
-   "pp\0"
-   "glReplacementCodeuiVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[2042]: EdgeFlagPointer (offset 312) */
-   "ip\0"
-   "glEdgeFlagPointer\0"
-   "\0"
-   /* _mesa_function_pool[2064]: Color3ubv (offset 20) */
-   "p\0"
-   "glColor3ubv\0"
-   "\0"
-   /* _mesa_function_pool[2079]: GetQueryObjectivARB (will be remapped) */
-   "iip\0"
-   "glGetQueryObjectiv\0"
-   "glGetQueryObjectivARB\0"
-   "\0"
-   /* _mesa_function_pool[2125]: Vertex3dv (offset 135) */
-   "p\0"
-   "glVertex3dv\0"
-   "\0"
-   /* _mesa_function_pool[2140]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */
-   "ppp\0"
-   "glReplacementCodeuiTexCoord2fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[2187]: CompressedTexSubImage2DARB (will be remapped) */
-   "iiiiiiiip\0"
-   "glCompressedTexSubImage2D\0"
-   "glCompressedTexSubImage2DARB\0"
-   "\0"
-   /* _mesa_function_pool[2253]: CombinerOutputNV (will be remapped) */
-   "iiiiiiiiii\0"
-   "glCombinerOutputNV\0"
-   "\0"
-   /* _mesa_function_pool[2284]: VertexAttribs3fvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs3fvNV\0"
-   "\0"
-   /* _mesa_function_pool[2310]: GetnMapivARB (will be remapped) */
-   "iiip\0"
-   "glGetnMapivARB\0"
-   "\0"
-   /* _mesa_function_pool[2331]: Uniform2fARB (will be remapped) */
-   "iff\0"
-   "glUniform2f\0"
-   "glUniform2fARB\0"
-   "\0"
-   /* _mesa_function_pool[2363]: LightModeliv (offset 166) */
-   "ip\0"
-   "glLightModeliv\0"
-   "\0"
-   /* _mesa_function_pool[2382]: VertexAttrib1svARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib1sv\0"
-   "glVertexAttrib1svARB\0"
-   "\0"
-   /* _mesa_function_pool[2425]: VertexAttribs1dvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs1dvNV\0"
-   "\0"
-   /* _mesa_function_pool[2451]: VertexP3ui (will be remapped) */
-   "ii\0"
-   "glVertexP3ui\0"
-   "\0"
-   /* _mesa_function_pool[2468]: Uniform2ivARB (will be remapped) */
-   "iip\0"
-   "glUniform2iv\0"
-   "glUniform2ivARB\0"
-   "\0"
-   /* _mesa_function_pool[2502]: GetImageTransformParameterfvHP (dynamic) */
-   "iip\0"
-   "glGetImageTransformParameterfvHP\0"
-   "\0"
-   /* _mesa_function_pool[2540]: Normal3bv (offset 53) */
-   "p\0"
-   "glNormal3bv\0"
-   "\0"
-   /* _mesa_function_pool[2555]: TexGeniv (offset 193) */
-   "iip\0"
-   "glTexGeniv\0"
-   "\0"
-   /* _mesa_function_pool[2571]: TexCoordP1uiv (will be remapped) */
-   "ip\0"
-   "glTexCoordP1uiv\0"
-   "\0"
-   /* _mesa_function_pool[2591]: WeightubvARB (dynamic) */
-   "ip\0"
-   "glWeightubvARB\0"
-   "\0"
-   /* _mesa_function_pool[2610]: VertexAttrib1fvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib1fvNV\0"
-   "\0"
-   /* _mesa_function_pool[2634]: Vertex3iv (offset 139) */
-   "p\0"
-   "glVertex3iv\0"
-   "\0"
-   /* _mesa_function_pool[2649]: CopyConvolutionFilter1D (offset 354) */
-   "iiiii\0"
-   "glCopyConvolutionFilter1D\0"
-   "glCopyConvolutionFilter1DEXT\0"
-   "\0"
-   /* _mesa_function_pool[2711]: VertexAttribI1uiEXT (will be remapped) */
-   "ii\0"
-   "glVertexAttribI1uiEXT\0"
-   "glVertexAttribI1ui\0"
-   "\0"
-   /* _mesa_function_pool[2756]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */
-   "iffffff\0"
-   "glReplacementCodeuiNormal3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[2804]: TexCoordP1ui (will be remapped) */
-   "ii\0"
-   "glTexCoordP1ui\0"
-   "\0"
-   /* _mesa_function_pool[2823]: DeleteSync (will be remapped) */
-   "i\0"
-   "glDeleteSync\0"
-   "\0"
-   /* _mesa_function_pool[2839]: FragmentMaterialfvSGIX (dynamic) */
-   "iip\0"
-   "glFragmentMaterialfvSGIX\0"
-   "\0"
-   /* _mesa_function_pool[2869]: BlendColor (offset 336) */
-   "ffff\0"
-   "glBlendColor\0"
-   "glBlendColorEXT\0"
-   "\0"
-   /* _mesa_function_pool[2904]: UniformMatrix4fvARB (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix4fv\0"
-   "glUniformMatrix4fvARB\0"
-   "\0"
-   /* _mesa_function_pool[2951]: DeleteVertexArraysAPPLE (will be remapped) */
-   "ip\0"
-   "glDeleteVertexArrays\0"
-   "glDeleteVertexArraysAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[3002]: TexBuffer (will be remapped) */
-   "iii\0"
-   "glTexBuffer\0"
-   "\0"
-   /* _mesa_function_pool[3019]: ReadInstrumentsSGIX (dynamic) */
-   "i\0"
-   "glReadInstrumentsSGIX\0"
-   "\0"
-   /* _mesa_function_pool[3044]: CallLists (offset 3) */
-   "iip\0"
-   "glCallLists\0"
-   "\0"
-   /* _mesa_function_pool[3061]: UniformMatrix2x4fv (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix2x4fv\0"
-   "\0"
-   /* _mesa_function_pool[3088]: ReadnPixelsARB (will be remapped) */
-   "iiiiiiip\0"
-   "glReadnPixelsARB\0"
-   "\0"
-   /* _mesa_function_pool[3115]: Color4ubVertex3fvSUN (dynamic) */
-   "pp\0"
-   "glColor4ubVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[3142]: Normal3iv (offset 59) */
-   "p\0"
-   "glNormal3iv\0"
-   "\0"
-   /* _mesa_function_pool[3157]: PassThrough (offset 199) */
-   "f\0"
-   "glPassThrough\0"
-   "\0"
-   /* _mesa_function_pool[3174]: GetnPixelMapusvARB (will be remapped) */
-   "iip\0"
-   "glGetnPixelMapusvARB\0"
-   "\0"
-   /* _mesa_function_pool[3200]: TexParameterIivEXT (will be remapped) */
-   "iip\0"
-   "glTexParameterIivEXT\0"
-   "glTexParameterIiv\0"
-   "\0"
-   /* _mesa_function_pool[3244]: FramebufferTextureLayerEXT (will be remapped) */
-   "iiiii\0"
-   "glFramebufferTextureLayer\0"
-   "glFramebufferTextureLayerARB\0"
-   "glFramebufferTextureLayerEXT\0"
-   "\0"
-   /* _mesa_function_pool[3335]: GetListParameterfvSGIX (dynamic) */
-   "iip\0"
-   "glGetListParameterfvSGIX\0"
-   "\0"
-   /* _mesa_function_pool[3365]: Viewport (offset 305) */
-   "iiii\0"
-   "glViewport\0"
-   "\0"
-   /* _mesa_function_pool[3382]: VertexAttrib4NusvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4Nusv\0"
-   "glVertexAttrib4NusvARB\0"
-   "\0"
-   /* _mesa_function_pool[3429]: VertexP4uiv (will be remapped) */
-   "ip\0"
-   "glVertexP4uiv\0"
-   "\0"
-   /* _mesa_function_pool[3447]: VertexAttribP3ui (will be remapped) */
-   "iiii\0"
-   "glVertexAttribP3ui\0"
-   "\0"
-   /* _mesa_function_pool[3472]: WindowPos4svMESA (will be remapped) */
-   "p\0"
-   "glWindowPos4svMESA\0"
-   "\0"
-   /* _mesa_function_pool[3494]: CreateProgramObjectARB (will be remapped) */
-   "\0"
-   "glCreateProgramObjectARB\0"
-   "\0"
-   /* _mesa_function_pool[3521]: DeleteTransformFeedbacks (will be remapped) */
-   "ip\0"
-   "glDeleteTransformFeedbacks\0"
-   "\0"
-   /* _mesa_function_pool[3552]: UniformMatrix4x3fv (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix4x3fv\0"
-   "\0"
-   /* _mesa_function_pool[3579]: PrioritizeTextures (offset 331) */
-   "ipp\0"
-   "glPrioritizeTextures\0"
-   "glPrioritizeTexturesEXT\0"
-   "\0"
-   /* _mesa_function_pool[3629]: VertexAttribI3uiEXT (will be remapped) */
-   "iiii\0"
-   "glVertexAttribI3uiEXT\0"
-   "glVertexAttribI3ui\0"
-   "\0"
-   /* _mesa_function_pool[3676]: AsyncMarkerSGIX (dynamic) */
-   "i\0"
-   "glAsyncMarkerSGIX\0"
-   "\0"
-   /* _mesa_function_pool[3697]: GlobalAlphaFactorubSUN (dynamic) */
-   "i\0"
-   "glGlobalAlphaFactorubSUN\0"
-   "\0"
-   /* _mesa_function_pool[3725]: ClearColorIuiEXT (will be remapped) */
-   "iiii\0"
-   "glClearColorIuiEXT\0"
-   "\0"
-   /* _mesa_function_pool[3750]: ClearDebugLogMESA (dynamic) */
-   "iii\0"
-   "glClearDebugLogMESA\0"
-   "\0"
-   /* _mesa_function_pool[3775]: Uniform4uiEXT (will be remapped) */
-   "iiiii\0"
-   "glUniform4uiEXT\0"
-   "glUniform4ui\0"
-   "\0"
-   /* _mesa_function_pool[3811]: ResetHistogram (offset 369) */
-   "i\0"
-   "glResetHistogram\0"
-   "glResetHistogramEXT\0"
-   "\0"
-   /* _mesa_function_pool[3851]: GetProgramNamedParameterfvNV (will be remapped) */
-   "iipp\0"
-   "glGetProgramNamedParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[3888]: PointParameterfEXT (will be remapped) */
-   "if\0"
-   "glPointParameterf\0"
-   "glPointParameterfARB\0"
-   "glPointParameterfEXT\0"
-   "glPointParameterfSGIS\0"
-   "\0"
-   /* _mesa_function_pool[3974]: MultiTexCoordP4uiv (will be remapped) */
-   "iip\0"
-   "glMultiTexCoordP4uiv\0"
-   "\0"
-   /* _mesa_function_pool[4000]: LoadIdentityDeformationMapSGIX (dynamic) */
-   "i\0"
-   "glLoadIdentityDeformationMapSGIX\0"
-   "\0"
-   /* _mesa_function_pool[4036]: GenFencesNV (will be remapped) */
-   "ip\0"
-   "glGenFencesNV\0"
-   "\0"
-   /* _mesa_function_pool[4054]: ImageTransformParameterfHP (dynamic) */
-   "iif\0"
-   "glImageTransformParameterfHP\0"
-   "\0"
-   /* _mesa_function_pool[4088]: MatrixIndexusvARB (dynamic) */
-   "ip\0"
-   "glMatrixIndexusvARB\0"
-   "\0"
-   /* _mesa_function_pool[4112]: DrawElementsBaseVertex (will be remapped) */
-   "iiipi\0"
-   "glDrawElementsBaseVertex\0"
-   "\0"
-   /* _mesa_function_pool[4144]: DisableVertexAttribArrayARB (will be remapped) */
-   "i\0"
-   "glDisableVertexAttribArray\0"
-   "glDisableVertexAttribArrayARB\0"
-   "\0"
-   /* _mesa_function_pool[4204]: GetnConvolutionFilterARB (will be remapped) */
-   "iiiip\0"
-   "glGetnConvolutionFilterARB\0"
-   "\0"
-   /* _mesa_function_pool[4238]: TexCoord2sv (offset 109) */
-   "p\0"
-   "glTexCoord2sv\0"
-   "\0"
-   /* _mesa_function_pool[4255]: ColorP4uiv (will be remapped) */
-   "ip\0"
-   "glColorP4uiv\0"
-   "\0"
-   /* _mesa_function_pool[4272]: Vertex4dv (offset 143) */
-   "p\0"
-   "glVertex4dv\0"
-   "\0"
-   /* _mesa_function_pool[4287]: StencilMaskSeparate (will be remapped) */
-   "ii\0"
-   "glStencilMaskSeparate\0"
-   "\0"
-   /* _mesa_function_pool[4313]: ProgramLocalParameter4dARB (will be remapped) */
-   "iidddd\0"
-   "glProgramLocalParameter4dARB\0"
-   "\0"
-   /* _mesa_function_pool[4350]: CompressedTexImage3DARB (will be remapped) */
-   "iiiiiiiip\0"
-   "glCompressedTexImage3D\0"
-   "glCompressedTexImage3DARB\0"
-   "\0"
-   /* _mesa_function_pool[4410]: Color3sv (offset 18) */
-   "p\0"
-   "glColor3sv\0"
-   "\0"
-   /* _mesa_function_pool[4424]: GetConvolutionParameteriv (offset 358) */
-   "iip\0"
-   "glGetConvolutionParameteriv\0"
-   "glGetConvolutionParameterivEXT\0"
-   "\0"
-   /* _mesa_function_pool[4488]: DeleteSamplers (will be remapped) */
-   "ip\0"
-   "glDeleteSamplers\0"
-   "\0"
-   /* _mesa_function_pool[4509]: VertexAttrib1fARB (will be remapped) */
-   "if\0"
-   "glVertexAttrib1f\0"
-   "glVertexAttrib1fARB\0"
-   "\0"
-   /* _mesa_function_pool[4550]: Vertex2dv (offset 127) */
-   "p\0"
-   "glVertex2dv\0"
-   "\0"
-   /* _mesa_function_pool[4565]: TestFenceNV (will be remapped) */
-   "i\0"
-   "glTestFenceNV\0"
-   "\0"
-   /* _mesa_function_pool[4582]: GetVertexAttribIuivEXT (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribIuivEXT\0"
-   "glGetVertexAttribIuiv\0"
-   "\0"
-   /* _mesa_function_pool[4634]: MultiTexCoord1fvARB (offset 379) */
-   "ip\0"
-   "glMultiTexCoord1fv\0"
-   "glMultiTexCoord1fvARB\0"
-   "\0"
-   /* _mesa_function_pool[4679]: TexCoord3iv (offset 115) */
-   "p\0"
-   "glTexCoord3iv\0"
-   "\0"
-   /* _mesa_function_pool[4696]: Uniform2uivEXT (will be remapped) */
-   "iip\0"
-   "glUniform2uivEXT\0"
-   "glUniform2uiv\0"
-   "\0"
-   /* _mesa_function_pool[4732]: ColorFragmentOp2ATI (will be remapped) */
-   "iiiiiiiiii\0"
-   "glColorFragmentOp2ATI\0"
-   "\0"
-   /* _mesa_function_pool[4766]: TexStorage2D (will be remapped) */
-   "iiiii\0"
-   "glTexStorage2D\0"
-   "\0"
-   /* _mesa_function_pool[4788]: SecondaryColorPointerListIBM (dynamic) */
-   "iiipi\0"
-   "glSecondaryColorPointerListIBM\0"
-   "\0"
-   /* _mesa_function_pool[4826]: GetPixelTexGenParameterivSGIS (will be remapped) */
-   "ip\0"
-   "glGetPixelTexGenParameterivSGIS\0"
-   "\0"
-   /* _mesa_function_pool[4862]: Color3fv (offset 14) */
-   "p\0"
-   "glColor3fv\0"
-   "\0"
-   /* _mesa_function_pool[4876]: GetnPixelMapfvARB (will be remapped) */
-   "iip\0"
-   "glGetnPixelMapfvARB\0"
-   "\0"
-   /* _mesa_function_pool[4901]: TextureStorage1DEXT (will be remapped) */
-   "iiiii\0"
-   "glTextureStorage1DEXT\0"
-   "\0"
-   /* _mesa_function_pool[4930]: ReplacementCodeubSUN (dynamic) */
-   "i\0"
-   "glReplacementCodeubSUN\0"
-   "\0"
-   /* _mesa_function_pool[4956]: FinishAsyncSGIX (dynamic) */
-   "p\0"
-   "glFinishAsyncSGIX\0"
-   "\0"
-   /* _mesa_function_pool[4977]: GetnUniformfvARB (will be remapped) */
-   "iiip\0"
-   "glGetnUniformfvARB\0"
-   "\0"
-   /* _mesa_function_pool[5002]: GetDebugLogMESA (dynamic) */
-   "iiiipp\0"
-   "glGetDebugLogMESA\0"
-   "\0"
-   /* _mesa_function_pool[5028]: FogCoorddEXT (will be remapped) */
-   "d\0"
-   "glFogCoordd\0"
-   "glFogCoorddEXT\0"
-   "\0"
-   /* _mesa_function_pool[5058]: BeginConditionalRenderNV (will be remapped) */
-   "ii\0"
-   "glBeginConditionalRenderNV\0"
-   "glBeginConditionalRender\0"
-   "\0"
-   /* _mesa_function_pool[5114]: Color4ubVertex3fSUN (dynamic) */
-   "iiiifff\0"
-   "glColor4ubVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[5145]: FogCoordfEXT (will be remapped) */
-   "f\0"
-   "glFogCoordf\0"
-   "glFogCoordfEXT\0"
-   "\0"
-   /* _mesa_function_pool[5175]: PointSize (offset 173) */
-   "f\0"
-   "glPointSize\0"
-   "\0"
-   /* _mesa_function_pool[5190]: VertexAttribI2uivEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI2uivEXT\0"
-   "glVertexAttribI2uiv\0"
-   "\0"
-   /* _mesa_function_pool[5237]: TexCoord2fVertex3fSUN (dynamic) */
-   "fffff\0"
-   "glTexCoord2fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[5268]: PopName (offset 200) */
-   "\0"
-   "glPopName\0"
-   "\0"
-   /* _mesa_function_pool[5280]: GetSamplerParameterfv (will be remapped) */
-   "iip\0"
-   "glGetSamplerParameterfv\0"
-   "\0"
-   /* _mesa_function_pool[5309]: GlobalAlphaFactoriSUN (dynamic) */
-   "i\0"
-   "glGlobalAlphaFactoriSUN\0"
-   "\0"
-   /* _mesa_function_pool[5336]: VertexAttrib2dNV (will be remapped) */
-   "idd\0"
-   "glVertexAttrib2dNV\0"
-   "\0"
-   /* _mesa_function_pool[5360]: GetProgramInfoLog (will be remapped) */
-   "iipp\0"
-   "glGetProgramInfoLog\0"
-   "\0"
-   /* _mesa_function_pool[5386]: VertexP2ui (will be remapped) */
-   "ii\0"
-   "glVertexP2ui\0"
-   "\0"
-   /* _mesa_function_pool[5403]: VertexAttrib4NbvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4Nbv\0"
-   "glVertexAttrib4NbvARB\0"
-   "\0"
-   /* _mesa_function_pool[5448]: GetActiveAttribARB (will be remapped) */
-   "iiipppp\0"
-   "glGetActiveAttrib\0"
-   "glGetActiveAttribARB\0"
-   "\0"
-   /* _mesa_function_pool[5496]: Vertex4sv (offset 149) */
-   "p\0"
-   "glVertex4sv\0"
-   "\0"
-   /* _mesa_function_pool[5511]: VertexAttrib4ubNV (will be remapped) */
-   "iiiii\0"
-   "glVertexAttrib4ubNV\0"
-   "\0"
-   /* _mesa_function_pool[5538]: VertexAttribI1ivEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI1ivEXT\0"
-   "glVertexAttribI1iv\0"
-   "\0"
-   /* _mesa_function_pool[5583]: ClampColor (will be remapped) */
-   "ii\0"
-   "glClampColor\0"
-   "\0"
-   /* _mesa_function_pool[5600]: TextureRangeAPPLE (will be remapped) */
-   "iip\0"
-   "glTextureRangeAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[5625]: GetTexEnvfv (offset 276) */
-   "iip\0"
-   "glGetTexEnvfv\0"
-   "\0"
-   /* _mesa_function_pool[5644]: VertexAttribP2uiv (will be remapped) */
-   "iiip\0"
-   "glVertexAttribP2uiv\0"
-   "\0"
-   /* _mesa_function_pool[5670]: BindTransformFeedback (will be remapped) */
-   "ii\0"
-   "glBindTransformFeedback\0"
-   "\0"
-   /* _mesa_function_pool[5698]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
-   "ffffffffffff\0"
-   "glTexCoord2fColor4fNormal3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[5751]: Indexub (offset 315) */
-   "i\0"
-   "glIndexub\0"
-   "\0"
-   /* _mesa_function_pool[5764]: VertexAttrib4fNV (will be remapped) */
-   "iffff\0"
-   "glVertexAttrib4fNV\0"
-   "\0"
-   /* _mesa_function_pool[5790]: TexEnvi (offset 186) */
-   "iii\0"
-   "glTexEnvi\0"
-   "\0"
-   /* _mesa_function_pool[5805]: GetClipPlane (offset 259) */
-   "ip\0"
-   "glGetClipPlane\0"
-   "\0"
-   /* _mesa_function_pool[5824]: CombinerParameterfvNV (will be remapped) */
-   "ip\0"
-   "glCombinerParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[5852]: TexCoordP4uiv (will be remapped) */
-   "ip\0"
-   "glTexCoordP4uiv\0"
-   "\0"
-   /* _mesa_function_pool[5872]: VertexAttribs3dvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs3dvNV\0"
-   "\0"
-   /* _mesa_function_pool[5898]: VertexAttribI2uiEXT (will be remapped) */
-   "iii\0"
-   "glVertexAttribI2uiEXT\0"
-   "glVertexAttribI2ui\0"
-   "\0"
-   /* _mesa_function_pool[5944]: VertexAttribs4fvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs4fvNV\0"
-   "\0"
-   /* _mesa_function_pool[5970]: VertexArrayRangeNV (will be remapped) */
-   "ip\0"
-   "glVertexArrayRangeNV\0"
-   "\0"
-   /* _mesa_function_pool[5995]: FragmentLightiSGIX (dynamic) */
-   "iii\0"
-   "glFragmentLightiSGIX\0"
-   "\0"
-   /* _mesa_function_pool[6021]: PolygonOffsetEXT (will be remapped) */
-   "ff\0"
-   "glPolygonOffsetEXT\0"
-   "\0"
-   /* _mesa_function_pool[6044]: VertexAttribI4uivEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI4uivEXT\0"
-   "glVertexAttribI4uiv\0"
-   "\0"
-   /* _mesa_function_pool[6091]: PollAsyncSGIX (dynamic) */
-   "p\0"
-   "glPollAsyncSGIX\0"
-   "\0"
-   /* _mesa_function_pool[6110]: DeleteFragmentShaderATI (will be remapped) */
-   "i\0"
-   "glDeleteFragmentShaderATI\0"
-   "\0"
-   /* _mesa_function_pool[6139]: Scaled (offset 301) */
-   "ddd\0"
-   "glScaled\0"
-   "\0"
-   /* _mesa_function_pool[6153]: ResumeTransformFeedback (will be remapped) */
-   "\0"
-   "glResumeTransformFeedback\0"
-   "\0"
-   /* _mesa_function_pool[6181]: Scalef (offset 302) */
-   "fff\0"
-   "glScalef\0"
-   "\0"
-   /* _mesa_function_pool[6195]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */
-   "ppp\0"
-   "glTexCoord2fNormal3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[6233]: ProgramEnvParameters4fvEXT (will be remapped) */
-   "iiip\0"
-   "glProgramEnvParameters4fvEXT\0"
-   "\0"
-   /* _mesa_function_pool[6268]: MultTransposeMatrixdARB (will be remapped) */
-   "p\0"
-   "glMultTransposeMatrixd\0"
-   "glMultTransposeMatrixdARB\0"
-   "\0"
-   /* _mesa_function_pool[6320]: ColorMaskIndexedEXT (will be remapped) */
-   "iiiii\0"
-   "glColorMaskIndexedEXT\0"
-   "glColorMaski\0"
-   "\0"
-   /* _mesa_function_pool[6362]: ObjectUnpurgeableAPPLE (will be remapped) */
-   "iii\0"
-   "glObjectUnpurgeableAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[6392]: TexCoordP3ui (will be remapped) */
-   "ii\0"
-   "glTexCoordP3ui\0"
-   "\0"
-   /* _mesa_function_pool[6411]: AlphaFunc (offset 240) */
-   "if\0"
-   "glAlphaFunc\0"
-   "\0"
-   /* _mesa_function_pool[6427]: WindowPos2svMESA (will be remapped) */
-   "p\0"
-   "glWindowPos2sv\0"
-   "glWindowPos2svARB\0"
-   "glWindowPos2svMESA\0"
-   "\0"
-   /* _mesa_function_pool[6482]: EdgeFlag (offset 41) */
-   "i\0"
-   "glEdgeFlag\0"
-   "\0"
-   /* _mesa_function_pool[6496]: TexCoord2iv (offset 107) */
-   "p\0"
-   "glTexCoord2iv\0"
-   "\0"
-   /* _mesa_function_pool[6513]: CompressedTexImage1DARB (will be remapped) */
-   "iiiiiip\0"
-   "glCompressedTexImage1D\0"
-   "glCompressedTexImage1DARB\0"
-   "\0"
-   /* _mesa_function_pool[6571]: Rotated (offset 299) */
-   "dddd\0"
-   "glRotated\0"
-   "\0"
-   /* _mesa_function_pool[6587]: GetTexParameterIuivEXT (will be remapped) */
-   "iip\0"
-   "glGetTexParameterIuivEXT\0"
-   "glGetTexParameterIuiv\0"
-   "\0"
-   /* _mesa_function_pool[6639]: VertexAttrib2sNV (will be remapped) */
-   "iii\0"
-   "glVertexAttrib2sNV\0"
-   "\0"
-   /* _mesa_function_pool[6663]: ReadPixels (offset 256) */
-   "iiiiiip\0"
-   "glReadPixels\0"
-   "\0"
-   /* _mesa_function_pool[6685]: VertexAttribDivisorARB (will be remapped) */
-   "ii\0"
-   "glVertexAttribDivisorARB\0"
-   "\0"
-   /* _mesa_function_pool[6714]: EdgeFlagv (offset 42) */
-   "p\0"
-   "glEdgeFlagv\0"
-   "\0"
-   /* _mesa_function_pool[6729]: NormalPointerListIBM (dynamic) */
-   "iipi\0"
-   "glNormalPointerListIBM\0"
-   "\0"
-   /* _mesa_function_pool[6758]: IndexPointerEXT (will be remapped) */
-   "iiip\0"
-   "glIndexPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[6782]: Color4iv (offset 32) */
-   "p\0"
-   "glColor4iv\0"
-   "\0"
-   /* _mesa_function_pool[6796]: TexParameterf (offset 178) */
-   "iif\0"
-   "glTexParameterf\0"
-   "\0"
-   /* _mesa_function_pool[6817]: TexParameteri (offset 180) */
-   "iii\0"
-   "glTexParameteri\0"
-   "\0"
-   /* _mesa_function_pool[6838]: NormalPointerEXT (will be remapped) */
-   "iiip\0"
-   "glNormalPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[6863]: MultiTexCoord3dARB (offset 392) */
-   "iddd\0"
-   "glMultiTexCoord3d\0"
-   "glMultiTexCoord3dARB\0"
-   "\0"
-   /* _mesa_function_pool[6908]: MultiTexCoord2iARB (offset 388) */
-   "iii\0"
-   "glMultiTexCoord2i\0"
-   "glMultiTexCoord2iARB\0"
-   "\0"
-   /* _mesa_function_pool[6952]: DrawPixels (offset 257) */
-   "iiiip\0"
-   "glDrawPixels\0"
-   "\0"
-   /* _mesa_function_pool[6972]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */
-   "iffffffff\0"
-   "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[7032]: MultiTexCoord2svARB (offset 391) */
-   "ip\0"
-   "glMultiTexCoord2sv\0"
-   "glMultiTexCoord2svARB\0"
-   "\0"
-   /* _mesa_function_pool[7077]: ReplacementCodeubvSUN (dynamic) */
-   "p\0"
-   "glReplacementCodeubvSUN\0"
-   "\0"
-   /* _mesa_function_pool[7104]: Uniform3iARB (will be remapped) */
-   "iiii\0"
-   "glUniform3i\0"
-   "glUniform3iARB\0"
-   "\0"
-   /* _mesa_function_pool[7137]: DrawTransformFeedback (will be remapped) */
-   "ii\0"
-   "glDrawTransformFeedback\0"
-   "\0"
-   /* _mesa_function_pool[7165]: DrawElementsInstancedARB (will be remapped) */
-   "iiipi\0"
-   "glDrawElementsInstancedARB\0"
-   "glDrawElementsInstancedEXT\0"
-   "glDrawElementsInstanced\0"
-   "\0"
-   /* _mesa_function_pool[7250]: GetShaderInfoLog (will be remapped) */
-   "iipp\0"
-   "glGetShaderInfoLog\0"
-   "\0"
-   /* _mesa_function_pool[7275]: WeightivARB (dynamic) */
-   "ip\0"
-   "glWeightivARB\0"
-   "\0"
-   /* _mesa_function_pool[7293]: PollInstrumentsSGIX (dynamic) */
-   "p\0"
-   "glPollInstrumentsSGIX\0"
-   "\0"
-   /* _mesa_function_pool[7318]: GlobalAlphaFactordSUN (dynamic) */
-   "d\0"
-   "glGlobalAlphaFactordSUN\0"
-   "\0"
-   /* _mesa_function_pool[7345]: GetFinalCombinerInputParameterfvNV (will be remapped) */
-   "iip\0"
-   "glGetFinalCombinerInputParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[7387]: GenerateMipmapEXT (will be remapped) */
-   "i\0"
-   "glGenerateMipmap\0"
-   "glGenerateMipmapEXT\0"
-   "\0"
-   /* _mesa_function_pool[7427]: GenLists (offset 5) */
-   "i\0"
-   "glGenLists\0"
-   "\0"
-   /* _mesa_function_pool[7441]: DepthRangef (will be remapped) */
-   "ff\0"
-   "glDepthRangef\0"
-   "\0"
-   /* _mesa_function_pool[7459]: GetMapAttribParameterivNV (dynamic) */
-   "iiip\0"
-   "glGetMapAttribParameterivNV\0"
-   "\0"
-   /* _mesa_function_pool[7493]: CreateShaderObjectARB (will be remapped) */
-   "i\0"
-   "glCreateShaderObjectARB\0"
-   "\0"
-   /* _mesa_function_pool[7520]: GetSharpenTexFuncSGIS (dynamic) */
-   "ip\0"
-   "glGetSharpenTexFuncSGIS\0"
-   "\0"
-   /* _mesa_function_pool[7548]: BufferDataARB (will be remapped) */
-   "iipi\0"
-   "glBufferData\0"
-   "glBufferDataARB\0"
-   "\0"
-   /* _mesa_function_pool[7583]: FlushVertexArrayRangeNV (will be remapped) */
-   "\0"
-   "glFlushVertexArrayRangeNV\0"
-   "\0"
-   /* _mesa_function_pool[7611]: MapGrid2d (offset 226) */
-   "iddidd\0"
-   "glMapGrid2d\0"
-   "\0"
-   /* _mesa_function_pool[7631]: MapGrid2f (offset 227) */
-   "iffiff\0"
-   "glMapGrid2f\0"
-   "\0"
-   /* _mesa_function_pool[7651]: SampleMapATI (will be remapped) */
-   "iii\0"
-   "glSampleMapATI\0"
-   "\0"
-   /* _mesa_function_pool[7671]: VertexPointerEXT (will be remapped) */
-   "iiiip\0"
-   "glVertexPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[7697]: GetTexFilterFuncSGIS (dynamic) */
-   "iip\0"
-   "glGetTexFilterFuncSGIS\0"
-   "\0"
-   /* _mesa_function_pool[7725]: Scissor (offset 176) */
-   "iiii\0"
-   "glScissor\0"
-   "\0"
-   /* _mesa_function_pool[7741]: Fogf (offset 153) */
-   "if\0"
-   "glFogf\0"
-   "\0"
-   /* _mesa_function_pool[7752]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */
-   "ppp\0"
-   "glReplacementCodeuiColor4ubVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[7797]: TexSubImage1D (offset 332) */
-   "iiiiiip\0"
-   "glTexSubImage1D\0"
-   "glTexSubImage1DEXT\0"
-   "\0"
-   /* _mesa_function_pool[7841]: VertexAttrib1sARB (will be remapped) */
-   "ii\0"
-   "glVertexAttrib1s\0"
-   "glVertexAttrib1sARB\0"
-   "\0"
-   /* _mesa_function_pool[7882]: FenceSync (will be remapped) */
-   "ii\0"
-   "glFenceSync\0"
-   "\0"
-   /* _mesa_function_pool[7898]: Color4usv (offset 40) */
-   "p\0"
-   "glColor4usv\0"
-   "\0"
-   /* _mesa_function_pool[7913]: Fogi (offset 155) */
-   "ii\0"
-   "glFogi\0"
-   "\0"
-   /* _mesa_function_pool[7924]: DepthRange (offset 288) */
-   "dd\0"
-   "glDepthRange\0"
-   "\0"
-   /* _mesa_function_pool[7941]: RasterPos3iv (offset 75) */
-   "p\0"
-   "glRasterPos3iv\0"
-   "\0"
-   /* _mesa_function_pool[7959]: FinalCombinerInputNV (will be remapped) */
-   "iiii\0"
-   "glFinalCombinerInputNV\0"
-   "\0"
-   /* _mesa_function_pool[7988]: TexCoord2i (offset 106) */
-   "ii\0"
-   "glTexCoord2i\0"
-   "\0"
-   /* _mesa_function_pool[8005]: PixelMapfv (offset 251) */
-   "iip\0"
-   "glPixelMapfv\0"
-   "\0"
-   /* _mesa_function_pool[8023]: Color4ui (offset 37) */
-   "iiii\0"
-   "glColor4ui\0"
-   "\0"
-   /* _mesa_function_pool[8040]: RasterPos3s (offset 76) */
-   "iii\0"
-   "glRasterPos3s\0"
-   "\0"
-   /* _mesa_function_pool[8059]: Color3usv (offset 24) */
-   "p\0"
-   "glColor3usv\0"
-   "\0"
-   /* _mesa_function_pool[8074]: FlushRasterSGIX (dynamic) */
-   "\0"
-   "glFlushRasterSGIX\0"
-   "\0"
-   /* _mesa_function_pool[8094]: TexCoord2f (offset 104) */
-   "ff\0"
-   "glTexCoord2f\0"
-   "\0"
-   /* _mesa_function_pool[8111]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */
-   "ifffff\0"
-   "glReplacementCodeuiTexCoord2fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[8160]: TexCoord2d (offset 102) */
-   "dd\0"
-   "glTexCoord2d\0"
-   "\0"
-   /* _mesa_function_pool[8177]: RasterPos3d (offset 70) */
-   "ddd\0"
-   "glRasterPos3d\0"
-   "\0"
-   /* _mesa_function_pool[8196]: RasterPos3f (offset 72) */
-   "fff\0"
-   "glRasterPos3f\0"
-   "\0"
-   /* _mesa_function_pool[8215]: Uniform1fARB (will be remapped) */
-   "if\0"
-   "glUniform1f\0"
-   "glUniform1fARB\0"
-   "\0"
-   /* _mesa_function_pool[8246]: AreTexturesResident (offset 322) */
-   "ipp\0"
-   "glAreTexturesResident\0"
-   "glAreTexturesResidentEXT\0"
-   "\0"
-   /* _mesa_function_pool[8298]: TexCoord2s (offset 108) */
-   "ii\0"
-   "glTexCoord2s\0"
-   "\0"
-   /* _mesa_function_pool[8315]: StencilOpSeparate (will be remapped) */
-   "iiii\0"
-   "glStencilOpSeparate\0"
-   "glStencilOpSeparateATI\0"
-   "\0"
-   /* _mesa_function_pool[8364]: ColorTableParameteriv (offset 341) */
-   "iip\0"
-   "glColorTableParameteriv\0"
-   "glColorTableParameterivSGI\0"
-   "\0"
-   /* _mesa_function_pool[8420]: FogCoordPointerListIBM (dynamic) */
-   "iipi\0"
-   "glFogCoordPointerListIBM\0"
-   "\0"
-   /* _mesa_function_pool[8451]: WindowPos3dMESA (will be remapped) */
-   "ddd\0"
-   "glWindowPos3d\0"
-   "glWindowPos3dARB\0"
-   "glWindowPos3dMESA\0"
-   "\0"
-   /* _mesa_function_pool[8505]: Color4us (offset 39) */
-   "iiii\0"
-   "glColor4us\0"
-   "\0"
-   /* _mesa_function_pool[8522]: PointParameterfvEXT (will be remapped) */
-   "ip\0"
-   "glPointParameterfv\0"
-   "glPointParameterfvARB\0"
-   "glPointParameterfvEXT\0"
-   "glPointParameterfvSGIS\0"
-   "\0"
-   /* _mesa_function_pool[8612]: Color3bv (offset 10) */
-   "p\0"
-   "glColor3bv\0"
-   "\0"
-   /* _mesa_function_pool[8626]: GetnCompressedTexImageARB (will be remapped) */
-   "iiip\0"
-   "glGetnCompressedTexImageARB\0"
-   "\0"
-   /* _mesa_function_pool[8660]: WindowPos2fvMESA (will be remapped) */
-   "p\0"
-   "glWindowPos2fv\0"
-   "glWindowPos2fvARB\0"
-   "glWindowPos2fvMESA\0"
-   "\0"
-   /* _mesa_function_pool[8715]: SecondaryColor3bvEXT (will be remapped) */
-   "p\0"
-   "glSecondaryColor3bv\0"
-   "glSecondaryColor3bvEXT\0"
-   "\0"
-   /* _mesa_function_pool[8761]: VertexPointerListIBM (dynamic) */
-   "iiipi\0"
-   "glVertexPointerListIBM\0"
-   "\0"
-   /* _mesa_function_pool[8791]: GetProgramLocalParameterfvARB (will be remapped) */
-   "iip\0"
-   "glGetProgramLocalParameterfvARB\0"
-   "\0"
-   /* _mesa_function_pool[8828]: FragmentMaterialfSGIX (dynamic) */
-   "iif\0"
-   "glFragmentMaterialfSGIX\0"
-   "\0"
-   /* _mesa_function_pool[8857]: BindSampler (will be remapped) */
-   "ii\0"
-   "glBindSampler\0"
-   "\0"
-   /* _mesa_function_pool[8875]: RenderbufferStorageEXT (will be remapped) */
-   "iiii\0"
-   "glRenderbufferStorage\0"
-   "glRenderbufferStorageEXT\0"
-   "\0"
-   /* _mesa_function_pool[8928]: IsFenceNV (will be remapped) */
-   "i\0"
-   "glIsFenceNV\0"
-   "\0"
-   /* _mesa_function_pool[8943]: AttachObjectARB (will be remapped) */
-   "ii\0"
-   "glAttachObjectARB\0"
-   "\0"
-   /* _mesa_function_pool[8965]: GetFragmentLightivSGIX (dynamic) */
-   "iip\0"
-   "glGetFragmentLightivSGIX\0"
-   "\0"
-   /* _mesa_function_pool[8995]: UniformMatrix2fvARB (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix2fv\0"
-   "glUniformMatrix2fvARB\0"
-   "\0"
-   /* _mesa_function_pool[9042]: MultiTexCoord2fARB (offset 386) */
-   "iff\0"
-   "glMultiTexCoord2f\0"
-   "glMultiTexCoord2fARB\0"
-   "\0"
-   /* _mesa_function_pool[9086]: ColorTable (offset 339) */
-   "iiiiip\0"
-   "glColorTable\0"
-   "glColorTableSGI\0"
-   "glColorTableEXT\0"
-   "\0"
-   /* _mesa_function_pool[9139]: IndexPointer (offset 314) */
-   "iip\0"
-   "glIndexPointer\0"
-   "\0"
-   /* _mesa_function_pool[9159]: Accum (offset 213) */
-   "if\0"
-   "glAccum\0"
-   "\0"
-   /* _mesa_function_pool[9171]: GetTexImage (offset 281) */
-   "iiiip\0"
-   "glGetTexImage\0"
-   "\0"
-   /* _mesa_function_pool[9192]: MapControlPointsNV (dynamic) */
-   "iiiiiiiip\0"
-   "glMapControlPointsNV\0"
-   "\0"
-   /* _mesa_function_pool[9224]: ConvolutionFilter2D (offset 349) */
-   "iiiiiip\0"
-   "glConvolutionFilter2D\0"
-   "glConvolutionFilter2DEXT\0"
-   "\0"
-   /* _mesa_function_pool[9280]: Finish (offset 216) */
-   "\0"
-   "glFinish\0"
-   "\0"
-   /* _mesa_function_pool[9291]: MapParameterfvNV (dynamic) */
-   "iip\0"
-   "glMapParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[9315]: ClearStencil (offset 207) */
-   "i\0"
-   "glClearStencil\0"
-   "\0"
-   /* _mesa_function_pool[9333]: VertexAttrib3dvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib3dv\0"
-   "glVertexAttrib3dvARB\0"
-   "\0"
-   /* _mesa_function_pool[9376]: Uniform4uivEXT (will be remapped) */
-   "iip\0"
-   "glUniform4uivEXT\0"
-   "glUniform4uiv\0"
-   "\0"
-   /* _mesa_function_pool[9412]: HintPGI (dynamic) */
-   "ii\0"
-   "glHintPGI\0"
-   "\0"
-   /* _mesa_function_pool[9426]: ConvolutionParameteriv (offset 353) */
-   "iip\0"
-   "glConvolutionParameteriv\0"
-   "glConvolutionParameterivEXT\0"
-   "\0"
-   /* _mesa_function_pool[9484]: Color4s (offset 33) */
-   "iiii\0"
-   "glColor4s\0"
-   "\0"
-   /* _mesa_function_pool[9500]: InterleavedArrays (offset 317) */
-   "iip\0"
-   "glInterleavedArrays\0"
-   "\0"
-   /* _mesa_function_pool[9525]: RasterPos2fv (offset 65) */
-   "p\0"
-   "glRasterPos2fv\0"
-   "\0"
-   /* _mesa_function_pool[9543]: TexCoord1fv (offset 97) */
-   "p\0"
-   "glTexCoord1fv\0"
-   "\0"
-   /* _mesa_function_pool[9560]: Vertex2d (offset 126) */
-   "dd\0"
-   "glVertex2d\0"
-   "\0"
-   /* _mesa_function_pool[9575]: CullParameterdvEXT (dynamic) */
-   "ip\0"
-   "glCullParameterdvEXT\0"
-   "\0"
-   /* _mesa_function_pool[9600]: ProgramNamedParameter4fNV (will be remapped) */
-   "iipffff\0"
-   "glProgramNamedParameter4fNV\0"
-   "\0"
-   /* _mesa_function_pool[9637]: Color3fVertex3fSUN (dynamic) */
-   "ffffff\0"
-   "glColor3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[9666]: ProgramEnvParameter4fvARB (will be remapped) */
-   "iip\0"
-   "glProgramEnvParameter4fvARB\0"
-   "glProgramParameter4fvNV\0"
-   "\0"
-   /* _mesa_function_pool[9723]: Color4i (offset 31) */
-   "iiii\0"
-   "glColor4i\0"
-   "\0"
-   /* _mesa_function_pool[9739]: Color4f (offset 29) */
-   "ffff\0"
-   "glColor4f\0"
-   "\0"
-   /* _mesa_function_pool[9755]: RasterPos4fv (offset 81) */
-   "p\0"
-   "glRasterPos4fv\0"
-   "\0"
-   /* _mesa_function_pool[9773]: Color4d (offset 27) */
-   "dddd\0"
-   "glColor4d\0"
-   "\0"
-   /* _mesa_function_pool[9789]: ClearIndex (offset 205) */
-   "f\0"
-   "glClearIndex\0"
-   "\0"
-   /* _mesa_function_pool[9805]: Color4b (offset 25) */
-   "iiii\0"
-   "glColor4b\0"
-   "\0"
-   /* _mesa_function_pool[9821]: LoadMatrixd (offset 292) */
-   "p\0"
-   "glLoadMatrixd\0"
-   "\0"
-   /* _mesa_function_pool[9838]: FragmentLightModeliSGIX (dynamic) */
-   "ii\0"
-   "glFragmentLightModeliSGIX\0"
-   "\0"
-   /* _mesa_function_pool[9868]: RasterPos2dv (offset 63) */
-   "p\0"
-   "glRasterPos2dv\0"
-   "\0"
-   /* _mesa_function_pool[9886]: ConvolutionParameterfv (offset 351) */
-   "iip\0"
-   "glConvolutionParameterfv\0"
-   "glConvolutionParameterfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[9944]: TbufferMask3DFX (dynamic) */
-   "i\0"
-   "glTbufferMask3DFX\0"
-   "\0"
-   /* _mesa_function_pool[9965]: GetTexGendv (offset 278) */
-   "iip\0"
-   "glGetTexGendv\0"
-   "\0"
-   /* _mesa_function_pool[9984]: GetVertexAttribfvNV (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribfvNV\0"
-   "\0"
-   /* _mesa_function_pool[10011]: BeginTransformFeedbackEXT (will be remapped) */
-   "i\0"
-   "glBeginTransformFeedbackEXT\0"
-   "glBeginTransformFeedback\0"
-   "\0"
-   /* _mesa_function_pool[10067]: LoadProgramNV (will be remapped) */
-   "iiip\0"
-   "glLoadProgramNV\0"
-   "\0"
-   /* _mesa_function_pool[10089]: WaitSync (will be remapped) */
-   "iii\0"
-   "glWaitSync\0"
-   "\0"
-   /* _mesa_function_pool[10105]: EndList (offset 1) */
-   "\0"
-   "glEndList\0"
-   "\0"
-   /* _mesa_function_pool[10117]: VertexP4ui (will be remapped) */
-   "ii\0"
-   "glVertexP4ui\0"
-   "\0"
-   /* _mesa_function_pool[10134]: VertexAttrib4fvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4fvNV\0"
-   "\0"
-   /* _mesa_function_pool[10158]: GetAttachedObjectsARB (will be remapped) */
-   "iipp\0"
-   "glGetAttachedObjectsARB\0"
-   "\0"
-   /* _mesa_function_pool[10188]: Uniform3fvARB (will be remapped) */
-   "iip\0"
-   "glUniform3fv\0"
-   "glUniform3fvARB\0"
-   "\0"
-   /* _mesa_function_pool[10222]: EvalCoord1fv (offset 231) */
-   "p\0"
-   "glEvalCoord1fv\0"
-   "\0"
-   /* _mesa_function_pool[10240]: DrawRangeElements (offset 338) */
-   "iiiiip\0"
-   "glDrawRangeElements\0"
-   "glDrawRangeElementsEXT\0"
-   "\0"
-   /* _mesa_function_pool[10291]: EvalMesh2 (offset 238) */
-   "iiiii\0"
-   "glEvalMesh2\0"
-   "\0"
-   /* _mesa_function_pool[10310]: Vertex4fv (offset 145) */
-   "p\0"
-   "glVertex4fv\0"
-   "\0"
-   /* _mesa_function_pool[10325]: GenTransformFeedbacks (will be remapped) */
-   "ip\0"
-   "glGenTransformFeedbacks\0"
-   "\0"
-   /* _mesa_function_pool[10353]: SpriteParameterfvSGIX (dynamic) */
-   "ip\0"
-   "glSpriteParameterfvSGIX\0"
-   "\0"
-   /* _mesa_function_pool[10381]: CheckFramebufferStatusEXT (will be remapped) */
-   "i\0"
-   "glCheckFramebufferStatus\0"
-   "glCheckFramebufferStatusEXT\0"
-   "\0"
-   /* _mesa_function_pool[10437]: GlobalAlphaFactoruiSUN (dynamic) */
-   "i\0"
-   "glGlobalAlphaFactoruiSUN\0"
-   "\0"
-   /* _mesa_function_pool[10465]: GetHandleARB (will be remapped) */
-   "i\0"
-   "glGetHandleARB\0"
-   "\0"
-   /* _mesa_function_pool[10483]: GetVertexAttribivARB (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribiv\0"
-   "glGetVertexAttribivARB\0"
-   "\0"
-   /* _mesa_function_pool[10531]: BlendFunciARB (will be remapped) */
-   "iii\0"
-   "glBlendFunciARB\0"
-   "glBlendFuncIndexedAMD\0"
-   "\0"
-   /* _mesa_function_pool[10574]: VertexAttribP1ui (will be remapped) */
-   "iiii\0"
-   "glVertexAttribP1ui\0"
-   "\0"
-   /* _mesa_function_pool[10599]: GetnUniformivARB (will be remapped) */
-   "iiip\0"
-   "glGetnUniformivARB\0"
-   "\0"
-   /* _mesa_function_pool[10624]: GetTexParameterIivEXT (will be remapped) */
-   "iip\0"
-   "glGetTexParameterIivEXT\0"
-   "glGetTexParameterIiv\0"
-   "\0"
-   /* _mesa_function_pool[10674]: CreateProgram (will be remapped) */
-   "\0"
-   "glCreateProgram\0"
-   "\0"
-   /* _mesa_function_pool[10692]: LoadTransposeMatrixdARB (will be remapped) */
-   "p\0"
-   "glLoadTransposeMatrixd\0"
-   "glLoadTransposeMatrixdARB\0"
-   "\0"
-   /* _mesa_function_pool[10744]: ReleaseShaderCompiler (will be remapped) */
-   "\0"
-   "glReleaseShaderCompiler\0"
-   "\0"
-   /* _mesa_function_pool[10770]: GetMinmax (offset 364) */
-   "iiiip\0"
-   "glGetMinmax\0"
-   "glGetMinmaxEXT\0"
-   "\0"
-   /* _mesa_function_pool[10804]: StencilFuncSeparate (will be remapped) */
-   "iiii\0"
-   "glStencilFuncSeparate\0"
-   "\0"
-   /* _mesa_function_pool[10832]: SecondaryColor3sEXT (will be remapped) */
-   "iii\0"
-   "glSecondaryColor3s\0"
-   "glSecondaryColor3sEXT\0"
-   "\0"
-   /* _mesa_function_pool[10878]: Color3fVertex3fvSUN (dynamic) */
-   "pp\0"
-   "glColor3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[10904]: GetInteger64i_v (will be remapped) */
-   "iip\0"
-   "glGetInteger64i_v\0"
-   "\0"
-   /* _mesa_function_pool[10927]: GetVertexAttribdvNV (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribdvNV\0"
-   "\0"
-   /* _mesa_function_pool[10954]: Normal3fv (offset 57) */
-   "p\0"
-   "glNormal3fv\0"
-   "\0"
-   /* _mesa_function_pool[10969]: GlobalAlphaFactorbSUN (dynamic) */
-   "i\0"
-   "glGlobalAlphaFactorbSUN\0"
-   "\0"
-   /* _mesa_function_pool[10996]: Color3us (offset 23) */
-   "iii\0"
-   "glColor3us\0"
-   "\0"
-   /* _mesa_function_pool[11012]: ImageTransformParameterfvHP (dynamic) */
-   "iip\0"
-   "glImageTransformParameterfvHP\0"
-   "\0"
-   /* _mesa_function_pool[11047]: VertexAttrib4ivARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4iv\0"
-   "glVertexAttrib4ivARB\0"
-   "\0"
-   /* _mesa_function_pool[11090]: End (offset 43) */
-   "\0"
-   "glEnd\0"
-   "\0"
-   /* _mesa_function_pool[11098]: VertexAttrib3fNV (will be remapped) */
-   "ifff\0"
-   "glVertexAttrib3fNV\0"
-   "\0"
-   /* _mesa_function_pool[11123]: MultiTexCoordP3uiv (will be remapped) */
-   "iip\0"
-   "glMultiTexCoordP3uiv\0"
-   "\0"
-   /* _mesa_function_pool[11149]: VertexAttribs2dvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs2dvNV\0"
-   "\0"
-   /* _mesa_function_pool[11175]: GetQueryObjectui64vEXT (will be remapped) */
-   "iip\0"
-   "glGetQueryObjectui64vEXT\0"
-   "\0"
-   /* _mesa_function_pool[11205]: MultiTexCoord3fvARB (offset 395) */
-   "ip\0"
-   "glMultiTexCoord3fv\0"
-   "glMultiTexCoord3fvARB\0"
-   "\0"
-   /* _mesa_function_pool[11250]: SecondaryColor3dEXT (will be remapped) */
-   "ddd\0"
-   "glSecondaryColor3d\0"
-   "glSecondaryColor3dEXT\0"
-   "\0"
-   /* _mesa_function_pool[11296]: Color3ub (offset 19) */
-   "iii\0"
-   "glColor3ub\0"
-   "\0"
-   /* _mesa_function_pool[11312]: GetProgramParameterfvNV (will be remapped) */
-   "iiip\0"
-   "glGetProgramParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[11344]: TangentPointerEXT (dynamic) */
-   "iip\0"
-   "glTangentPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[11369]: Color4fNormal3fVertex3fvSUN (dynamic) */
-   "ppp\0"
-   "glColor4fNormal3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[11404]: GetInstrumentsSGIX (dynamic) */
-   "\0"
-   "glGetInstrumentsSGIX\0"
-   "\0"
-   /* _mesa_function_pool[11427]: GetUniformuivEXT (will be remapped) */
-   "iip\0"
-   "glGetUniformuivEXT\0"
-   "glGetUniformuiv\0"
-   "\0"
-   /* _mesa_function_pool[11467]: Color3ui (offset 21) */
-   "iii\0"
-   "glColor3ui\0"
-   "\0"
-   /* _mesa_function_pool[11483]: EvalMapsNV (dynamic) */
-   "ii\0"
-   "glEvalMapsNV\0"
-   "\0"
-   /* _mesa_function_pool[11500]: TexSubImage2D (offset 333) */
-   "iiiiiiiip\0"
-   "glTexSubImage2D\0"
-   "glTexSubImage2DEXT\0"
-   "\0"
-   /* _mesa_function_pool[11546]: FragmentLightivSGIX (dynamic) */
-   "iip\0"
-   "glFragmentLightivSGIX\0"
-   "\0"
-   /* _mesa_function_pool[11573]: GetTexParameterPointervAPPLE (will be remapped) */
-   "iip\0"
-   "glGetTexParameterPointervAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[11609]: TexGenfv (offset 191) */
-   "iip\0"
-   "glTexGenfv\0"
-   "\0"
-   /* _mesa_function_pool[11625]: GetTransformFeedbackVaryingEXT (will be remapped) */
-   "iiipppp\0"
-   "glGetTransformFeedbackVaryingEXT\0"
-   "glGetTransformFeedbackVarying\0"
-   "\0"
-   /* _mesa_function_pool[11697]: VertexAttrib4bvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4bv\0"
-   "glVertexAttrib4bvARB\0"
-   "\0"
-   /* _mesa_function_pool[11740]: ShaderBinary (will be remapped) */
-   "ipipi\0"
-   "glShaderBinary\0"
-   "\0"
-   /* _mesa_function_pool[11762]: GetIntegerIndexedvEXT (will be remapped) */
-   "iip\0"
-   "glGetIntegerIndexedvEXT\0"
-   "glGetIntegeri_v\0"
-   "\0"
-   /* _mesa_function_pool[11807]: MultiTexCoord4sARB (offset 406) */
-   "iiiii\0"
-   "glMultiTexCoord4s\0"
-   "glMultiTexCoord4sARB\0"
-   "\0"
-   /* _mesa_function_pool[11853]: GetFragmentMaterialivSGIX (dynamic) */
-   "iip\0"
-   "glGetFragmentMaterialivSGIX\0"
-   "\0"
-   /* _mesa_function_pool[11886]: WindowPos4dMESA (will be remapped) */
-   "dddd\0"
-   "glWindowPos4dMESA\0"
-   "\0"
-   /* _mesa_function_pool[11910]: WeightPointerARB (dynamic) */
-   "iiip\0"
-   "glWeightPointerARB\0"
-   "\0"
-   /* _mesa_function_pool[11935]: WindowPos2dMESA (will be remapped) */
-   "dd\0"
-   "glWindowPos2d\0"
-   "glWindowPos2dARB\0"
-   "glWindowPos2dMESA\0"
-   "\0"
-   /* _mesa_function_pool[11988]: FramebufferTexture3DEXT (will be remapped) */
-   "iiiiii\0"
-   "glFramebufferTexture3D\0"
-   "glFramebufferTexture3DEXT\0"
-   "\0"
-   /* _mesa_function_pool[12045]: BlendEquation (offset 337) */
-   "i\0"
-   "glBlendEquation\0"
-   "glBlendEquationEXT\0"
-   "\0"
-   /* _mesa_function_pool[12083]: VertexAttrib3dNV (will be remapped) */
-   "iddd\0"
-   "glVertexAttrib3dNV\0"
-   "\0"
-   /* _mesa_function_pool[12108]: VertexAttrib3dARB (will be remapped) */
-   "iddd\0"
-   "glVertexAttrib3d\0"
-   "glVertexAttrib3dARB\0"
-   "\0"
-   /* _mesa_function_pool[12151]: VertexAttribI4usvEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI4usvEXT\0"
-   "glVertexAttribI4usv\0"
-   "\0"
-   /* _mesa_function_pool[12198]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
-   "ppppp\0"
-   "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[12262]: VertexAttrib4fARB (will be remapped) */
-   "iffff\0"
-   "glVertexAttrib4f\0"
-   "glVertexAttrib4fARB\0"
-   "\0"
-   /* _mesa_function_pool[12306]: GetError (offset 261) */
-   "\0"
-   "glGetError\0"
-   "\0"
-   /* _mesa_function_pool[12319]: IndexFuncEXT (dynamic) */
-   "if\0"
-   "glIndexFuncEXT\0"
-   "\0"
-   /* _mesa_function_pool[12338]: TexCoord3dv (offset 111) */
-   "p\0"
-   "glTexCoord3dv\0"
-   "\0"
-   /* _mesa_function_pool[12355]: Indexdv (offset 45) */
-   "p\0"
-   "glIndexdv\0"
-   "\0"
-   /* _mesa_function_pool[12368]: FramebufferTexture2DEXT (will be remapped) */
-   "iiiii\0"
-   "glFramebufferTexture2D\0"
-   "glFramebufferTexture2DEXT\0"
-   "\0"
-   /* _mesa_function_pool[12424]: Normal3s (offset 60) */
-   "iii\0"
-   "glNormal3s\0"
-   "\0"
-   /* _mesa_function_pool[12440]: GetObjectParameterivAPPLE (will be remapped) */
-   "iiip\0"
-   "glGetObjectParameterivAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[12474]: PushName (offset 201) */
-   "i\0"
-   "glPushName\0"
-   "\0"
-   /* _mesa_function_pool[12488]: MultiTexCoord2dvARB (offset 385) */
-   "ip\0"
-   "glMultiTexCoord2dv\0"
-   "glMultiTexCoord2dvARB\0"
-   "\0"
-   /* _mesa_function_pool[12533]: CullParameterfvEXT (dynamic) */
-   "ip\0"
-   "glCullParameterfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[12558]: Normal3i (offset 58) */
-   "iii\0"
-   "glNormal3i\0"
-   "\0"
-   /* _mesa_function_pool[12574]: ProgramNamedParameter4fvNV (will be remapped) */
-   "iipp\0"
-   "glProgramNamedParameter4fvNV\0"
-   "\0"
-   /* _mesa_function_pool[12609]: SecondaryColorPointerEXT (will be remapped) */
-   "iiip\0"
-   "glSecondaryColorPointer\0"
-   "glSecondaryColorPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[12666]: VertexAttrib4fvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4fv\0"
-   "glVertexAttrib4fvARB\0"
-   "\0"
-   /* _mesa_function_pool[12709]: PixelTexGenSGIX (will be remapped) */
-   "i\0"
-   "glPixelTexGenSGIX\0"
-   "\0"
-   /* _mesa_function_pool[12730]: GetActiveUniformARB (will be remapped) */
-   "iiipppp\0"
-   "glGetActiveUniform\0"
-   "glGetActiveUniformARB\0"
-   "\0"
-   /* _mesa_function_pool[12780]: ImageTransformParameteriHP (dynamic) */
-   "iii\0"
-   "glImageTransformParameteriHP\0"
-   "\0"
-   /* _mesa_function_pool[12814]: Normal3b (offset 52) */
-   "iii\0"
-   "glNormal3b\0"
-   "\0"
-   /* _mesa_function_pool[12830]: Normal3d (offset 54) */
-   "ddd\0"
-   "glNormal3d\0"
-   "\0"
-   /* _mesa_function_pool[12846]: Uniform1uiEXT (will be remapped) */
-   "ii\0"
-   "glUniform1uiEXT\0"
-   "glUniform1ui\0"
-   "\0"
-   /* _mesa_function_pool[12879]: Normal3f (offset 56) */
-   "fff\0"
-   "glNormal3f\0"
-   "\0"
-   /* _mesa_function_pool[12895]: MultiTexCoord1svARB (offset 383) */
-   "ip\0"
-   "glMultiTexCoord1sv\0"
-   "glMultiTexCoord1svARB\0"
-   "\0"
-   /* _mesa_function_pool[12940]: Indexi (offset 48) */
-   "i\0"
-   "glIndexi\0"
-   "\0"
-   /* _mesa_function_pool[12952]: EGLImageTargetTexture2DOES (will be remapped) */
-   "ip\0"
-   "glEGLImageTargetTexture2DOES\0"
-   "\0"
-   /* _mesa_function_pool[12985]: EndQueryARB (will be remapped) */
-   "i\0"
-   "glEndQuery\0"
-   "glEndQueryARB\0"
-   "\0"
-   /* _mesa_function_pool[13013]: DeleteFencesNV (will be remapped) */
-   "ip\0"
-   "glDeleteFencesNV\0"
-   "\0"
-   /* _mesa_function_pool[13034]: ColorPointerListIBM (dynamic) */
-   "iiipi\0"
-   "glColorPointerListIBM\0"
-   "\0"
-   /* _mesa_function_pool[13063]: BindBufferRangeEXT (will be remapped) */
-   "iiiii\0"
-   "glBindBufferRangeEXT\0"
-   "glBindBufferRange\0"
-   "\0"
-   /* _mesa_function_pool[13109]: DepthMask (offset 211) */
-   "i\0"
-   "glDepthMask\0"
-   "\0"
-   /* _mesa_function_pool[13124]: IsShader (will be remapped) */
-   "i\0"
-   "glIsShader\0"
-   "\0"
-   /* _mesa_function_pool[13138]: Indexf (offset 46) */
-   "f\0"
-   "glIndexf\0"
-   "\0"
-   /* _mesa_function_pool[13150]: GetImageTransformParameterivHP (dynamic) */
-   "iip\0"
-   "glGetImageTransformParameterivHP\0"
-   "\0"
-   /* _mesa_function_pool[13188]: Indexd (offset 44) */
-   "d\0"
-   "glIndexd\0"
-   "\0"
-   /* _mesa_function_pool[13200]: GetMaterialiv (offset 270) */
-   "iip\0"
-   "glGetMaterialiv\0"
-   "\0"
-   /* _mesa_function_pool[13221]: StencilOp (offset 244) */
-   "iii\0"
-   "glStencilOp\0"
-   "\0"
-   /* _mesa_function_pool[13238]: WindowPos4ivMESA (will be remapped) */
-   "p\0"
-   "glWindowPos4ivMESA\0"
-   "\0"
-   /* _mesa_function_pool[13260]: MultiTexCoord3svARB (offset 399) */
-   "ip\0"
-   "glMultiTexCoord3sv\0"
-   "glMultiTexCoord3svARB\0"
-   "\0"
-   /* _mesa_function_pool[13305]: TexEnvfv (offset 185) */
-   "iip\0"
-   "glTexEnvfv\0"
-   "\0"
-   /* _mesa_function_pool[13321]: MultiTexCoord4iARB (offset 404) */
-   "iiiii\0"
-   "glMultiTexCoord4i\0"
-   "glMultiTexCoord4iARB\0"
-   "\0"
-   /* _mesa_function_pool[13367]: Indexs (offset 50) */
-   "i\0"
-   "glIndexs\0"
-   "\0"
-   /* _mesa_function_pool[13379]: Binormal3ivEXT (dynamic) */
-   "p\0"
-   "glBinormal3ivEXT\0"
-   "\0"
-   /* _mesa_function_pool[13399]: ResizeBuffersMESA (will be remapped) */
-   "\0"
-   "glResizeBuffersMESA\0"
-   "\0"
-   /* _mesa_function_pool[13421]: MultiTexCoordP1uiv (will be remapped) */
-   "iip\0"
-   "glMultiTexCoordP1uiv\0"
-   "\0"
-   /* _mesa_function_pool[13447]: BlendFuncSeparateiARB (will be remapped) */
-   "iiiii\0"
-   "glBlendFuncSeparateiARB\0"
-   "glBlendFuncSeparateIndexedAMD\0"
-   "\0"
-   /* _mesa_function_pool[13508]: GetUniformivARB (will be remapped) */
-   "iip\0"
-   "glGetUniformiv\0"
-   "glGetUniformivARB\0"
-   "\0"
-   /* _mesa_function_pool[13546]: PixelTexGenParameteriSGIS (will be remapped) */
-   "ii\0"
-   "glPixelTexGenParameteriSGIS\0"
-   "\0"
-   /* _mesa_function_pool[13578]: VertexPointervINTEL (dynamic) */
-   "iip\0"
-   "glVertexPointervINTEL\0"
-   "\0"
-   /* _mesa_function_pool[13605]: Vertex2i (offset 130) */
-   "ii\0"
-   "glVertex2i\0"
-   "\0"
-   /* _mesa_function_pool[13620]: LoadMatrixf (offset 291) */
-   "p\0"
-   "glLoadMatrixf\0"
-   "\0"
-   /* _mesa_function_pool[13637]: VertexAttribI1uivEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI1uivEXT\0"
-   "glVertexAttribI1uiv\0"
-   "\0"
-   /* _mesa_function_pool[13684]: Vertex2f (offset 128) */
-   "ff\0"
-   "glVertex2f\0"
-   "\0"
-   /* _mesa_function_pool[13699]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */
-   "pppp\0"
-   "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[13752]: Color4bv (offset 26) */
-   "p\0"
-   "glColor4bv\0"
-   "\0"
-   /* _mesa_function_pool[13766]: VertexPointer (offset 321) */
-   "iiip\0"
-   "glVertexPointer\0"
-   "\0"
-   /* _mesa_function_pool[13788]: SecondaryColor3uiEXT (will be remapped) */
-   "iii\0"
-   "glSecondaryColor3ui\0"
-   "glSecondaryColor3uiEXT\0"
-   "\0"
-   /* _mesa_function_pool[13836]: StartInstrumentsSGIX (dynamic) */
-   "\0"
-   "glStartInstrumentsSGIX\0"
-   "\0"
-   /* _mesa_function_pool[13861]: SecondaryColor3usvEXT (will be remapped) */
-   "p\0"
-   "glSecondaryColor3usv\0"
-   "glSecondaryColor3usvEXT\0"
-   "\0"
-   /* _mesa_function_pool[13909]: VertexAttrib2fvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib2fvNV\0"
-   "\0"
-   /* _mesa_function_pool[13933]: ProgramLocalParameter4dvARB (will be remapped) */
-   "iip\0"
-   "glProgramLocalParameter4dvARB\0"
-   "\0"
-   /* _mesa_function_pool[13968]: DeleteLists (offset 4) */
-   "ii\0"
-   "glDeleteLists\0"
-   "\0"
-   /* _mesa_function_pool[13986]: LogicOp (offset 242) */
-   "i\0"
-   "glLogicOp\0"
-   "\0"
-   /* _mesa_function_pool[13999]: MatrixIndexuivARB (dynamic) */
-   "ip\0"
-   "glMatrixIndexuivARB\0"
-   "\0"
-   /* _mesa_function_pool[14023]: Vertex2s (offset 132) */
-   "ii\0"
-   "glVertex2s\0"
-   "\0"
-   /* _mesa_function_pool[14038]: RenderbufferStorageMultisample (will be remapped) */
-   "iiiii\0"
-   "glRenderbufferStorageMultisample\0"
-   "glRenderbufferStorageMultisampleEXT\0"
-   "\0"
-   /* _mesa_function_pool[14114]: TexCoord4fv (offset 121) */
-   "p\0"
-   "glTexCoord4fv\0"
-   "\0"
-   /* _mesa_function_pool[14131]: Tangent3sEXT (dynamic) */
-   "iii\0"
-   "glTangent3sEXT\0"
-   "\0"
-   /* _mesa_function_pool[14151]: GlobalAlphaFactorfSUN (dynamic) */
-   "f\0"
-   "glGlobalAlphaFactorfSUN\0"
-   "\0"
-   /* _mesa_function_pool[14178]: MultiTexCoord3iARB (offset 396) */
-   "iiii\0"
-   "glMultiTexCoord3i\0"
-   "glMultiTexCoord3iARB\0"
-   "\0"
-   /* _mesa_function_pool[14223]: IsProgram (will be remapped) */
-   "i\0"
-   "glIsProgram\0"
-   "\0"
-   /* _mesa_function_pool[14238]: TexCoordPointerListIBM (dynamic) */
-   "iiipi\0"
-   "glTexCoordPointerListIBM\0"
-   "\0"
-   /* _mesa_function_pool[14270]: VertexAttribI4svEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI4svEXT\0"
-   "glVertexAttribI4sv\0"
-   "\0"
-   /* _mesa_function_pool[14315]: GlobalAlphaFactorusSUN (dynamic) */
-   "i\0"
-   "glGlobalAlphaFactorusSUN\0"
-   "\0"
-   /* _mesa_function_pool[14343]: VertexAttrib2dvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib2dvNV\0"
-   "\0"
-   /* _mesa_function_pool[14367]: FramebufferRenderbufferEXT (will be remapped) */
-   "iiii\0"
-   "glFramebufferRenderbuffer\0"
-   "glFramebufferRenderbufferEXT\0"
-   "\0"
-   /* _mesa_function_pool[14428]: ClearBufferuiv (will be remapped) */
-   "iip\0"
-   "glClearBufferuiv\0"
-   "\0"
-   /* _mesa_function_pool[14450]: VertexAttrib1dvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib1dvNV\0"
-   "\0"
-   /* _mesa_function_pool[14474]: GenTextures (offset 328) */
-   "ip\0"
-   "glGenTextures\0"
-   "glGenTexturesEXT\0"
-   "\0"
-   /* _mesa_function_pool[14509]: FramebufferTextureARB (will be remapped) */
-   "iiii\0"
-   "glFramebufferTextureARB\0"
-   "\0"
-   /* _mesa_function_pool[14539]: SetFenceNV (will be remapped) */
-   "ii\0"
-   "glSetFenceNV\0"
-   "\0"
-   /* _mesa_function_pool[14556]: FramebufferTexture1DEXT (will be remapped) */
-   "iiiii\0"
-   "glFramebufferTexture1D\0"
-   "glFramebufferTexture1DEXT\0"
-   "\0"
-   /* _mesa_function_pool[14612]: GetCombinerOutputParameterivNV (will be remapped) */
-   "iiip\0"
-   "glGetCombinerOutputParameterivNV\0"
-   "\0"
-   /* _mesa_function_pool[14651]: MultiModeDrawArraysIBM (will be remapped) */
-   "pppii\0"
-   "glMultiModeDrawArraysIBM\0"
-   "\0"
-   /* _mesa_function_pool[14683]: PixelTexGenParameterivSGIS (will be remapped) */
-   "ip\0"
-   "glPixelTexGenParameterivSGIS\0"
-   "\0"
-   /* _mesa_function_pool[14716]: TextureNormalEXT (dynamic) */
-   "i\0"
-   "glTextureNormalEXT\0"
-   "\0"
-   /* _mesa_function_pool[14738]: IndexPointerListIBM (dynamic) */
-   "iipi\0"
-   "glIndexPointerListIBM\0"
-   "\0"
-   /* _mesa_function_pool[14766]: WeightfvARB (dynamic) */
-   "ip\0"
-   "glWeightfvARB\0"
-   "\0"
-   /* _mesa_function_pool[14784]: GetCombinerOutputParameterfvNV (will be remapped) */
-   "iiip\0"
-   "glGetCombinerOutputParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[14823]: MultiTexCoordP3ui (will be remapped) */
-   "iii\0"
-   "glMultiTexCoordP3ui\0"
-   "\0"
-   /* _mesa_function_pool[14848]: RasterPos2sv (offset 69) */
-   "p\0"
-   "glRasterPos2sv\0"
-   "\0"
-   /* _mesa_function_pool[14866]: Color4ubv (offset 36) */
-   "p\0"
-   "glColor4ubv\0"
-   "\0"
-   /* _mesa_function_pool[14881]: DrawBuffer (offset 202) */
-   "i\0"
-   "glDrawBuffer\0"
-   "\0"
-   /* _mesa_function_pool[14897]: TexCoord2fv (offset 105) */
-   "p\0"
-   "glTexCoord2fv\0"
-   "\0"
-   /* _mesa_function_pool[14914]: WindowPos4fMESA (will be remapped) */
-   "ffff\0"
-   "glWindowPos4fMESA\0"
-   "\0"
-   /* _mesa_function_pool[14938]: TexCoord1sv (offset 101) */
-   "p\0"
-   "glTexCoord1sv\0"
-   "\0"
-   /* _mesa_function_pool[14955]: WindowPos3dvMESA (will be remapped) */
-   "p\0"
-   "glWindowPos3dv\0"
-   "glWindowPos3dvARB\0"
-   "glWindowPos3dvMESA\0"
-   "\0"
-   /* _mesa_function_pool[15010]: VertexAttribP1uiv (will be remapped) */
-   "iiip\0"
-   "glVertexAttribP1uiv\0"
-   "\0"
-   /* _mesa_function_pool[15036]: VertexAttribP4ui (will be remapped) */
-   "iiii\0"
-   "glVertexAttribP4ui\0"
-   "\0"
-   /* _mesa_function_pool[15061]: DepthFunc (offset 245) */
-   "i\0"
-   "glDepthFunc\0"
-   "\0"
-   /* _mesa_function_pool[15076]: PixelMapusv (offset 253) */
-   "iip\0"
-   "glPixelMapusv\0"
-   "\0"
-   /* _mesa_function_pool[15095]: GetQueryObjecti64vEXT (will be remapped) */
-   "iip\0"
-   "glGetQueryObjecti64vEXT\0"
-   "\0"
-   /* _mesa_function_pool[15124]: MultiTexCoord1dARB (offset 376) */
-   "id\0"
-   "glMultiTexCoord1d\0"
-   "glMultiTexCoord1dARB\0"
-   "\0"
-   /* _mesa_function_pool[15167]: PointParameterivNV (will be remapped) */
-   "ip\0"
-   "glPointParameteriv\0"
-   "glPointParameterivNV\0"
-   "\0"
-   /* _mesa_function_pool[15211]: IsSampler (will be remapped) */
-   "i\0"
-   "glIsSampler\0"
-   "\0"
-   /* _mesa_function_pool[15226]: BlendFunc (offset 241) */
-   "ii\0"
-   "glBlendFunc\0"
-   "\0"
-   /* _mesa_function_pool[15242]: EndTransformFeedbackEXT (will be remapped) */
-   "\0"
-   "glEndTransformFeedbackEXT\0"
-   "glEndTransformFeedback\0"
-   "\0"
-   /* _mesa_function_pool[15293]: Uniform2fvARB (will be remapped) */
-   "iip\0"
-   "glUniform2fv\0"
-   "glUniform2fvARB\0"
-   "\0"
-   /* _mesa_function_pool[15327]: BufferParameteriAPPLE (will be remapped) */
-   "iii\0"
-   "glBufferParameteriAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[15356]: MultiTexCoord3dvARB (offset 393) */
-   "ip\0"
-   "glMultiTexCoord3dv\0"
-   "glMultiTexCoord3dvARB\0"
-   "\0"
-   /* _mesa_function_pool[15401]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */
-   "pppp\0"
-   "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[15457]: DeleteObjectARB (will be remapped) */
-   "i\0"
-   "glDeleteObjectARB\0"
-   "\0"
-   /* _mesa_function_pool[15478]: GetShaderPrecisionFormat (will be remapped) */
-   "iipp\0"
-   "glGetShaderPrecisionFormat\0"
-   "\0"
-   /* _mesa_function_pool[15511]: MatrixIndexPointerARB (dynamic) */
-   "iiip\0"
-   "glMatrixIndexPointerARB\0"
-   "\0"
-   /* _mesa_function_pool[15541]: ProgramNamedParameter4dvNV (will be remapped) */
-   "iipp\0"
-   "glProgramNamedParameter4dvNV\0"
-   "\0"
-   /* _mesa_function_pool[15576]: Tangent3fvEXT (dynamic) */
-   "p\0"
-   "glTangent3fvEXT\0"
-   "\0"
-   /* _mesa_function_pool[15595]: Flush (offset 217) */
-   "\0"
-   "glFlush\0"
-   "\0"
-   /* _mesa_function_pool[15605]: Color4uiv (offset 38) */
-   "p\0"
-   "glColor4uiv\0"
-   "\0"
-   /* _mesa_function_pool[15620]: VertexAttribI4iEXT (will be remapped) */
-   "iiiii\0"
-   "glVertexAttribI4iEXT\0"
-   "glVertexAttribI4i\0"
-   "\0"
-   /* _mesa_function_pool[15666]: GenVertexArrays (will be remapped) */
-   "ip\0"
-   "glGenVertexArrays\0"
-   "\0"
-   /* _mesa_function_pool[15688]: Uniform3uivEXT (will be remapped) */
-   "iip\0"
-   "glUniform3uivEXT\0"
-   "glUniform3uiv\0"
-   "\0"
-   /* _mesa_function_pool[15724]: RasterPos3sv (offset 77) */
-   "p\0"
-   "glRasterPos3sv\0"
-   "\0"
-   /* _mesa_function_pool[15742]: TexCoordP2ui (will be remapped) */
-   "ii\0"
-   "glTexCoordP2ui\0"
-   "\0"
-   /* _mesa_function_pool[15761]: BindFramebufferEXT (will be remapped) */
-   "ii\0"
-   "glBindFramebuffer\0"
-   "glBindFramebufferEXT\0"
-   "\0"
-   /* _mesa_function_pool[15804]: ReferencePlaneSGIX (dynamic) */
-   "p\0"
-   "glReferencePlaneSGIX\0"
-   "\0"
-   /* _mesa_function_pool[15828]: PushAttrib (offset 219) */
-   "i\0"
-   "glPushAttrib\0"
-   "\0"
-   /* _mesa_function_pool[15844]: RasterPos2i (offset 66) */
-   "ii\0"
-   "glRasterPos2i\0"
-   "\0"
-   /* _mesa_function_pool[15862]: ValidateProgramARB (will be remapped) */
-   "i\0"
-   "glValidateProgram\0"
-   "glValidateProgramARB\0"
-   "\0"
-   /* _mesa_function_pool[15904]: TexParameteriv (offset 181) */
-   "iip\0"
-   "glTexParameteriv\0"
-   "\0"
-   /* _mesa_function_pool[15926]: UnlockArraysEXT (will be remapped) */
-   "\0"
-   "glUnlockArraysEXT\0"
-   "\0"
-   /* _mesa_function_pool[15946]: TexCoord2fColor3fVertex3fSUN (dynamic) */
-   "ffffffff\0"
-   "glTexCoord2fColor3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[15987]: WindowPos3fvMESA (will be remapped) */
-   "p\0"
-   "glWindowPos3fv\0"
-   "glWindowPos3fvARB\0"
-   "glWindowPos3fvMESA\0"
-   "\0"
-   /* _mesa_function_pool[16042]: RasterPos2f (offset 64) */
-   "ff\0"
-   "glRasterPos2f\0"
-   "\0"
-   /* _mesa_function_pool[16060]: VertexAttrib1svNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib1svNV\0"
-   "\0"
-   /* _mesa_function_pool[16084]: RasterPos2d (offset 62) */
-   "dd\0"
-   "glRasterPos2d\0"
-   "\0"
-   /* _mesa_function_pool[16102]: RasterPos3fv (offset 73) */
-   "p\0"
-   "glRasterPos3fv\0"
-   "\0"
-   /* _mesa_function_pool[16120]: CopyTexSubImage3D (offset 373) */
-   "iiiiiiiii\0"
-   "glCopyTexSubImage3D\0"
-   "glCopyTexSubImage3DEXT\0"
-   "\0"
-   /* _mesa_function_pool[16174]: VertexAttrib2dARB (will be remapped) */
-   "idd\0"
-   "glVertexAttrib2d\0"
-   "glVertexAttrib2dARB\0"
-   "\0"
-   /* _mesa_function_pool[16216]: Color4ub (offset 35) */
-   "iiii\0"
-   "glColor4ub\0"
-   "\0"
-   /* _mesa_function_pool[16233]: GetInteger64v (will be remapped) */
-   "ip\0"
-   "glGetInteger64v\0"
-   "\0"
-   /* _mesa_function_pool[16253]: TextureColorMaskSGIS (dynamic) */
-   "iiii\0"
-   "glTextureColorMaskSGIS\0"
-   "\0"
-   /* _mesa_function_pool[16282]: RasterPos2s (offset 68) */
-   "ii\0"
-   "glRasterPos2s\0"
-   "\0"
-   /* _mesa_function_pool[16300]: GetColorTable (offset 343) */
-   "iiip\0"
-   "glGetColorTable\0"
-   "glGetColorTableSGI\0"
-   "glGetColorTableEXT\0"
-   "\0"
-   /* _mesa_function_pool[16360]: SelectBuffer (offset 195) */
-   "ip\0"
-   "glSelectBuffer\0"
-   "\0"
-   /* _mesa_function_pool[16379]: Indexiv (offset 49) */
-   "p\0"
-   "glIndexiv\0"
-   "\0"
-   /* _mesa_function_pool[16392]: TexCoord3i (offset 114) */
-   "iii\0"
-   "glTexCoord3i\0"
-   "\0"
-   /* _mesa_function_pool[16410]: CopyColorTable (offset 342) */
-   "iiiii\0"
-   "glCopyColorTable\0"
-   "glCopyColorTableSGI\0"
-   "\0"
-   /* _mesa_function_pool[16454]: GetHistogramParameterfv (offset 362) */
-   "iip\0"
-   "glGetHistogramParameterfv\0"
-   "glGetHistogramParameterfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[16514]: Frustum (offset 289) */
-   "dddddd\0"
-   "glFrustum\0"
-   "\0"
-   /* _mesa_function_pool[16532]: GetString (offset 275) */
-   "i\0"
-   "glGetString\0"
-   "\0"
-   /* _mesa_function_pool[16547]: ColorPointervINTEL (dynamic) */
-   "iip\0"
-   "glColorPointervINTEL\0"
-   "\0"
-   /* _mesa_function_pool[16573]: TexEnvf (offset 184) */
-   "iif\0"
-   "glTexEnvf\0"
-   "\0"
-   /* _mesa_function_pool[16588]: VertexP2uiv (will be remapped) */
-   "ip\0"
-   "glVertexP2uiv\0"
-   "\0"
-   /* _mesa_function_pool[16606]: TexCoord3d (offset 110) */
-   "ddd\0"
-   "glTexCoord3d\0"
-   "\0"
-   /* _mesa_function_pool[16624]: AlphaFragmentOp1ATI (will be remapped) */
-   "iiiiii\0"
-   "glAlphaFragmentOp1ATI\0"
-   "\0"
-   /* _mesa_function_pool[16654]: TexCoord3f (offset 112) */
-   "fff\0"
-   "glTexCoord3f\0"
-   "\0"
-   /* _mesa_function_pool[16672]: MultiTexCoord3ivARB (offset 397) */
-   "ip\0"
-   "glMultiTexCoord3iv\0"
-   "glMultiTexCoord3ivARB\0"
-   "\0"
-   /* _mesa_function_pool[16717]: MultiTexCoord2sARB (offset 390) */
-   "iii\0"
-   "glMultiTexCoord2s\0"
-   "glMultiTexCoord2sARB\0"
-   "\0"
-   /* _mesa_function_pool[16761]: VertexAttrib1dvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib1dv\0"
-   "glVertexAttrib1dvARB\0"
-   "\0"
-   /* _mesa_function_pool[16804]: GetnHistogramARB (will be remapped) */
-   "iiiiip\0"
-   "glGetnHistogramARB\0"
-   "\0"
-   /* _mesa_function_pool[16831]: DeleteTextures (offset 327) */
-   "ip\0"
-   "glDeleteTextures\0"
-   "glDeleteTexturesEXT\0"
-   "\0"
-   /* _mesa_function_pool[16872]: TexCoordPointerEXT (will be remapped) */
-   "iiiip\0"
-   "glTexCoordPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[16900]: TexSubImage4DSGIS (dynamic) */
-   "iiiiiiiiiiiip\0"
-   "glTexSubImage4DSGIS\0"
-   "\0"
-   /* _mesa_function_pool[16935]: TexCoord3s (offset 116) */
-   "iii\0"
-   "glTexCoord3s\0"
-   "\0"
-   /* _mesa_function_pool[16953]: GetTexLevelParameteriv (offset 285) */
-   "iiip\0"
-   "glGetTexLevelParameteriv\0"
-   "\0"
-   /* _mesa_function_pool[16984]: CombinerStageParameterfvNV (dynamic) */
-   "iip\0"
-   "glCombinerStageParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[17018]: VertexAttribP4uiv (will be remapped) */
-   "iiip\0"
-   "glVertexAttribP4uiv\0"
-   "\0"
-   /* _mesa_function_pool[17044]: StopInstrumentsSGIX (dynamic) */
-   "i\0"
-   "glStopInstrumentsSGIX\0"
-   "\0"
-   /* _mesa_function_pool[17069]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */
-   "fffffffffffffff\0"
-   "glTexCoord4fColor4fNormal3fVertex4fSUN\0"
-   "\0"
-   /* _mesa_function_pool[17125]: ClearAccum (offset 204) */
-   "ffff\0"
-   "glClearAccum\0"
-   "\0"
-   /* _mesa_function_pool[17144]: DeformSGIX (dynamic) */
-   "i\0"
-   "glDeformSGIX\0"
-   "\0"
-   /* _mesa_function_pool[17160]: GetVertexAttribfvARB (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribfv\0"
-   "glGetVertexAttribfvARB\0"
-   "\0"
-   /* _mesa_function_pool[17208]: SecondaryColor3ivEXT (will be remapped) */
-   "p\0"
-   "glSecondaryColor3iv\0"
-   "glSecondaryColor3ivEXT\0"
-   "\0"
-   /* _mesa_function_pool[17254]: TexCoord4iv (offset 123) */
-   "p\0"
-   "glTexCoord4iv\0"
-   "\0"
-   /* _mesa_function_pool[17271]: VertexAttribI4uiEXT (will be remapped) */
-   "iiiii\0"
-   "glVertexAttribI4uiEXT\0"
-   "glVertexAttribI4ui\0"
-   "\0"
-   /* _mesa_function_pool[17319]: GetFragmentMaterialfvSGIX (dynamic) */
-   "iip\0"
-   "glGetFragmentMaterialfvSGIX\0"
-   "\0"
-   /* _mesa_function_pool[17352]: UniformMatrix4x2fv (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix4x2fv\0"
-   "\0"
-   /* _mesa_function_pool[17379]: GetDetailTexFuncSGIS (dynamic) */
-   "ip\0"
-   "glGetDetailTexFuncSGIS\0"
-   "\0"
-   /* _mesa_function_pool[17406]: GetCombinerStageParameterfvNV (dynamic) */
-   "iip\0"
-   "glGetCombinerStageParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[17443]: SamplerParameterIiv (will be remapped) */
-   "iip\0"
-   "glSamplerParameterIiv\0"
-   "\0"
-   /* _mesa_function_pool[17470]: PolygonOffset (offset 319) */
-   "ff\0"
-   "glPolygonOffset\0"
-   "\0"
-   /* _mesa_function_pool[17490]: BindVertexArray (will be remapped) */
-   "i\0"
-   "glBindVertexArray\0"
-   "\0"
-   /* _mesa_function_pool[17511]: Color4ubVertex2fvSUN (dynamic) */
-   "pp\0"
-   "glColor4ubVertex2fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[17538]: VertexP3uiv (will be remapped) */
-   "ip\0"
-   "glVertexP3uiv\0"
-   "\0"
-   /* _mesa_function_pool[17556]: Rectd (offset 86) */
-   "dddd\0"
-   "glRectd\0"
-   "\0"
-   /* _mesa_function_pool[17570]: TexFilterFuncSGIS (dynamic) */
-   "iiip\0"
-   "glTexFilterFuncSGIS\0"
-   "\0"
-   /* _mesa_function_pool[17596]: TextureBarrierNV (will be remapped) */
-   "\0"
-   "glTextureBarrierNV\0"
-   "\0"
-   /* _mesa_function_pool[17617]: SamplerParameterfv (will be remapped) */
-   "iip\0"
-   "glSamplerParameterfv\0"
-   "\0"
-   /* _mesa_function_pool[17643]: VertexAttribI4ubvEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI4ubvEXT\0"
-   "glVertexAttribI4ubv\0"
-   "\0"
-   /* _mesa_function_pool[17690]: GetAttribLocationARB (will be remapped) */
-   "ip\0"
-   "glGetAttribLocation\0"
-   "glGetAttribLocationARB\0"
-   "\0"
-   /* _mesa_function_pool[17737]: RasterPos3i (offset 74) */
-   "iii\0"
-   "glRasterPos3i\0"
-   "\0"
-   /* _mesa_function_pool[17756]: BlendEquationSeparateiARB (will be remapped) */
-   "iii\0"
-   "glBlendEquationSeparateiARB\0"
-   "glBlendEquationSeparateIndexedAMD\0"
-   "\0"
-   /* _mesa_function_pool[17823]: VertexAttrib4ubvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4ubv\0"
-   "glVertexAttrib4ubvARB\0"
-   "\0"
-   /* _mesa_function_pool[17868]: DetailTexFuncSGIS (dynamic) */
-   "iip\0"
-   "glDetailTexFuncSGIS\0"
-   "\0"
-   /* _mesa_function_pool[17893]: Normal3fVertex3fSUN (dynamic) */
-   "ffffff\0"
-   "glNormal3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[17923]: CopyTexImage2D (offset 324) */
-   "iiiiiiii\0"
-   "glCopyTexImage2D\0"
-   "glCopyTexImage2DEXT\0"
-   "\0"
-   /* _mesa_function_pool[17970]: GetBufferPointervARB (will be remapped) */
-   "iip\0"
-   "glGetBufferPointerv\0"
-   "glGetBufferPointervARB\0"
-   "\0"
-   /* _mesa_function_pool[18018]: ProgramEnvParameter4fARB (will be remapped) */
-   "iiffff\0"
-   "glProgramEnvParameter4fARB\0"
-   "glProgramParameter4fNV\0"
-   "\0"
-   /* _mesa_function_pool[18076]: Uniform3ivARB (will be remapped) */
-   "iip\0"
-   "glUniform3iv\0"
-   "glUniform3ivARB\0"
-   "\0"
-   /* _mesa_function_pool[18110]: Lightfv (offset 160) */
-   "iip\0"
-   "glLightfv\0"
-   "\0"
-   /* _mesa_function_pool[18125]: PrimitiveRestartIndexNV (will be remapped) */
-   "i\0"
-   "glPrimitiveRestartIndexNV\0"
-   "glPrimitiveRestartIndex\0"
-   "\0"
-   /* _mesa_function_pool[18178]: ClearDepth (offset 208) */
-   "d\0"
-   "glClearDepth\0"
-   "\0"
-   /* _mesa_function_pool[18194]: GetFenceivNV (will be remapped) */
-   "iip\0"
-   "glGetFenceivNV\0"
-   "\0"
-   /* _mesa_function_pool[18214]: WindowPos4dvMESA (will be remapped) */
-   "p\0"
-   "glWindowPos4dvMESA\0"
-   "\0"
-   /* _mesa_function_pool[18236]: ColorSubTable (offset 346) */
-   "iiiiip\0"
-   "glColorSubTable\0"
-   "glColorSubTableEXT\0"
-   "\0"
-   /* _mesa_function_pool[18279]: Color4fv (offset 30) */
-   "p\0"
-   "glColor4fv\0"
-   "\0"
-   /* _mesa_function_pool[18293]: MultiTexCoord4ivARB (offset 405) */
-   "ip\0"
-   "glMultiTexCoord4iv\0"
-   "glMultiTexCoord4ivARB\0"
-   "\0"
-   /* _mesa_function_pool[18338]: GetnMinmaxARB (will be remapped) */
-   "iiiiip\0"
-   "glGetnMinmaxARB\0"
-   "\0"
-   /* _mesa_function_pool[18362]: ProgramLocalParameters4fvEXT (will be remapped) */
-   "iiip\0"
-   "glProgramLocalParameters4fvEXT\0"
-   "\0"
-   /* _mesa_function_pool[18399]: ColorPointer (offset 308) */
-   "iiip\0"
-   "glColorPointer\0"
-   "\0"
-   /* _mesa_function_pool[18420]: Rects (offset 92) */
-   "iiii\0"
-   "glRects\0"
-   "\0"
-   /* _mesa_function_pool[18434]: GetMapAttribParameterfvNV (dynamic) */
-   "iiip\0"
-   "glGetMapAttribParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[18468]: CreateShaderProgramEXT (will be remapped) */
-   "ip\0"
-   "glCreateShaderProgramEXT\0"
-   "\0"
-   /* _mesa_function_pool[18497]: ActiveProgramEXT (will be remapped) */
-   "i\0"
-   "glActiveProgramEXT\0"
-   "\0"
-   /* _mesa_function_pool[18519]: Lightiv (offset 162) */
-   "iip\0"
-   "glLightiv\0"
-   "\0"
-   /* _mesa_function_pool[18534]: VertexAttrib4sARB (will be remapped) */
-   "iiiii\0"
-   "glVertexAttrib4s\0"
-   "glVertexAttrib4sARB\0"
-   "\0"
-   /* _mesa_function_pool[18578]: GetQueryObjectuivARB (will be remapped) */
-   "iip\0"
-   "glGetQueryObjectuiv\0"
-   "glGetQueryObjectuivARB\0"
-   "\0"
-   /* _mesa_function_pool[18626]: GetTexParameteriv (offset 283) */
-   "iip\0"
-   "glGetTexParameteriv\0"
-   "\0"
-   /* _mesa_function_pool[18651]: MapParameterivNV (dynamic) */
-   "iip\0"
-   "glMapParameterivNV\0"
-   "\0"
-   /* _mesa_function_pool[18675]: GenRenderbuffersEXT (will be remapped) */
-   "ip\0"
-   "glGenRenderbuffers\0"
-   "glGenRenderbuffersEXT\0"
-   "\0"
-   /* _mesa_function_pool[18720]: ClearBufferfv (will be remapped) */
-   "iip\0"
-   "glClearBufferfv\0"
-   "\0"
-   /* _mesa_function_pool[18741]: VertexAttrib2dvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib2dv\0"
-   "glVertexAttrib2dvARB\0"
-   "\0"
-   /* _mesa_function_pool[18784]: EdgeFlagPointerEXT (will be remapped) */
-   "iip\0"
-   "glEdgeFlagPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[18810]: VertexAttribs2svNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs2svNV\0"
-   "\0"
-   /* _mesa_function_pool[18836]: WeightbvARB (dynamic) */
-   "ip\0"
-   "glWeightbvARB\0"
-   "\0"
-   /* _mesa_function_pool[18854]: VertexAttrib2fvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib2fv\0"
-   "glVertexAttrib2fvARB\0"
-   "\0"
-   /* _mesa_function_pool[18897]: GetBufferParameterivARB (will be remapped) */
-   "iip\0"
-   "glGetBufferParameteriv\0"
-   "glGetBufferParameterivARB\0"
-   "\0"
-   /* _mesa_function_pool[18951]: Rectdv (offset 87) */
-   "pp\0"
-   "glRectdv\0"
-   "\0"
-   /* _mesa_function_pool[18964]: ListParameteriSGIX (dynamic) */
-   "iii\0"
-   "glListParameteriSGIX\0"
-   "\0"
-   /* _mesa_function_pool[18990]: BlendEquationiARB (will be remapped) */
-   "ii\0"
-   "glBlendEquationiARB\0"
-   "glBlendEquationIndexedAMD\0"
-   "\0"
-   /* _mesa_function_pool[19040]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */
-   "iffffffffff\0"
-   "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[19099]: InstrumentsBufferSGIX (dynamic) */
-   "ip\0"
-   "glInstrumentsBufferSGIX\0"
-   "\0"
-   /* _mesa_function_pool[19127]: VertexAttrib4NivARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4Niv\0"
-   "glVertexAttrib4NivARB\0"
-   "\0"
-   /* _mesa_function_pool[19172]: DrawArraysInstancedARB (will be remapped) */
-   "iiii\0"
-   "glDrawArraysInstancedARB\0"
-   "glDrawArraysInstancedEXT\0"
-   "glDrawArraysInstanced\0"
-   "\0"
-   /* _mesa_function_pool[19250]: GetAttachedShaders (will be remapped) */
-   "iipp\0"
-   "glGetAttachedShaders\0"
-   "\0"
-   /* _mesa_function_pool[19277]: GenVertexArraysAPPLE (will be remapped) */
-   "ip\0"
-   "glGenVertexArraysAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[19304]: ClearBufferfi (will be remapped) */
-   "iifi\0"
-   "glClearBufferfi\0"
-   "\0"
-   /* _mesa_function_pool[19326]: Materialiv (offset 172) */
-   "iip\0"
-   "glMaterialiv\0"
-   "\0"
-   /* _mesa_function_pool[19344]: PushClientAttrib (offset 335) */
-   "i\0"
-   "glPushClientAttrib\0"
-   "\0"
-   /* _mesa_function_pool[19366]: SamplerParameteriv (will be remapped) */
-   "iip\0"
-   "glSamplerParameteriv\0"
-   "\0"
-   /* _mesa_function_pool[19392]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
-   "pppp\0"
-   "glTexCoord2fColor4fNormal3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[19438]: WindowPos2iMESA (will be remapped) */
-   "ii\0"
-   "glWindowPos2i\0"
-   "glWindowPos2iARB\0"
-   "glWindowPos2iMESA\0"
-   "\0"
-   /* _mesa_function_pool[19491]: SampleMaskSGIS (will be remapped) */
-   "fi\0"
-   "glSampleMaskSGIS\0"
-   "glSampleMaskEXT\0"
-   "\0"
-   /* _mesa_function_pool[19528]: SecondaryColor3fvEXT (will be remapped) */
-   "p\0"
-   "glSecondaryColor3fv\0"
-   "glSecondaryColor3fvEXT\0"
-   "\0"
-   /* _mesa_function_pool[19574]: PolygonMode (offset 174) */
-   "ii\0"
-   "glPolygonMode\0"
-   "\0"
-   /* _mesa_function_pool[19592]: CompressedTexSubImage1DARB (will be remapped) */
-   "iiiiiip\0"
-   "glCompressedTexSubImage1D\0"
-   "glCompressedTexSubImage1DARB\0"
-   "\0"
-   /* _mesa_function_pool[19656]: VertexAttribI1iEXT (will be remapped) */
-   "ii\0"
-   "glVertexAttribI1iEXT\0"
-   "glVertexAttribI1i\0"
-   "\0"
-   /* _mesa_function_pool[19699]: TexCoord2fNormal3fVertex3fSUN (dynamic) */
-   "ffffffff\0"
-   "glTexCoord2fNormal3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[19741]: GetVertexAttribivNV (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribivNV\0"
-   "\0"
-   /* _mesa_function_pool[19768]: GetProgramStringARB (will be remapped) */
-   "iip\0"
-   "glGetProgramStringARB\0"
-   "\0"
-   /* _mesa_function_pool[19795]: GetnUniformdvARB (will be remapped) */
-   "iiip\0"
-   "glGetnUniformdvARB\0"
-   "\0"
-   /* _mesa_function_pool[19820]: DrawElementsInstancedBaseVertex (will be remapped) */
-   "iiipii\0"
-   "glDrawElementsInstancedBaseVertex\0"
-   "\0"
-   /* _mesa_function_pool[19862]: VertexAttribIPointerEXT (will be remapped) */
-   "iiiip\0"
-   "glVertexAttribIPointerEXT\0"
-   "glVertexAttribIPointer\0"
-   "\0"
-   /* _mesa_function_pool[19918]: TexBumpParameterfvATI (will be remapped) */
-   "ip\0"
-   "glTexBumpParameterfvATI\0"
-   "\0"
-   /* _mesa_function_pool[19946]: Tangent3ivEXT (dynamic) */
-   "p\0"
-   "glTangent3ivEXT\0"
-   "\0"
-   /* _mesa_function_pool[19965]: CompileShaderARB (will be remapped) */
-   "i\0"
-   "glCompileShader\0"
-   "glCompileShaderARB\0"
-   "\0"
-   /* _mesa_function_pool[20003]: DeleteShader (will be remapped) */
-   "i\0"
-   "glDeleteShader\0"
-   "\0"
-   /* _mesa_function_pool[20021]: DisableClientState (offset 309) */
-   "i\0"
-   "glDisableClientState\0"
-   "\0"
-   /* _mesa_function_pool[20045]: TexGeni (offset 192) */
-   "iii\0"
-   "glTexGeni\0"
-   "\0"
-   /* _mesa_function_pool[20060]: TexGenf (offset 190) */
-   "iif\0"
-   "glTexGenf\0"
-   "\0"
-   /* _mesa_function_pool[20075]: Uniform3fARB (will be remapped) */
-   "ifff\0"
-   "glUniform3f\0"
-   "glUniform3fARB\0"
-   "\0"
-   /* _mesa_function_pool[20108]: TexGend (offset 188) */
-   "iid\0"
-   "glTexGend\0"
-   "\0"
-   /* _mesa_function_pool[20123]: ListParameterfvSGIX (dynamic) */
-   "iip\0"
-   "glListParameterfvSGIX\0"
-   "\0"
-   /* _mesa_function_pool[20150]: GetPolygonStipple (offset 274) */
-   "p\0"
-   "glGetPolygonStipple\0"
-   "\0"
-   /* _mesa_function_pool[20173]: ColorP3ui (will be remapped) */
-   "ii\0"
-   "glColorP3ui\0"
-   "\0"
-   /* _mesa_function_pool[20189]: Tangent3dvEXT (dynamic) */
-   "p\0"
-   "glTangent3dvEXT\0"
-   "\0"
-   /* _mesa_function_pool[20208]: BindBufferOffsetEXT (will be remapped) */
-   "iiii\0"
-   "glBindBufferOffsetEXT\0"
-   "\0"
-   /* _mesa_function_pool[20236]: WindowPos3sMESA (will be remapped) */
-   "iii\0"
-   "glWindowPos3s\0"
-   "glWindowPos3sARB\0"
-   "glWindowPos3sMESA\0"
-   "\0"
-   /* _mesa_function_pool[20290]: VertexAttrib2svNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib2svNV\0"
-   "\0"
-   /* _mesa_function_pool[20314]: DisableIndexedEXT (will be remapped) */
-   "ii\0"
-   "glDisableIndexedEXT\0"
-   "glDisablei\0"
-   "\0"
-   /* _mesa_function_pool[20349]: NormalP3uiv (will be remapped) */
-   "ip\0"
-   "glNormalP3uiv\0"
-   "\0"
-   /* _mesa_function_pool[20367]: SecondaryColorP3uiv (will be remapped) */
-   "ip\0"
-   "glSecondaryColorP3uiv\0"
-   "\0"
-   /* _mesa_function_pool[20393]: BindBufferBaseEXT (will be remapped) */
-   "iii\0"
-   "glBindBufferBaseEXT\0"
-   "glBindBufferBase\0"
-   "\0"
-   /* _mesa_function_pool[20435]: TexCoord2fVertex3fvSUN (dynamic) */
-   "pp\0"
-   "glTexCoord2fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[20464]: WindowPos4sMESA (will be remapped) */
-   "iiii\0"
-   "glWindowPos4sMESA\0"
-   "\0"
-   /* _mesa_function_pool[20488]: GetnPixelMapuivARB (will be remapped) */
-   "iip\0"
-   "glGetnPixelMapuivARB\0"
-   "\0"
-   /* _mesa_function_pool[20514]: VertexAttrib4NuivARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4Nuiv\0"
-   "glVertexAttrib4NuivARB\0"
-   "\0"
-   /* _mesa_function_pool[20561]: ClientActiveTextureARB (offset 375) */
-   "i\0"
-   "glClientActiveTexture\0"
-   "glClientActiveTextureARB\0"
-   "\0"
-   /* _mesa_function_pool[20611]: GetSamplerParameterIuiv (will be remapped) */
-   "iip\0"
-   "glGetSamplerParameterIuiv\0"
-   "\0"
-   /* _mesa_function_pool[20642]: ReplacementCodeusvSUN (dynamic) */
-   "p\0"
-   "glReplacementCodeusvSUN\0"
-   "\0"
-   /* _mesa_function_pool[20669]: Uniform4fARB (will be remapped) */
-   "iffff\0"
-   "glUniform4f\0"
-   "glUniform4fARB\0"
-   "\0"
-   /* _mesa_function_pool[20703]: Color4sv (offset 34) */
-   "p\0"
-   "glColor4sv\0"
-   "\0"
-   /* _mesa_function_pool[20717]: FlushMappedBufferRange (will be remapped) */
-   "iii\0"
-   "glFlushMappedBufferRange\0"
-   "\0"
-   /* _mesa_function_pool[20747]: IsProgramNV (will be remapped) */
-   "i\0"
-   "glIsProgramARB\0"
-   "glIsProgramNV\0"
-   "\0"
-   /* _mesa_function_pool[20779]: FlushMappedBufferRangeAPPLE (will be remapped) */
-   "iii\0"
-   "glFlushMappedBufferRangeAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[20814]: PixelZoom (offset 246) */
-   "ff\0"
-   "glPixelZoom\0"
-   "\0"
-   /* _mesa_function_pool[20830]: ReplacementCodePointerSUN (dynamic) */
-   "iip\0"
-   "glReplacementCodePointerSUN\0"
-   "\0"
-   /* _mesa_function_pool[20863]: ProgramEnvParameter4dARB (will be remapped) */
-   "iidddd\0"
-   "glProgramEnvParameter4dARB\0"
-   "glProgramParameter4dNV\0"
-   "\0"
-   /* _mesa_function_pool[20921]: ColorTableParameterfv (offset 340) */
-   "iip\0"
-   "glColorTableParameterfv\0"
-   "glColorTableParameterfvSGI\0"
-   "\0"
-   /* _mesa_function_pool[20977]: FragmentLightModelfSGIX (dynamic) */
-   "if\0"
-   "glFragmentLightModelfSGIX\0"
-   "\0"
-   /* _mesa_function_pool[21007]: Binormal3bvEXT (dynamic) */
-   "p\0"
-   "glBinormal3bvEXT\0"
-   "\0"
-   /* _mesa_function_pool[21027]: PixelMapuiv (offset 252) */
-   "iip\0"
-   "glPixelMapuiv\0"
-   "\0"
-   /* _mesa_function_pool[21046]: Color3dv (offset 12) */
-   "p\0"
-   "glColor3dv\0"
-   "\0"
-   /* _mesa_function_pool[21060]: IsTexture (offset 330) */
-   "i\0"
-   "glIsTexture\0"
-   "glIsTextureEXT\0"
-   "\0"
-   /* _mesa_function_pool[21090]: GenSamplers (will be remapped) */
-   "ip\0"
-   "glGenSamplers\0"
-   "\0"
-   /* _mesa_function_pool[21108]: VertexAttribP3uiv (will be remapped) */
-   "iiip\0"
-   "glVertexAttribP3uiv\0"
-   "\0"
-   /* _mesa_function_pool[21134]: VertexWeightfvEXT (dynamic) */
-   "p\0"
-   "glVertexWeightfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[21157]: VertexAttrib1dARB (will be remapped) */
-   "id\0"
-   "glVertexAttrib1d\0"
-   "glVertexAttrib1dARB\0"
-   "\0"
-   /* _mesa_function_pool[21198]: ImageTransformParameterivHP (dynamic) */
-   "iip\0"
-   "glImageTransformParameterivHP\0"
-   "\0"
-   /* _mesa_function_pool[21233]: TexCoord4i (offset 122) */
-   "iiii\0"
-   "glTexCoord4i\0"
-   "\0"
-   /* _mesa_function_pool[21252]: DeleteQueriesARB (will be remapped) */
-   "ip\0"
-   "glDeleteQueries\0"
-   "glDeleteQueriesARB\0"
-   "\0"
-   /* _mesa_function_pool[21291]: Color4ubVertex2fSUN (dynamic) */
-   "iiiiff\0"
-   "glColor4ubVertex2fSUN\0"
-   "\0"
-   /* _mesa_function_pool[21321]: FragmentColorMaterialSGIX (dynamic) */
-   "ii\0"
-   "glFragmentColorMaterialSGIX\0"
-   "\0"
-   /* _mesa_function_pool[21353]: CurrentPaletteMatrixARB (dynamic) */
-   "i\0"
-   "glCurrentPaletteMatrixARB\0"
-   "\0"
-   /* _mesa_function_pool[21382]: GetMapdv (offset 266) */
-   "iip\0"
-   "glGetMapdv\0"
-   "\0"
-   /* _mesa_function_pool[21398]: ObjectPurgeableAPPLE (will be remapped) */
-   "iii\0"
-   "glObjectPurgeableAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[21426]: GetStringi (will be remapped) */
-   "ii\0"
-   "glGetStringi\0"
-   "\0"
-   /* _mesa_function_pool[21443]: SamplePatternSGIS (will be remapped) */
-   "i\0"
-   "glSamplePatternSGIS\0"
-   "glSamplePatternEXT\0"
-   "\0"
-   /* _mesa_function_pool[21485]: PixelStoref (offset 249) */
-   "if\0"
-   "glPixelStoref\0"
-   "\0"
-   /* _mesa_function_pool[21503]: IsQueryARB (will be remapped) */
-   "i\0"
-   "glIsQuery\0"
-   "glIsQueryARB\0"
-   "\0"
-   /* _mesa_function_pool[21529]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */
-   "iiiiifff\0"
-   "glReplacementCodeuiColor4ubVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[21578]: PixelStorei (offset 250) */
-   "ii\0"
-   "glPixelStorei\0"
-   "\0"
-   /* _mesa_function_pool[21596]: VertexAttrib4usvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4usv\0"
-   "glVertexAttrib4usvARB\0"
-   "\0"
-   /* _mesa_function_pool[21641]: LinkProgramARB (will be remapped) */
-   "i\0"
-   "glLinkProgram\0"
-   "glLinkProgramARB\0"
-   "\0"
-   /* _mesa_function_pool[21675]: VertexAttrib2fNV (will be remapped) */
-   "iff\0"
-   "glVertexAttrib2fNV\0"
-   "\0"
-   /* _mesa_function_pool[21699]: ShaderSourceARB (will be remapped) */
-   "iipp\0"
-   "glShaderSource\0"
-   "glShaderSourceARB\0"
-   "\0"
-   /* _mesa_function_pool[21738]: FragmentMaterialiSGIX (dynamic) */
-   "iii\0"
-   "glFragmentMaterialiSGIX\0"
-   "\0"
-   /* _mesa_function_pool[21767]: EvalCoord2dv (offset 233) */
-   "p\0"
-   "glEvalCoord2dv\0"
-   "\0"
-   /* _mesa_function_pool[21785]: VertexAttrib3svARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib3sv\0"
-   "glVertexAttrib3svARB\0"
-   "\0"
-   /* _mesa_function_pool[21828]: ColorMaterial (offset 151) */
-   "ii\0"
-   "glColorMaterial\0"
-   "\0"
-   /* _mesa_function_pool[21848]: CompressedTexSubImage3DARB (will be remapped) */
-   "iiiiiiiiiip\0"
-   "glCompressedTexSubImage3D\0"
-   "glCompressedTexSubImage3DARB\0"
-   "\0"
-   /* _mesa_function_pool[21916]: WindowPos2ivMESA (will be remapped) */
-   "p\0"
-   "glWindowPos2iv\0"
-   "glWindowPos2ivARB\0"
-   "glWindowPos2ivMESA\0"
-   "\0"
-   /* _mesa_function_pool[21971]: IsFramebufferEXT (will be remapped) */
-   "i\0"
-   "glIsFramebuffer\0"
-   "glIsFramebufferEXT\0"
-   "\0"
-   /* _mesa_function_pool[22009]: Uniform4ivARB (will be remapped) */
-   "iip\0"
-   "glUniform4iv\0"
-   "glUniform4ivARB\0"
-   "\0"
-   /* _mesa_function_pool[22043]: GetVertexAttribdvARB (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribdv\0"
-   "glGetVertexAttribdvARB\0"
-   "\0"
-   /* _mesa_function_pool[22091]: TexBumpParameterivATI (will be remapped) */
-   "ip\0"
-   "glTexBumpParameterivATI\0"
-   "\0"
-   /* _mesa_function_pool[22119]: GetSeparableFilter (offset 359) */
-   "iiippp\0"
-   "glGetSeparableFilter\0"
-   "glGetSeparableFilterEXT\0"
-   "\0"
-   /* _mesa_function_pool[22172]: Binormal3dEXT (dynamic) */
-   "ddd\0"
-   "glBinormal3dEXT\0"
-   "\0"
-   /* _mesa_function_pool[22193]: SpriteParameteriSGIX (dynamic) */
-   "ii\0"
-   "glSpriteParameteriSGIX\0"
-   "\0"
-   /* _mesa_function_pool[22220]: RequestResidentProgramsNV (will be remapped) */
-   "ip\0"
-   "glRequestResidentProgramsNV\0"
-   "\0"
-   /* _mesa_function_pool[22252]: TagSampleBufferSGIX (dynamic) */
-   "\0"
-   "glTagSampleBufferSGIX\0"
-   "\0"
-   /* _mesa_function_pool[22276]: TransformFeedbackVaryingsEXT (will be remapped) */
-   "iipi\0"
-   "glTransformFeedbackVaryingsEXT\0"
-   "glTransformFeedbackVaryings\0"
-   "\0"
-   /* _mesa_function_pool[22341]: FeedbackBuffer (offset 194) */
-   "iip\0"
-   "glFeedbackBuffer\0"
-   "\0"
-   /* _mesa_function_pool[22363]: RasterPos2iv (offset 67) */
-   "p\0"
-   "glRasterPos2iv\0"
-   "\0"
-   /* _mesa_function_pool[22381]: TexImage1D (offset 182) */
-   "iiiiiiip\0"
-   "glTexImage1D\0"
-   "\0"
-   /* _mesa_function_pool[22404]: ListParameterivSGIX (dynamic) */
-   "iip\0"
-   "glListParameterivSGIX\0"
-   "\0"
-   /* _mesa_function_pool[22431]: MultiDrawElementsEXT (will be remapped) */
-   "ipipi\0"
-   "glMultiDrawElements\0"
-   "glMultiDrawElementsEXT\0"
-   "\0"
-   /* _mesa_function_pool[22481]: Color3s (offset 17) */
-   "iii\0"
-   "glColor3s\0"
-   "\0"
-   /* _mesa_function_pool[22496]: Uniform1ivARB (will be remapped) */
-   "iip\0"
-   "glUniform1iv\0"
-   "glUniform1ivARB\0"
-   "\0"
-   /* _mesa_function_pool[22530]: WindowPos2sMESA (will be remapped) */
-   "ii\0"
-   "glWindowPos2s\0"
-   "glWindowPos2sARB\0"
-   "glWindowPos2sMESA\0"
-   "\0"
-   /* _mesa_function_pool[22583]: WeightusvARB (dynamic) */
-   "ip\0"
-   "glWeightusvARB\0"
-   "\0"
-   /* _mesa_function_pool[22602]: ColorP4ui (will be remapped) */
-   "ii\0"
-   "glColorP4ui\0"
-   "\0"
-   /* _mesa_function_pool[22618]: TexCoordPointer (offset 320) */
-   "iiip\0"
-   "glTexCoordPointer\0"
-   "\0"
-   /* _mesa_function_pool[22642]: FogCoordPointerEXT (will be remapped) */
-   "iip\0"
-   "glFogCoordPointer\0"
-   "glFogCoordPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[22686]: GetnSeparableFilterARB (will be remapped) */
-   "iiiipipp\0"
-   "glGetnSeparableFilterARB\0"
-   "\0"
-   /* _mesa_function_pool[22721]: IndexMaterialEXT (dynamic) */
-   "ii\0"
-   "glIndexMaterialEXT\0"
-   "\0"
-   /* _mesa_function_pool[22744]: Color3i (offset 15) */
-   "iii\0"
-   "glColor3i\0"
-   "\0"
-   /* _mesa_function_pool[22759]: FrontFace (offset 157) */
-   "i\0"
-   "glFrontFace\0"
-   "\0"
-   /* _mesa_function_pool[22774]: EvalCoord2d (offset 232) */
-   "dd\0"
-   "glEvalCoord2d\0"
-   "\0"
-   /* _mesa_function_pool[22792]: SecondaryColor3ubvEXT (will be remapped) */
-   "p\0"
-   "glSecondaryColor3ubv\0"
-   "glSecondaryColor3ubvEXT\0"
-   "\0"
-   /* _mesa_function_pool[22840]: EvalCoord2f (offset 234) */
-   "ff\0"
-   "glEvalCoord2f\0"
-   "\0"
-   /* _mesa_function_pool[22858]: VertexAttrib4dvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4dv\0"
-   "glVertexAttrib4dvARB\0"
-   "\0"
-   /* _mesa_function_pool[22901]: BindAttribLocationARB (will be remapped) */
-   "iip\0"
-   "glBindAttribLocation\0"
-   "glBindAttribLocationARB\0"
-   "\0"
-   /* _mesa_function_pool[22951]: Color3b (offset 9) */
-   "iii\0"
-   "glColor3b\0"
-   "\0"
-   /* _mesa_function_pool[22966]: MultiTexCoord2dARB (offset 384) */
-   "idd\0"
-   "glMultiTexCoord2d\0"
-   "glMultiTexCoord2dARB\0"
-   "\0"
-   /* _mesa_function_pool[23010]: ExecuteProgramNV (will be remapped) */
-   "iip\0"
-   "glExecuteProgramNV\0"
-   "\0"
-   /* _mesa_function_pool[23034]: Color3f (offset 13) */
-   "fff\0"
-   "glColor3f\0"
-   "\0"
-   /* _mesa_function_pool[23049]: LightEnviSGIX (dynamic) */
-   "ii\0"
-   "glLightEnviSGIX\0"
-   "\0"
-   /* _mesa_function_pool[23069]: Color3d (offset 11) */
-   "ddd\0"
-   "glColor3d\0"
-   "\0"
-   /* _mesa_function_pool[23084]: Normal3dv (offset 55) */
-   "p\0"
-   "glNormal3dv\0"
-   "\0"
-   /* _mesa_function_pool[23099]: Lightf (offset 159) */
-   "iif\0"
-   "glLightf\0"
-   "\0"
-   /* _mesa_function_pool[23113]: ReplacementCodeuiSUN (dynamic) */
-   "i\0"
-   "glReplacementCodeuiSUN\0"
-   "\0"
-   /* _mesa_function_pool[23139]: MatrixMode (offset 293) */
-   "i\0"
-   "glMatrixMode\0"
-   "\0"
-   /* _mesa_function_pool[23155]: GetPixelMapusv (offset 273) */
-   "ip\0"
-   "glGetPixelMapusv\0"
-   "\0"
-   /* _mesa_function_pool[23176]: Lighti (offset 161) */
-   "iii\0"
-   "glLighti\0"
-   "\0"
-   /* _mesa_function_pool[23190]: VertexAttribPointerNV (will be remapped) */
-   "iiiip\0"
-   "glVertexAttribPointerNV\0"
-   "\0"
-   /* _mesa_function_pool[23221]: ClearDepthf (will be remapped) */
-   "f\0"
-   "glClearDepthf\0"
-   "\0"
-   /* _mesa_function_pool[23238]: GetBooleanIndexedvEXT (will be remapped) */
-   "iip\0"
-   "glGetBooleanIndexedvEXT\0"
-   "glGetBooleani_v\0"
-   "\0"
-   /* _mesa_function_pool[23283]: GetFramebufferAttachmentParameterivEXT (will be remapped) */
-   "iiip\0"
-   "glGetFramebufferAttachmentParameteriv\0"
-   "glGetFramebufferAttachmentParameterivEXT\0"
-   "\0"
-   /* _mesa_function_pool[23368]: PixelTransformParameterfEXT (dynamic) */
-   "iif\0"
-   "glPixelTransformParameterfEXT\0"
-   "\0"
-   /* _mesa_function_pool[23403]: MultiTexCoord4dvARB (offset 401) */
-   "ip\0"
-   "glMultiTexCoord4dv\0"
-   "glMultiTexCoord4dvARB\0"
-   "\0"
-   /* _mesa_function_pool[23448]: PixelTransformParameteriEXT (dynamic) */
-   "iii\0"
-   "glPixelTransformParameteriEXT\0"
-   "\0"
-   /* _mesa_function_pool[23483]: GetDoublev (offset 260) */
-   "ip\0"
-   "glGetDoublev\0"
-   "\0"
-   /* _mesa_function_pool[23500]: MultiTexCoordP4ui (will be remapped) */
-   "iii\0"
-   "glMultiTexCoordP4ui\0"
-   "\0"
-   /* _mesa_function_pool[23525]: MultMatrixd (offset 295) */
-   "p\0"
-   "glMultMatrixd\0"
-   "\0"
-   /* _mesa_function_pool[23542]: MultMatrixf (offset 294) */
-   "p\0"
-   "glMultMatrixf\0"
-   "\0"
-   /* _mesa_function_pool[23559]: VertexAttribI4bvEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI4bvEXT\0"
-   "glVertexAttribI4bv\0"
-   "\0"
-   /* _mesa_function_pool[23604]: TexCoord2fColor4ubVertex3fSUN (dynamic) */
-   "ffiiiifff\0"
-   "glTexCoord2fColor4ubVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[23647]: Uniform1iARB (will be remapped) */
-   "ii\0"
-   "glUniform1i\0"
-   "glUniform1iARB\0"
-   "\0"
-   /* _mesa_function_pool[23678]: GetnMapfvARB (will be remapped) */
-   "iiip\0"
-   "glGetnMapfvARB\0"
-   "\0"
-   /* _mesa_function_pool[23699]: VertexAttribPointerARB (will be remapped) */
-   "iiiiip\0"
-   "glVertexAttribPointer\0"
-   "glVertexAttribPointerARB\0"
-   "\0"
-   /* _mesa_function_pool[23754]: VertexAttrib3sNV (will be remapped) */
-   "iiii\0"
-   "glVertexAttrib3sNV\0"
-   "\0"
-   /* _mesa_function_pool[23779]: SharpenTexFuncSGIS (dynamic) */
-   "iip\0"
-   "glSharpenTexFuncSGIS\0"
-   "\0"
-   /* _mesa_function_pool[23805]: MultiTexCoord4fvARB (offset 403) */
-   "ip\0"
-   "glMultiTexCoord4fv\0"
-   "glMultiTexCoord4fvARB\0"
-   "\0"
-   /* _mesa_function_pool[23850]: Uniform2uiEXT (will be remapped) */
-   "iii\0"
-   "glUniform2uiEXT\0"
-   "glUniform2ui\0"
-   "\0"
-   /* _mesa_function_pool[23884]: TexCoordP3uiv (will be remapped) */
-   "ip\0"
-   "glTexCoordP3uiv\0"
-   "\0"
-   /* _mesa_function_pool[23904]: UniformMatrix2x3fv (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix2x3fv\0"
-   "\0"
-   /* _mesa_function_pool[23931]: SamplerParameteri (will be remapped) */
-   "iii\0"
-   "glSamplerParameteri\0"
-   "\0"
-   /* _mesa_function_pool[23956]: SamplerParameterf (will be remapped) */
-   "iif\0"
-   "glSamplerParameterf\0"
-   "\0"
-   /* _mesa_function_pool[23981]: CombinerParameteriNV (will be remapped) */
-   "ii\0"
-   "glCombinerParameteriNV\0"
-   "\0"
-   /* _mesa_function_pool[24008]: DeleteAsyncMarkersSGIX (dynamic) */
-   "ii\0"
-   "glDeleteAsyncMarkersSGIX\0"
-   "\0"
-   /* _mesa_function_pool[24037]: ReplacementCodeusSUN (dynamic) */
-   "i\0"
-   "glReplacementCodeusSUN\0"
-   "\0"
-   /* _mesa_function_pool[24063]: IsAsyncMarkerSGIX (dynamic) */
-   "i\0"
-   "glIsAsyncMarkerSGIX\0"
-   "\0"
-   /* _mesa_function_pool[24086]: FrameZoomSGIX (dynamic) */
-   "i\0"
-   "glFrameZoomSGIX\0"
-   "\0"
-   /* _mesa_function_pool[24105]: Normal3fVertex3fvSUN (dynamic) */
-   "pp\0"
-   "glNormal3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[24132]: GetnUniformuivARB (will be remapped) */
-   "iiip\0"
-   "glGetnUniformuivARB\0"
-   "\0"
-   /* _mesa_function_pool[24158]: RasterPos4sv (offset 85) */
-   "p\0"
-   "glRasterPos4sv\0"
-   "\0"
-   /* _mesa_function_pool[24176]: VertexAttrib4NsvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4Nsv\0"
-   "glVertexAttrib4NsvARB\0"
-   "\0"
-   /* _mesa_function_pool[24221]: VertexAttrib3fvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib3fv\0"
-   "glVertexAttrib3fvARB\0"
-   "\0"
-   /* _mesa_function_pool[24264]: ClearColor (offset 206) */
-   "ffff\0"
-   "glClearColor\0"
-   "\0"
-   /* _mesa_function_pool[24283]: GetSynciv (will be remapped) */
-   "iiipp\0"
-   "glGetSynciv\0"
-   "\0"
-   /* _mesa_function_pool[24302]: ClearColorIiEXT (will be remapped) */
-   "iiii\0"
-   "glClearColorIiEXT\0"
-   "\0"
-   /* _mesa_function_pool[24326]: DeleteFramebuffersEXT (will be remapped) */
-   "ip\0"
-   "glDeleteFramebuffers\0"
-   "glDeleteFramebuffersEXT\0"
-   "\0"
-   /* _mesa_function_pool[24375]: GlobalAlphaFactorsSUN (dynamic) */
-   "i\0"
-   "glGlobalAlphaFactorsSUN\0"
-   "\0"
-   /* _mesa_function_pool[24402]: IsEnabledIndexedEXT (will be remapped) */
-   "ii\0"
-   "glIsEnabledIndexedEXT\0"
-   "glIsEnabledi\0"
-   "\0"
-   /* _mesa_function_pool[24441]: TexEnviv (offset 187) */
-   "iip\0"
-   "glTexEnviv\0"
-   "\0"
-   /* _mesa_function_pool[24457]: TexSubImage3D (offset 372) */
-   "iiiiiiiiiip\0"
-   "glTexSubImage3D\0"
-   "glTexSubImage3DEXT\0"
-   "\0"
-   /* _mesa_function_pool[24505]: Tangent3fEXT (dynamic) */
-   "fff\0"
-   "glTangent3fEXT\0"
-   "\0"
-   /* _mesa_function_pool[24525]: SecondaryColor3uivEXT (will be remapped) */
-   "p\0"
-   "glSecondaryColor3uiv\0"
-   "glSecondaryColor3uivEXT\0"
-   "\0"
-   /* _mesa_function_pool[24573]: MatrixIndexubvARB (dynamic) */
-   "ip\0"
-   "glMatrixIndexubvARB\0"
-   "\0"
-   /* _mesa_function_pool[24597]: Color4fNormal3fVertex3fSUN (dynamic) */
-   "ffffffffff\0"
-   "glColor4fNormal3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[24638]: PixelTexGenParameterfSGIS (will be remapped) */
-   "if\0"
-   "glPixelTexGenParameterfSGIS\0"
-   "\0"
-   /* _mesa_function_pool[24670]: CreateShader (will be remapped) */
-   "i\0"
-   "glCreateShader\0"
-   "\0"
-   /* _mesa_function_pool[24688]: GetColorTableParameterfv (offset 344) */
-   "iip\0"
-   "glGetColorTableParameterfv\0"
-   "glGetColorTableParameterfvSGI\0"
-   "glGetColorTableParameterfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[24780]: FragmentLightModelfvSGIX (dynamic) */
-   "ip\0"
-   "glFragmentLightModelfvSGIX\0"
-   "\0"
-   /* _mesa_function_pool[24811]: Bitmap (offset 8) */
-   "iiffffp\0"
-   "glBitmap\0"
-   "\0"
-   /* _mesa_function_pool[24829]: MultiTexCoord3fARB (offset 394) */
-   "ifff\0"
-   "glMultiTexCoord3f\0"
-   "glMultiTexCoord3fARB\0"
-   "\0"
-   /* _mesa_function_pool[24874]: GetTexLevelParameterfv (offset 284) */
-   "iiip\0"
-   "glGetTexLevelParameterfv\0"
-   "\0"
-   /* _mesa_function_pool[24905]: GetPixelTexGenParameterfvSGIS (will be remapped) */
-   "ip\0"
-   "glGetPixelTexGenParameterfvSGIS\0"
-   "\0"
-   /* _mesa_function_pool[24941]: GenFramebuffersEXT (will be remapped) */
-   "ip\0"
-   "glGenFramebuffers\0"
-   "glGenFramebuffersEXT\0"
-   "\0"
-   /* _mesa_function_pool[24984]: VertexAttribDivisor (will be remapped) */
-   "ii\0"
-   "glVertexAttribDivisor\0"
-   "\0"
-   /* _mesa_function_pool[25010]: GetProgramParameterdvNV (will be remapped) */
-   "iiip\0"
-   "glGetProgramParameterdvNV\0"
-   "\0"
-   /* _mesa_function_pool[25042]: Vertex2sv (offset 133) */
-   "p\0"
-   "glVertex2sv\0"
-   "\0"
-   /* _mesa_function_pool[25057]: GetIntegerv (offset 263) */
-   "ip\0"
-   "glGetIntegerv\0"
-   "\0"
-   /* _mesa_function_pool[25075]: IsVertexArrayAPPLE (will be remapped) */
-   "i\0"
-   "glIsVertexArray\0"
-   "glIsVertexArrayAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[25115]: FragmentLightfvSGIX (dynamic) */
-   "iip\0"
-   "glFragmentLightfvSGIX\0"
-   "\0"
-   /* _mesa_function_pool[25142]: GetnMapdvARB (will be remapped) */
-   "iiip\0"
-   "glGetnMapdvARB\0"
-   "\0"
-   /* _mesa_function_pool[25163]: DetachShader (will be remapped) */
-   "ii\0"
-   "glDetachShader\0"
-   "\0"
-   /* _mesa_function_pool[25182]: VertexAttrib4NubARB (will be remapped) */
-   "iiiii\0"
-   "glVertexAttrib4Nub\0"
-   "glVertexAttrib4NubARB\0"
-   "\0"
-   /* _mesa_function_pool[25230]: GetProgramEnvParameterfvARB (will be remapped) */
-   "iip\0"
-   "glGetProgramEnvParameterfvARB\0"
-   "\0"
-   /* _mesa_function_pool[25265]: GetTrackMatrixivNV (will be remapped) */
-   "iiip\0"
-   "glGetTrackMatrixivNV\0"
-   "\0"
-   /* _mesa_function_pool[25292]: VertexAttrib3svNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib3svNV\0"
-   "\0"
-   /* _mesa_function_pool[25316]: Uniform4fvARB (will be remapped) */
-   "iip\0"
-   "glUniform4fv\0"
-   "glUniform4fvARB\0"
-   "\0"
-   /* _mesa_function_pool[25350]: MultTransposeMatrixfARB (will be remapped) */
-   "p\0"
-   "glMultTransposeMatrixf\0"
-   "glMultTransposeMatrixfARB\0"
-   "\0"
-   /* _mesa_function_pool[25402]: GetTexEnviv (offset 277) */
-   "iip\0"
-   "glGetTexEnviv\0"
-   "\0"
-   /* _mesa_function_pool[25421]: ColorFragmentOp1ATI (will be remapped) */
-   "iiiiiii\0"
-   "glColorFragmentOp1ATI\0"
-   "\0"
-   /* _mesa_function_pool[25452]: GetUniformfvARB (will be remapped) */
-   "iip\0"
-   "glGetUniformfv\0"
-   "glGetUniformfvARB\0"
-   "\0"
-   /* _mesa_function_pool[25490]: EGLImageTargetRenderbufferStorageOES (will be remapped) */
-   "ip\0"
-   "glEGLImageTargetRenderbufferStorageOES\0"
-   "\0"
-   /* _mesa_function_pool[25533]: VertexAttribI2ivEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI2ivEXT\0"
-   "glVertexAttribI2iv\0"
-   "\0"
-   /* _mesa_function_pool[25578]: PopClientAttrib (offset 334) */
-   "\0"
-   "glPopClientAttrib\0"
-   "\0"
-   /* _mesa_function_pool[25598]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
-   "iffffffffffff\0"
-   "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[25669]: DetachObjectARB (will be remapped) */
-   "ii\0"
-   "glDetachObjectARB\0"
-   "\0"
-   /* _mesa_function_pool[25691]: VertexBlendARB (dynamic) */
-   "i\0"
-   "glVertexBlendARB\0"
-   "\0"
-   /* _mesa_function_pool[25711]: WindowPos3iMESA (will be remapped) */
-   "iii\0"
-   "glWindowPos3i\0"
-   "glWindowPos3iARB\0"
-   "glWindowPos3iMESA\0"
-   "\0"
-   /* _mesa_function_pool[25765]: SeparableFilter2D (offset 360) */
-   "iiiiiipp\0"
-   "glSeparableFilter2D\0"
-   "glSeparableFilter2DEXT\0"
-   "\0"
-   /* _mesa_function_pool[25818]: ProgramParameteriARB (will be remapped) */
-   "iii\0"
-   "glProgramParameteriARB\0"
-   "\0"
-   /* _mesa_function_pool[25846]: Map1d (offset 220) */
-   "iddiip\0"
-   "glMap1d\0"
-   "\0"
-   /* _mesa_function_pool[25862]: Map1f (offset 221) */
-   "iffiip\0"
-   "glMap1f\0"
-   "\0"
-   /* _mesa_function_pool[25878]: CompressedTexImage2DARB (will be remapped) */
-   "iiiiiiip\0"
-   "glCompressedTexImage2D\0"
-   "glCompressedTexImage2DARB\0"
-   "\0"
-   /* _mesa_function_pool[25937]: ArrayElement (offset 306) */
-   "i\0"
-   "glArrayElement\0"
-   "glArrayElementEXT\0"
-   "\0"
-   /* _mesa_function_pool[25973]: TexImage2D (offset 183) */
-   "iiiiiiiip\0"
-   "glTexImage2D\0"
-   "\0"
-   /* _mesa_function_pool[25997]: DepthBoundsEXT (will be remapped) */
-   "dd\0"
-   "glDepthBoundsEXT\0"
-   "\0"
-   /* _mesa_function_pool[26018]: ProgramParameters4fvNV (will be remapped) */
-   "iiip\0"
-   "glProgramParameters4fvNV\0"
-   "\0"
-   /* _mesa_function_pool[26049]: DeformationMap3fSGIX (dynamic) */
-   "iffiiffiiffiip\0"
-   "glDeformationMap3fSGIX\0"
-   "\0"
-   /* _mesa_function_pool[26088]: GetProgramivNV (will be remapped) */
-   "iip\0"
-   "glGetProgramivNV\0"
-   "\0"
-   /* _mesa_function_pool[26110]: GetFragDataLocationEXT (will be remapped) */
-   "ip\0"
-   "glGetFragDataLocationEXT\0"
-   "glGetFragDataLocation\0"
-   "\0"
-   /* _mesa_function_pool[26161]: GetMinmaxParameteriv (offset 366) */
-   "iip\0"
-   "glGetMinmaxParameteriv\0"
-   "glGetMinmaxParameterivEXT\0"
-   "\0"
-   /* _mesa_function_pool[26215]: PixelTransferf (offset 247) */
-   "if\0"
-   "glPixelTransferf\0"
-   "\0"
-   /* _mesa_function_pool[26236]: CopyTexImage1D (offset 323) */
-   "iiiiiii\0"
-   "glCopyTexImage1D\0"
-   "glCopyTexImage1DEXT\0"
-   "\0"
-   /* _mesa_function_pool[26282]: PushMatrix (offset 298) */
-   "\0"
-   "glPushMatrix\0"
-   "\0"
-   /* _mesa_function_pool[26297]: Fogiv (offset 156) */
-   "ip\0"
-   "glFogiv\0"
-   "\0"
-   /* _mesa_function_pool[26309]: TexCoord1dv (offset 95) */
-   "p\0"
-   "glTexCoord1dv\0"
-   "\0"
-   /* _mesa_function_pool[26326]: AlphaFragmentOp3ATI (will be remapped) */
-   "iiiiiiiiiiii\0"
-   "glAlphaFragmentOp3ATI\0"
-   "\0"
-   /* _mesa_function_pool[26362]: PixelTransferi (offset 248) */
-   "ii\0"
-   "glPixelTransferi\0"
-   "\0"
-   /* _mesa_function_pool[26383]: GetnColorTableARB (will be remapped) */
-   "iiiip\0"
-   "glGetnColorTableARB\0"
-   "\0"
-   /* _mesa_function_pool[26410]: VertexAttrib3fvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib3fvNV\0"
-   "\0"
-   /* _mesa_function_pool[26434]: Rotatef (offset 300) */
-   "ffff\0"
-   "glRotatef\0"
-   "\0"
-   /* _mesa_function_pool[26450]: GetFinalCombinerInputParameterivNV (will be remapped) */
-   "iip\0"
-   "glGetFinalCombinerInputParameterivNV\0"
-   "\0"
-   /* _mesa_function_pool[26492]: Vertex3i (offset 138) */
-   "iii\0"
-   "glVertex3i\0"
-   "\0"
-   /* _mesa_function_pool[26508]: SecondaryColorP3ui (will be remapped) */
-   "ii\0"
-   "glSecondaryColorP3ui\0"
-   "\0"
-   /* _mesa_function_pool[26533]: Vertex3f (offset 136) */
-   "fff\0"
-   "glVertex3f\0"
-   "\0"
-   /* _mesa_function_pool[26549]: Clear (offset 203) */
-   "i\0"
-   "glClear\0"
-   "\0"
-   /* _mesa_function_pool[26560]: Vertex3d (offset 134) */
-   "ddd\0"
-   "glVertex3d\0"
-   "\0"
-   /* _mesa_function_pool[26576]: GetMapParameterivNV (dynamic) */
-   "iip\0"
-   "glGetMapParameterivNV\0"
-   "\0"
-   /* _mesa_function_pool[26603]: Uniform4iARB (will be remapped) */
-   "iiiii\0"
-   "glUniform4i\0"
-   "glUniform4iARB\0"
-   "\0"
-   /* _mesa_function_pool[26637]: ReadBuffer (offset 254) */
-   "i\0"
-   "glReadBuffer\0"
-   "\0"
-   /* _mesa_function_pool[26653]: ConvolutionParameteri (offset 352) */
-   "iii\0"
-   "glConvolutionParameteri\0"
-   "glConvolutionParameteriEXT\0"
-   "\0"
-   /* _mesa_function_pool[26709]: Ortho (offset 296) */
-   "dddddd\0"
-   "glOrtho\0"
-   "\0"
-   /* _mesa_function_pool[26725]: Binormal3sEXT (dynamic) */
-   "iii\0"
-   "glBinormal3sEXT\0"
-   "\0"
-   /* _mesa_function_pool[26746]: ListBase (offset 6) */
-   "i\0"
-   "glListBase\0"
-   "\0"
-   /* _mesa_function_pool[26760]: VertexAttribI3ivEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI3ivEXT\0"
-   "glVertexAttribI3iv\0"
-   "\0"
-   /* _mesa_function_pool[26805]: MultiTexCoordP1ui (will be remapped) */
-   "iii\0"
-   "glMultiTexCoordP1ui\0"
-   "\0"
-   /* _mesa_function_pool[26830]: Vertex3s (offset 140) */
-   "iii\0"
-   "glVertex3s\0"
-   "\0"
-   /* _mesa_function_pool[26846]: ConvolutionParameterf (offset 350) */
-   "iif\0"
-   "glConvolutionParameterf\0"
-   "glConvolutionParameterfEXT\0"
-   "\0"
-   /* _mesa_function_pool[26902]: GetColorTableParameteriv (offset 345) */
-   "iip\0"
-   "glGetColorTableParameteriv\0"
-   "glGetColorTableParameterivSGI\0"
-   "glGetColorTableParameterivEXT\0"
-   "\0"
-   /* _mesa_function_pool[26994]: ProgramEnvParameter4dvARB (will be remapped) */
-   "iip\0"
-   "glProgramEnvParameter4dvARB\0"
-   "glProgramParameter4dvNV\0"
-   "\0"
-   /* _mesa_function_pool[27051]: ShadeModel (offset 177) */
-   "i\0"
-   "glShadeModel\0"
-   "\0"
-   /* _mesa_function_pool[27067]: VertexAttribs2fvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs2fvNV\0"
-   "\0"
-   /* _mesa_function_pool[27093]: Rectiv (offset 91) */
-   "pp\0"
-   "glRectiv\0"
-   "\0"
-   /* _mesa_function_pool[27106]: UseProgramObjectARB (will be remapped) */
-   "i\0"
-   "glUseProgram\0"
-   "glUseProgramObjectARB\0"
-   "\0"
-   /* _mesa_function_pool[27144]: GetMapParameterfvNV (dynamic) */
-   "iip\0"
-   "glGetMapParameterfvNV\0"
-   "\0"
-   /* _mesa_function_pool[27171]: EndConditionalRenderNV (will be remapped) */
-   "\0"
-   "glEndConditionalRenderNV\0"
-   "glEndConditionalRender\0"
-   "\0"
-   /* _mesa_function_pool[27221]: PassTexCoordATI (will be remapped) */
-   "iii\0"
-   "glPassTexCoordATI\0"
-   "\0"
-   /* _mesa_function_pool[27244]: DeleteProgram (will be remapped) */
-   "i\0"
-   "glDeleteProgram\0"
-   "\0"
-   /* _mesa_function_pool[27263]: GetSamplerParameteriv (will be remapped) */
-   "iip\0"
-   "glGetSamplerParameteriv\0"
-   "\0"
-   /* _mesa_function_pool[27292]: Tangent3dEXT (dynamic) */
-   "ddd\0"
-   "glTangent3dEXT\0"
-   "\0"
-   /* _mesa_function_pool[27312]: SecondaryColor3dvEXT (will be remapped) */
-   "p\0"
-   "glSecondaryColor3dv\0"
-   "glSecondaryColor3dvEXT\0"
-   "\0"
-   /* _mesa_function_pool[27358]: AlphaFragmentOp2ATI (will be remapped) */
-   "iiiiiiiii\0"
-   "glAlphaFragmentOp2ATI\0"
-   "\0"
-   /* _mesa_function_pool[27391]: Vertex2fv (offset 129) */
-   "p\0"
-   "glVertex2fv\0"
-   "\0"
-   /* _mesa_function_pool[27406]: MultiDrawArraysEXT (will be remapped) */
-   "ippi\0"
-   "glMultiDrawArrays\0"
-   "glMultiDrawArraysEXT\0"
-   "\0"
-   /* _mesa_function_pool[27451]: BindRenderbufferEXT (will be remapped) */
-   "ii\0"
-   "glBindRenderbuffer\0"
-   "glBindRenderbufferEXT\0"
-   "\0"
-   /* _mesa_function_pool[27496]: MultiTexCoord4dARB (offset 400) */
-   "idddd\0"
-   "glMultiTexCoord4d\0"
-   "glMultiTexCoord4dARB\0"
-   "\0"
-   /* _mesa_function_pool[27542]: FramebufferTextureFaceARB (will be remapped) */
-   "iiiii\0"
-   "glFramebufferTextureFaceARB\0"
-   "\0"
-   /* _mesa_function_pool[27577]: Vertex3sv (offset 141) */
-   "p\0"
-   "glVertex3sv\0"
-   "\0"
-   /* _mesa_function_pool[27592]: SecondaryColor3usEXT (will be remapped) */
-   "iii\0"
-   "glSecondaryColor3us\0"
-   "glSecondaryColor3usEXT\0"
-   "\0"
-   /* _mesa_function_pool[27640]: ProgramLocalParameter4fvARB (will be remapped) */
-   "iip\0"
-   "glProgramLocalParameter4fvARB\0"
-   "\0"
-   /* _mesa_function_pool[27675]: DeleteProgramsNV (will be remapped) */
-   "ip\0"
-   "glDeleteProgramsARB\0"
-   "glDeleteProgramsNV\0"
-   "\0"
-   /* _mesa_function_pool[27718]: EvalMesh1 (offset 236) */
-   "iii\0"
-   "glEvalMesh1\0"
-   "\0"
-   /* _mesa_function_pool[27735]: PauseTransformFeedback (will be remapped) */
-   "\0"
-   "glPauseTransformFeedback\0"
-   "\0"
-   /* _mesa_function_pool[27762]: MultiTexCoord1sARB (offset 382) */
-   "ii\0"
-   "glMultiTexCoord1s\0"
-   "glMultiTexCoord1sARB\0"
-   "\0"
-   /* _mesa_function_pool[27805]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */
-   "iffffff\0"
-   "glReplacementCodeuiColor3fVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[27852]: GetVertexAttribPointervNV (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribPointerv\0"
-   "glGetVertexAttribPointervARB\0"
-   "glGetVertexAttribPointervNV\0"
-   "\0"
-   /* _mesa_function_pool[27940]: VertexAttribs1fvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs1fvNV\0"
-   "\0"
-   /* _mesa_function_pool[27966]: MultiTexCoord1dvARB (offset 377) */
-   "ip\0"
-   "glMultiTexCoord1dv\0"
-   "glMultiTexCoord1dvARB\0"
-   "\0"
-   /* _mesa_function_pool[28011]: Uniform2iARB (will be remapped) */
-   "iii\0"
-   "glUniform2i\0"
-   "glUniform2iARB\0"
-   "\0"
-   /* _mesa_function_pool[28043]: Vertex2iv (offset 131) */
-   "p\0"
-   "glVertex2iv\0"
-   "\0"
-   /* _mesa_function_pool[28058]: GetProgramStringNV (will be remapped) */
-   "iip\0"
-   "glGetProgramStringNV\0"
-   "\0"
-   /* _mesa_function_pool[28084]: ColorPointerEXT (will be remapped) */
-   "iiiip\0"
-   "glColorPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[28109]: LineWidth (offset 168) */
-   "f\0"
-   "glLineWidth\0"
-   "\0"
-   /* _mesa_function_pool[28124]: MapBufferARB (will be remapped) */
-   "ii\0"
-   "glMapBuffer\0"
-   "glMapBufferARB\0"
-   "\0"
-   /* _mesa_function_pool[28155]: MultiDrawElementsBaseVertex (will be remapped) */
-   "ipipip\0"
-   "glMultiDrawElementsBaseVertex\0"
-   "\0"
-   /* _mesa_function_pool[28193]: TexParameterIuivEXT (will be remapped) */
-   "iip\0"
-   "glTexParameterIuivEXT\0"
-   "glTexParameterIuiv\0"
-   "\0"
-   /* _mesa_function_pool[28239]: Binormal3svEXT (dynamic) */
-   "p\0"
-   "glBinormal3svEXT\0"
-   "\0"
-   /* _mesa_function_pool[28259]: ApplyTextureEXT (dynamic) */
-   "i\0"
-   "glApplyTextureEXT\0"
-   "\0"
-   /* _mesa_function_pool[28280]: GetBufferParameteri64v (will be remapped) */
-   "iip\0"
-   "glGetBufferParameteri64v\0"
-   "\0"
-   /* _mesa_function_pool[28310]: TexGendv (offset 189) */
-   "iip\0"
-   "glTexGendv\0"
-   "\0"
-   /* _mesa_function_pool[28326]: VertexAttribI3iEXT (will be remapped) */
-   "iiii\0"
-   "glVertexAttribI3iEXT\0"
-   "glVertexAttribI3i\0"
-   "\0"
-   /* _mesa_function_pool[28371]: EnableIndexedEXT (will be remapped) */
-   "ii\0"
-   "glEnableIndexedEXT\0"
-   "glEnablei\0"
-   "\0"
-   /* _mesa_function_pool[28404]: TextureMaterialEXT (dynamic) */
-   "ii\0"
-   "glTextureMaterialEXT\0"
-   "\0"
-   /* _mesa_function_pool[28429]: TextureLightEXT (dynamic) */
-   "i\0"
-   "glTextureLightEXT\0"
-   "\0"
-   /* _mesa_function_pool[28450]: ResetMinmax (offset 370) */
-   "i\0"
-   "glResetMinmax\0"
-   "glResetMinmaxEXT\0"
-   "\0"
-   /* _mesa_function_pool[28484]: SpriteParameterfSGIX (dynamic) */
-   "if\0"
-   "glSpriteParameterfSGIX\0"
-   "\0"
-   /* _mesa_function_pool[28511]: EnableClientState (offset 313) */
-   "i\0"
-   "glEnableClientState\0"
-   "\0"
-   /* _mesa_function_pool[28534]: VertexAttrib4sNV (will be remapped) */
-   "iiiii\0"
-   "glVertexAttrib4sNV\0"
-   "\0"
-   /* _mesa_function_pool[28560]: GetConvolutionParameterfv (offset 357) */
-   "iip\0"
-   "glGetConvolutionParameterfv\0"
-   "glGetConvolutionParameterfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[28624]: VertexAttribs4dvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs4dvNV\0"
-   "\0"
-   /* _mesa_function_pool[28650]: VertexAttrib4dARB (will be remapped) */
-   "idddd\0"
-   "glVertexAttrib4d\0"
-   "glVertexAttrib4dARB\0"
-   "\0"
-   /* _mesa_function_pool[28694]: GetTexBumpParameterfvATI (will be remapped) */
-   "ip\0"
-   "glGetTexBumpParameterfvATI\0"
-   "\0"
-   /* _mesa_function_pool[28725]: ProgramNamedParameter4dNV (will be remapped) */
-   "iipdddd\0"
-   "glProgramNamedParameter4dNV\0"
-   "\0"
-   /* _mesa_function_pool[28762]: GetMaterialfv (offset 269) */
-   "iip\0"
-   "glGetMaterialfv\0"
-   "\0"
-   /* _mesa_function_pool[28783]: VertexWeightfEXT (dynamic) */
-   "f\0"
-   "glVertexWeightfEXT\0"
-   "\0"
-   /* _mesa_function_pool[28805]: SetFragmentShaderConstantATI (will be remapped) */
-   "ip\0"
-   "glSetFragmentShaderConstantATI\0"
-   "\0"
-   /* _mesa_function_pool[28840]: Binormal3fEXT (dynamic) */
-   "fff\0"
-   "glBinormal3fEXT\0"
-   "\0"
-   /* _mesa_function_pool[28861]: CallList (offset 2) */
-   "i\0"
-   "glCallList\0"
-   "\0"
-   /* _mesa_function_pool[28875]: Materialfv (offset 170) */
-   "iip\0"
-   "glMaterialfv\0"
-   "\0"
-   /* _mesa_function_pool[28893]: TexCoord3fv (offset 113) */
-   "p\0"
-   "glTexCoord3fv\0"
-   "\0"
-   /* _mesa_function_pool[28910]: FogCoordfvEXT (will be remapped) */
-   "p\0"
-   "glFogCoordfv\0"
-   "glFogCoordfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[28942]: MultiTexCoord1ivARB (offset 381) */
-   "ip\0"
-   "glMultiTexCoord1iv\0"
-   "glMultiTexCoord1ivARB\0"
-   "\0"
-   /* _mesa_function_pool[28987]: SecondaryColor3ubEXT (will be remapped) */
-   "iii\0"
-   "glSecondaryColor3ub\0"
-   "glSecondaryColor3ubEXT\0"
-   "\0"
-   /* _mesa_function_pool[29035]: MultiTexCoord2ivARB (offset 389) */
-   "ip\0"
-   "glMultiTexCoord2iv\0"
-   "glMultiTexCoord2ivARB\0"
-   "\0"
-   /* _mesa_function_pool[29080]: FogFuncSGIS (dynamic) */
-   "ip\0"
-   "glFogFuncSGIS\0"
-   "\0"
-   /* _mesa_function_pool[29098]: CopyTexSubImage2D (offset 326) */
-   "iiiiiiii\0"
-   "glCopyTexSubImage2D\0"
-   "glCopyTexSubImage2DEXT\0"
-   "\0"
-   /* _mesa_function_pool[29151]: GetObjectParameterivARB (will be remapped) */
-   "iip\0"
-   "glGetObjectParameterivARB\0"
-   "\0"
-   /* _mesa_function_pool[29182]: Color3iv (offset 16) */
-   "p\0"
-   "glColor3iv\0"
-   "\0"
-   /* _mesa_function_pool[29196]: TexCoord4fVertex4fSUN (dynamic) */
-   "ffffffff\0"
-   "glTexCoord4fVertex4fSUN\0"
-   "\0"
-   /* _mesa_function_pool[29230]: DrawElements (offset 311) */
-   "iiip\0"
-   "glDrawElements\0"
-   "\0"
-   /* _mesa_function_pool[29251]: BindVertexArrayAPPLE (will be remapped) */
-   "i\0"
-   "glBindVertexArrayAPPLE\0"
-   "\0"
-   /* _mesa_function_pool[29277]: GetProgramLocalParameterdvARB (will be remapped) */
-   "iip\0"
-   "glGetProgramLocalParameterdvARB\0"
-   "\0"
-   /* _mesa_function_pool[29314]: GetHistogramParameteriv (offset 363) */
-   "iip\0"
-   "glGetHistogramParameteriv\0"
-   "glGetHistogramParameterivEXT\0"
-   "\0"
-   /* _mesa_function_pool[29374]: MultiTexCoord1iARB (offset 380) */
-   "ii\0"
-   "glMultiTexCoord1i\0"
-   "glMultiTexCoord1iARB\0"
-   "\0"
-   /* _mesa_function_pool[29417]: GetConvolutionFilter (offset 356) */
-   "iiip\0"
-   "glGetConvolutionFilter\0"
-   "glGetConvolutionFilterEXT\0"
-   "\0"
-   /* _mesa_function_pool[29472]: GetProgramivARB (will be remapped) */
-   "iip\0"
-   "glGetProgramivARB\0"
-   "\0"
-   /* _mesa_function_pool[29495]: TexBufferARB (will be remapped) */
-   "iii\0"
-   "glTexBufferARB\0"
-   "\0"
-   /* _mesa_function_pool[29515]: BlendFuncSeparateEXT (will be remapped) */
-   "iiii\0"
-   "glBlendFuncSeparate\0"
-   "glBlendFuncSeparateEXT\0"
-   "glBlendFuncSeparateINGR\0"
-   "\0"
-   /* _mesa_function_pool[29588]: MapBufferRange (will be remapped) */
-   "iiii\0"
-   "glMapBufferRange\0"
-   "\0"
-   /* _mesa_function_pool[29611]: ProgramParameters4dvNV (will be remapped) */
-   "iiip\0"
-   "glProgramParameters4dvNV\0"
-   "\0"
-   /* _mesa_function_pool[29642]: TexCoord2fColor3fVertex3fvSUN (dynamic) */
-   "ppp\0"
-   "glTexCoord2fColor3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[29679]: EvalPoint2 (offset 239) */
-   "ii\0"
-   "glEvalPoint2\0"
-   "\0"
-   /* _mesa_function_pool[29696]: Uniform1uivEXT (will be remapped) */
-   "iip\0"
-   "glUniform1uivEXT\0"
-   "glUniform1uiv\0"
-   "\0"
-   /* _mesa_function_pool[29732]: EvalPoint1 (offset 237) */
-   "i\0"
-   "glEvalPoint1\0"
-   "\0"
-   /* _mesa_function_pool[29748]: Binormal3dvEXT (dynamic) */
-   "p\0"
-   "glBinormal3dvEXT\0"
-   "\0"
-   /* _mesa_function_pool[29768]: PopMatrix (offset 297) */
-   "\0"
-   "glPopMatrix\0"
-   "\0"
-   /* _mesa_function_pool[29782]: FinishFenceNV (will be remapped) */
-   "i\0"
-   "glFinishFenceNV\0"
-   "\0"
-   /* _mesa_function_pool[29801]: GetFogFuncSGIS (dynamic) */
-   "p\0"
-   "glGetFogFuncSGIS\0"
-   "\0"
-   /* _mesa_function_pool[29821]: GetUniformLocationARB (will be remapped) */
-   "ip\0"
-   "glGetUniformLocation\0"
-   "glGetUniformLocationARB\0"
-   "\0"
-   /* _mesa_function_pool[29870]: SecondaryColor3fEXT (will be remapped) */
-   "fff\0"
-   "glSecondaryColor3f\0"
-   "glSecondaryColor3fEXT\0"
-   "\0"
-   /* _mesa_function_pool[29916]: GetTexGeniv (offset 280) */
-   "iip\0"
-   "glGetTexGeniv\0"
-   "\0"
-   /* _mesa_function_pool[29935]: CombinerInputNV (will be remapped) */
-   "iiiiii\0"
-   "glCombinerInputNV\0"
-   "\0"
-   /* _mesa_function_pool[29961]: VertexAttrib3sARB (will be remapped) */
-   "iiii\0"
-   "glVertexAttrib3s\0"
-   "glVertexAttrib3sARB\0"
-   "\0"
-   /* _mesa_function_pool[30004]: IsTransformFeedback (will be remapped) */
-   "i\0"
-   "glIsTransformFeedback\0"
-   "\0"
-   /* _mesa_function_pool[30029]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */
-   "ppp\0"
-   "glReplacementCodeuiNormal3fVertex3fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[30074]: Map2d (offset 222) */
-   "iddiiddiip\0"
-   "glMap2d\0"
-   "\0"
-   /* _mesa_function_pool[30094]: Map2f (offset 223) */
-   "iffiiffiip\0"
-   "glMap2f\0"
-   "\0"
-   /* _mesa_function_pool[30114]: ProgramStringARB (will be remapped) */
-   "iiip\0"
-   "glProgramStringARB\0"
-   "\0"
-   /* _mesa_function_pool[30139]: Vertex4s (offset 148) */
-   "iiii\0"
-   "glVertex4s\0"
-   "\0"
-   /* _mesa_function_pool[30156]: TexCoord4fVertex4fvSUN (dynamic) */
-   "pp\0"
-   "glTexCoord4fVertex4fvSUN\0"
-   "\0"
-   /* _mesa_function_pool[30185]: TextureStorage3DEXT (will be remapped) */
-   "iiiiiii\0"
-   "glTextureStorage3DEXT\0"
-   "\0"
-   /* _mesa_function_pool[30216]: FragmentLightModelivSGIX (dynamic) */
-   "ip\0"
-   "glFragmentLightModelivSGIX\0"
-   "\0"
-   /* _mesa_function_pool[30247]: VertexAttrib1fNV (will be remapped) */
-   "if\0"
-   "glVertexAttrib1fNV\0"
-   "\0"
-   /* _mesa_function_pool[30270]: Vertex4f (offset 144) */
-   "ffff\0"
-   "glVertex4f\0"
-   "\0"
-   /* _mesa_function_pool[30287]: EvalCoord1d (offset 228) */
-   "d\0"
-   "glEvalCoord1d\0"
-   "\0"
-   /* _mesa_function_pool[30304]: Vertex4d (offset 142) */
-   "dddd\0"
-   "glVertex4d\0"
-   "\0"
-   /* _mesa_function_pool[30321]: RasterPos4dv (offset 79) */
-   "p\0"
-   "glRasterPos4dv\0"
-   "\0"
-   /* _mesa_function_pool[30339]: UseShaderProgramEXT (will be remapped) */
-   "ii\0"
-   "glUseShaderProgramEXT\0"
-   "\0"
-   /* _mesa_function_pool[30365]: FragmentLightfSGIX (dynamic) */
-   "iif\0"
-   "glFragmentLightfSGIX\0"
-   "\0"
-   /* _mesa_function_pool[30391]: TextureStorage2DEXT (will be remapped) */
-   "iiiiii\0"
-   "glTextureStorage2DEXT\0"
-   "\0"
-   /* _mesa_function_pool[30421]: GetCompressedTexImageARB (will be remapped) */
-   "iip\0"
-   "glGetCompressedTexImage\0"
-   "glGetCompressedTexImageARB\0"
-   "\0"
-   /* _mesa_function_pool[30477]: GetTexGenfv (offset 279) */
-   "iip\0"
-   "glGetTexGenfv\0"
-   "\0"
-   /* _mesa_function_pool[30496]: Vertex4i (offset 146) */
-   "iiii\0"
-   "glVertex4i\0"
-   "\0"
-   /* _mesa_function_pool[30513]: VertexWeightPointerEXT (dynamic) */
-   "iiip\0"
-   "glVertexWeightPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[30544]: GetHistogram (offset 361) */
-   "iiiip\0"
-   "glGetHistogram\0"
-   "glGetHistogramEXT\0"
-   "\0"
-   /* _mesa_function_pool[30584]: ActiveStencilFaceEXT (will be remapped) */
-   "i\0"
-   "glActiveStencilFaceEXT\0"
-   "\0"
-   /* _mesa_function_pool[30610]: TexStorage3D (will be remapped) */
-   "iiiiii\0"
-   "glTexStorage3D\0"
-   "\0"
-   /* _mesa_function_pool[30633]: StencilFuncSeparateATI (will be remapped) */
-   "iiii\0"
-   "glStencilFuncSeparateATI\0"
-   "\0"
-   /* _mesa_function_pool[30664]: Materialf (offset 169) */
-   "iif\0"
-   "glMaterialf\0"
-   "\0"
-   /* _mesa_function_pool[30681]: GetShaderSourceARB (will be remapped) */
-   "iipp\0"
-   "glGetShaderSource\0"
-   "glGetShaderSourceARB\0"
-   "\0"
-   /* _mesa_function_pool[30726]: IglooInterfaceSGIX (dynamic) */
-   "ip\0"
-   "glIglooInterfaceSGIX\0"
-   "\0"
-   /* _mesa_function_pool[30751]: Materiali (offset 171) */
-   "iii\0"
-   "glMateriali\0"
-   "\0"
-   /* _mesa_function_pool[30768]: VertexAttrib4dNV (will be remapped) */
-   "idddd\0"
-   "glVertexAttrib4dNV\0"
-   "\0"
-   /* _mesa_function_pool[30794]: MultiModeDrawElementsIBM (will be remapped) */
-   "ppipii\0"
-   "glMultiModeDrawElementsIBM\0"
-   "\0"
-   /* _mesa_function_pool[30829]: Indexsv (offset 51) */
-   "p\0"
-   "glIndexsv\0"
-   "\0"
-   /* _mesa_function_pool[30842]: MultiTexCoord4svARB (offset 407) */
-   "ip\0"
-   "glMultiTexCoord4sv\0"
-   "glMultiTexCoord4svARB\0"
-   "\0"
-   /* _mesa_function_pool[30887]: LightModelfv (offset 164) */
-   "ip\0"
-   "glLightModelfv\0"
-   "\0"
-   /* _mesa_function_pool[30906]: TexCoord2dv (offset 103) */
-   "p\0"
-   "glTexCoord2dv\0"
-   "\0"
-   /* _mesa_function_pool[30923]: GenQueriesARB (will be remapped) */
-   "ip\0"
-   "glGenQueries\0"
-   "glGenQueriesARB\0"
-   "\0"
-   /* _mesa_function_pool[30956]: EvalCoord1dv (offset 229) */
-   "p\0"
-   "glEvalCoord1dv\0"
-   "\0"
-   /* _mesa_function_pool[30974]: ReplacementCodeuiVertex3fSUN (dynamic) */
-   "ifff\0"
-   "glReplacementCodeuiVertex3fSUN\0"
-   "\0"
-   /* _mesa_function_pool[31011]: Translated (offset 303) */
-   "ddd\0"
-   "glTranslated\0"
-   "\0"
-   /* _mesa_function_pool[31029]: Translatef (offset 304) */
-   "fff\0"
-   "glTranslatef\0"
-   "\0"
-   /* _mesa_function_pool[31047]: Uniform3uiEXT (will be remapped) */
-   "iiii\0"
-   "glUniform3uiEXT\0"
-   "glUniform3ui\0"
-   "\0"
-   /* _mesa_function_pool[31082]: StencilMask (offset 209) */
-   "i\0"
-   "glStencilMask\0"
-   "\0"
-   /* _mesa_function_pool[31099]: Tangent3iEXT (dynamic) */
-   "iii\0"
-   "glTangent3iEXT\0"
-   "\0"
-   /* _mesa_function_pool[31119]: ClampColorARB (will be remapped) */
-   "ii\0"
-   "glClampColorARB\0"
-   "\0"
-   /* _mesa_function_pool[31139]: GetLightiv (offset 265) */
-   "iip\0"
-   "glGetLightiv\0"
-   "\0"
-   /* _mesa_function_pool[31157]: GetSamplerParameterIiv (will be remapped) */
-   "iip\0"
-   "glGetSamplerParameterIiv\0"
-   "\0"
-   /* _mesa_function_pool[31187]: DrawMeshArraysSUN (dynamic) */
-   "iiii\0"
-   "glDrawMeshArraysSUN\0"
-   "\0"
-   /* _mesa_function_pool[31213]: IsList (offset 287) */
-   "i\0"
-   "glIsList\0"
-   "\0"
-   /* _mesa_function_pool[31225]: IsSync (will be remapped) */
-   "i\0"
-   "glIsSync\0"
-   "\0"
-   /* _mesa_function_pool[31237]: RenderMode (offset 196) */
-   "i\0"
-   "glRenderMode\0"
-   "\0"
-   /* _mesa_function_pool[31253]: GetMapControlPointsNV (dynamic) */
-   "iiiiiip\0"
-   "glGetMapControlPointsNV\0"
-   "\0"
-   /* _mesa_function_pool[31286]: DrawBuffersARB (will be remapped) */
-   "ip\0"
-   "glDrawBuffers\0"
-   "glDrawBuffersARB\0"
-   "glDrawBuffersATI\0"
-   "glDrawBuffersNV\0"
-   "\0"
-   /* _mesa_function_pool[31354]: ClearBufferiv (will be remapped) */
-   "iip\0"
-   "glClearBufferiv\0"
-   "\0"
-   /* _mesa_function_pool[31375]: ProgramLocalParameter4fARB (will be remapped) */
-   "iiffff\0"
-   "glProgramLocalParameter4fARB\0"
-   "\0"
-   /* _mesa_function_pool[31412]: SpriteParameterivSGIX (dynamic) */
-   "ip\0"
-   "glSpriteParameterivSGIX\0"
-   "\0"
-   /* _mesa_function_pool[31440]: ProvokingVertexEXT (will be remapped) */
-   "i\0"
-   "glProvokingVertexEXT\0"
-   "glProvokingVertex\0"
-   "\0"
-   /* _mesa_function_pool[31482]: MultiTexCoord1fARB (offset 378) */
-   "if\0"
-   "glMultiTexCoord1f\0"
-   "glMultiTexCoord1fARB\0"
-   "\0"
-   /* _mesa_function_pool[31525]: LoadName (offset 198) */
-   "i\0"
-   "glLoadName\0"
-   "\0"
-   /* _mesa_function_pool[31539]: VertexAttribs4ubvNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs4ubvNV\0"
-   "\0"
-   /* _mesa_function_pool[31566]: WeightsvARB (dynamic) */
-   "ip\0"
-   "glWeightsvARB\0"
-   "\0"
-   /* _mesa_function_pool[31584]: NormalP3ui (will be remapped) */
-   "ii\0"
-   "glNormalP3ui\0"
-   "\0"
-   /* _mesa_function_pool[31601]: VertexAttribP2ui (will be remapped) */
-   "iiii\0"
-   "glVertexAttribP2ui\0"
-   "\0"
-   /* _mesa_function_pool[31626]: Uniform1fvARB (will be remapped) */
-   "iip\0"
-   "glUniform1fv\0"
-   "glUniform1fvARB\0"
-   "\0"
-   /* _mesa_function_pool[31660]: CopyTexSubImage1D (offset 325) */
-   "iiiiii\0"
-   "glCopyTexSubImage1D\0"
-   "glCopyTexSubImage1DEXT\0"
-   "\0"
-   /* _mesa_function_pool[31711]: CullFace (offset 152) */
-   "i\0"
-   "glCullFace\0"
-   "\0"
-   /* _mesa_function_pool[31725]: BindTexture (offset 307) */
-   "ii\0"
-   "glBindTexture\0"
-   "glBindTextureEXT\0"
-   "\0"
-   /* _mesa_function_pool[31760]: BeginFragmentShaderATI (will be remapped) */
-   "\0"
-   "glBeginFragmentShaderATI\0"
-   "\0"
-   /* _mesa_function_pool[31787]: MultiTexCoord4fARB (offset 402) */
-   "iffff\0"
-   "glMultiTexCoord4f\0"
-   "glMultiTexCoord4fARB\0"
-   "\0"
-   /* _mesa_function_pool[31833]: VertexAttribs3svNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs3svNV\0"
-   "\0"
-   /* _mesa_function_pool[31859]: StencilFunc (offset 243) */
-   "iii\0"
-   "glStencilFunc\0"
-   "\0"
-   /* _mesa_function_pool[31878]: CopyPixels (offset 255) */
-   "iiiii\0"
-   "glCopyPixels\0"
-   "\0"
-   /* _mesa_function_pool[31898]: Rectsv (offset 93) */
-   "pp\0"
-   "glRectsv\0"
-   "\0"
-   /* _mesa_function_pool[31911]: ReplacementCodeuivSUN (dynamic) */
-   "p\0"
-   "glReplacementCodeuivSUN\0"
-   "\0"
-   /* _mesa_function_pool[31938]: MultiTexCoordP2uiv (will be remapped) */
-   "iip\0"
-   "glMultiTexCoordP2uiv\0"
-   "\0"
-   /* _mesa_function_pool[31964]: EnableVertexAttribArrayARB (will be remapped) */
-   "i\0"
-   "glEnableVertexAttribArray\0"
-   "glEnableVertexAttribArrayARB\0"
-   "\0"
-   /* _mesa_function_pool[32022]: NormalPointervINTEL (dynamic) */
-   "ip\0"
-   "glNormalPointervINTEL\0"
-   "\0"
-   /* _mesa_function_pool[32048]: CopyConvolutionFilter2D (offset 355) */
-   "iiiiii\0"
-   "glCopyConvolutionFilter2D\0"
-   "glCopyConvolutionFilter2DEXT\0"
-   "\0"
-   /* _mesa_function_pool[32111]: WindowPos3ivMESA (will be remapped) */
-   "p\0"
-   "glWindowPos3iv\0"
-   "glWindowPos3ivARB\0"
-   "glWindowPos3ivMESA\0"
-   "\0"
-   /* _mesa_function_pool[32166]: CopyBufferSubData (will be remapped) */
-   "iiiii\0"
-   "glCopyBufferSubData\0"
-   "\0"
-   /* _mesa_function_pool[32193]: NormalPointer (offset 318) */
-   "iip\0"
-   "glNormalPointer\0"
-   "\0"
-   /* _mesa_function_pool[32214]: TexParameterfv (offset 179) */
-   "iip\0"
-   "glTexParameterfv\0"
-   "\0"
-   /* _mesa_function_pool[32236]: IsBufferARB (will be remapped) */
-   "i\0"
-   "glIsBuffer\0"
-   "glIsBufferARB\0"
-   "\0"
-   /* _mesa_function_pool[32264]: WindowPos4iMESA (will be remapped) */
-   "iiii\0"
-   "glWindowPos4iMESA\0"
-   "\0"
-   /* _mesa_function_pool[32288]: VertexAttrib4uivARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4uiv\0"
-   "glVertexAttrib4uivARB\0"
-   "\0"
-   /* _mesa_function_pool[32333]: Tangent3bvEXT (dynamic) */
-   "p\0"
-   "glTangent3bvEXT\0"
-   "\0"
-   /* _mesa_function_pool[32352]: VertexAttribI3uivEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI3uivEXT\0"
-   "glVertexAttribI3uiv\0"
-   "\0"
-   /* _mesa_function_pool[32399]: UniformMatrix3x4fv (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix3x4fv\0"
-   "\0"
-   /* _mesa_function_pool[32426]: ClipPlane (offset 150) */
-   "ip\0"
-   "glClipPlane\0"
-   "\0"
-   /* _mesa_function_pool[32442]: Recti (offset 90) */
-   "iiii\0"
-   "glRecti\0"
-   "\0"
-   /* _mesa_function_pool[32456]: TrackMatrixNV (will be remapped) */
-   "iiii\0"
-   "glTrackMatrixNV\0"
-   "\0"
-   /* _mesa_function_pool[32478]: DrawRangeElementsBaseVertex (will be remapped) */
-   "iiiiipi\0"
-   "glDrawRangeElementsBaseVertex\0"
-   "\0"
-   /* _mesa_function_pool[32517]: SamplerParameterIuiv (will be remapped) */
-   "iip\0"
-   "glSamplerParameterIuiv\0"
-   "\0"
-   /* _mesa_function_pool[32545]: TexCoordPointervINTEL (dynamic) */
-   "iip\0"
-   "glTexCoordPointervINTEL\0"
-   "\0"
-   /* _mesa_function_pool[32574]: DeleteBuffersARB (will be remapped) */
-   "ip\0"
-   "glDeleteBuffers\0"
-   "glDeleteBuffersARB\0"
-   "\0"
-   /* _mesa_function_pool[32613]: PixelTransformParameterfvEXT (dynamic) */
-   "iip\0"
-   "glPixelTransformParameterfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[32649]: PrimitiveRestartNV (will be remapped) */
-   "\0"
-   "glPrimitiveRestartNV\0"
-   "\0"
-   /* _mesa_function_pool[32672]: WindowPos4fvMESA (will be remapped) */
-   "p\0"
-   "glWindowPos4fvMESA\0"
-   "\0"
-   /* _mesa_function_pool[32694]: GetPixelMapuiv (offset 272) */
-   "ip\0"
-   "glGetPixelMapuiv\0"
-   "\0"
-   /* _mesa_function_pool[32715]: Rectf (offset 88) */
-   "ffff\0"
-   "glRectf\0"
-   "\0"
-   /* _mesa_function_pool[32729]: VertexAttrib1sNV (will be remapped) */
-   "ii\0"
-   "glVertexAttrib1sNV\0"
-   "\0"
-   /* _mesa_function_pool[32752]: Indexfv (offset 47) */
-   "p\0"
-   "glIndexfv\0"
-   "\0"
-   /* _mesa_function_pool[32765]: ColorP3uiv (will be remapped) */
-   "ip\0"
-   "glColorP3uiv\0"
-   "\0"
-   /* _mesa_function_pool[32782]: SecondaryColor3svEXT (will be remapped) */
-   "p\0"
-   "glSecondaryColor3sv\0"
-   "glSecondaryColor3svEXT\0"
-   "\0"
-   /* _mesa_function_pool[32828]: LoadTransposeMatrixfARB (will be remapped) */
-   "p\0"
-   "glLoadTransposeMatrixf\0"
-   "glLoadTransposeMatrixfARB\0"
-   "\0"
-   /* _mesa_function_pool[32880]: GetPointerv (offset 329) */
-   "ip\0"
-   "glGetPointerv\0"
-   "glGetPointervEXT\0"
-   "\0"
-   /* _mesa_function_pool[32915]: Tangent3bEXT (dynamic) */
-   "iii\0"
-   "glTangent3bEXT\0"
-   "\0"
-   /* _mesa_function_pool[32935]: CombinerParameterfNV (will be remapped) */
-   "if\0"
-   "glCombinerParameterfNV\0"
-   "\0"
-   /* _mesa_function_pool[32962]: IndexMask (offset 212) */
-   "i\0"
-   "glIndexMask\0"
-   "\0"
-   /* _mesa_function_pool[32977]: BindProgramNV (will be remapped) */
-   "ii\0"
-   "glBindProgramARB\0"
-   "glBindProgramNV\0"
-   "\0"
-   /* _mesa_function_pool[33014]: VertexAttrib4svARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4sv\0"
-   "glVertexAttrib4svARB\0"
-   "\0"
-   /* _mesa_function_pool[33057]: GetFloatv (offset 262) */
-   "ip\0"
-   "glGetFloatv\0"
-   "\0"
-   /* _mesa_function_pool[33073]: CreateDebugObjectMESA (dynamic) */
-   "\0"
-   "glCreateDebugObjectMESA\0"
-   "\0"
-   /* _mesa_function_pool[33099]: GetShaderiv (will be remapped) */
-   "iip\0"
-   "glGetShaderiv\0"
-   "\0"
-   /* _mesa_function_pool[33118]: ClientWaitSync (will be remapped) */
-   "iii\0"
-   "glClientWaitSync\0"
-   "\0"
-   /* _mesa_function_pool[33140]: TexCoord4s (offset 124) */
-   "iiii\0"
-   "glTexCoord4s\0"
-   "\0"
-   /* _mesa_function_pool[33159]: TexCoord3sv (offset 117) */
-   "p\0"
-   "glTexCoord3sv\0"
-   "\0"
-   /* _mesa_function_pool[33176]: BindFragmentShaderATI (will be remapped) */
-   "i\0"
-   "glBindFragmentShaderATI\0"
-   "\0"
-   /* _mesa_function_pool[33203]: PopAttrib (offset 218) */
-   "\0"
-   "glPopAttrib\0"
-   "\0"
-   /* _mesa_function_pool[33217]: Fogfv (offset 154) */
-   "ip\0"
-   "glFogfv\0"
-   "\0"
-   /* _mesa_function_pool[33229]: UnmapBufferARB (will be remapped) */
-   "i\0"
-   "glUnmapBuffer\0"
-   "glUnmapBufferARB\0"
-   "\0"
-   /* _mesa_function_pool[33263]: InitNames (offset 197) */
-   "\0"
-   "glInitNames\0"
-   "\0"
-   /* _mesa_function_pool[33277]: Normal3sv (offset 61) */
-   "p\0"
-   "glNormal3sv\0"
-   "\0"
-   /* _mesa_function_pool[33292]: Minmax (offset 368) */
-   "iii\0"
-   "glMinmax\0"
-   "glMinmaxEXT\0"
-   "\0"
-   /* _mesa_function_pool[33318]: TexCoord4d (offset 118) */
-   "dddd\0"
-   "glTexCoord4d\0"
-   "\0"
-   /* _mesa_function_pool[33337]: DeformationMap3dSGIX (dynamic) */
-   "iddiiddiiddiip\0"
-   "glDeformationMap3dSGIX\0"
-   "\0"
-   /* _mesa_function_pool[33376]: TexCoord4f (offset 120) */
-   "ffff\0"
-   "glTexCoord4f\0"
-   "\0"
-   /* _mesa_function_pool[33395]: FogCoorddvEXT (will be remapped) */
-   "p\0"
-   "glFogCoorddv\0"
-   "glFogCoorddvEXT\0"
-   "\0"
-   /* _mesa_function_pool[33427]: FinishTextureSUNX (dynamic) */
-   "\0"
-   "glFinishTextureSUNX\0"
-   "\0"
-   /* _mesa_function_pool[33449]: GetFragmentLightfvSGIX (dynamic) */
-   "iip\0"
-   "glGetFragmentLightfvSGIX\0"
-   "\0"
-   /* _mesa_function_pool[33479]: Binormal3fvEXT (dynamic) */
-   "p\0"
-   "glBinormal3fvEXT\0"
-   "\0"
-   /* _mesa_function_pool[33499]: GetBooleanv (offset 258) */
-   "ip\0"
-   "glGetBooleanv\0"
-   "\0"
-   /* _mesa_function_pool[33517]: ColorFragmentOp3ATI (will be remapped) */
-   "iiiiiiiiiiiii\0"
-   "glColorFragmentOp3ATI\0"
-   "\0"
-   /* _mesa_function_pool[33554]: Hint (offset 158) */
-   "ii\0"
-   "glHint\0"
-   "\0"
-   /* _mesa_function_pool[33565]: Color4dv (offset 28) */
-   "p\0"
-   "glColor4dv\0"
-   "\0"
-   /* _mesa_function_pool[33579]: VertexAttrib2svARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib2sv\0"
-   "glVertexAttrib2svARB\0"
-   "\0"
-   /* _mesa_function_pool[33622]: AreProgramsResidentNV (will be remapped) */
-   "ipp\0"
-   "glAreProgramsResidentNV\0"
-   "\0"
-   /* _mesa_function_pool[33651]: WindowPos3svMESA (will be remapped) */
-   "p\0"
-   "glWindowPos3sv\0"
-   "glWindowPos3svARB\0"
-   "glWindowPos3svMESA\0"
-   "\0"
-   /* _mesa_function_pool[33706]: CopyColorSubTable (offset 347) */
-   "iiiii\0"
-   "glCopyColorSubTable\0"
-   "glCopyColorSubTableEXT\0"
-   "\0"
-   /* _mesa_function_pool[33756]: WeightdvARB (dynamic) */
-   "ip\0"
-   "glWeightdvARB\0"
-   "\0"
-   /* _mesa_function_pool[33774]: DeleteRenderbuffersEXT (will be remapped) */
-   "ip\0"
-   "glDeleteRenderbuffers\0"
-   "glDeleteRenderbuffersEXT\0"
-   "\0"
-   /* _mesa_function_pool[33825]: VertexAttrib4NubvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4Nubv\0"
-   "glVertexAttrib4NubvARB\0"
-   "\0"
-   /* _mesa_function_pool[33872]: VertexAttrib3dvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib3dvNV\0"
-   "\0"
-   /* _mesa_function_pool[33896]: GetObjectParameterfvARB (will be remapped) */
-   "iip\0"
-   "glGetObjectParameterfvARB\0"
-   "\0"
-   /* _mesa_function_pool[33927]: Vertex4iv (offset 147) */
-   "p\0"
-   "glVertex4iv\0"
-   "\0"
-   /* _mesa_function_pool[33942]: GetProgramEnvParameterdvARB (will be remapped) */
-   "iip\0"
-   "glGetProgramEnvParameterdvARB\0"
-   "\0"
-   /* _mesa_function_pool[33977]: TexCoord4dv (offset 119) */
-   "p\0"
-   "glTexCoord4dv\0"
-   "\0"
-   /* _mesa_function_pool[33994]: LockArraysEXT (will be remapped) */
-   "ii\0"
-   "glLockArraysEXT\0"
-   "\0"
-   /* _mesa_function_pool[34014]: Begin (offset 7) */
-   "i\0"
-   "glBegin\0"
-   "\0"
-   /* _mesa_function_pool[34025]: LightModeli (offset 165) */
-   "ii\0"
-   "glLightModeli\0"
-   "\0"
-   /* _mesa_function_pool[34043]: VertexAttribI4ivEXT (will be remapped) */
-   "ip\0"
-   "glVertexAttribI4ivEXT\0"
-   "glVertexAttribI4iv\0"
-   "\0"
-   /* _mesa_function_pool[34088]: Rectfv (offset 89) */
-   "pp\0"
-   "glRectfv\0"
-   "\0"
-   /* _mesa_function_pool[34101]: LightModelf (offset 163) */
-   "if\0"
-   "glLightModelf\0"
-   "\0"
-   /* _mesa_function_pool[34119]: GetTexParameterfv (offset 282) */
-   "iip\0"
-   "glGetTexParameterfv\0"
-   "\0"
-   /* _mesa_function_pool[34144]: GetLightfv (offset 264) */
-   "iip\0"
-   "glGetLightfv\0"
-   "\0"
-   /* _mesa_function_pool[34162]: PixelTransformParameterivEXT (dynamic) */
-   "iip\0"
-   "glPixelTransformParameterivEXT\0"
-   "\0"
-   /* _mesa_function_pool[34198]: BinormalPointerEXT (dynamic) */
-   "iip\0"
-   "glBinormalPointerEXT\0"
-   "\0"
-   /* _mesa_function_pool[34224]: VertexAttrib1dNV (will be remapped) */
-   "id\0"
-   "glVertexAttrib1dNV\0"
-   "\0"
-   /* _mesa_function_pool[34247]: GetCombinerInputParameterivNV (will be remapped) */
-   "iiiip\0"
-   "glGetCombinerInputParameterivNV\0"
-   "\0"
-   /* _mesa_function_pool[34286]: Disable (offset 214) */
-   "i\0"
-   "glDisable\0"
-   "\0"
-   /* _mesa_function_pool[34299]: MultiTexCoord2fvARB (offset 387) */
-   "ip\0"
-   "glMultiTexCoord2fv\0"
-   "glMultiTexCoord2fvARB\0"
-   "\0"
-   /* _mesa_function_pool[34344]: GetRenderbufferParameterivEXT (will be remapped) */
-   "iip\0"
-   "glGetRenderbufferParameteriv\0"
-   "glGetRenderbufferParameterivEXT\0"
-   "\0"
-   /* _mesa_function_pool[34410]: CombinerParameterivNV (will be remapped) */
-   "ip\0"
-   "glCombinerParameterivNV\0"
-   "\0"
-   /* _mesa_function_pool[34438]: GenFragmentShadersATI (will be remapped) */
-   "i\0"
-   "glGenFragmentShadersATI\0"
-   "\0"
-   /* _mesa_function_pool[34465]: DrawArrays (offset 310) */
-   "iii\0"
-   "glDrawArrays\0"
-   "glDrawArraysEXT\0"
-   "\0"
-   /* _mesa_function_pool[34499]: WeightuivARB (dynamic) */
-   "ip\0"
-   "glWeightuivARB\0"
-   "\0"
-   /* _mesa_function_pool[34518]: GetVertexAttribIivEXT (will be remapped) */
-   "iip\0"
-   "glGetVertexAttribIivEXT\0"
-   "glGetVertexAttribIiv\0"
-   "\0"
-   /* _mesa_function_pool[34568]: VertexAttrib2sARB (will be remapped) */
-   "iii\0"
-   "glVertexAttrib2s\0"
-   "glVertexAttrib2sARB\0"
-   "\0"
-   /* _mesa_function_pool[34610]: GetnTexImageARB (will be remapped) */
-   "iiiiip\0"
-   "glGetnTexImageARB\0"
-   "\0"
-   /* _mesa_function_pool[34636]: ColorMask (offset 210) */
-   "iiii\0"
-   "glColorMask\0"
-   "\0"
-   /* _mesa_function_pool[34654]: GenAsyncMarkersSGIX (dynamic) */
-   "i\0"
-   "glGenAsyncMarkersSGIX\0"
-   "\0"
-   /* _mesa_function_pool[34679]: Tangent3svEXT (dynamic) */
-   "p\0"
-   "glTangent3svEXT\0"
-   "\0"
-   /* _mesa_function_pool[34698]: GetListParameterivSGIX (dynamic) */
-   "iip\0"
-   "glGetListParameterivSGIX\0"
-   "\0"
-   /* _mesa_function_pool[34728]: BindBufferARB (will be remapped) */
-   "ii\0"
-   "glBindBuffer\0"
-   "glBindBufferARB\0"
-   "\0"
-   /* _mesa_function_pool[34761]: GetInfoLogARB (will be remapped) */
-   "iipp\0"
-   "glGetInfoLogARB\0"
-   "\0"
-   /* _mesa_function_pool[34783]: RasterPos4iv (offset 83) */
-   "p\0"
-   "glRasterPos4iv\0"
-   "\0"
-   /* _mesa_function_pool[34801]: Enable (offset 215) */
-   "i\0"
-   "glEnable\0"
-   "\0"
-   /* _mesa_function_pool[34813]: LineStipple (offset 167) */
-   "ii\0"
-   "glLineStipple\0"
-   "\0"
-   /* _mesa_function_pool[34831]: VertexAttribs4svNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs4svNV\0"
-   "\0"
-   /* _mesa_function_pool[34857]: EdgeFlagPointerListIBM (dynamic) */
-   "ipi\0"
-   "glEdgeFlagPointerListIBM\0"
-   "\0"
-   /* _mesa_function_pool[34887]: UniformMatrix3x2fv (will be remapped) */
-   "iiip\0"
-   "glUniformMatrix3x2fv\0"
-   "\0"
-   /* _mesa_function_pool[34914]: GetMinmaxParameterfv (offset 365) */
-   "iip\0"
-   "glGetMinmaxParameterfv\0"
-   "glGetMinmaxParameterfvEXT\0"
-   "\0"
-   /* _mesa_function_pool[34968]: VertexAttrib1fvARB (will be remapped) */
-   "ip\0"
-   "glVertexAttrib1fv\0"
-   "glVertexAttrib1fvARB\0"
-   "\0"
-   /* _mesa_function_pool[35011]: GenBuffersARB (will be remapped) */
-   "ip\0"
-   "glGenBuffers\0"
-   "glGenBuffersARB\0"
-   "\0"
-   /* _mesa_function_pool[35044]: VertexAttribs1svNV (will be remapped) */
-   "iip\0"
-   "glVertexAttribs1svNV\0"
-   "\0"
-   /* _mesa_function_pool[35070]: Vertex3fv (offset 137) */
-   "p\0"
-   "glVertex3fv\0"
-   "\0"
-   /* _mesa_function_pool[35085]: GetTexBumpParameterivATI (will be remapped) */
-   "ip\0"
-   "glGetTexBumpParameterivATI\0"
-   "\0"
-   /* _mesa_function_pool[35116]: Binormal3bEXT (dynamic) */
-   "iii\0"
-   "glBinormal3bEXT\0"
-   "\0"
-   /* _mesa_function_pool[35137]: FragmentMaterialivSGIX (dynamic) */
-   "iip\0"
-   "glFragmentMaterialivSGIX\0"
-   "\0"
-   /* _mesa_function_pool[35167]: IsRenderbufferEXT (will be remapped) */
-   "i\0"
-   "glIsRenderbuffer\0"
-   "glIsRenderbufferEXT\0"
-   "\0"
-   /* _mesa_function_pool[35207]: GenProgramsNV (will be remapped) */
-   "ip\0"
-   "glGenProgramsARB\0"
-   "glGenProgramsNV\0"
-   "\0"
-   /* _mesa_function_pool[35244]: VertexAttrib4dvNV (will be remapped) */
-   "ip\0"
-   "glVertexAttrib4dvNV\0"
-   "\0"
-   /* _mesa_function_pool[35268]: EndFragmentShaderATI (will be remapped) */
-   "\0"
-   "glEndFragmentShaderATI\0"
-   "\0"
-   /* _mesa_function_pool[35293]: Binormal3iEXT (dynamic) */
-   "iii\0"
-   "glBinormal3iEXT\0"
-   "\0"
-   /* _mesa_function_pool[35314]: WindowPos2fMESA (will be remapped) */
-   "ff\0"
-   "glWindowPos2f\0"
-   "glWindowPos2fARB\0"
-   "glWindowPos2fMESA\0"
-   "\0"
-   ;
-
-/* these functions need to be remapped */
-static const struct gl_function_pool_remap MESA_remap_table_functions[] = {
-   {  1631, AttachShader_remap_index },
-   { 10674, CreateProgram_remap_index },
-   { 24670, CreateShader_remap_index },
-   { 27244, DeleteProgram_remap_index },
-   { 20003, DeleteShader_remap_index },
-   { 25163, DetachShader_remap_index },
-   { 19250, GetAttachedShaders_remap_index },
-   {  5360, GetProgramInfoLog_remap_index },
-   {   425, GetProgramiv_remap_index },
-   {  7250, GetShaderInfoLog_remap_index },
-   { 33099, GetShaderiv_remap_index },
-   { 14223, IsProgram_remap_index },
-   { 13124, IsShader_remap_index },
-   { 10804, StencilFuncSeparate_remap_index },
-   {  4287, StencilMaskSeparate_remap_index },
-   {  8315, StencilOpSeparate_remap_index },
-   { 23904, UniformMatrix2x3fv_remap_index },
-   {  3061, UniformMatrix2x4fv_remap_index },
-   { 34887, UniformMatrix3x2fv_remap_index },
-   { 32399, UniformMatrix3x4fv_remap_index },
-   { 17352, UniformMatrix4x2fv_remap_index },
-   {  3552, UniformMatrix4x3fv_remap_index },
-   {  5583, ClampColor_remap_index },
-   { 19304, ClearBufferfi_remap_index },
-   { 18720, ClearBufferfv_remap_index },
-   { 31354, ClearBufferiv_remap_index },
-   { 14428, ClearBufferuiv_remap_index },
-   { 21426, GetStringi_remap_index },
-   {  3002, TexBuffer_remap_index },
-   {   958, FramebufferTexture_remap_index },
-   { 28280, GetBufferParameteri64v_remap_index },
-   { 10904, GetInteger64i_v_remap_index },
-   { 24984, VertexAttribDivisor_remap_index },
-   { 10692, LoadTransposeMatrixdARB_remap_index },
-   { 32828, LoadTransposeMatrixfARB_remap_index },
-   {  6268, MultTransposeMatrixdARB_remap_index },
-   { 25350, MultTransposeMatrixfARB_remap_index },
-   {   236, SampleCoverageARB_remap_index },
-   {  6513, CompressedTexImage1DARB_remap_index },
-   { 25878, CompressedTexImage2DARB_remap_index },
-   {  4350, CompressedTexImage3DARB_remap_index },
-   { 19592, CompressedTexSubImage1DARB_remap_index },
-   {  2187, CompressedTexSubImage2DARB_remap_index },
-   { 21848, CompressedTexSubImage3DARB_remap_index },
-   { 30421, GetCompressedTexImageARB_remap_index },
-   {  4144, DisableVertexAttribArrayARB_remap_index },
-   { 31964, EnableVertexAttribArrayARB_remap_index },
-   { 33942, GetProgramEnvParameterdvARB_remap_index },
-   { 25230, GetProgramEnvParameterfvARB_remap_index },
-   { 29277, GetProgramLocalParameterdvARB_remap_index },
-   {  8791, GetProgramLocalParameterfvARB_remap_index },
-   { 19768, GetProgramStringARB_remap_index },
-   { 29472, GetProgramivARB_remap_index },
-   { 22043, GetVertexAttribdvARB_remap_index },
-   { 17160, GetVertexAttribfvARB_remap_index },
-   { 10483, GetVertexAttribivARB_remap_index },
-   { 20863, ProgramEnvParameter4dARB_remap_index },
-   { 26994, ProgramEnvParameter4dvARB_remap_index },
-   { 18018, ProgramEnvParameter4fARB_remap_index },
-   {  9666, ProgramEnvParameter4fvARB_remap_index },
-   {  4313, ProgramLocalParameter4dARB_remap_index },
-   { 13933, ProgramLocalParameter4dvARB_remap_index },
-   { 31375, ProgramLocalParameter4fARB_remap_index },
-   { 27640, ProgramLocalParameter4fvARB_remap_index },
-   { 30114, ProgramStringARB_remap_index },
-   { 21157, VertexAttrib1dARB_remap_index },
-   { 16761, VertexAttrib1dvARB_remap_index },
-   {  4509, VertexAttrib1fARB_remap_index },
-   { 34968, VertexAttrib1fvARB_remap_index },
-   {  7841, VertexAttrib1sARB_remap_index },
-   {  2382, VertexAttrib1svARB_remap_index },
-   { 16174, VertexAttrib2dARB_remap_index },
-   { 18741, VertexAttrib2dvARB_remap_index },
-   {  1714, VertexAttrib2fARB_remap_index },
-   { 18854, VertexAttrib2fvARB_remap_index },
-   { 34568, VertexAttrib2sARB_remap_index },
-   { 33579, VertexAttrib2svARB_remap_index },
-   { 12108, VertexAttrib3dARB_remap_index },
-   {  9333, VertexAttrib3dvARB_remap_index },
-   {  1801, VertexAttrib3fARB_remap_index },
-   { 24221, VertexAttrib3fvARB_remap_index },
-   { 29961, VertexAttrib3sARB_remap_index },
-   { 21785, VertexAttrib3svARB_remap_index },
-   {  5403, VertexAttrib4NbvARB_remap_index },
-   { 19127, VertexAttrib4NivARB_remap_index },
-   { 24176, VertexAttrib4NsvARB_remap_index },
-   { 25182, VertexAttrib4NubARB_remap_index },
-   { 33825, VertexAttrib4NubvARB_remap_index },
-   { 20514, VertexAttrib4NuivARB_remap_index },
-   {  3382, VertexAttrib4NusvARB_remap_index },
-   { 11697, VertexAttrib4bvARB_remap_index },
-   { 28650, VertexAttrib4dARB_remap_index },
-   { 22858, VertexAttrib4dvARB_remap_index },
-   { 12262, VertexAttrib4fARB_remap_index },
-   { 12666, VertexAttrib4fvARB_remap_index },
-   { 11047, VertexAttrib4ivARB_remap_index },
-   { 18534, VertexAttrib4sARB_remap_index },
-   { 33014, VertexAttrib4svARB_remap_index },
-   { 17823, VertexAttrib4ubvARB_remap_index },
-   { 32288, VertexAttrib4uivARB_remap_index },
-   { 21596, VertexAttrib4usvARB_remap_index },
-   { 23699, VertexAttribPointerARB_remap_index },
-   { 34728, BindBufferARB_remap_index },
-   {  7548, BufferDataARB_remap_index },
-   {  1552, BufferSubDataARB_remap_index },
-   { 32574, DeleteBuffersARB_remap_index },
-   { 35011, GenBuffersARB_remap_index },
-   { 18897, GetBufferParameterivARB_remap_index },
-   { 17970, GetBufferPointervARB_remap_index },
-   {  1505, GetBufferSubDataARB_remap_index },
-   { 32236, IsBufferARB_remap_index },
-   { 28124, MapBufferARB_remap_index },
-   { 33229, UnmapBufferARB_remap_index },
-   {   332, BeginQueryARB_remap_index },
-   { 21252, DeleteQueriesARB_remap_index },
-   { 12985, EndQueryARB_remap_index },
-   { 30923, GenQueriesARB_remap_index },
-   {  2079, GetQueryObjectivARB_remap_index },
-   { 18578, GetQueryObjectuivARB_remap_index },
-   {  1858, GetQueryivARB_remap_index },
-   { 21503, IsQueryARB_remap_index },
-   {  8943, AttachObjectARB_remap_index },
-   { 19965, CompileShaderARB_remap_index },
-   {  3494, CreateProgramObjectARB_remap_index },
-   {  7493, CreateShaderObjectARB_remap_index },
-   { 15457, DeleteObjectARB_remap_index },
-   { 25669, DetachObjectARB_remap_index },
-   { 12730, GetActiveUniformARB_remap_index },
-   { 10158, GetAttachedObjectsARB_remap_index },
-   { 10465, GetHandleARB_remap_index },
-   { 34761, GetInfoLogARB_remap_index },
-   { 33896, GetObjectParameterfvARB_remap_index },
-   { 29151, GetObjectParameterivARB_remap_index },
-   { 30681, GetShaderSourceARB_remap_index },
-   { 29821, GetUniformLocationARB_remap_index },
-   { 25452, GetUniformfvARB_remap_index },
-   { 13508, GetUniformivARB_remap_index },
-   { 21641, LinkProgramARB_remap_index },
-   { 21699, ShaderSourceARB_remap_index },
-   {  8215, Uniform1fARB_remap_index },
-   { 31626, Uniform1fvARB_remap_index },
-   { 23647, Uniform1iARB_remap_index },
-   { 22496, Uniform1ivARB_remap_index },
-   {  2331, Uniform2fARB_remap_index },
-   { 15293, Uniform2fvARB_remap_index },
-   { 28011, Uniform2iARB_remap_index },
-   {  2468, Uniform2ivARB_remap_index },
-   { 20075, Uniform3fARB_remap_index },
-   { 10188, Uniform3fvARB_remap_index },
-   {  7104, Uniform3iARB_remap_index },
-   { 18076, Uniform3ivARB_remap_index },
-   { 20669, Uniform4fARB_remap_index },
-   { 25316, Uniform4fvARB_remap_index },
-   { 26603, Uniform4iARB_remap_index },
-   { 22009, Uniform4ivARB_remap_index },
-   {  8995, UniformMatrix2fvARB_remap_index },
-   {    17, UniformMatrix3fvARB_remap_index },
-   {  2904, UniformMatrix4fvARB_remap_index },
-   { 27106, UseProgramObjectARB_remap_index },
-   { 15862, ValidateProgramARB_remap_index },
-   { 22901, BindAttribLocationARB_remap_index },
-   {  5448, GetActiveAttribARB_remap_index },
-   { 17690, GetAttribLocationARB_remap_index },
-   { 31286, DrawBuffersARB_remap_index },
-   { 31119, ClampColorARB_remap_index },
-   { 19172, DrawArraysInstancedARB_remap_index },
-   {  7165, DrawElementsInstancedARB_remap_index },
-   { 14038, RenderbufferStorageMultisample_remap_index },
-   { 14509, FramebufferTextureARB_remap_index },
-   { 27542, FramebufferTextureFaceARB_remap_index },
-   { 25818, ProgramParameteriARB_remap_index },
-   {  6685, VertexAttribDivisorARB_remap_index },
-   { 20717, FlushMappedBufferRange_remap_index },
-   { 29588, MapBufferRange_remap_index },
-   { 29495, TexBufferARB_remap_index },
-   { 17490, BindVertexArray_remap_index },
-   { 15666, GenVertexArrays_remap_index },
-   { 32166, CopyBufferSubData_remap_index },
-   { 33118, ClientWaitSync_remap_index },
-   {  2823, DeleteSync_remap_index },
-   {  7882, FenceSync_remap_index },
-   { 16233, GetInteger64v_remap_index },
-   { 24283, GetSynciv_remap_index },
-   { 31225, IsSync_remap_index },
-   { 10089, WaitSync_remap_index },
-   {  4112, DrawElementsBaseVertex_remap_index },
-   { 19820, DrawElementsInstancedBaseVertex_remap_index },
-   { 32478, DrawRangeElementsBaseVertex_remap_index },
-   { 28155, MultiDrawElementsBaseVertex_remap_index },
-   { 17756, BlendEquationSeparateiARB_remap_index },
-   { 18990, BlendEquationiARB_remap_index },
-   { 13447, BlendFuncSeparateiARB_remap_index },
-   { 10531, BlendFunciARB_remap_index },
-   {  8857, BindSampler_remap_index },
-   {  4488, DeleteSamplers_remap_index },
-   { 21090, GenSamplers_remap_index },
-   { 31157, GetSamplerParameterIiv_remap_index },
-   { 20611, GetSamplerParameterIuiv_remap_index },
-   {  5280, GetSamplerParameterfv_remap_index },
-   { 27263, GetSamplerParameteriv_remap_index },
-   { 15211, IsSampler_remap_index },
-   { 17443, SamplerParameterIiv_remap_index },
-   { 32517, SamplerParameterIuiv_remap_index },
-   { 23956, SamplerParameterf_remap_index },
-   { 17617, SamplerParameterfv_remap_index },
-   { 23931, SamplerParameteri_remap_index },
-   { 19366, SamplerParameteriv_remap_index },
-   { 20173, ColorP3ui_remap_index },
-   { 32765, ColorP3uiv_remap_index },
-   { 22602, ColorP4ui_remap_index },
-   {  4255, ColorP4uiv_remap_index },
-   { 26805, MultiTexCoordP1ui_remap_index },
-   { 13421, MultiTexCoordP1uiv_remap_index },
-   {  1689, MultiTexCoordP2ui_remap_index },
-   { 31938, MultiTexCoordP2uiv_remap_index },
-   { 14823, MultiTexCoordP3ui_remap_index },
-   { 11123, MultiTexCoordP3uiv_remap_index },
-   { 23500, MultiTexCoordP4ui_remap_index },
-   {  3974, MultiTexCoordP4uiv_remap_index },
-   { 31584, NormalP3ui_remap_index },
-   { 20349, NormalP3uiv_remap_index },
-   { 26508, SecondaryColorP3ui_remap_index },
-   { 20367, SecondaryColorP3uiv_remap_index },
-   {  2804, TexCoordP1ui_remap_index },
-   {  2571, TexCoordP1uiv_remap_index },
-   { 15742, TexCoordP2ui_remap_index },
-   {   216, TexCoordP2uiv_remap_index },
-   {  6392, TexCoordP3ui_remap_index },
-   { 23884, TexCoordP3uiv_remap_index },
-   {  1987, TexCoordP4ui_remap_index },
-   {  5852, TexCoordP4uiv_remap_index },
-   { 10574, VertexAttribP1ui_remap_index },
-   { 15010, VertexAttribP1uiv_remap_index },
-   { 31601, VertexAttribP2ui_remap_index },
-   {  5644, VertexAttribP2uiv_remap_index },
-   {  3447, VertexAttribP3ui_remap_index },
-   { 21108, VertexAttribP3uiv_remap_index },
-   { 15036, VertexAttribP4ui_remap_index },
-   { 17018, VertexAttribP4uiv_remap_index },
-   {  5386, VertexP2ui_remap_index },
-   { 16588, VertexP2uiv_remap_index },
-   {  2451, VertexP3ui_remap_index },
-   { 17538, VertexP3uiv_remap_index },
-   { 10117, VertexP4ui_remap_index },
-   {  3429, VertexP4uiv_remap_index },
-   {  5670, BindTransformFeedback_remap_index },
-   {  3521, DeleteTransformFeedbacks_remap_index },
-   {  7137, DrawTransformFeedback_remap_index },
-   { 10325, GenTransformFeedbacks_remap_index },
-   { 30004, IsTransformFeedback_remap_index },
-   { 27735, PauseTransformFeedback_remap_index },
-   {  6153, ResumeTransformFeedback_remap_index },
-   { 23221, ClearDepthf_remap_index },
-   {  7441, DepthRangef_remap_index },
-   { 15478, GetShaderPrecisionFormat_remap_index },
-   { 10744, ReleaseShaderCompiler_remap_index },
-   { 11740, ShaderBinary_remap_index },
-   {   985, GetGraphicsResetStatusARB_remap_index },
-   { 26383, GetnColorTableARB_remap_index },
-   {  8626, GetnCompressedTexImageARB_remap_index },
-   {  4204, GetnConvolutionFilterARB_remap_index },
-   { 16804, GetnHistogramARB_remap_index },
-   { 25142, GetnMapdvARB_remap_index },
-   { 23678, GetnMapfvARB_remap_index },
-   {  2310, GetnMapivARB_remap_index },
-   { 18338, GetnMinmaxARB_remap_index },
-   {  4876, GetnPixelMapfvARB_remap_index },
-   { 20488, GetnPixelMapuivARB_remap_index },
-   {  3174, GetnPixelMapusvARB_remap_index },
-   {  1385, GetnPolygonStippleARB_remap_index },
-   { 22686, GetnSeparableFilterARB_remap_index },
-   { 34610, GetnTexImageARB_remap_index },
-   { 19795, GetnUniformdvARB_remap_index },
-   {  4977, GetnUniformfvARB_remap_index },
-   { 10599, GetnUniformivARB_remap_index },
-   { 24132, GetnUniformuivARB_remap_index },
-   {  3088, ReadnPixelsARB_remap_index },
-   {  1272, TexStorage1D_remap_index },
-   {  4766, TexStorage2D_remap_index },
-   { 30610, TexStorage3D_remap_index },
-   {  4901, TextureStorage1DEXT_remap_index },
-   { 30391, TextureStorage2DEXT_remap_index },
-   { 30185, TextureStorage3DEXT_remap_index },
-   {  6021, PolygonOffsetEXT_remap_index },
-   { 24905, GetPixelTexGenParameterfvSGIS_remap_index },
-   {  4826, GetPixelTexGenParameterivSGIS_remap_index },
-   { 24638, PixelTexGenParameterfSGIS_remap_index },
-   {   644, PixelTexGenParameterfvSGIS_remap_index },
-   { 13546, PixelTexGenParameteriSGIS_remap_index },
-   { 14683, PixelTexGenParameterivSGIS_remap_index },
-   { 19491, SampleMaskSGIS_remap_index },
-   { 21443, SamplePatternSGIS_remap_index },
-   { 28084, ColorPointerEXT_remap_index },
-   { 18784, EdgeFlagPointerEXT_remap_index },
-   {  6758, IndexPointerEXT_remap_index },
-   {  6838, NormalPointerEXT_remap_index },
-   { 16872, TexCoordPointerEXT_remap_index },
-   {  7671, VertexPointerEXT_remap_index },
-   {  3888, PointParameterfEXT_remap_index },
-   {  8522, PointParameterfvEXT_remap_index },
-   { 33994, LockArraysEXT_remap_index },
-   { 15926, UnlockArraysEXT_remap_index },
-   {  1293, SecondaryColor3bEXT_remap_index },
-   {  8715, SecondaryColor3bvEXT_remap_index },
-   { 11250, SecondaryColor3dEXT_remap_index },
-   { 27312, SecondaryColor3dvEXT_remap_index },
-   { 29870, SecondaryColor3fEXT_remap_index },
-   { 19528, SecondaryColor3fvEXT_remap_index },
-   {   490, SecondaryColor3iEXT_remap_index },
-   { 17208, SecondaryColor3ivEXT_remap_index },
-   { 10832, SecondaryColor3sEXT_remap_index },
-   { 32782, SecondaryColor3svEXT_remap_index },
-   { 28987, SecondaryColor3ubEXT_remap_index },
-   { 22792, SecondaryColor3ubvEXT_remap_index },
-   { 13788, SecondaryColor3uiEXT_remap_index },
-   { 24525, SecondaryColor3uivEXT_remap_index },
-   { 27592, SecondaryColor3usEXT_remap_index },
-   { 13861, SecondaryColor3usvEXT_remap_index },
-   { 12609, SecondaryColorPointerEXT_remap_index },
-   { 27406, MultiDrawArraysEXT_remap_index },
-   { 22431, MultiDrawElementsEXT_remap_index },
-   { 22642, FogCoordPointerEXT_remap_index },
-   {  5028, FogCoorddEXT_remap_index },
-   { 33395, FogCoorddvEXT_remap_index },
-   {  5145, FogCoordfEXT_remap_index },
-   { 28910, FogCoordfvEXT_remap_index },
-   { 12709, PixelTexGenSGIX_remap_index },
-   { 29515, BlendFuncSeparateEXT_remap_index },
-   {  7583, FlushVertexArrayRangeNV_remap_index },
-   {  5970, VertexArrayRangeNV_remap_index },
-   { 29935, CombinerInputNV_remap_index },
-   {  2253, CombinerOutputNV_remap_index },
-   { 32935, CombinerParameterfNV_remap_index },
-   {  5824, CombinerParameterfvNV_remap_index },
-   { 23981, CombinerParameteriNV_remap_index },
-   { 34410, CombinerParameterivNV_remap_index },
-   {  7959, FinalCombinerInputNV_remap_index },
-   {  1650, GetCombinerInputParameterfvNV_remap_index },
-   { 34247, GetCombinerInputParameterivNV_remap_index },
-   { 14784, GetCombinerOutputParameterfvNV_remap_index },
-   { 14612, GetCombinerOutputParameterivNV_remap_index },
-   {  7345, GetFinalCombinerInputParameterfvNV_remap_index },
-   { 26450, GetFinalCombinerInputParameterivNV_remap_index },
-   { 13399, ResizeBuffersMESA_remap_index },
-   { 11935, WindowPos2dMESA_remap_index },
-   {  1065, WindowPos2dvMESA_remap_index },
-   { 35314, WindowPos2fMESA_remap_index },
-   {  8660, WindowPos2fvMESA_remap_index },
-   { 19438, WindowPos2iMESA_remap_index },
-   { 21916, WindowPos2ivMESA_remap_index },
-   { 22530, WindowPos2sMESA_remap_index },
-   {  6427, WindowPos2svMESA_remap_index },
-   {  8451, WindowPos3dMESA_remap_index },
-   { 14955, WindowPos3dvMESA_remap_index },
-   {   536, WindowPos3fMESA_remap_index },
-   { 15987, WindowPos3fvMESA_remap_index },
-   { 25711, WindowPos3iMESA_remap_index },
-   { 32111, WindowPos3ivMESA_remap_index },
-   { 20236, WindowPos3sMESA_remap_index },
-   { 33651, WindowPos3svMESA_remap_index },
-   { 11886, WindowPos4dMESA_remap_index },
-   { 18214, WindowPos4dvMESA_remap_index },
-   { 14914, WindowPos4fMESA_remap_index },
-   { 32672, WindowPos4fvMESA_remap_index },
-   { 32264, WindowPos4iMESA_remap_index },
-   { 13238, WindowPos4ivMESA_remap_index },
-   { 20464, WindowPos4sMESA_remap_index },
-   {  3472, WindowPos4svMESA_remap_index },
-   { 14651, MultiModeDrawArraysIBM_remap_index },
-   { 30794, MultiModeDrawElementsIBM_remap_index },
-   { 13013, DeleteFencesNV_remap_index },
-   { 29782, FinishFenceNV_remap_index },
-   {  4036, GenFencesNV_remap_index },
-   { 18194, GetFenceivNV_remap_index },
-   {  8928, IsFenceNV_remap_index },
-   { 14539, SetFenceNV_remap_index },
-   {  4565, TestFenceNV_remap_index },
-   { 33622, AreProgramsResidentNV_remap_index },
-   { 32977, BindProgramNV_remap_index },
-   { 27675, DeleteProgramsNV_remap_index },
-   { 23010, ExecuteProgramNV_remap_index },
-   { 35207, GenProgramsNV_remap_index },
-   { 25010, GetProgramParameterdvNV_remap_index },
-   { 11312, GetProgramParameterfvNV_remap_index },
-   { 28058, GetProgramStringNV_remap_index },
-   { 26088, GetProgramivNV_remap_index },
-   { 25265, GetTrackMatrixivNV_remap_index },
-   { 27852, GetVertexAttribPointervNV_remap_index },
-   { 10927, GetVertexAttribdvNV_remap_index },
-   {  9984, GetVertexAttribfvNV_remap_index },
-   { 19741, GetVertexAttribivNV_remap_index },
-   { 20747, IsProgramNV_remap_index },
-   { 10067, LoadProgramNV_remap_index },
-   { 29611, ProgramParameters4dvNV_remap_index },
-   { 26018, ProgramParameters4fvNV_remap_index },
-   { 22220, RequestResidentProgramsNV_remap_index },
-   { 32456, TrackMatrixNV_remap_index },
-   { 34224, VertexAttrib1dNV_remap_index },
-   { 14450, VertexAttrib1dvNV_remap_index },
-   { 30247, VertexAttrib1fNV_remap_index },
-   {  2610, VertexAttrib1fvNV_remap_index },
-   { 32729, VertexAttrib1sNV_remap_index },
-   { 16060, VertexAttrib1svNV_remap_index },
-   {  5336, VertexAttrib2dNV_remap_index },
-   { 14343, VertexAttrib2dvNV_remap_index },
-   { 21675, VertexAttrib2fNV_remap_index },
-   { 13909, VertexAttrib2fvNV_remap_index },
-   {  6639, VertexAttrib2sNV_remap_index },
-   { 20290, VertexAttrib2svNV_remap_index },
-   { 12083, VertexAttrib3dNV_remap_index },
-   { 33872, VertexAttrib3dvNV_remap_index },
-   { 11098, VertexAttrib3fNV_remap_index },
-   { 26410, VertexAttrib3fvNV_remap_index },
-   { 23754, VertexAttrib3sNV_remap_index },
-   { 25292, VertexAttrib3svNV_remap_index },
-   { 30768, VertexAttrib4dNV_remap_index },
-   { 35244, VertexAttrib4dvNV_remap_index },
-   {  5764, VertexAttrib4fNV_remap_index },
-   { 10134, VertexAttrib4fvNV_remap_index },
-   { 28534, VertexAttrib4sNV_remap_index },
-   {  1463, VertexAttrib4svNV_remap_index },
-   {  5511, VertexAttrib4ubNV_remap_index },
-   {   798, VertexAttrib4ubvNV_remap_index },
-   { 23190, VertexAttribPointerNV_remap_index },
-   {  2425, VertexAttribs1dvNV_remap_index },
-   { 27940, VertexAttribs1fvNV_remap_index },
-   { 35044, VertexAttribs1svNV_remap_index },
-   { 11149, VertexAttribs2dvNV_remap_index },
-   { 27067, VertexAttribs2fvNV_remap_index },
-   { 18810, VertexAttribs2svNV_remap_index },
-   {  5872, VertexAttribs3dvNV_remap_index },
-   {  2284, VertexAttribs3fvNV_remap_index },
-   { 31833, VertexAttribs3svNV_remap_index },
-   { 28624, VertexAttribs4dvNV_remap_index },
-   {  5944, VertexAttribs4fvNV_remap_index },
-   { 34831, VertexAttribs4svNV_remap_index },
-   { 31539, VertexAttribs4ubvNV_remap_index },
-   { 28694, GetTexBumpParameterfvATI_remap_index },
-   { 35085, GetTexBumpParameterivATI_remap_index },
-   { 19918, TexBumpParameterfvATI_remap_index },
-   { 22091, TexBumpParameterivATI_remap_index },
-   { 16624, AlphaFragmentOp1ATI_remap_index },
-   { 27358, AlphaFragmentOp2ATI_remap_index },
-   { 26326, AlphaFragmentOp3ATI_remap_index },
-   { 31760, BeginFragmentShaderATI_remap_index },
-   { 33176, BindFragmentShaderATI_remap_index },
-   { 25421, ColorFragmentOp1ATI_remap_index },
-   {  4732, ColorFragmentOp2ATI_remap_index },
-   { 33517, ColorFragmentOp3ATI_remap_index },
-   {  6110, DeleteFragmentShaderATI_remap_index },
-   { 35268, EndFragmentShaderATI_remap_index },
-   { 34438, GenFragmentShadersATI_remap_index },
-   { 27221, PassTexCoordATI_remap_index },
-   {  7651, SampleMapATI_remap_index },
-   { 28805, SetFragmentShaderConstantATI_remap_index },
-   {   383, PointParameteriNV_remap_index },
-   { 15167, PointParameterivNV_remap_index },
-   { 30584, ActiveStencilFaceEXT_remap_index },
-   { 29251, BindVertexArrayAPPLE_remap_index },
-   {  2951, DeleteVertexArraysAPPLE_remap_index },
-   { 19277, GenVertexArraysAPPLE_remap_index },
-   { 25075, IsVertexArrayAPPLE_remap_index },
-   {   839, GetProgramNamedParameterdvNV_remap_index },
-   {  3851, GetProgramNamedParameterfvNV_remap_index },
-   { 28725, ProgramNamedParameter4dNV_remap_index },
-   { 15541, ProgramNamedParameter4dvNV_remap_index },
-   {  9600, ProgramNamedParameter4fNV_remap_index },
-   { 12574, ProgramNamedParameter4fvNV_remap_index },
-   { 18125, PrimitiveRestartIndexNV_remap_index },
-   { 32649, PrimitiveRestartNV_remap_index },
-   { 25997, DepthBoundsEXT_remap_index },
-   {  1164, BlendEquationSeparateEXT_remap_index },
-   { 15761, BindFramebufferEXT_remap_index },
-   { 27451, BindRenderbufferEXT_remap_index },
-   { 10381, CheckFramebufferStatusEXT_remap_index },
-   { 24326, DeleteFramebuffersEXT_remap_index },
-   { 33774, DeleteRenderbuffersEXT_remap_index },
-   { 14367, FramebufferRenderbufferEXT_remap_index },
-   { 14556, FramebufferTexture1DEXT_remap_index },
-   { 12368, FramebufferTexture2DEXT_remap_index },
-   { 11988, FramebufferTexture3DEXT_remap_index },
-   { 24941, GenFramebuffersEXT_remap_index },
-   { 18675, GenRenderbuffersEXT_remap_index },
-   {  7387, GenerateMipmapEXT_remap_index },
-   { 23283, GetFramebufferAttachmentParameterivEXT_remap_index },
-   { 34344, GetRenderbufferParameterivEXT_remap_index },
-   { 21971, IsFramebufferEXT_remap_index },
-   { 35167, IsRenderbufferEXT_remap_index },
-   {  8875, RenderbufferStorageEXT_remap_index },
-   {   715, BlitFramebufferEXT_remap_index },
-   { 15327, BufferParameteriAPPLE_remap_index },
-   { 20779, FlushMappedBufferRangeAPPLE_remap_index },
-   {  1933, BindFragDataLocationEXT_remap_index },
-   { 26110, GetFragDataLocationEXT_remap_index },
-   { 11427, GetUniformuivEXT_remap_index },
-   { 34518, GetVertexAttribIivEXT_remap_index },
-   {  4582, GetVertexAttribIuivEXT_remap_index },
-   { 12846, Uniform1uiEXT_remap_index },
-   { 29696, Uniform1uivEXT_remap_index },
-   { 23850, Uniform2uiEXT_remap_index },
-   {  4696, Uniform2uivEXT_remap_index },
-   { 31047, Uniform3uiEXT_remap_index },
-   { 15688, Uniform3uivEXT_remap_index },
-   {  3775, Uniform4uiEXT_remap_index },
-   {  9376, Uniform4uivEXT_remap_index },
-   { 19656, VertexAttribI1iEXT_remap_index },
-   {  5538, VertexAttribI1ivEXT_remap_index },
-   {  2711, VertexAttribI1uiEXT_remap_index },
-   { 13637, VertexAttribI1uivEXT_remap_index },
-   {    81, VertexAttribI2iEXT_remap_index },
-   { 25533, VertexAttribI2ivEXT_remap_index },
-   {  5898, VertexAttribI2uiEXT_remap_index },
-   {  5190, VertexAttribI2uivEXT_remap_index },
-   { 28326, VertexAttribI3iEXT_remap_index },
-   { 26760, VertexAttribI3ivEXT_remap_index },
-   {  3629, VertexAttribI3uiEXT_remap_index },
-   { 32352, VertexAttribI3uivEXT_remap_index },
-   { 23559, VertexAttribI4bvEXT_remap_index },
-   { 15620, VertexAttribI4iEXT_remap_index },
-   { 34043, VertexAttribI4ivEXT_remap_index },
-   { 14270, VertexAttribI4svEXT_remap_index },
-   { 17643, VertexAttribI4ubvEXT_remap_index },
-   { 17271, VertexAttribI4uiEXT_remap_index },
-   {  6044, VertexAttribI4uivEXT_remap_index },
-   { 12151, VertexAttribI4usvEXT_remap_index },
-   { 19862, VertexAttribIPointerEXT_remap_index },
-   {  3244, FramebufferTextureLayerEXT_remap_index },
-   {  6320, ColorMaskIndexedEXT_remap_index },
-   { 20314, DisableIndexedEXT_remap_index },
-   { 28371, EnableIndexedEXT_remap_index },
-   { 23238, GetBooleanIndexedvEXT_remap_index },
-   { 11762, GetIntegerIndexedvEXT_remap_index },
-   { 24402, IsEnabledIndexedEXT_remap_index },
-   { 24302, ClearColorIiEXT_remap_index },
-   {  3725, ClearColorIuiEXT_remap_index },
-   { 10624, GetTexParameterIivEXT_remap_index },
-   {  6587, GetTexParameterIuivEXT_remap_index },
-   {  3200, TexParameterIivEXT_remap_index },
-   { 28193, TexParameterIuivEXT_remap_index },
-   {  5058, BeginConditionalRenderNV_remap_index },
-   { 27171, EndConditionalRenderNV_remap_index },
-   { 10011, BeginTransformFeedbackEXT_remap_index },
-   { 20393, BindBufferBaseEXT_remap_index },
-   { 20208, BindBufferOffsetEXT_remap_index },
-   { 13063, BindBufferRangeEXT_remap_index },
-   { 15242, EndTransformFeedbackEXT_remap_index },
-   { 11625, GetTransformFeedbackVaryingEXT_remap_index },
-   { 22276, TransformFeedbackVaryingsEXT_remap_index },
-   { 31440, ProvokingVertexEXT_remap_index },
-   { 11573, GetTexParameterPointervAPPLE_remap_index },
-   {  5600, TextureRangeAPPLE_remap_index },
-   { 12440, GetObjectParameterivAPPLE_remap_index },
-   { 21398, ObjectPurgeableAPPLE_remap_index },
-   {  6362, ObjectUnpurgeableAPPLE_remap_index },
-   { 18497, ActiveProgramEXT_remap_index },
-   { 18468, CreateShaderProgramEXT_remap_index },
-   { 30339, UseShaderProgramEXT_remap_index },
-   { 17596, TextureBarrierNV_remap_index },
-   { 30633, StencilFuncSeparateATI_remap_index },
-   {  6233, ProgramEnvParameters4fvEXT_remap_index },
-   { 18362, ProgramLocalParameters4fvEXT_remap_index },
-   { 15095, GetQueryObjecti64vEXT_remap_index },
-   { 11175, GetQueryObjectui64vEXT_remap_index },
-   { 25490, EGLImageTargetRenderbufferStorageOES_remap_index },
-   { 12952, EGLImageTargetTexture2DOES_remap_index },
-   {    -1, -1 }
-};
-
-/* these functions are in the ABI, but have alternative names */
-static const struct gl_function_remap MESA_alt_functions[] = {
-   /* from GL_EXT_blend_color */
-   {  2869, _gloffset_BlendColor },
-   /* from GL_EXT_blend_minmax */
-   { 12045, _gloffset_BlendEquation },
-   /* from GL_EXT_color_subtable */
-   { 18236, _gloffset_ColorSubTable },
-   { 33706, _gloffset_CopyColorSubTable },
-   /* from GL_EXT_convolution */
-   {   277, _gloffset_ConvolutionFilter1D },
-   {  2649, _gloffset_CopyConvolutionFilter1D },
-   {  4424, _gloffset_GetConvolutionParameteriv },
-   {  9224, _gloffset_ConvolutionFilter2D },
-   {  9426, _gloffset_ConvolutionParameteriv },
-   {  9886, _gloffset_ConvolutionParameterfv },
-   { 22119, _gloffset_GetSeparableFilter },
-   { 25765, _gloffset_SeparableFilter2D },
-   { 26653, _gloffset_ConvolutionParameteri },
-   { 26846, _gloffset_ConvolutionParameterf },
-   { 28560, _gloffset_GetConvolutionParameterfv },
-   { 29417, _gloffset_GetConvolutionFilter },
-   { 32048, _gloffset_CopyConvolutionFilter2D },
-   /* from GL_EXT_copy_texture */
-   { 16120, _gloffset_CopyTexSubImage3D },
-   { 17923, _gloffset_CopyTexImage2D },
-   { 26236, _gloffset_CopyTexImage1D },
-   { 29098, _gloffset_CopyTexSubImage2D },
-   { 31660, _gloffset_CopyTexSubImage1D },
-   /* from GL_EXT_draw_range_elements */
-   { 10240, _gloffset_DrawRangeElements },
-   /* from GL_EXT_histogram */
-   {   876, _gloffset_Histogram },
-   {  3811, _gloffset_ResetHistogram },
-   { 10770, _gloffset_GetMinmax },
-   { 16454, _gloffset_GetHistogramParameterfv },
-   { 26161, _gloffset_GetMinmaxParameteriv },
-   { 28450, _gloffset_ResetMinmax },
-   { 29314, _gloffset_GetHistogramParameteriv },
-   { 30544, _gloffset_GetHistogram },
-   { 33292, _gloffset_Minmax },
-   { 34914, _gloffset_GetMinmaxParameterfv },
-   /* from GL_EXT_paletted_texture */
-   {  9086, _gloffset_ColorTable },
-   { 16300, _gloffset_GetColorTable },
-   { 24688, _gloffset_GetColorTableParameterfv },
-   { 26902, _gloffset_GetColorTableParameteriv },
-   /* from GL_EXT_subtexture */
-   {  7797, _gloffset_TexSubImage1D },
-   { 11500, _gloffset_TexSubImage2D },
-   /* from GL_EXT_texture3D */
-   {  1892, _gloffset_TexImage3D },
-   { 24457, _gloffset_TexSubImage3D },
-   /* from GL_EXT_texture_object */
-   {  3579, _gloffset_PrioritizeTextures },
-   {  8246, _gloffset_AreTexturesResident },
-   { 14474, _gloffset_GenTextures },
-   { 16831, _gloffset_DeleteTextures },
-   { 21060, _gloffset_IsTexture },
-   { 31725, _gloffset_BindTexture },
-   /* from GL_EXT_vertex_array */
-   { 25937, _gloffset_ArrayElement },
-   { 32880, _gloffset_GetPointerv },
-   { 34465, _gloffset_DrawArrays },
-   /* from GL_SGI_color_table */
-   {  8364, _gloffset_ColorTableParameteriv },
-   {  9086, _gloffset_ColorTable },
-   { 16300, _gloffset_GetColorTable },
-   { 16410, _gloffset_CopyColorTable },
-   { 20921, _gloffset_ColorTableParameterfv },
-   { 24688, _gloffset_GetColorTableParameterfv },
-   { 26902, _gloffset_GetColorTableParameteriv },
-   /* from GL_VERSION_1_3 */
-   {   445, _gloffset_MultiTexCoord3sARB },
-   {   677, _gloffset_ActiveTextureARB },
-   {  4634, _gloffset_MultiTexCoord1fvARB },
-   {  6863, _gloffset_MultiTexCoord3dARB },
-   {  6908, _gloffset_MultiTexCoord2iARB },
-   {  7032, _gloffset_MultiTexCoord2svARB },
-   {  9042, _gloffset_MultiTexCoord2fARB },
-   { 11205, _gloffset_MultiTexCoord3fvARB },
-   { 11807, _gloffset_MultiTexCoord4sARB },
-   { 12488, _gloffset_MultiTexCoord2dvARB },
-   { 12895, _gloffset_MultiTexCoord1svARB },
-   { 13260, _gloffset_MultiTexCoord3svARB },
-   { 13321, _gloffset_MultiTexCoord4iARB },
-   { 14178, _gloffset_MultiTexCoord3iARB },
-   { 15124, _gloffset_MultiTexCoord1dARB },
-   { 15356, _gloffset_MultiTexCoord3dvARB },
-   { 16672, _gloffset_MultiTexCoord3ivARB },
-   { 16717, _gloffset_MultiTexCoord2sARB },
-   { 18293, _gloffset_MultiTexCoord4ivARB },
-   { 20561, _gloffset_ClientActiveTextureARB },
-   { 22966, _gloffset_MultiTexCoord2dARB },
-   { 23403, _gloffset_MultiTexCoord4dvARB },
-   { 23805, _gloffset_MultiTexCoord4fvARB },
-   { 24829, _gloffset_MultiTexCoord3fARB },
-   { 27496, _gloffset_MultiTexCoord4dARB },
-   { 27762, _gloffset_MultiTexCoord1sARB },
-   { 27966, _gloffset_MultiTexCoord1dvARB },
-   { 28942, _gloffset_MultiTexCoord1ivARB },
-   { 29035, _gloffset_MultiTexCoord2ivARB },
-   { 29374, _gloffset_MultiTexCoord1iARB },
-   { 30842, _gloffset_MultiTexCoord4svARB },
-   { 31482, _gloffset_MultiTexCoord1fARB },
-   { 31787, _gloffset_MultiTexCoord4fARB },
-   { 34299, _gloffset_MultiTexCoord2fvARB },
-   {    -1, -1 }
-};
-
index 8b68ebf..2440d22 100644 (file)
@@ -242,26 +242,6 @@ validate_shader_target(const struct gl_context *ctx, GLenum type)
    }
 }
 
-
-/**
- * Find the length of the longest transform feedback varying name
- * which was specified with glTransformFeedbackVaryings().
- */
-static GLint
-longest_feedback_varying_name(const struct gl_shader_program *shProg)
-{
-   GLuint i;
-   GLint max = 0;
-   for (i = 0; i < shProg->TransformFeedback.NumVarying; i++) {
-      GLint len = strlen(shProg->TransformFeedback.VaryingNames[i]);
-      if (len > max)
-         max = len;
-   }
-   return max;
-}
-
-
-
 static GLboolean
 is_program(struct gl_context *ctx, GLuint name)
 {
@@ -578,17 +558,6 @@ get_programiv(struct gl_context *ctx, GLuint program, GLenum pname, GLint *param
    case GL_PROGRAM_BINARY_LENGTH_OES:
       *params = 0;
       break;
-#if FEATURE_EXT_transform_feedback
-   case GL_TRANSFORM_FEEDBACK_VARYINGS:
-      *params = shProg->TransformFeedback.NumVarying;
-      break;
-   case GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH:
-      *params = longest_feedback_varying_name(shProg) + 1;
-      break;
-   case GL_TRANSFORM_FEEDBACK_BUFFER_MODE:
-      *params = shProg->TransformFeedback.BufferMode;
-      break;
-#endif
 #if FEATURE_ARB_geometry_shader4
    case GL_GEOMETRY_VERTICES_OUT_ARB:
       *params = shProg->Geom.VerticesOut;
@@ -742,22 +711,11 @@ static void
 link_program(struct gl_context *ctx, GLuint program)
 {
    struct gl_shader_program *shProg;
-   struct gl_transform_feedback_object *obj =
-      ctx->TransformFeedback.CurrentObject;
 
    shProg = _mesa_lookup_shader_program_err(ctx, program, "glLinkProgram");
    if (!shProg)
       return;
 
-   if (obj->Active
-       && (shProg == ctx->Shader.CurrentVertexProgram
-          || shProg == ctx->Shader.CurrentGeometryProgram
-          || shProg == ctx->Shader.CurrentFragmentProgram)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glLinkProgram(transform feedback active)");
-      return;
-   }
-
    FLUSH_VERTICES(ctx, _NEW_PROGRAM);
 
    _mesa_glsl_link_shader(ctx, shProg);
@@ -1399,17 +1357,9 @@ _mesa_UseProgramObjectARB(GLhandleARB program)
 {
    GET_CURRENT_CONTEXT(ctx);
    struct gl_shader_program *shProg;
-   struct gl_transform_feedback_object *obj =
-      ctx->TransformFeedback.CurrentObject;
 
    ASSERT_OUTSIDE_BEGIN_END(ctx);
 
-   if (obj->Active && !obj->Paused) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glUseProgram(transform feedback active)");
-      return;
-   }
-
    if (program) {
       shProg = _mesa_lookup_shader_program_err(ctx, program, "glUseProgram");
       if (!shProg) {
@@ -1606,13 +1556,6 @@ _mesa_UseShaderProgramEXT(GLenum type, GLuint program)
       return;
    }
 
-   if (ctx->TransformFeedback.CurrentObject->Active &&
-       !ctx->TransformFeedback.CurrentObject->Paused) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glUseShaderProgramEXT(transform feedback is active)");
-      return;
-   }
-
    if (program) {
       shProg = _mesa_lookup_shader_program_err(ctx, program,
                                               "glUseShaderProgramEXT");
index 7563955..b77a5b7 100644 (file)
@@ -332,14 +332,6 @@ _mesa_free_shader_program_data(struct gl_context *ctx,
       shProg->Shaders = NULL;
    }
 
-   /* Transform feedback varying vars */
-   for (i = 0; i < shProg->TransformFeedback.NumVarying; i++) {
-      free(shProg->TransformFeedback.VaryingNames[i]);
-   }
-   free(shProg->TransformFeedback.VaryingNames);
-   shProg->TransformFeedback.VaryingNames = NULL;
-   shProg->TransformFeedback.NumVarying = 0;
-
 
    for (sh = 0; sh < MESA_SHADER_TYPES; sh++) {
       if (shProg->_LinkedShaders[sh] != NULL) {
index deefc34..8c28091 100644 (file)
 #include "mfeatures.h"
 #include "mtypes.h"
 #include "hash.h"
-#if FEATURE_ATI_fragment_shader
-#include "atifragshader.h"
-#endif
 #include "bufferobj.h"
 #include "shared.h"
 #include "program/program.h"
 #include "dlist.h"
 #include "shaderobj.h"
-#include "syncobj.h"
 
 
 /**
@@ -77,11 +73,6 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
       ctx->Driver.NewProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, 0);
 #endif
 
-#if FEATURE_ATI_fragment_shader
-   shared->ATIShaders = _mesa_NewHashTable();
-   shared->DefaultFragmentShader = _mesa_new_ati_fragment_shader(ctx, 0);
-#endif
-
 #if FEATURE_ARB_shader_objects
    shared->ShaderObjects = _mesa_NewHashTable();
 #endif
@@ -121,8 +112,6 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
    shared->RenderBuffers = _mesa_NewHashTable();
 #endif
 
-   make_empty_list(& shared->SyncObjects);
-
    return shared;
 }
 
@@ -167,21 +156,6 @@ delete_program_cb(GLuint id, void *data, void *userData)
 }
 
 
-#if FEATURE_ATI_fragment_shader
-/**
- * Callback for deleting an ATI fragment shader object.
- * Called by _mesa_HashDeleteAll().
- */
-static void
-delete_fragshader_cb(GLuint id, void *data, void *userData)
-{
-   struct ati_fragment_shader *shader = (struct ati_fragment_shader *) data;
-   struct gl_context *ctx = (struct gl_context *) userData;
-   _mesa_delete_ati_fragment_shader(ctx, shader);
-}
-#endif
-
-
 /**
  * Callback for deleting a buffer object.  Called by _mesa_HashDeleteAll().
  */
@@ -312,12 +286,6 @@ free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
    _mesa_reference_fragprog(ctx, &shared->DefaultFragmentProgram, NULL);
 #endif
 
-#if FEATURE_ATI_fragment_shader
-   _mesa_HashDeleteAll(shared->ATIShaders, delete_fragshader_cb, ctx);
-   _mesa_DeleteHashTable(shared->ATIShaders);
-   _mesa_delete_ati_fragment_shader(ctx, shared->DefaultFragmentShader);
-#endif
-
    _mesa_HashDeleteAll(shared->BufferObjects, delete_bufferobj_cb, ctx);
    _mesa_DeleteHashTable(shared->BufferObjects);
 
@@ -330,15 +298,6 @@ free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
 
    _mesa_reference_buffer_object(ctx, &shared->NullBufferObj, NULL);
 
-   {
-      struct simple_node *node;
-      struct simple_node *temp;
-
-      foreach_s(node, temp, & shared->SyncObjects) {
-        _mesa_unref_sync_object(ctx, (struct gl_sync_object *) node);
-      }
-   }
-
    /*
     * Free texture objects (after FBOs since some textures might have
     * been bound to FBOs).
index c59eff7..059a4ca 100644 (file)
@@ -204,8 +204,6 @@ update_program_enables(struct gl_context *ctx)
       && ctx->VertexProgram.Current->Base.Instructions;
    ctx->FragmentProgram._Enabled = ctx->FragmentProgram.Enabled
       && ctx->FragmentProgram.Current->Base.Instructions;
-   ctx->ATIFragmentShader._Enabled = ctx->ATIFragmentShader.Enabled
-      && ctx->ATIFragmentShader.Current->Instructions[0];
 }
 
 
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/syncobj.c b/reactos/dll/opengl/mesa/src/mesa/main/syncobj.c
deleted file mode 100644 (file)
index e1a5c6c..0000000
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * 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 (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS 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 syncobj.c
- * Sync object management.
- *
- * Unlike textures and other objects that are shared between contexts, sync
- * objects are not bound to the context.  As a result, the reference counting
- * and delete behavior of sync objects is slightly different.  References to
- * sync objects are added:
- *
- *    - By \c glFencSynce.  This sets the initial reference count to 1.
- *    - At the start of \c glClientWaitSync.  The reference is held for the
- *      duration of the wait call.
- *
- * References are removed:
- *
- *    - By \c glDeleteSync.
- *    - At the end of \c glClientWaitSync.
- *
- * Additionally, drivers may call \c _mesa_ref_sync_object and
- * \c _mesa_unref_sync_object as needed to implement \c ServerWaitSync.
- *
- * As with shader objects, sync object names become invalid as soon as
- * \c glDeleteSync is called.  For this reason \c glDeleteSync sets the
- * \c DeletePending flag.  All functions validate object handles by testing
- * this flag.
- *
- * \note
- * Only \c GL_ARB_sync objects are shared between contexts.  If support is ever
- * added for either \c GL_NV_fence or \c GL_APPLE_fence different semantics
- * will need to be implemented.
- *
- * \author Ian Romanick <ian.d.romanick@intel.com>
- */
-
-#include "glheader.h"
-#include "imports.h"
-#include "context.h"
-#include "macros.h"
-#include "mfeatures.h"
-#include "get.h"
-#include "dispatch.h"
-#include "mtypes.h"
-
-#if FEATURE_ARB_sync
-#include "syncobj.h"
-
-static struct gl_sync_object *
-_mesa_new_sync_object(struct gl_context *ctx, GLenum type)
-{
-   struct gl_sync_object *s = MALLOC_STRUCT(gl_sync_object);
-   (void) ctx;
-   (void) type;
-
-   return s;
-}
-
-
-static void
-_mesa_delete_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
-{
-   (void) ctx;
-   free(syncObj);
-}
-
-
-static void
-_mesa_fence_sync(struct gl_context *ctx, struct gl_sync_object *syncObj,
-                GLenum condition, GLbitfield flags)
-{
-   (void) ctx;
-   (void) condition;
-   (void) flags;
-
-   syncObj->StatusFlag = 1;
-}
-
-
-static void
-_mesa_check_sync(struct gl_context *ctx, struct gl_sync_object *syncObj)
-{
-   (void) ctx;
-   (void) syncObj;
-
-   /* No-op for software rendering.  Hardware drivers will need to determine
-    * whether the state of the sync object has changed.
-    */
-}
-
-
-static void
-_mesa_wait_sync(struct gl_context *ctx, struct gl_sync_object *syncObj,
-               GLbitfield flags, GLuint64 timeout)
-{
-   (void) ctx;
-   (void) syncObj;
-   (void) flags;
-   (void) timeout;
-
-   /* No-op for software rendering.  Hardware drivers will need to wait until
-    * the state of the sync object changes or the timeout expires.
-    */
-}
-
-
-void
-_mesa_init_sync_object_functions(struct dd_function_table *driver)
-{
-   driver->NewSyncObject = _mesa_new_sync_object;
-   driver->FenceSync = _mesa_fence_sync;
-   driver->DeleteSyncObject = _mesa_delete_sync_object;
-   driver->CheckSync = _mesa_check_sync;
-
-   /* Use the same no-op wait function for both.
-    */
-   driver->ClientWaitSync = _mesa_wait_sync;
-   driver->ServerWaitSync = _mesa_wait_sync;
-}
-
-
-void
-_mesa_init_sync_dispatch(struct _glapi_table *disp)
-{
-   SET_IsSync(disp, _mesa_IsSync);
-   SET_DeleteSync(disp, _mesa_DeleteSync);
-   SET_FenceSync(disp, _mesa_FenceSync);
-   SET_ClientWaitSync(disp, _mesa_ClientWaitSync);
-   SET_WaitSync(disp, _mesa_WaitSync);
-   SET_GetInteger64v(disp, _mesa_GetInteger64v);
-   SET_GetSynciv(disp, _mesa_GetSynciv);
-}
-
-
-/**
- * Allocate/init the context state related to sync objects.
- */
-void
-_mesa_init_sync(struct gl_context *ctx)
-{
-   (void) ctx;
-}
-
-
-/**
- * Free the context state related to sync objects.
- */
-void
-_mesa_free_sync_data(struct gl_context *ctx)
-{
-   (void) ctx;
-}
-
-
-static int
-_mesa_validate_sync(struct gl_sync_object *syncObj)
-{
-   return (syncObj != NULL)
-      && (syncObj->Type == GL_SYNC_FENCE)
-      && !syncObj->DeletePending;
-}
-
-
-void
-_mesa_ref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
-{
-   _glthread_LOCK_MUTEX(ctx->Shared->Mutex);
-   syncObj->RefCount++;
-   _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex);
-}
-
-
-void
-_mesa_unref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
-{
-   _glthread_LOCK_MUTEX(ctx->Shared->Mutex);
-   syncObj->RefCount--;
-   if (syncObj->RefCount == 0) {
-      remove_from_list(& syncObj->link);
-      _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex);
-
-      ctx->Driver.DeleteSyncObject(ctx, syncObj);
-   } else {
-      _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex);
-   }
-}
-
-
-GLboolean GLAPIENTRY
-_mesa_IsSync(GLsync sync)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync;
-   ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);
-
-   return _mesa_validate_sync(syncObj) ? GL_TRUE : GL_FALSE;
-}
-
-
-void GLAPIENTRY
-_mesa_DeleteSync(GLsync sync)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync;
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   /* From the GL_ARB_sync spec:
-    *
-    *    DeleteSync will silently ignore a <sync> value of zero. An
-    *    INVALID_VALUE error is generated if <sync> is neither zero nor the
-    *    name of a sync object.
-    */
-   if (sync == 0) {
-      return;
-   }
-
-   if (!_mesa_validate_sync(syncObj)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glDeleteSync");
-      return;
-   }
-
-   /* If there are no client-waits or server-waits pending on this sync, delete
-    * the underlying object.
-    */
-   syncObj->DeletePending = GL_TRUE;
-   _mesa_unref_sync_object(ctx, syncObj);
-}
-
-
-GLsync GLAPIENTRY
-_mesa_FenceSync(GLenum condition, GLbitfield flags)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct gl_sync_object *syncObj;
-   ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0);
-
-   if (condition != GL_SYNC_GPU_COMMANDS_COMPLETE) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glFenceSync(condition=0x%x)",
-                 condition);
-      return 0;
-   }
-
-   if (flags != 0) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glFenceSync(flags=0x%x)",
-                 condition);
-      return 0;
-   }
-
-   syncObj = ctx->Driver.NewSyncObject(ctx, GL_SYNC_FENCE);
-   if (syncObj != NULL) {
-      syncObj->Type = GL_SYNC_FENCE;
-      /* The name is not currently used, and it is never visible to
-       * applications.  If sync support is extended to provide support for
-       * NV_fence, this field will be used.  We'll also need to add an object
-       * ID hashtable.
-       */
-      syncObj->Name = 1;
-      syncObj->RefCount = 1;
-      syncObj->DeletePending = GL_FALSE;
-      syncObj->SyncCondition = condition;
-      syncObj->Flags = flags;
-      syncObj->StatusFlag = 0;
-
-      ctx->Driver.FenceSync(ctx, syncObj, condition, flags);
-
-      _glthread_LOCK_MUTEX(ctx->Shared->Mutex);
-      insert_at_tail(& ctx->Shared->SyncObjects, & syncObj->link);
-      _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex);
-
-      return (GLsync) syncObj;
-   }
-
-   return NULL;
-}
-
-
-GLenum GLAPIENTRY
-_mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync;
-   GLenum ret;
-   ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_WAIT_FAILED);
-
-   if (!_mesa_validate_sync(syncObj)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glClientWaitSync");
-      return GL_WAIT_FAILED;
-   }
-
-   if ((flags & ~GL_SYNC_FLUSH_COMMANDS_BIT) != 0) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glClientWaitSync(flags=0x%x)", flags);
-      return GL_WAIT_FAILED;
-   }
-
-   _mesa_ref_sync_object(ctx, syncObj);
-
-   /* From the GL_ARB_sync spec:
-    *
-    *    ClientWaitSync returns one of four status values. A return value of
-    *    ALREADY_SIGNALED indicates that <sync> was signaled at the time
-    *    ClientWaitSync was called. ALREADY_SIGNALED will always be returned
-    *    if <sync> was signaled, even if the value of <timeout> is zero.
-    */
-   ctx->Driver.CheckSync(ctx, syncObj);
-   if (syncObj->StatusFlag) {
-      ret = GL_ALREADY_SIGNALED;
-   } else {
-      ctx->Driver.ClientWaitSync(ctx, syncObj, flags, timeout);
-
-      ret = syncObj->StatusFlag ? GL_CONDITION_SATISFIED : GL_TIMEOUT_EXPIRED;
-   }
-
-   _mesa_unref_sync_object(ctx, syncObj);
-   return ret;
-}
-
-
-void GLAPIENTRY
-_mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync;
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (!_mesa_validate_sync(syncObj)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glWaitSync");
-      return;
-   }
-
-   if (flags != 0) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glWaitSync(flags=0x%x)", flags);
-      return;
-   }
-
-   /* From the GL_ARB_sync spec:
-    *
-    *     If the value of <timeout> is zero, then WaitSync does nothing.
-    */
-   if (timeout == 0) {
-      return;
-   }
-
-   ctx->Driver.ServerWaitSync(ctx, syncObj, flags, timeout);
-}
-
-
-void GLAPIENTRY
-_mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length,
-               GLint *values)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync;
-   GLsizei size = 0;
-   GLint v[1];
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (!_mesa_validate_sync(syncObj)) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glGetSynciv");
-      return;
-   }
-
-   switch (pname) {
-   case GL_OBJECT_TYPE:
-      v[0] = syncObj->Type;
-      size = 1;
-      break;
-
-   case GL_SYNC_CONDITION:
-      v[0] = syncObj->SyncCondition;
-      size = 1;
-      break;
-
-   case GL_SYNC_STATUS:
-      /* Update the state of the sync by dipping into the driver.  Note that
-       * this call won't block.  It just updates state in the common object
-       * data from the current driver state.
-       */
-      ctx->Driver.CheckSync(ctx, syncObj);
-
-      v[0] = (syncObj->StatusFlag) ? GL_SIGNALED : GL_UNSIGNALED;
-      size = 1;
-      break;
-
-   case GL_SYNC_FLAGS:
-      v[0] = syncObj->Flags;
-      size = 1;
-      break;
-
-   default:
-      _mesa_error(ctx, GL_INVALID_ENUM, "glGetSynciv(pname=0x%x)\n", pname);
-      return;
-   }
-
-   if (size > 0) {
-      const GLsizei copy_count = MIN2(size, bufSize);
-
-      memcpy(values, v, sizeof(GLint) * copy_count);
-   }
-
-   if (length != NULL) {
-      *length = size;
-   }
-}
-
-#endif /* FEATURE_ARB_sync */
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/syncobj.h b/reactos/dll/opengl/mesa/src/mesa/main/syncobj.h
deleted file mode 100644 (file)
index 50a5d11..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * 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 (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS 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 syncobj.h
- * Sync object management.
- *
- * \author Ian Romanick <ian.d.romanick@intel.com>
- */
-
-#ifndef SYNCOBJ_H
-#define SYNCOBJ_H
-
-#include "glheader.h"
-#include "mfeatures.h"
-
-struct _glapi_table;
-struct dd_function_table;
-struct gl_context;
-struct gl_sync_object;
-
-#if FEATURE_ARB_sync
-
-extern void
-_mesa_init_sync_object_functions(struct dd_function_table *driver);
-
-extern void
-_mesa_init_sync_dispatch(struct _glapi_table *disp);
-
-extern void
-_mesa_init_sync(struct gl_context *);
-
-extern void
-_mesa_free_sync_data(struct gl_context *);
-
-extern void
-_mesa_ref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj);
-
-extern void
-_mesa_unref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj);
-
-extern GLboolean GLAPIENTRY
-_mesa_IsSync(GLsync sync);
-
-extern void GLAPIENTRY
-_mesa_DeleteSync(GLsync sync);
-
-extern GLsync GLAPIENTRY
-_mesa_FenceSync(GLenum condition, GLbitfield flags);
-
-extern GLenum GLAPIENTRY
-_mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
-
-extern void GLAPIENTRY
-_mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
-
-extern void GLAPIENTRY
-_mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length,
-               GLint *values);
-
-#else /* FEATURE_ARB_sync */
-
-#include "main/compiler.h"
-
-static inline void
-_mesa_init_sync_object_functions(struct dd_function_table *driver)
-{
-}
-
-static inline void
-_mesa_init_sync_dispatch(struct _glapi_table *disp)
-{
-}
-
-static inline void
-_mesa_init_sync(struct gl_context *ctx)
-{
-}
-
-static inline void
-_mesa_free_sync_data(struct gl_context *ctx)
-{
-}
-
-static inline void
-_mesa_ref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
-{
-   ASSERT_NO_FEATURE();
-}
-
-static inline void
-_mesa_unref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
-{
-   ASSERT_NO_FEATURE();
-}
-
-#endif /* FEATURE_ARB_sync */
-
-#endif /* SYNCOBJ_H */
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/transformfeedback.c b/reactos/dll/opengl/mesa/src/mesa/main/transformfeedback.c
deleted file mode 100644 (file)
index 5893b6e..0000000
+++ /dev/null
@@ -1,940 +0,0 @@
-/*
- * Mesa 3-D graphics library
- *
- * Copyright (C) 2010  VMware, Inc.  All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-/*
- * Vertex transform feedback support.
- *
- * Authors:
- *   Brian Paul
- */
-
-
-#include "buffers.h"
-#include "bufferobj.h"
-#include "context.h"
-#include "hash.h"
-#include "mfeatures.h"
-#include "mtypes.h"
-#include "transformfeedback.h"
-#include "shaderapi.h"
-#include "shaderobj.h"
-#include "main/dispatch.h"
-
-#include "program/prog_parameter.h"
-
-
-#if FEATURE_EXT_transform_feedback
-
-
-/**
- * Do reference counting of transform feedback buffers.
- */
-static void
-reference_transform_feedback_object(struct gl_transform_feedback_object **ptr,
-                                    struct gl_transform_feedback_object *obj)
-{
-   if (*ptr == obj)
-      return;
-
-   if (*ptr) {
-      /* Unreference the old object */
-      struct gl_transform_feedback_object *oldObj = *ptr;
-
-      ASSERT(oldObj->RefCount > 0);
-      oldObj->RefCount--;
-
-      if (oldObj->RefCount == 0) {
-         GET_CURRENT_CONTEXT(ctx);
-         if (ctx)
-            ctx->Driver.DeleteTransformFeedback(ctx, oldObj);
-      }
-
-      *ptr = NULL;
-   }
-   ASSERT(!*ptr);
-
-   if (obj) {
-      /* reference new object */
-      if (obj->RefCount == 0) {
-         _mesa_problem(NULL, "referencing deleted transform feedback object");
-         *ptr = NULL;
-      }
-      else {
-         obj->RefCount++;
-         *ptr = obj;
-      }
-   }
-}
-
-
-/**
- * Check if the given primitive mode (as in glBegin(mode)) is compatible
- * with the current transform feedback mode (if it's enabled).
- * This is to be called from glBegin(), glDrawArrays(), glDrawElements(), etc.
- *
- * \return GL_TRUE if the mode is OK, GL_FALSE otherwise.
- */
-GLboolean
-_mesa_validate_primitive_mode(struct gl_context *ctx, GLenum mode)
-{
-   if (ctx->TransformFeedback.CurrentObject->Active &&
-       !ctx->TransformFeedback.CurrentObject->Paused) {
-      switch (mode) {
-      case GL_POINTS:
-         return ctx->TransformFeedback.Mode == GL_POINTS;
-      case GL_LINES:
-      case GL_LINE_STRIP:
-      case GL_LINE_LOOP:
-         return ctx->TransformFeedback.Mode == GL_LINES;
-      default:
-         return ctx->TransformFeedback.Mode == GL_TRIANGLES;
-      }
-   }
-   return GL_TRUE;
-}
-
-
-/**
- * Check that all the buffer objects currently bound for transform
- * feedback actually exist.  Raise a GL_INVALID_OPERATION error if
- * any buffers are missing.
- * \return GL_TRUE for success, GL_FALSE if error
- */
-GLboolean
-_mesa_validate_transform_feedback_buffers(struct gl_context *ctx)
-{
-   /* XXX to do */
-   return GL_TRUE;
-}
-
-
-
-/**
- * Per-context init for transform feedback.
- */
-void
-_mesa_init_transform_feedback(struct gl_context *ctx)
-{
-   /* core mesa expects this, even a dummy one, to be available */
-   ASSERT(ctx->Driver.NewTransformFeedback);
-
-   ctx->TransformFeedback.DefaultObject =
-      ctx->Driver.NewTransformFeedback(ctx, 0);
-
-   assert(ctx->TransformFeedback.DefaultObject->RefCount == 1);
-
-   reference_transform_feedback_object(&ctx->TransformFeedback.CurrentObject,
-                                       ctx->TransformFeedback.DefaultObject);
-
-   assert(ctx->TransformFeedback.DefaultObject->RefCount == 2);
-
-   ctx->TransformFeedback.Objects = _mesa_NewHashTable();
-
-   _mesa_reference_buffer_object(ctx,
-                                 &ctx->TransformFeedback.CurrentBuffer,
-                                 ctx->Shared->NullBufferObj);
-}
-
-
-
-/**
- * Callback for _mesa_HashDeleteAll().
- */
-static void
-delete_cb(GLuint key, void *data, void *userData)
-{
-   struct gl_context *ctx = (struct gl_context *) userData;
-   struct gl_transform_feedback_object *obj =
-      (struct gl_transform_feedback_object *) data;
-
-   ctx->Driver.DeleteTransformFeedback(ctx, obj);
-}
-
-
-/**
- * Per-context free/clean-up for transform feedback.
- */
-void
-_mesa_free_transform_feedback(struct gl_context *ctx)
-{
-   /* core mesa expects this, even a dummy one, to be available */
-   ASSERT(ctx->Driver.NewTransformFeedback);
-
-   _mesa_reference_buffer_object(ctx,
-                                 &ctx->TransformFeedback.CurrentBuffer,
-                                 NULL);
-
-   /* Delete all feedback objects */
-   _mesa_HashDeleteAll(ctx->TransformFeedback.Objects, delete_cb, ctx);
-   _mesa_DeleteHashTable(ctx->TransformFeedback.Objects);
-
-   /* Delete the default feedback object */
-   assert(ctx->Driver.DeleteTransformFeedback);
-   ctx->Driver.DeleteTransformFeedback(ctx,
-                                       ctx->TransformFeedback.DefaultObject);
-
-   ctx->TransformFeedback.CurrentObject = NULL;
-}
-
-
-#else /* FEATURE_EXT_transform_feedback */
-
-/* forward declarations */
-static struct gl_transform_feedback_object *
-new_transform_feedback(struct gl_context *ctx, GLuint name);
-
-static void
-delete_transform_feedback(struct gl_context *ctx,
-                          struct gl_transform_feedback_object *obj);
-
-/* dummy per-context init/clean-up for transform feedback */
-void
-_mesa_init_transform_feedback(struct gl_context *ctx)
-{
-   ctx->TransformFeedback.DefaultObject = new_transform_feedback(ctx, 0);
-   ctx->TransformFeedback.CurrentObject = ctx->TransformFeedback.DefaultObject;
-   _mesa_reference_buffer_object(ctx,
-                                 &ctx->TransformFeedback.CurrentBuffer,
-                                 ctx->Shared->NullBufferObj);
-}
-
-void
-_mesa_free_transform_feedback(struct gl_context *ctx)
-{
-   _mesa_reference_buffer_object(ctx,
-                                 &ctx->TransformFeedback.CurrentBuffer,
-                                 NULL);
-   ctx->TransformFeedback.CurrentObject = NULL;
-   delete_transform_feedback(ctx, ctx->TransformFeedback.DefaultObject);
-}
-
-#endif /* FEATURE_EXT_transform_feedback */
-
-
-/** Default fallback for ctx->Driver.NewTransformFeedback() */
-static struct gl_transform_feedback_object *
-new_transform_feedback(struct gl_context *ctx, GLuint name)
-{
-   struct gl_transform_feedback_object *obj;
-   obj = CALLOC_STRUCT(gl_transform_feedback_object);
-   if (obj) {
-      obj->Name = name;
-      obj->RefCount = 1;
-   }
-   return obj;
-}
-
-/** Default fallback for ctx->Driver.DeleteTransformFeedback() */
-static void
-delete_transform_feedback(struct gl_context *ctx,
-                          struct gl_transform_feedback_object *obj)
-{
-   GLuint i;
-
-   for (i = 0; i < Elements(obj->Buffers); i++) {
-      _mesa_reference_buffer_object(ctx, &obj->Buffers[i], NULL);
-   }
-
-   free(obj);
-}
-
-
-#if FEATURE_EXT_transform_feedback
-
-
-/** Default fallback for ctx->Driver.BeginTransformFeedback() */
-static void
-begin_transform_feedback(struct gl_context *ctx, GLenum mode,
-                         struct gl_transform_feedback_object *obj)
-{
-   /* nop */
-}
-
-/** Default fallback for ctx->Driver.EndTransformFeedback() */
-static void
-end_transform_feedback(struct gl_context *ctx,
-                       struct gl_transform_feedback_object *obj)
-{
-   /* nop */
-}
-
-/** Default fallback for ctx->Driver.PauseTransformFeedback() */
-static void
-pause_transform_feedback(struct gl_context *ctx,
-                         struct gl_transform_feedback_object *obj)
-{
-   /* nop */
-}
-
-/** Default fallback for ctx->Driver.ResumeTransformFeedback() */
-static void
-resume_transform_feedback(struct gl_context *ctx,
-                          struct gl_transform_feedback_object *obj)
-{
-   /* nop */
-}
-
-
-/**
- * Plug in default device driver functions for transform feedback.
- * Most drivers will override some/all of these.
- */
-void
-_mesa_init_transform_feedback_functions(struct dd_function_table *driver)
-{
-   driver->NewTransformFeedback = new_transform_feedback;
-   driver->DeleteTransformFeedback = delete_transform_feedback;
-   driver->BeginTransformFeedback = begin_transform_feedback;
-   driver->EndTransformFeedback = end_transform_feedback;
-   driver->PauseTransformFeedback = pause_transform_feedback;
-   driver->ResumeTransformFeedback = resume_transform_feedback;
-}
-
-
-void
-_mesa_init_transform_feedback_dispatch(struct _glapi_table *disp)
-{
-   /* EXT_transform_feedback */
-   SET_BeginTransformFeedbackEXT(disp, _mesa_BeginTransformFeedback);
-   SET_EndTransformFeedbackEXT(disp, _mesa_EndTransformFeedback);
-   SET_BindBufferRangeEXT(disp, _mesa_BindBufferRange);
-   SET_BindBufferBaseEXT(disp, _mesa_BindBufferBase);
-   SET_BindBufferOffsetEXT(disp, _mesa_BindBufferOffsetEXT);
-   SET_TransformFeedbackVaryingsEXT(disp, _mesa_TransformFeedbackVaryings);
-   SET_GetTransformFeedbackVaryingEXT(disp, _mesa_GetTransformFeedbackVarying);
-   /* ARB_transform_feedback2 */
-   SET_BindTransformFeedback(disp, _mesa_BindTransformFeedback);
-   SET_DeleteTransformFeedbacks(disp, _mesa_DeleteTransformFeedbacks);
-   SET_GenTransformFeedbacks(disp, _mesa_GenTransformFeedbacks);
-   SET_IsTransformFeedback(disp, _mesa_IsTransformFeedback);
-   SET_PauseTransformFeedback(disp, _mesa_PauseTransformFeedback);
-   SET_ResumeTransformFeedback(disp, _mesa_ResumeTransformFeedback);
-}
-
-
-/**
- ** Begin API functions
- **/
-
-
-void GLAPIENTRY
-_mesa_BeginTransformFeedback(GLenum mode)
-{
-   struct gl_transform_feedback_object *obj;
-   struct gl_transform_feedback_info *info;
-   int i;
-   GET_CURRENT_CONTEXT(ctx);
-
-   obj = ctx->TransformFeedback.CurrentObject;
-
-   if (ctx->Shader.CurrentVertexProgram == NULL) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBeginTransformFeedback(no program active)");
-      return;
-   }
-
-   info = &ctx->Shader.CurrentVertexProgram->LinkedTransformFeedback;
-
-   if (info->NumOutputs == 0) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBeginTransformFeedback(no varyings to record)");
-      return;
-   }
-
-   switch (mode) {
-   case GL_POINTS:
-   case GL_LINES:
-   case GL_TRIANGLES:
-      /* legal */
-      break;
-   default:
-      _mesa_error(ctx, GL_INVALID_ENUM, "glBeginTransformFeedback(mode)");
-      return;
-   }
-
-   if (obj->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBeginTransformFeedback(already active)");
-      return;
-   }
-
-   for (i = 0; i < info->NumBuffers; ++i) {
-      if (obj->BufferNames[i] == 0) {
-         _mesa_error(ctx, GL_INVALID_OPERATION,
-                     "glBeginTransformFeedback(binding point %d does not have "
-                     "a buffer object bound)", i);
-         return;
-      }
-   }
-
-   FLUSH_VERTICES(ctx, _NEW_TRANSFORM_FEEDBACK);
-   obj->Active = GL_TRUE;
-   ctx->TransformFeedback.Mode = mode;
-
-   assert(ctx->Driver.BeginTransformFeedback);
-   ctx->Driver.BeginTransformFeedback(ctx, mode, obj);
-}
-
-
-void GLAPIENTRY
-_mesa_EndTransformFeedback(void)
-{
-   struct gl_transform_feedback_object *obj;
-   GET_CURRENT_CONTEXT(ctx);
-
-   obj = ctx->TransformFeedback.CurrentObject;
-
-   if (!obj->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glEndTransformFeedback(not active)");
-      return;
-   }
-
-   FLUSH_VERTICES(ctx, _NEW_TRANSFORM_FEEDBACK);
-   ctx->TransformFeedback.CurrentObject->Active = GL_FALSE;
-   ctx->TransformFeedback.CurrentObject->Paused = GL_FALSE;
-   ctx->TransformFeedback.CurrentObject->EndedAnytime = GL_TRUE;
-
-   assert(ctx->Driver.EndTransformFeedback);
-   ctx->Driver.EndTransformFeedback(ctx, obj);
-}
-
-
-/**
- * Helper used by BindBufferRange() and BindBufferBase().
- */
-static void
-bind_buffer_range(struct gl_context *ctx, GLuint index,
-                  struct gl_buffer_object *bufObj,
-                  GLintptr offset, GLsizeiptr size)
-{
-   struct gl_transform_feedback_object *obj =
-      ctx->TransformFeedback.CurrentObject;
-
-   /* Note: no need to FLUSH_VERTICES or flag _NEW_TRANSFORM_FEEDBACK, because
-    * transform feedback buffers can't be changed while transform feedback is
-    * active.
-    */
-
-   /* The general binding point */
-   _mesa_reference_buffer_object(ctx,
-                                 &ctx->TransformFeedback.CurrentBuffer,
-                                 bufObj);
-
-   /* The per-attribute binding point */
-   _mesa_reference_buffer_object(ctx,
-                                 &obj->Buffers[index],
-                                 bufObj);
-
-   obj->BufferNames[index] = bufObj->Name;
-
-   obj->Offset[index] = offset;
-   obj->Size[index] = size;
-}
-
-
-/**
- * Specify a buffer object to receive vertex shader results.  Plus,
- * specify the starting offset to place the results, and max size.
- */
-void GLAPIENTRY
-_mesa_BindBufferRange(GLenum target, GLuint index,
-                      GLuint buffer, GLintptr offset, GLsizeiptr size)
-{
-   struct gl_transform_feedback_object *obj;
-   struct gl_buffer_object *bufObj;
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (target != GL_TRANSFORM_FEEDBACK_BUFFER) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glBindBufferRange(target)");
-      return;
-   }
-
-   obj = ctx->TransformFeedback.CurrentObject;
-
-   if (obj->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindBufferRange(transform feedback active)");
-      return;
-   }
-
-   if (index >= ctx->Const.MaxTransformFeedbackSeparateAttribs) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glBindBufferRange(index=%d)", index);
-      return;
-   }
-
-   if ((size <= 0) || (size & 0x3)) {
-      /* must be positive and multiple of four */
-      _mesa_error(ctx, GL_INVALID_VALUE, "glBindBufferRange(size=%d)", (int) size);
-      return;
-   }  
-
-   if (offset & 0x3) {
-      /* must be multiple of four */
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glBindBufferRange(offset=%d)", (int) offset);
-      return;
-   }  
-
-   if (buffer == 0) {
-      bufObj = ctx->Shared->NullBufferObj;
-   } else {
-      bufObj = _mesa_lookup_bufferobj(ctx, buffer);
-   }
-
-   if (!bufObj) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindBufferRange(invalid buffer=%u)", buffer);
-      return;
-   }
-
-   if (offset + size > bufObj->Size) {
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glBindBufferRange(offset + size %d > buffer size %d)",
-                 (int) (offset + size), (int) (bufObj->Size));
-      return;
-   }  
-
-   bind_buffer_range(ctx, index, bufObj, offset, size);
-}
-
-
-/**
- * Specify a buffer object to receive vertex shader results.
- * As above, but start at offset = 0.
- */
-void GLAPIENTRY
-_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer)
-{
-   struct gl_transform_feedback_object *obj;
-   struct gl_buffer_object *bufObj;
-   GLsizeiptr size;
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (target != GL_TRANSFORM_FEEDBACK_BUFFER) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glBindBufferBase(target)");
-      return;
-   }
-
-   obj = ctx->TransformFeedback.CurrentObject;
-
-   if (obj->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindBufferBase(transform feedback active)");
-      return;
-   }
-
-   if (index >= ctx->Const.MaxTransformFeedbackSeparateAttribs) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glBindBufferBase(index=%d)", index);
-      return;
-   }
-
-   if (buffer == 0) {
-      bufObj = ctx->Shared->NullBufferObj;
-   } else {
-      bufObj = _mesa_lookup_bufferobj(ctx, buffer);
-   }
-
-   if (!bufObj) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindBufferBase(invalid buffer=%u)", buffer);
-      return;
-   }
-
-   /* default size is the buffer size rounded down to nearest
-    * multiple of four.
-    */
-   size = bufObj->Size & ~0x3;
-
-   bind_buffer_range(ctx, index, bufObj, 0, size);
-}
-
-
-/**
- * Specify a buffer object to receive vertex shader results, plus the
- * offset in the buffer to start placing results.
- * This function is part of GL_EXT_transform_feedback, but not GL3.
- */
-void GLAPIENTRY
-_mesa_BindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer,
-                          GLintptr offset)
-{
-   struct gl_transform_feedback_object *obj;
-   struct gl_buffer_object *bufObj;
-   GET_CURRENT_CONTEXT(ctx);
-   GLsizeiptr size;
-
-   if (target != GL_TRANSFORM_FEEDBACK_BUFFER) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glBindBufferOffsetEXT(target)");
-      return;
-   }
-
-   obj = ctx->TransformFeedback.CurrentObject;
-
-   if (obj->Active) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindBufferOffsetEXT(transform feedback active)");
-      return;
-   }
-
-   if (index >= ctx->Const.MaxTransformFeedbackSeparateAttribs) {
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glBindBufferOffsetEXT(index=%d)", index);
-      return;
-   }
-
-   if (offset & 0x3) {
-      /* must be multiple of four */
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glBindBufferOffsetEXT(offset=%d)", (int) offset);
-      return;
-   }
-
-   if (buffer == 0) {
-      bufObj = ctx->Shared->NullBufferObj;
-   } else {
-      bufObj = _mesa_lookup_bufferobj(ctx, buffer);
-   }
-
-   if (!bufObj) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindBufferOffsetEXT(invalid buffer=%u)", buffer);
-      return;
-   }
-
-   /* default size is the buffer size rounded down to nearest
-    * multiple of four.
-    */
-   size = (bufObj->Size - offset) & ~0x3;
-
-   bind_buffer_range(ctx, index, bufObj, offset, size);
-}
-
-
-/**
- * This function specifies the vertex shader outputs to be written
- * to the feedback buffer(s), and in what order.
- */
-void GLAPIENTRY
-_mesa_TransformFeedbackVaryings(GLuint program, GLsizei count,
-                                const GLchar **varyings, GLenum bufferMode)
-{
-   struct gl_shader_program *shProg;
-   GLuint i;
-   GET_CURRENT_CONTEXT(ctx);
-
-   switch (bufferMode) {
-   case GL_INTERLEAVED_ATTRIBS:
-      break;
-   case GL_SEPARATE_ATTRIBS:
-      break;
-   default:
-      _mesa_error(ctx, GL_INVALID_ENUM,
-                  "glTransformFeedbackVaryings(bufferMode)");
-      return;
-   }
-
-   if (count < 0 ||
-       (bufferMode == GL_SEPARATE_ATTRIBS &&
-        (GLuint) count > ctx->Const.MaxTransformFeedbackSeparateAttribs)) {
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glTransformFeedbackVaryings(count=%d)", count);
-      return;
-   }
-
-   shProg = _mesa_lookup_shader_program(ctx, program);
-   if (!shProg) {
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glTransformFeedbackVaryings(program=%u)", program);
-      return;
-   }
-
-   /* free existing varyings, if any */
-   for (i = 0; i < shProg->TransformFeedback.NumVarying; i++) {
-      free(shProg->TransformFeedback.VaryingNames[i]);
-   }
-   free(shProg->TransformFeedback.VaryingNames);
-
-   /* allocate new memory for varying names */
-   shProg->TransformFeedback.VaryingNames =
-      (GLchar **) malloc(count * sizeof(GLchar *));
-
-   if (!shProg->TransformFeedback.VaryingNames) {
-      _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTransformFeedbackVaryings()");
-      return;
-   }
-
-   /* Save the new names and the count */
-   for (i = 0; i < (GLuint) count; i++) {
-      shProg->TransformFeedback.VaryingNames[i] = _mesa_strdup(varyings[i]);
-   }
-   shProg->TransformFeedback.NumVarying = count;
-
-   shProg->TransformFeedback.BufferMode = bufferMode;
-
-   /* No need to set _NEW_TRANSFORM_FEEDBACK (or invoke FLUSH_VERTICES) since
-    * the varyings won't be used until shader link time.
-    */
-}
-
-
-/**
- * Get info about the vertex shader's outputs which are to be written
- * to the feedback buffer(s).
- */
-void GLAPIENTRY
-_mesa_GetTransformFeedbackVarying(GLuint program, GLuint index,
-                                  GLsizei bufSize, GLsizei *length,
-                                  GLsizei *size, GLenum *type, GLchar *name)
-{
-   const struct gl_shader_program *shProg;
-   const struct gl_transform_feedback_info *linked_xfb_info;
-   GET_CURRENT_CONTEXT(ctx);
-
-   shProg = _mesa_lookup_shader_program(ctx, program);
-   if (!shProg) {
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glGetTransformFeedbackVaryings(program=%u)", program);
-      return;
-   }
-
-   linked_xfb_info = &shProg->LinkedTransformFeedback;
-   if (index >= linked_xfb_info->NumVarying) {
-      _mesa_error(ctx, GL_INVALID_VALUE,
-                  "glGetTransformFeedbackVaryings(index=%u)", index);
-      return;
-   }
-
-   /* return the varying's name and length */
-   _mesa_copy_string(name, bufSize, length,
-                    linked_xfb_info->Varyings[index].Name);
-
-   /* return the datatype and value's size (in datatype units) */
-   if (type)
-      *type = linked_xfb_info->Varyings[index].Type;
-   if (size)
-      *size = linked_xfb_info->Varyings[index].Size;
-}
-
-
-
-struct gl_transform_feedback_object *
-_mesa_lookup_transform_feedback_object(struct gl_context *ctx, GLuint name)
-{
-   if (name == 0) {
-      return ctx->TransformFeedback.DefaultObject;
-   }
-   else
-      return (struct gl_transform_feedback_object *)
-         _mesa_HashLookup(ctx->TransformFeedback.Objects, name);
-}
-
-
-/**
- * Create new transform feedback objects.   Transform feedback objects
- * encapsulate the state related to transform feedback to allow quickly
- * switching state (and drawing the results, below).
- * Part of GL_ARB_transform_feedback2.
- */
-void GLAPIENTRY
-_mesa_GenTransformFeedbacks(GLsizei n, GLuint *names)
-{
-   GLuint first;
-   GET_CURRENT_CONTEXT(ctx);
-
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (n < 0) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glGenTransformFeedbacks(n < 0)");
-      return;
-   }
-
-   if (!names)
-      return;
-
-   /* we don't need contiguous IDs, but this might be faster */
-   first = _mesa_HashFindFreeKeyBlock(ctx->TransformFeedback.Objects, n);
-   if (first) {
-      GLsizei i;
-      for (i = 0; i < n; i++) {
-         struct gl_transform_feedback_object *obj
-            = ctx->Driver.NewTransformFeedback(ctx, first + i);
-         if (!obj) {
-            _mesa_error(ctx, GL_OUT_OF_MEMORY, "glGenTransformFeedbacks");
-            return;
-         }
-         names[i] = first + i;
-         _mesa_HashInsert(ctx->TransformFeedback.Objects, first + i, obj);
-      }
-   }
-   else {
-      _mesa_error(ctx, GL_OUT_OF_MEMORY, "glGenTransformFeedbacks");
-   }
-}
-
-
-/**
- * Is the given ID a transform feedback object?
- * Part of GL_ARB_transform_feedback2.
- */
-GLboolean GLAPIENTRY
-_mesa_IsTransformFeedback(GLuint name)
-{
-   GET_CURRENT_CONTEXT(ctx);
-
-   ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);
-
-   if (name && _mesa_lookup_transform_feedback_object(ctx, name))
-      return GL_TRUE;
-   else
-      return GL_FALSE;
-}
-
-
-/**
- * Bind the given transform feedback object.
- * Part of GL_ARB_transform_feedback2.
- */
-void GLAPIENTRY
-_mesa_BindTransformFeedback(GLenum target, GLuint name)
-{
-   struct gl_transform_feedback_object *obj;
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (target != GL_TRANSFORM_FEEDBACK) {
-      _mesa_error(ctx, GL_INVALID_ENUM, "glBindTransformFeedback(target)");
-      return;
-   }
-
-   if (ctx->TransformFeedback.CurrentObject->Active &&
-       !ctx->TransformFeedback.CurrentObject->Paused) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-              "glBindTransformFeedback(transform is active, or not paused)");
-      return;
-   }
-
-   obj = _mesa_lookup_transform_feedback_object(ctx, name);
-   if (!obj) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindTransformFeedback(name=%u)", name);
-      return;
-   }
-
-   reference_transform_feedback_object(&ctx->TransformFeedback.CurrentObject,
-                                       obj);
-}
-
-
-/**
- * Delete the given transform feedback objects.
- * Part of GL_ARB_transform_feedback2.
- */
-void GLAPIENTRY
-_mesa_DeleteTransformFeedbacks(GLsizei n, const GLuint *names)
-{
-   GLint i;
-   GET_CURRENT_CONTEXT(ctx);
-
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (n < 0) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteTransformFeedbacks(n < 0)");
-      return;
-   }
-
-   if (!names)
-      return;
-
-   for (i = 0; i < n; i++) {
-      if (names[i] > 0) {
-         struct gl_transform_feedback_object *obj
-            = _mesa_lookup_transform_feedback_object(ctx, names[i]);
-         if (obj) {
-            if (obj->Active) {
-               _mesa_error(ctx, GL_INVALID_OPERATION,
-                           "glDeleteTransformFeedbacks(object %u is active)",
-                           names[i]);
-               return;
-            }
-            _mesa_HashRemove(ctx->TransformFeedback.Objects, names[i]);
-            /* unref, but object may not be deleted until later */
-            reference_transform_feedback_object(&obj, NULL);
-         }
-      }
-   }
-}
-
-
-/**
- * Pause transform feedback.
- * Part of GL_ARB_transform_feedback2.
- */
-void GLAPIENTRY
-_mesa_PauseTransformFeedback(void)
-{
-   struct gl_transform_feedback_object *obj;
-   GET_CURRENT_CONTEXT(ctx);
-
-   obj = ctx->TransformFeedback.CurrentObject;
-
-   if (!obj->Active || obj->Paused) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-           "glPauseTransformFeedback(feedback not active or already paused)");
-      return;
-   }
-
-   FLUSH_VERTICES(ctx, _NEW_TRANSFORM_FEEDBACK);
-   obj->Paused = GL_TRUE;
-
-   assert(ctx->Driver.PauseTransformFeedback);
-   ctx->Driver.PauseTransformFeedback(ctx, obj);
-}
-
-
-/**
- * Resume transform feedback.
- * Part of GL_ARB_transform_feedback2.
- */
-void GLAPIENTRY
-_mesa_ResumeTransformFeedback(void)
-{
-   struct gl_transform_feedback_object *obj;
-   GET_CURRENT_CONTEXT(ctx);
-
-   obj = ctx->TransformFeedback.CurrentObject;
-
-   if (!obj->Active || !obj->Paused) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-               "glResumeTransformFeedback(feedback not active or not paused)");
-      return;
-   }
-
-   FLUSH_VERTICES(ctx, _NEW_TRANSFORM_FEEDBACK);
-   obj->Paused = GL_FALSE;
-
-   assert(ctx->Driver.ResumeTransformFeedback);
-   ctx->Driver.ResumeTransformFeedback(ctx, obj);
-}
-
-#endif /* FEATURE_EXT_transform_feedback */
diff --git a/reactos/dll/opengl/mesa/src/mesa/main/transformfeedback.h b/reactos/dll/opengl/mesa/src/mesa/main/transformfeedback.h
deleted file mode 100644 (file)
index 8a6672d..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Mesa 3-D graphics library
- *
- * Copyright (C) 2010  VMware, Inc.  All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-#ifndef TRANSFORM_FEEDBACK_H
-#define TRANSFORM_FEEDBACK_H
-
-#include "compiler.h"
-#include "glheader.h"
-#include "mfeatures.h"
-
-struct _glapi_table;
-struct dd_function_table;
-struct gl_context;
-
-extern void
-_mesa_init_transform_feedback(struct gl_context *ctx);
-
-extern void
-_mesa_free_transform_feedback(struct gl_context *ctx);
-
-#if FEATURE_EXT_transform_feedback
-
-extern GLboolean
-_mesa_validate_primitive_mode(struct gl_context *ctx, GLenum mode);
-
-extern GLboolean
-_mesa_validate_transform_feedback_buffers(struct gl_context *ctx);
-
-
-extern void
-_mesa_init_transform_feedback_functions(struct dd_function_table *driver);
-
-extern void
-_mesa_init_transform_feedback_dispatch(struct _glapi_table *disp);
-
-
-/*** GL_EXT_transform_feedback ***/
-
-extern void GLAPIENTRY
-_mesa_BeginTransformFeedback(GLenum mode);
-
-extern void GLAPIENTRY
-_mesa_EndTransformFeedback(void);
-
-extern void GLAPIENTRY
-_mesa_BindBufferRange(GLenum target, GLuint index,
-                      GLuint buffer, GLintptr offset, GLsizeiptr size);
-
-extern void GLAPIENTRY
-_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer);
-
-extern void GLAPIENTRY
-_mesa_BindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer,
-                          GLintptr offset);
-
-extern void GLAPIENTRY
-_mesa_TransformFeedbackVaryings(GLuint program, GLsizei count,
-                                const GLchar **varyings, GLenum bufferMode);
-
-extern void GLAPIENTRY
-_mesa_GetTransformFeedbackVarying(GLuint program, GLuint index,
-                                  GLsizei bufSize, GLsizei *length,
-                                  GLsizei *size, GLenum *type, GLchar *name);
-
-
-
-/*** GL_ARB_transform_feedback2 ***/
-
-struct gl_transform_feedback_object *
-_mesa_lookup_transform_feedback_object(struct gl_context *ctx, GLuint name);
-
-extern void GLAPIENTRY
-_mesa_GenTransformFeedbacks(GLsizei n, GLuint *names);
-
-extern GLboolean GLAPIENTRY
-_mesa_IsTransformFeedback(GLuint name);
-
-extern void GLAPIENTRY
-_mesa_BindTransformFeedback(GLenum target, GLuint name);
-
-extern void GLAPIENTRY
-_mesa_DeleteTransformFeedbacks(GLsizei n, const GLuint *names);
-
-extern void GLAPIENTRY
-_mesa_PauseTransformFeedback(void);
-
-extern void GLAPIENTRY
-_mesa_ResumeTransformFeedback(void);
-
-#else /* FEATURE_EXT_transform_feedback */
-
-static inline GLboolean
-_mesa_validate_primitive_mode(struct gl_context *ctx, GLenum mode)
-{
-   return GL_TRUE;
-}
-
-static inline GLboolean
-_mesa_validate_transform_feedback_buffers(struct gl_context *ctx)
-{
-   return GL_TRUE;
-}
-
-static inline void
-_mesa_init_transform_feedback_functions(struct dd_function_table *driver)
-{
-}
-
-static inline void
-_mesa_init_transform_feedback_dispatch(struct _glapi_table *disp)
-{
-}
-
-#endif /* FEATURE_EXT_transform_feedback */
-
-#endif /* TRANSFORM_FEEDBACK_H */
index b6041bd..6fcc0a3 100644 (file)
@@ -245,13 +245,6 @@ _mesa_DrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end,
                                  const GLvoid *indices,
                                  GLint basevertex);
 
-#if FEATURE_EXT_transform_feedback
-
-extern void GLAPIENTRY
-_mesa_DrawTransformFeedback(GLenum mode, GLuint name);
-
-#endif
-
 extern void GLAPIENTRY
 _mesa_PrimitiveRestartIndex(GLuint index);
 
index 710850f..8284863 100644 (file)
@@ -99,7 +99,6 @@ compute_version(struct gl_context *ctx)
                               ctx->Extensions.EXT_point_parameters &&
                               ctx->Extensions.EXT_secondary_color);
    const GLboolean ver_1_5 = (ver_1_4 &&
-                              ctx->Extensions.ARB_occlusion_query &&
                               ctx->Extensions.EXT_shadow_funcs);
    const GLboolean ver_2_0 = (ver_1_5 &&
                               ctx->Extensions.ARB_point_sprite &&
@@ -134,12 +133,9 @@ compute_version(struct gl_context *ctx)
                               ctx->Extensions.ARB_texture_rg &&
                               ctx->Extensions.ARB_texture_compression_rgtc &&
                               ctx->Extensions.APPLE_vertex_array_object &&
-                              ctx->Extensions.EXT_draw_buffers2 &&
                               ctx->Extensions.ARB_framebuffer_object &&
                               ctx->Extensions.EXT_framebuffer_sRGB &&
-                              ctx->Extensions.EXT_texture_array &&
-                              ctx->Extensions.EXT_transform_feedback &&
-                              ctx->Extensions.NV_conditional_render);
+                              ctx->Extensions.EXT_texture_array);
    const GLboolean ver_3_1 = (ver_3_0 &&
                               ctx->Const.GLSLVersion >= 140 &&
                               ctx->Extensions.ARB_copy_buffer &&
@@ -158,15 +154,13 @@ compute_version(struct gl_context *ctx)
                               ctx->Extensions.ARB_geometry_shader4 &&
                               ctx->Extensions.EXT_provoking_vertex &&
                               ctx->Extensions.ARB_seamless_cube_map &&
-                              ctx->Extensions.ARB_sync &&
                               ctx->Extensions.ARB_texture_multisample &&
                               ctx->Extensions.EXT_vertex_array_bgra);
    const GLboolean ver_3_3 = (ver_3_2 &&
                               ctx->Const.GLSLVersion >= 330 &&
                               ctx->Extensions.ARB_blend_func_extended &&
                               ctx->Extensions.ARB_explicit_attrib_location &&
-                              ctx->Extensions.ARB_instanced_arrays &&
-                              ctx->Extensions.ARB_occlusion_query2);
+                              ctx->Extensions.ARB_instanced_arrays);
 
    if (ver_3_3) {
       major = 3;
index 3d1813b..d094147 100644 (file)
@@ -107,7 +107,6 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt )
    SET_DrawArraysInstancedARB(tab, vfmt->DrawArraysInstanced);
    SET_DrawElementsInstancedARB(tab, vfmt->DrawElementsInstanced);
    SET_DrawElementsInstancedBaseVertex(tab, vfmt->DrawElementsInstancedBaseVertex);
-   SET_DrawTransformFeedback(tab, vfmt->DrawTransformFeedback);
 
    /* GL_NV_vertex_program */
    SET_VertexAttrib1fNV(tab, vfmt->VertexAttrib1fNV);
index 582cbcc..c964fcc 100644 (file)
@@ -117,14 +117,6 @@ _mesa_init_program(struct gl_context *ctx)
                             NULL);
    ctx->GeometryProgram.Cache = _mesa_new_program_cache();
 #endif
-
-   /* XXX probably move this stuff */
-#if FEATURE_ATI_fragment_shader
-   ctx->ATIFragmentShader.Enabled = GL_FALSE;
-   ctx->ATIFragmentShader.Current = ctx->Shared->DefaultFragmentShader;
-   assert(ctx->ATIFragmentShader.Current);
-   ctx->ATIFragmentShader.Current->RefCount++;
-#endif
 }
 
 
@@ -145,15 +137,6 @@ _mesa_free_program_data(struct gl_context *ctx)
 #if FEATURE_ARB_geometry_shader4
    _mesa_reference_geomprog(ctx, &ctx->GeometryProgram.Current, NULL);
    _mesa_delete_program_cache(ctx, ctx->GeometryProgram.Cache);
-#endif
-   /* XXX probably move this stuff */
-#if FEATURE_ATI_fragment_shader
-   if (ctx->ATIFragmentShader.Current) {
-      ctx->ATIFragmentShader.Current->RefCount--;
-      if (ctx->ATIFragmentShader.Current->RefCount <= 0) {
-         free(ctx->ATIFragmentShader.Current);
-      }
-   }
 #endif
    free((void *) ctx->Program.ErrorString);
 }
@@ -186,19 +169,6 @@ _mesa_update_default_objects_program(struct gl_context *ctx)
                             (struct gl_geometry_program *)
                             ctx->Shared->DefaultGeometryProgram);
 #endif
-
-   /* XXX probably move this stuff */
-#if FEATURE_ATI_fragment_shader
-   if (ctx->ATIFragmentShader.Current) {
-      ctx->ATIFragmentShader.Current->RefCount--;
-      if (ctx->ATIFragmentShader.Current->RefCount <= 0) {
-         free(ctx->ATIFragmentShader.Current);
-      }
-   }
-   ctx->ATIFragmentShader.Current = (struct ati_fragment_shader *) ctx->Shared->DefaultFragmentShader;
-   assert(ctx->ATIFragmentShader.Current);
-   ctx->ATIFragmentShader.Current->RefCount++;
-#endif
 }
 
 
index 7c9692d..4d44be1 100644 (file)
@@ -3,7 +3,6 @@ list(APPEND SOURCE
     s_aaline.c
     s_aatriangle.c
     s_alpha.c
-    s_atifragshader.c
     s_bitmap.c
     s_blend.c
     s_blit.c
diff --git a/reactos/dll/opengl/mesa/src/mesa/swrast/s_atifragshader.c b/reactos/dll/opengl/mesa/src/mesa/swrast/s_atifragshader.c
deleted file mode 100644 (file)
index 1eb026e..0000000
+++ /dev/null
@@ -1,604 +0,0 @@
-/*
- * Copyright (C) 2004  David Airlie   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
- * DAVID AIRLIE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include "main/glheader.h"
-#include "main/colormac.h"
-#include "main/macros.h"
-#include "main/atifragshader.h"
-#include "swrast/s_atifragshader.h"
-#include "swrast/s_context.h"
-
-
-/**
- * State for executing ATI fragment shader.
- */
-struct atifs_machine
-{
-   GLfloat Registers[6][4];         /** six temporary registers */
-   GLfloat PrevPassRegisters[6][4];
-   GLfloat Inputs[2][4];   /** Primary, secondary input colors */
-};
-
-
-
-/**
- * Fetch a texel.
- */
-static void
-fetch_texel(struct gl_context * ctx, const GLfloat texcoord[4], GLfloat lambda,
-           GLuint unit, GLfloat color[4])
-{
-   SWcontext *swrast = SWRAST_CONTEXT(ctx);
-
-   /* XXX use a float-valued TextureSample routine here!!! */
-   swrast->TextureSample[unit](ctx, ctx->Texture.Unit[unit]._Current,
-                               1, (const GLfloat(*)[4]) texcoord,
-                               &lambda, (GLfloat (*)[4]) color);
-}
-
-static void
-apply_swizzle(GLfloat values[4], GLuint swizzle)
-{
-   GLfloat s, t, r, q;
-
-   s = values[0];
-   t = values[1];
-   r = values[2];
-   q = values[3];
-
-   switch (swizzle) {
-   case GL_SWIZZLE_STR_ATI:
-      values[0] = s;
-      values[1] = t;
-      values[2] = r;
-      break;
-   case GL_SWIZZLE_STQ_ATI:
-      values[0] = s;
-      values[1] = t;
-      values[2] = q;
-      break;
-   case GL_SWIZZLE_STR_DR_ATI:
-      values[0] = s / r;
-      values[1] = t / r;
-      values[2] = 1 / r;
-      break;
-   case GL_SWIZZLE_STQ_DQ_ATI:
-/* make sure q is not 0 to avoid problems later with infinite values (texture lookup)? */
-      if (q == 0.0F)
-         q = 0.000000001F;
-      values[0] = s / q;
-      values[1] = t / q;
-      values[2] = 1.0F / q;
-      break;
-   }
-   values[3] = 0.0;
-}
-
-static void
-apply_src_rep(GLint optype, GLuint rep, GLfloat * val)
-{
-   GLint i;
-   GLint start, end;
-   if (!rep)
-      return;
-
-   start = optype ? 3 : 0;
-   end = 4;
-
-   for (i = start; i < end; i++) {
-      switch (rep) {
-      case GL_RED:
-        val[i] = val[0];
-        break;
-      case GL_GREEN:
-        val[i] = val[1];
-        break;
-      case GL_BLUE:
-        val[i] = val[2];
-        break;
-      case GL_ALPHA:
-        val[i] = val[3];
-        break;
-      }
-   }
-}
-
-static void
-apply_src_mod(GLint optype, GLuint mod, GLfloat * val)
-{
-   GLint i;
-   GLint start, end;
-
-   if (!mod)
-      return;
-
-   start = optype ? 3 : 0;
-   end = 4;
-
-   for (i = start; i < end; i++) {
-      if (mod & GL_COMP_BIT_ATI)
-        val[i] = 1 - val[i];
-
-      if (mod & GL_BIAS_BIT_ATI)
-        val[i] = val[i] - 0.5F;
-
-      if (mod & GL_2X_BIT_ATI)
-        val[i] = 2 * val[i];
-
-      if (mod & GL_NEGATE_BIT_ATI)
-        val[i] = -val[i];
-   }
-}
-
-static void
-apply_dst_mod(GLuint optype, GLuint mod, GLfloat * val)
-{
-   GLint i;
-   GLint has_sat = mod & GL_SATURATE_BIT_ATI;
-   GLint start, end;
-
-   mod &= ~GL_SATURATE_BIT_ATI;
-
-   start = optype ? 3 : 0;
-   end = optype ? 4 : 3;
-
-   for (i = start; i < end; i++) {
-      switch (mod) {
-      case GL_2X_BIT_ATI:
-        val[i] = 2 * val[i];
-        break;
-      case GL_4X_BIT_ATI:
-        val[i] = 4 * val[i];
-        break;
-      case GL_8X_BIT_ATI:
-        val[i] = 8 * val[i];
-        break;
-      case GL_HALF_BIT_ATI:
-        val[i] = val[i] * 0.5F;
-        break;
-      case GL_QUARTER_BIT_ATI:
-        val[i] = val[i] * 0.25F;
-        break;
-      case GL_EIGHTH_BIT_ATI:
-        val[i] = val[i] * 0.125F;
-        break;
-      }
-
-      if (has_sat) {
-        if (val[i] < 0.0F)
-           val[i] = 0.0F;
-        else if (val[i] > 1.0F)
-           val[i] = 1.0F;
-      }
-      else {
-        if (val[i] < -8.0F)
-           val[i] = -8.0F;
-        else if (val[i] > 8.0F)
-           val[i] = 8.0F;
-      }
-   }
-}
-
-
-static void
-write_dst_addr(GLuint optype, GLuint mod, GLuint mask, GLfloat * src,
-              GLfloat * dst)
-{
-   GLint i;
-   apply_dst_mod(optype, mod, src);
-
-   if (optype == ATI_FRAGMENT_SHADER_COLOR_OP) {
-      if (mask) {
-        if (mask & GL_RED_BIT_ATI)
-           dst[0] = src[0];
-
-        if (mask & GL_GREEN_BIT_ATI)
-           dst[1] = src[1];
-
-        if (mask & GL_BLUE_BIT_ATI)
-           dst[2] = src[2];
-      }
-      else {
-        for (i = 0; i < 3; i++)
-           dst[i] = src[i];
-      }
-   }
-   else
-      dst[3] = src[3];
-}
-
-static void
-finish_pass(struct atifs_machine *machine)
-{
-   GLint i;
-
-   for (i = 0; i < 6; i++) {
-      COPY_4V(machine->PrevPassRegisters[i], machine->Registers[i]);
-   }
-}
-
-struct ati_fs_opcode_st ati_fs_opcodes[] = {
-   {GL_ADD_ATI, 2},
-   {GL_SUB_ATI, 2},
-   {GL_MUL_ATI, 2},
-   {GL_MAD_ATI, 3},
-   {GL_LERP_ATI, 3},
-   {GL_MOV_ATI, 1},
-   {GL_CND_ATI, 3},
-   {GL_CND0_ATI, 3},
-   {GL_DOT2_ADD_ATI, 3},
-   {GL_DOT3_ATI, 2},
-   {GL_DOT4_ATI, 2}
-};
-
-
-
-static void
-handle_pass_op(struct atifs_machine *machine, struct atifs_setupinst *texinst,
-              const SWspan *span, GLuint column, GLuint idx)
-{
-   GLuint swizzle = texinst->swizzle;
-   GLuint pass_tex = texinst->src;
-
-   if (pass_tex >= GL_TEXTURE0_ARB && pass_tex <= GL_TEXTURE7_ARB) {
-      pass_tex -= GL_TEXTURE0_ARB;
-      COPY_4V(machine->Registers[idx],
-             span->array->attribs[FRAG_ATTRIB_TEX0 + pass_tex][column]);
-   }
-   else if (pass_tex >= GL_REG_0_ATI && pass_tex <= GL_REG_5_ATI) {
-      pass_tex -= GL_REG_0_ATI;
-      COPY_4V(machine->Registers[idx], machine->PrevPassRegisters[pass_tex]);
-   }
-   apply_swizzle(machine->Registers[idx], swizzle);
-
-}
-
-static void
-handle_sample_op(struct gl_context * ctx, struct atifs_machine *machine,
-                struct atifs_setupinst *texinst, const SWspan *span,
-                GLuint column, GLuint idx)
-{
-/* sample from unit idx using texinst->src as coords */
-   GLuint swizzle = texinst->swizzle;
-   GLuint coord_source = texinst->src;
-   GLfloat tex_coords[4] = { 0 };
-
-   if (coord_source >= GL_TEXTURE0_ARB && coord_source <= GL_TEXTURE7_ARB) {
-      coord_source -= GL_TEXTURE0_ARB;
-      COPY_4V(tex_coords,
-              span->array->attribs[FRAG_ATTRIB_TEX0 + coord_source][column]);
-   }
-   else if (coord_source >= GL_REG_0_ATI && coord_source <= GL_REG_5_ATI) {
-      coord_source -= GL_REG_0_ATI;
-      COPY_4V(tex_coords, machine->PrevPassRegisters[coord_source]);
-   }
-   apply_swizzle(tex_coords, swizzle);
-   fetch_texel(ctx, tex_coords, 0.0F, idx, machine->Registers[idx]);
-}
-
-#define SETUP_SRC_REG(optype, i, x)            \
-do {                                           \
-   COPY_4V(src[optype][i], x);                         \
-} while (0)
-
-
-
-/**
- * Execute the given fragment shader.
- * NOTE: we do everything in single-precision floating point
- * \param ctx - rendering context
- * \param shader - the shader to execute
- * \param machine - virtual machine state
- * \param span - the SWspan we're operating on
- * \param column - which pixel [i] we're operating on in the span
- */
-static void
-execute_shader(struct gl_context *ctx, const struct ati_fragment_shader *shader,
-              struct atifs_machine *machine, const SWspan *span,
-               GLuint column)
-{
-   GLuint pc;
-   struct atifs_instruction *inst;
-   struct atifs_setupinst *texinst;
-   GLint optype;
-   GLuint i;
-   GLint j, pass;
-   GLint dstreg;
-   GLfloat src[2][3][4];
-   GLfloat zeros[4] = { 0.0, 0.0, 0.0, 0.0 };
-   GLfloat ones[4] = { 1.0, 1.0, 1.0, 1.0 };
-   GLfloat dst[2][4], *dstp;
-
-   for (pass = 0; pass < shader->NumPasses; pass++) {
-      if (pass > 0)
-        finish_pass(machine);
-      for (j = 0; j < MAX_NUM_FRAGMENT_REGISTERS_ATI; j++) {
-        texinst = &shader->SetupInst[pass][j];
-        if (texinst->Opcode == ATI_FRAGMENT_SHADER_PASS_OP)
-           handle_pass_op(machine, texinst, span, column, j);
-        else if (texinst->Opcode == ATI_FRAGMENT_SHADER_SAMPLE_OP)
-           handle_sample_op(ctx, machine, texinst, span, column, j);
-      }
-
-      for (pc = 0; pc < shader->numArithInstr[pass]; pc++) {
-        inst = &shader->Instructions[pass][pc];
-
-        /* setup the source registers for color and alpha ops */
-        for (optype = 0; optype < 2; optype++) {
-           for (i = 0; i < inst->ArgCount[optype]; i++) {
-              GLint index = inst->SrcReg[optype][i].Index;
-
-              if (index >= GL_REG_0_ATI && index <= GL_REG_5_ATI)
-                 SETUP_SRC_REG(optype, i,
-                               machine->Registers[index - GL_REG_0_ATI]);
-              else if (index >= GL_CON_0_ATI && index <= GL_CON_7_ATI) {
-                 if (shader->LocalConstDef & (1 << (index - GL_CON_0_ATI))) {
-                    SETUP_SRC_REG(optype, i,
-                               shader->Constants[index - GL_CON_0_ATI]);
-                 } else {
-                    SETUP_SRC_REG(optype, i,
-                               ctx->ATIFragmentShader.GlobalConstants[index - GL_CON_0_ATI]);
-                 }
-              }
-              else if (index == GL_ONE)
-                 SETUP_SRC_REG(optype, i, ones);
-              else if (index == GL_ZERO)
-                 SETUP_SRC_REG(optype, i, zeros);
-              else if (index == GL_PRIMARY_COLOR_EXT)
-                 SETUP_SRC_REG(optype, i,
-                               machine->Inputs[ATI_FS_INPUT_PRIMARY]);
-              else if (index == GL_SECONDARY_INTERPOLATOR_ATI)
-                 SETUP_SRC_REG(optype, i,
-                               machine->Inputs[ATI_FS_INPUT_SECONDARY]);
-
-              apply_src_rep(optype, inst->SrcReg[optype][i].argRep,
-                            src[optype][i]);
-              apply_src_mod(optype, inst->SrcReg[optype][i].argMod,
-                            src[optype][i]);
-           }
-        }
-
-        /* Execute the operations - color then alpha */
-        for (optype = 0; optype < 2; optype++) {
-           if (inst->Opcode[optype]) {
-              switch (inst->Opcode[optype]) {
-              case GL_ADD_ATI:
-                 if (!optype)
-                    for (i = 0; i < 3; i++) {
-                       dst[optype][i] =
-                          src[optype][0][i] + src[optype][1][i];
-                    }
-                 else
-                    dst[optype][3] = src[optype][0][3] + src[optype][1][3];
-                 break;
-              case GL_SUB_ATI:
-                 if (!optype)
-                    for (i = 0; i < 3; i++) {
-                       dst[optype][i] =
-                          src[optype][0][i] - src[optype][1][i];
-                    }
-                 else
-                    dst[optype][3] = src[optype][0][3] - src[optype][1][3];
-                 break;
-              case GL_MUL_ATI:
-                 if (!optype)
-                    for (i = 0; i < 3; i++) {
-                       dst[optype][i] =
-                          src[optype][0][i] * src[optype][1][i];
-                    }
-                 else
-                    dst[optype][3] = src[optype][0][3] * src[optype][1][3];
-                 break;
-              case GL_MAD_ATI:
-                 if (!optype)
-                    for (i = 0; i < 3; i++) {
-                       dst[optype][i] =
-                          src[optype][0][i] * src[optype][1][i] +
-                          src[optype][2][i];
-                    }
-                 else
-                    dst[optype][3] =
-                       src[optype][0][3] * src[optype][1][3] +
-                       src[optype][2][3];
-                 break;
-              case GL_LERP_ATI:
-                 if (!optype)
-                    for (i = 0; i < 3; i++) {
-                       dst[optype][i] =
-                          src[optype][0][i] * src[optype][1][i] + (1 -
-                                                                   src
-                                                                   [optype]
-                                                                   [0][i]) *
-                          src[optype][2][i];
-                    }
-                 else
-                    dst[optype][3] =
-                       src[optype][0][3] * src[optype][1][3] + (1 -
-                                                                src[optype]
-                                                                [0][3]) *
-                       src[optype][2][3];
-                 break;
-
-              case GL_MOV_ATI:
-                 if (!optype)
-                    for (i = 0; i < 3; i++) {
-                       dst[optype][i] = src[optype][0][i];
-                    }
-                 else
-                    dst[optype][3] = src[optype][0][3];
-                 break;
-              case GL_CND_ATI:
-                 if (!optype) {
-                    for (i = 0; i < 3; i++) {
-                       dst[optype][i] =
-                          (src[optype][2][i] >
-                           0.5) ? src[optype][0][i] : src[optype][1][i];
-                    }
-                 }
-                 else {
-                    dst[optype][3] =
-                       (src[optype][2][3] >
-                        0.5) ? src[optype][0][3] : src[optype][1][3];
-                 }
-                 break;
-
-              case GL_CND0_ATI:
-                 if (!optype)
-                    for (i = 0; i < 3; i++) {
-                       dst[optype][i] =
-                          (src[optype][2][i] >=
-                           0) ? src[optype][0][i] : src[optype][1][i];
-                    }
-                 else {
-                    dst[optype][3] =
-                       (src[optype][2][3] >=
-                        0) ? src[optype][0][3] : src[optype][1][3];
-                 }
-                 break;
-              case GL_DOT2_ADD_ATI:
-                 {
-                    GLfloat result;
-
-                    /* DOT 2 always uses the source from the color op */
-                    /* could save recalculation of dot products for alpha inst */
-                    result = src[0][0][0] * src[0][1][0] +
-                       src[0][0][1] * src[0][1][1] + src[0][2][2];
-                    if (!optype) {
-                       for (i = 0; i < 3; i++) {
-                          dst[optype][i] = result;
-                       }
-                    }
-                    else
-                       dst[optype][3] = result;
-                 }
-                 break;
-              case GL_DOT3_ATI:
-                 {
-                    GLfloat result;
-
-                    /* DOT 3 always uses the source from the color op */
-                    result = src[0][0][0] * src[0][1][0] +
-                       src[0][0][1] * src[0][1][1] +
-                       src[0][0][2] * src[0][1][2];
-
-                    if (!optype) {
-                       for (i = 0; i < 3; i++) {
-                          dst[optype][i] = result;
-                       }
-                    }
-                    else
-                       dst[optype][3] = result;
-                 }
-                 break;
-              case GL_DOT4_ATI:
-                 {
-                    GLfloat result;
-
-                    /* DOT 4 always uses the source from the color op */
-                    result = src[0][0][0] * src[0][1][0] +
-                       src[0][0][1] * src[0][1][1] +
-                       src[0][0][2] * src[0][1][2] +
-                       src[0][0][3] * src[0][1][3];
-                    if (!optype) {
-                       for (i = 0; i < 3; i++) {
-                          dst[optype][i] = result;
-                       }
-                    }
-                    else
-                       dst[optype][3] = result;
-                 }
-                 break;
-
-              }
-           }
-        }
-
-        /* write out the destination registers */
-        for (optype = 0; optype < 2; optype++) {
-           if (inst->Opcode[optype]) {
-              dstreg = inst->DstReg[optype].Index;
-              dstp = machine->Registers[dstreg - GL_REG_0_ATI];
-
-              if ((optype == 0) || ((inst->Opcode[1] != GL_DOT2_ADD_ATI) &&
-                 (inst->Opcode[1] != GL_DOT3_ATI) && (inst->Opcode[1] != GL_DOT4_ATI)))
-                 write_dst_addr(optype, inst->DstReg[optype].dstMod,
-                             inst->DstReg[optype].dstMask, dst[optype],
-                             dstp);
-              else
-                 write_dst_addr(1, inst->DstReg[0].dstMod, 0, dst[1], dstp);
-           }
-        }
-      }
-   }
-}
-
-
-/**
- * Init fragment shader virtual machine state.
- */
-static void
-init_machine(struct gl_context * ctx, struct atifs_machine *machine,
-            const struct ati_fragment_shader *shader,
-            const SWspan *span, GLuint col)
-{
-   GLfloat (*inputs)[4] = machine->Inputs;
-   GLint i, j;
-
-   for (i = 0; i < 6; i++) {
-      for (j = 0; j < 4; j++)
-        machine->Registers[i][j] = 0.0;
-   }
-
-   COPY_4V(inputs[ATI_FS_INPUT_PRIMARY], span->array->attribs[FRAG_ATTRIB_COL0][col]);
-   COPY_4V(inputs[ATI_FS_INPUT_SECONDARY], span->array->attribs[FRAG_ATTRIB_COL1][col]);
-}
-
-
-
-/**
- * Execute the current ATI shader program, operating on the given span.
- */
-void
-_swrast_exec_fragment_shader(struct gl_context * ctx, SWspan *span)
-{
-   const struct ati_fragment_shader *shader = ctx->ATIFragmentShader.Current;
-   struct atifs_machine machine;
-   GLuint i;
-
-   /* incoming colors should be floats */
-   ASSERT(span->array->ChanType == GL_FLOAT);
-
-   for (i = 0; i < span->end; i++) {
-      if (span->array->mask[i]) {
-        init_machine(ctx, &machine, shader, span, i);
-
-        execute_shader(ctx, shader, &machine, span, i);
-
-         /* store result color */
-        {
-           const GLfloat *colOut = machine.Registers[0];
-            /*fprintf(stderr,"outputs %f %f %f %f\n",
-              colOut[0], colOut[1], colOut[2], colOut[3]); */
-            COPY_4V(span->array->attribs[FRAG_ATTRIB_COL0][i], colOut);
-        }
-      }
-   }
-}
diff --git a/reactos/dll/opengl/mesa/src/mesa/swrast/s_atifragshader.h b/reactos/dll/opengl/mesa/src/mesa/swrast/s_atifragshader.h
deleted file mode 100644 (file)
index 10aaaa5..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  6.1
- *
- * Copyright (C) 1999-2003  David Airlie   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
- * DAVID AIRLIE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-#ifndef S_ATIFRAGSHADER_H
-#define S_ATIFRAGSHADER_H
-
-
-#include "s_span.h"
-
-struct gl_context;
-
-extern void
-_swrast_exec_fragment_shader( struct gl_context *ctx, SWspan *span );
-
-
-#endif
index 18f1c18..d6cdda8 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "main/glheader.h"
 #include "main/bufferobj.h"
-#include "main/condrender.h"
 #include "main/image.h"
 #include "main/macros.h"
 #include "main/pbo.h"
@@ -57,9 +56,6 @@ _swrast_Bitmap( struct gl_context *ctx, GLint px, GLint py,
 
    ASSERT(ctx->RenderMode == GL_RENDER);
 
-   if (!_mesa_check_conditional_render(ctx))
-      return; /* don't draw */
-
    bitmap = (const GLubyte *) _mesa_map_pbo_source(ctx, unpack, bitmap);
    if (!bitmap)
       return;
index b0c56a4..b107425 100644 (file)
@@ -24,7 +24,7 @@
 
 
 #include "main/glheader.h"
-#include "main/condrender.h"
+#include "main/formats.h"
 #include "main/image.h"
 #include "main/macros.h"
 #include "main/format_unpack.h"
index d942e6e..8095b63 100644 (file)
@@ -24,7 +24,6 @@
 
 #include "main/glheader.h"
 #include "main/accum.h"
-#include "main/condrender.h"
 #include "main/format_pack.h"
 #include "main/macros.h"
 #include "main/imports.h"
@@ -219,9 +218,6 @@ _swrast_Clear(struct gl_context *ctx, GLbitfield buffers)
    }
 #endif
 
-   if (!_mesa_check_conditional_render(ctx))
-      return; /* don't clear */
-
    if (SWRAST_CONTEXT(ctx)->NewState)
       _swrast_validate_derived(ctx);
 
index 82e3036..35d1a81 100644 (file)
@@ -82,9 +82,6 @@ _swrast_update_rasterflags( struct gl_context *ctx )
       rasterMask |= CLIP_BIT;
    }
 
-   if (ctx->Query.CurrentOcclusionObject)
-      rasterMask |= OCCLUSION_BIT;
-
 
    /* If we're not drawing to exactly one color buffer set the
     * MULTI_DRAW_BIT flag.  Also set it if we're drawing to no
@@ -110,10 +107,6 @@ _swrast_update_rasterflags( struct gl_context *ctx )
       rasterMask |= FRAGPROG_BIT;
    }
 
-   if (ctx->ATIFragmentShader._Enabled) {
-      rasterMask |= ATIFRAGSHADER_BIT;
-   }
-
 #if CHAN_TYPE == GL_FLOAT
    if (ctx->Color.ClampFragmentColor == GL_TRUE) {
       rasterMask |= CLAMPING_BIT;
@@ -231,10 +224,6 @@ _swrast_update_deferred_texture(struct gl_context *ctx)
       else if (use_fprog && fprog->UsesKill) {
          swrast->_DeferredTexture = GL_FALSE;
       }
-      else if (ctx->Query.CurrentOcclusionObject) {
-         /* occlusion query depends on shader discard/kill results */
-         swrast->_DeferredTexture = GL_FALSE;
-      }
       else {
          swrast->_DeferredTexture = GL_TRUE;
       }
@@ -290,8 +279,7 @@ _swrast_update_specular_vertex_add(struct gl_context *ctx)
 
    swrast->SpecularVertexAdd = (separateSpecular
                                 && ctx->Texture._EnabledUnits == 0x0
-                                && !_swrast_use_fragment_program(ctx)
-                                && !ctx->ATIFragmentShader._Enabled);
+                                && !_swrast_use_fragment_program(ctx));
 }
 
 
@@ -506,9 +494,6 @@ _swrast_update_active_attribs(struct gl_context *ctx)
       attribsMask = ctx->FragmentProgram._Current->Base.InputsRead;
       attribsMask &= ~FRAG_BIT_WPOS; /* WPOS is always handled specially */
    }
-   else if (ctx->ATIFragmentShader._Enabled) {
-      attribsMask = ~0;  /* XXX fix me */
-   }
    else {
       /* fixed function */
       attribsMask = 0x0;
index bf1316a..af02147 100644 (file)
@@ -90,10 +90,8 @@ typedef void (*validate_texture_image_func)(struct gl_context *ctx,
 #define MASKING_BIT            0x080   /**< Do glColorMask or glIndexMask */
 #define MULTI_DRAW_BIT         0x400   /**< Write to more than one color- */
                                         /**< buffer or no buffers. */
-#define OCCLUSION_BIT           0x800   /**< GL_HP_occlusion_test enabled */
 #define TEXTURE_BIT            0x1000  /**< Texturing really enabled */
 #define FRAGPROG_BIT            0x2000  /**< Fragment program enabled */
-#define ATIFRAGSHADER_BIT       0x4000  /**< ATI Fragment shader enabled */
 #define CLAMPING_BIT            0x8000  /**< Clamp colors to [0,1] */
 /*@}*/
 
index 592d35a..c4f1f1b 100644 (file)
@@ -26,7 +26,6 @@
 #include "main/glheader.h"
 #include "main/context.h"
 #include "main/colormac.h"
-#include "main/condrender.h"
 #include "main/macros.h"
 #include "main/pixeltransfer.h"
 #include "main/imports.h"
@@ -611,9 +610,6 @@ _swrast_CopyPixels( struct gl_context *ctx,
 {
    SWcontext *swrast = SWRAST_CONTEXT(ctx);
    struct gl_renderbuffer *rb;
-      
-   if (!_mesa_check_conditional_render(ctx))
-      return; /* don't copy */
 
    if (swrast->NewState)
       _swrast_validate_derived( ctx );
index c5466dd..0b74541 100644 (file)
@@ -26,7 +26,6 @@
 #include "main/glheader.h"
 #include "main/bufferobj.h"
 #include "main/colormac.h"
-#include "main/condrender.h"
 #include "main/context.h"
 #include "main/format_pack.h"
 #include "main/image.h"
@@ -645,9 +644,6 @@ _swrast_DrawPixels( struct gl_context *ctx,
    SWcontext *swrast = SWRAST_CONTEXT(ctx);
    GLboolean save_vp_override = ctx->VertexProgram._Overriden;
 
-   if (!_mesa_check_conditional_render(ctx))
-      return; /* don't draw */
-
    /* We are creating fragments directly, without going through vertex
     * programs.
     *
index f62ee94..1b595c3 100644 (file)
@@ -39,7 +39,6 @@
 #include "main/imports.h"
 #include "main/image.h"
 
-#include "s_atifragshader.h"
 #include "s_alpha.h"
 #include "s_blend.h"
 #include "s_context.h"
@@ -139,8 +138,7 @@ _swrast_span_default_attribs(struct gl_context *ctx, SWspan *span)
       for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) {
          const GLuint attr = FRAG_ATTRIB_TEX0 + i;
          const GLfloat *tc = ctx->Current.RasterTexCoords[i];
-         if (_swrast_use_fragment_program(ctx) ||
-             ctx->ATIFragmentShader._Enabled) {
+         if (_swrast_use_fragment_program(ctx)) {
             COPY_4V(span->attrStart[attr], tc);
          }
          else if (tc[3] > 0.0F) {
@@ -519,8 +517,7 @@ interpolate_texcoords(struct gl_context *ctx, SWspan *span)
 
          if (needLambda) {
             GLuint i;
-            if (_swrast_use_fragment_program(ctx)
-                || ctx->ATIFragmentShader._Enabled) {
+            if (_swrast_use_fragment_program(ctx)) {
                /* do perspective correction but don't divide s, t, r by q */
                const GLfloat dwdx = span->attrStepX[FRAG_ATTRIB_WPOS][3];
                GLfloat w = span->attrStart[FRAG_ATTRIB_WPOS][3] + span->leftClip * dwdx;
@@ -560,8 +557,7 @@ interpolate_texcoords(struct gl_context *ctx, SWspan *span)
          }
          else {
             GLuint i;
-            if (_swrast_use_fragment_program(ctx) ||
-                ctx->ATIFragmentShader._Enabled) {
+            if (_swrast_use_fragment_program(ctx)) {
                /* do perspective correction but don't divide s, t, r by q */
                const GLfloat dwdx = span->attrStepX[FRAG_ATTRIB_WPOS][3];
                GLfloat w = span->attrStart[FRAG_ATTRIB_WPOS][3] + span->leftClip * dwdx;
@@ -972,8 +968,7 @@ convert_color_type(SWspan *span, GLenum newType, GLuint output)
 static inline void
 shade_texture_span(struct gl_context *ctx, SWspan *span)
 {
-   if (_swrast_use_fragment_program(ctx) ||
-       ctx->ATIFragmentShader._Enabled) {
+   if (_swrast_use_fragment_program(ctx)) {
       /* programmable shading */
       if (span->primitive == GL_BITMAP && span->array->ChanType != GL_FLOAT) {
          convert_color_type(span, GL_FLOAT, 0);
@@ -1001,13 +996,7 @@ shade_texture_span(struct gl_context *ctx, SWspan *span)
          interpolate_wpos(ctx, span);
 
       /* Run fragment program/shader now */
-      if (_swrast_use_fragment_program(ctx)) {
-         _swrast_exec_fragment_program(ctx, span);
-      }
-      else {
-         ASSERT(ctx->ATIFragmentShader._Enabled);
-         _swrast_exec_fragment_shader(ctx, span);
-      }
+      _swrast_exec_fragment_program(ctx, span);
    }
    else if (ctx->Texture._EnabledCoordUnits) {
       /* conventional texturing */
@@ -1134,8 +1123,7 @@ _swrast_write_rgba_span( struct gl_context *ctx, SWspan *span)
    const GLbitfield64 origArrayAttribs = span->arrayAttribs;
    const GLenum origChanType = span->array->ChanType;
    void * const origRgba = span->array->rgba;
-   const GLboolean shader = (_swrast_use_fragment_program(ctx)
-                             || ctx->ATIFragmentShader._Enabled);
+   const GLboolean shader = (_swrast_use_fragment_program(ctx));
    const GLboolean shaderOrTexture = shader || ctx->Texture._EnabledCoordUnits;
    struct gl_framebuffer *fb = ctx->DrawBuffer;
 
@@ -1235,14 +1223,6 @@ _swrast_write_rgba_span( struct gl_context *ctx, SWspan *span)
       }
    }
 
-   if (ctx->Query.CurrentOcclusionObject) {
-      /* update count of 'passed' fragments */
-      struct gl_query_object *q = ctx->Query.CurrentOcclusionObject;
-      GLuint i;
-      for (i = 0; i < span->end; i++)
-         q->Result += span->array->mask[i];
-   }
-
    /* We had to wait until now to check for glColorMask(0,0,0,0) because of
     * the occlusion test.
     */
index 86b86c7..ce393e6 100644 (file)
@@ -873,40 +873,6 @@ fast_persp_span(struct gl_context *ctx, SWspan *span,
 
 
 
-
-/*
- * Special tri function for occlusion testing
- */
-#define NAME occlusion_zless_16_triangle
-#define INTERP_Z 1
-#define SETUP_CODE                                                     \
-   struct gl_renderbuffer *rb =                                         \
-      ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Renderbuffer;           \
-   struct gl_query_object *q = ctx->Query.CurrentOcclusionObject;      \
-   ASSERT(ctx->Depth.Test);                                            \
-   ASSERT(!ctx->Depth.Mask);                                           \
-   ASSERT(ctx->Depth.Func == GL_LESS);                                 \
-   assert(rb->Format == MESA_FORMAT_Z16);                               \
-   if (!q) {                                                           \
-      return;                                                          \
-   }
-#define RENDER_SPAN( span )                                            \
-   {                                                                    \
-      GLuint i;                                                                \
-      const GLushort *zRow = (const GLushort *)                                \
-         _swrast_pixel_address(rb, span.x, span.y);                     \
-      for (i = 0; i < span.end; i++) {                                 \
-         GLuint z = FixedToDepth(span.z);                              \
-         if (z < zRow[i]) {                                            \
-            q->Result++;                                               \
-         }                                                             \
-         span.z += span.zStep;                                         \
-      }                                                                        \
-   }
-#include "s_tritemp.h"
-
-
-
 static void
 nodraw_triangle( struct gl_context *ctx,
                  const SWvertex *v0,
@@ -1008,8 +974,6 @@ _swrast_choose_triangle( struct gl_context *ctx )
    }
 
    if (ctx->RenderMode==GL_RENDER) {
-      struct gl_renderbuffer *depthRb =
-         ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Renderbuffer;
 
       if (ctx->Polygon.SmoothFlag) {
          _swrast_set_aa_triangle_function(ctx);
@@ -1017,30 +981,12 @@ _swrast_choose_triangle( struct gl_context *ctx )
          return;
       }
 
-      /* special case for occlusion testing */
-      if (ctx->Query.CurrentOcclusionObject &&
-          ctx->Depth.Test &&
-          ctx->Depth.Mask == GL_FALSE &&
-          ctx->Depth.Func == GL_LESS &&
-          !ctx->Stencil._Enabled &&
-          depthRb &&
-          depthRb->Format == MESA_FORMAT_Z16) {
-         if (ctx->Color.ColorMask[0][0] == 0 &&
-            ctx->Color.ColorMask[0][1] == 0 &&
-            ctx->Color.ColorMask[0][2] == 0 &&
-            ctx->Color.ColorMask[0][3] == 0) {
-            USE(occlusion_zless_16_triangle);
-            return;
-         }
-      }
-
       /*
        * XXX should examine swrast->_ActiveAttribMask to determine what
        * needs to be interpolated.
        */
       if (ctx->Texture._EnabledCoordUnits ||
          _swrast_use_fragment_program(ctx) ||
-          ctx->ATIFragmentShader._Enabled ||
           _mesa_need_secondary_color(ctx) ||
           swrast->_FogEnabled) {
          /* Ugh, we do a _lot_ of tests to pick the best textured tri func */
@@ -1062,7 +1008,6 @@ _swrast_choose_triangle( struct gl_context *ctx )
          /* First see if we can use an optimized 2-D texture function */
          if (ctx->Texture._EnabledCoordUnits == 0x1
              && !_swrast_use_fragment_program(ctx)
-             && !ctx->ATIFragmentShader._Enabled
              && ctx->Texture._EnabledUnits == 0x1
              && ctx->Texture.Unit[0]._ReallyEnabled == TEXTURE_2D_BIT
              && texObj2D->Sampler.WrapS == GL_REPEAT
index 9c013a4..544ee7e 100644 (file)
@@ -113,7 +113,6 @@ setup_vertex_format(struct gl_context *ctx)
    TNLcontext *tnl = TNL_CONTEXT(ctx);
    SScontext *swsetup = SWSETUP_CONTEXT(ctx);
    GLboolean intColors = !ctx->FragmentProgram._Current
-                      && !ctx->ATIFragmentShader._Enabled
                       && ctx->RenderMode == GL_RENDER
                       && CHAN_TYPE != GL_FLOAT;
 
index f949c34..021ec95 100644 (file)
@@ -27,7 +27,6 @@
 
 #include "main/glheader.h"
 #include "main/bufferobj.h"
-#include "main/condrender.h"
 #include "main/context.h"
 #include "main/imports.h"
 #include "main/mtypes.h"
@@ -414,8 +413,7 @@ void _tnl_vbo_draw_prims(struct gl_context *ctx,
                         const struct _mesa_index_buffer *ib,
                         GLboolean index_bounds_valid,
                         GLuint min_index,
-                        GLuint max_index,
-                        struct gl_transform_feedback_object *tfb_vertcount)
+                        GLuint max_index)
 {
    if (!index_bounds_valid)
       vbo_get_minmax_index(ctx, prim, ib, &min_index, &max_index);
@@ -444,9 +442,6 @@ void _tnl_draw_prims( struct gl_context *ctx,
    /* Mesa core state should have been validated already */
    assert(ctx->NewState == 0x0);
 
-   if (!_mesa_check_conditional_render(ctx))
-      return; /* don't draw */
-
    for (i = 1; i < nr_prims; i++)
       max_basevertex = MAX2(max_basevertex, prim[i].basevertex);
 
index d388981..24a0c72 100644 (file)
@@ -92,8 +92,7 @@ _tnl_vbo_draw_prims( struct gl_context *ctx,
                     const struct _mesa_index_buffer *ib,
                     GLboolean index_bounds_valid,
                     GLuint min_index,
-                    GLuint max_index,
-                    struct gl_transform_feedback_object *tfb_vertcount );
+                    GLuint max_index);
 
 extern void
 _mesa_load_tracked_matrices(struct gl_context *ctx);
index ed8fc17..010bf1d 100644 (file)
@@ -78,8 +78,7 @@ typedef void (*vbo_draw_func)( struct gl_context *ctx,
                               const struct _mesa_index_buffer *ib,
                               GLboolean index_bounds_valid,
                               GLuint min_index,
-                              GLuint max_index,
-                              struct gl_transform_feedback_object *tfb_vertcount );
+                              GLuint max_index);
 
 
 
index 9cefe74..8085329 100644 (file)
@@ -34,7 +34,6 @@
 #include "main/bufferobj.h"
 #include "main/enums.h"
 #include "main/macros.h"
-#include "main/transformfeedback.h"
 
 #include "vbo_context.h"
 
@@ -588,7 +587,7 @@ vbo_draw_arrays(struct gl_context *ctx, GLenum mode, GLint start,
          /* draw one or two prims */
          check_buffers_are_unmapped(exec->array.inputs);
          vbo->draw_prims(ctx, exec->array.inputs, prim, primCount, NULL,
-                         GL_TRUE, start, start + count - 1, NULL);
+                         GL_TRUE, start, start + count - 1);
       }
    }
    else {
@@ -598,8 +597,7 @@ vbo_draw_arrays(struct gl_context *ctx, GLenum mode, GLint start,
 
       check_buffers_are_unmapped(exec->array.inputs);
       vbo->draw_prims(ctx, exec->array.inputs, prim, 1, NULL,
-                      GL_TRUE, start, start + count - 1,
-                      NULL);
+                      GL_TRUE, start, start + count - 1);
    }
 }
 
@@ -809,7 +807,7 @@ vbo_validated_drawrangeelements(struct gl_context *ctx, GLenum mode,
 
    check_buffers_are_unmapped(exec->array.inputs);
    vbo->draw_prims( ctx, exec->array.inputs, prim, 1, &ib,
-                   index_bounds_valid, start, end, NULL );
+                   index_bounds_valid, start, end );
 }
 
 
@@ -1108,7 +1106,7 @@ vbo_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
 
       check_buffers_are_unmapped(exec->array.inputs);
       vbo->draw_prims(ctx, exec->array.inputs, prim, primcount, &ib,
-                     GL_FALSE, ~0, ~0, NULL);
+                     GL_FALSE, ~0, ~0);
    } else {
       /* render one prim at a time */
       for (i = 0; i < primcount; i++) {
@@ -1133,7 +1131,7 @@ vbo_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
 
          check_buffers_are_unmapped(exec->array.inputs);
          vbo->draw_prims(ctx, exec->array.inputs, prim, 1, &ib,
-                         GL_FALSE, ~0, ~0, NULL);
+                         GL_FALSE, ~0, ~0);
       }
    }
 
@@ -1185,77 +1183,6 @@ vbo_exec_MultiDrawElementsBaseVertex(GLenum mode,
                                   basevertex);
 }
 
-#if FEATURE_EXT_transform_feedback
-
-static void
-vbo_draw_transform_feedback(struct gl_context *ctx, GLenum mode,
-                            struct gl_transform_feedback_object *obj,
-                            GLuint numInstances)
-{
-   struct vbo_context *vbo = vbo_context(ctx);
-   struct vbo_exec_context *exec = &vbo->exec;
-   struct _mesa_prim prim[2];
-
-   vbo_bind_arrays(ctx);
-
-   /* Again... because we may have changed the bitmask of per-vertex varying
-    * attributes.  If we regenerate the fixed-function vertex program now
-    * we may be able to prune down the number of vertex attributes which we
-    * need in the shader.
-    */
-   if (ctx->NewState)
-      _mesa_update_state(ctx);
-
-   /* init most fields to zero */
-   memset(prim, 0, sizeof(prim));
-   prim[0].begin = 1;
-   prim[0].end = 1;
-   prim[0].mode = mode;
-   prim[0].num_instances = numInstances;
-
-   /* Maybe we should do some primitive splitting for primitive restart
-    * (like in DrawArrays), but we have no way to know how many vertices
-    * will be rendered. */
-
-   check_buffers_are_unmapped(exec->array.inputs);
-   vbo->draw_prims(ctx, exec->array.inputs, prim, 1, NULL,
-                   GL_TRUE, 0, 0, obj);
-}
-
-/**
- * Like DrawArrays, but take the count from a transform feedback object.
- * \param mode  GL_POINTS, GL_LINES, GL_TRIANGLE_STRIP, etc.
- * \param name  the transform feedback object
- * User still has to setup of the vertex attribute info with
- * glVertexPointer, glColorPointer, etc.
- * Part of GL_ARB_transform_feedback2.
- */
-static void GLAPIENTRY
-vbo_exec_DrawTransformFeedback(GLenum mode, GLuint name)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   struct gl_transform_feedback_object *obj =
-      _mesa_lookup_transform_feedback_object(ctx, name);
-
-   if (MESA_VERBOSE & VERBOSE_DRAW)
-      _mesa_debug(ctx, "glDrawTransformFeedback(%s, %d)\n",
-                  _mesa_lookup_enum_by_nr(mode), name);
-
-   if (!_mesa_validate_DrawTransformFeedback(ctx, mode, obj)) {
-      return;
-   }
-
-   FLUSH_CURRENT(ctx, 0);
-
-   if (!_mesa_valid_to_render(ctx, "glDrawTransformFeedback")) {
-      return;
-   }
-
-   vbo_draw_transform_feedback(ctx, mode, obj, 1);
-}
-
-#endif
-
 /**
  * Plug in the immediate-mode vertex array drawing commands into the
  * givven vbo_exec_context object.
@@ -1273,9 +1200,6 @@ vbo_exec_array_init( struct vbo_exec_context *exec )
    exec->vtxfmt.DrawArraysInstanced = vbo_exec_DrawArraysInstanced;
    exec->vtxfmt.DrawElementsInstanced = vbo_exec_DrawElementsInstanced;
    exec->vtxfmt.DrawElementsInstancedBaseVertex = vbo_exec_DrawElementsInstancedBaseVertex;
-#if FEATURE_EXT_transform_feedback
-   exec->vtxfmt.DrawTransformFeedback = vbo_exec_DrawTransformFeedback;
-#endif
 }
 
 
@@ -1351,13 +1275,3 @@ _mesa_MultiDrawElementsBaseVertex(GLenum mode,
    vbo_exec_MultiDrawElementsBaseVertex(mode, count, type, indices,
                                        primcount, basevertex);
 }
-
-#if FEATURE_EXT_transform_feedback
-
-void GLAPIENTRY
-_mesa_DrawTransformFeedback(GLenum mode, GLuint name)
-{
-   vbo_exec_DrawTransformFeedback(mode, name);
-}
-
-#endif
index dd5363b..4962b54 100644 (file)
@@ -411,8 +411,7 @@ vbo_exec_vtx_flush(struct vbo_exec_context *exec, GLboolean keepUnmapped)
                                       NULL,
                                       GL_TRUE,
                                       0,
-                                      exec->vtx.vert_count - 1,
-                                      NULL);
+                                      exec->vtx.vert_count - 1);
 
         /* If using a real VBO, get new storage -- unless asked not to.
           */
index 597a8f4..8efad4e 100644 (file)
@@ -233,8 +233,7 @@ void vbo_rebase_prims( struct gl_context *ctx,
         ib, 
         GL_TRUE,
         0, 
-        max_index - min_index,
-        NULL );
+        max_index - min_index);
    
    if (tmp_indices)
       free(tmp_indices);
index 3125d67..82c5710 100644 (file)
@@ -1055,16 +1055,6 @@ _save_MultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count,
 }
 
 
-static void GLAPIENTRY
-_save_DrawTransformFeedback(GLenum mode, GLuint name)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   (void) mode;
-   (void) name;
-   _mesa_compile_error(ctx, GL_INVALID_OPERATION, "glDrawTransformFeedback");
-}
-
-
 static void GLAPIENTRY
 _save_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
 {
@@ -1368,7 +1358,6 @@ _save_vtxfmt_init(struct gl_context *ctx)
    vfmt->DrawRangeElements = _save_DrawRangeElements;
    vfmt->DrawElementsBaseVertex = _save_DrawElementsBaseVertex;
    vfmt->DrawRangeElementsBaseVertex = _save_DrawRangeElementsBaseVertex;
-   vfmt->DrawTransformFeedback = _save_DrawTransformFeedback;
    vfmt->MultiDrawElementsEXT = _save_MultiDrawElements;
    vfmt->MultiDrawElementsBaseVertex = _save_MultiDrawElementsBaseVertex;
 }
index b903757..0fa31e6 100644 (file)
@@ -302,8 +302,7 @@ vbo_save_playback_vertex_list(struct gl_context *ctx, void *data)
                                       NULL,
                                       GL_TRUE,
                                       0,    /* Node is a VBO, so this is ok */
-                                      node->count - 1,
-                                      NULL);
+                                      node->count - 1);
       }
    }
 
index b53293c..e51fd66 100644 (file)
@@ -196,8 +196,7 @@ flush( struct copy_context *copy )
               &copy->dstib,
               GL_TRUE,
               0,
-              copy->dstbuf_nr - 1,
-              NULL );
+              copy->dstbuf_nr - 1);
 
    /* Reset all pointers: 
     */
index 9e596f6..f6aa576 100644 (file)
@@ -89,8 +89,7 @@ static void flush_vertex( struct split_context *split )
               split->ib ? &ib : NULL,
               !split->ib,
               split->min_index,
-              split->max_index,
-              NULL);
+              split->max_index);
 
    split->dstprim_nr = 0;
    split->min_index = ~0;