}
-/**
- * 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").
* 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.
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;
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;
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.
*/
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;
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);
#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"
#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"
/* 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;
_mesa_init_shader_object_functions(driver);
- _mesa_init_transform_feedback_functions(driver);
-
/* T&L stuff */
driver->CurrentExecPrimitive = 0;
driver->CurrentSavePrimitive = 0;
#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"
#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"
/** 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;
/** Miscellaneous (always disabled) */
GLboolean Lighting;
GLboolean RasterDiscard;
- GLboolean TransformFeedbackNeedsResume;
};
/**
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;
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)
_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) {
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);
_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);
if (save->RasterDiscard) {
_mesa_set_enable(ctx, GL_RASTERIZER_DISCARD, GL_TRUE);
}
- if (save->TransformFeedbackNeedsResume)
- _mesa_ResumeTransformFeedback();
}
/* 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) {
#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
/**\}*/
clear.c
clip.c
colortab.c
- condrender.c
context.c
convolve.c
cpuinfo.c
points.c
polygon.c
querymatrix.c
- queryobj.c
rastpos.c
readpix.c
- remap.c
renderbuffer.c
scissor.c
shaderapi.c
shared.c
state.c
stencil.c
- syncobj.c
texcompress.c
texcompress_rgtc.c
texcompress_s3tc.c
texstorage.c
texstore.c
texturebarrier.c
- transformfeedback.c
uniform_query.cpp
uniforms.c
varray.c
#include "glheader.h"
#include "accum.h"
-#include "condrender.h"
#include "context.h"
#include "format_unpack.h"
#include "format_pack.h"
return;
}
- if (!_mesa_check_conditional_render(ctx))
- return;
-
xpos = ctx->DrawBuffer->_Xmin;
ypos = ctx->DrawBuffer->_Ymin;
width = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin;
#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"
#include "clear.h"
#include "clip.h"
#include "colortab.h"
-#include "condrender.h"
#include "context.h"
#include "convolve.h"
#include "depth.h"
#include "pixelstore.h"
#include "points.h"
#include "polygon.h"
-#include "queryobj.h"
#include "readpix.h"
#include "scissor.h"
#include "stencil.h"
#include "texstate.h"
#include "texstorage.h"
#include "texturebarrier.h"
-#include "transformfeedback.h"
#include "mtypes.h"
#include "varray.h"
#include "viewport.h"
#include "shaderapi.h"
#include "uniforms.h"
#endif
-#include "syncobj.h"
#include "main/dispatch.h"
/* ???. 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);
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);
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);
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);
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
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
+++ /dev/null
-/**
- * \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 */
+++ /dev/null
-/*
- * 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 */
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++) {
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
_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) {
#include "mfeatures.h"
#include "mtypes.h"
#include "texobj.h"
-#include "transformfeedback.h"
/* Debug flags */
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;
_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 );
+++ /dev/null
-/*
- * 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;
- }
-}
+++ /dev/null
-/*
- * 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 */
/** 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
#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"
#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);
/* 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;
_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 );
_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);
/**@}*/
- /**
- * \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
*/
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
*/
void (GLAPIENTRYP DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count,
GLenum type, const GLvoid *indices,
GLsizei primcount, GLint basevertex);
- void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint name);
/*@}*/
/**
#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
#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
#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
#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
#define GetTexBumpParameterivATI_remap_index 438
#define TexBumpParameterfvATI_remap_index 439
#define TexBumpParameterivATI_remap_index 440
-#define AlphaFragmentOp1ATI_remap_index 441
-#define AlphaFragmentOp2ATI_remap_index 442
-#define AlphaFragmentOp3ATI_remap_index 443
-#define BeginFragmentShaderATI_remap_index 444
-#define BindFragmentShaderATI_remap_index 445
-#define ColorFragmentOp1ATI_remap_index 446
-#define ColorFragmentOp2ATI_remap_index 447
-#define ColorFragmentOp3ATI_remap_index 448
-#define DeleteFragmentShaderATI_remap_index 449
-#define EndFragmentShaderATI_remap_index 450
-#define GenFragmentShadersATI_remap_index 451
-#define PassTexCoordATI_remap_index 452
-#define SampleMapATI_remap_index 453
-#define SetFragmentShaderConstantATI_remap_index 454
#define PointParameteriNV_remap_index 455
#define PointParameterivNV_remap_index 456
#define ActiveStencilFaceEXT_remap_index 457
#define VertexAttribI4usvEXT_remap_index 524
#define VertexAttribIPointerEXT_remap_index 525
#define FramebufferTextureLayerEXT_remap_index 526
-#define ColorMaskIndexedEXT_remap_index 527
-#define DisableIndexedEXT_remap_index 528
-#define EnableIndexedEXT_remap_index 529
-#define GetBooleanIndexedvEXT_remap_index 530
-#define GetIntegerIndexedvEXT_remap_index 531
-#define IsEnabledIndexedEXT_remap_index 532
#define ClearColorIiEXT_remap_index 533
#define ClearColorIuiEXT_remap_index 534
#define GetTexParameterIivEXT_remap_index 535
#define GetTexParameterIuivEXT_remap_index 536
#define TexParameterIivEXT_remap_index 537
#define TexParameterIuivEXT_remap_index 538
-#define BeginConditionalRenderNV_remap_index 539
-#define EndConditionalRenderNV_remap_index 540
-#define BeginTransformFeedbackEXT_remap_index 541
-#define BindBufferBaseEXT_remap_index 542
-#define BindBufferOffsetEXT_remap_index 543
-#define BindBufferRangeEXT_remap_index 544
-#define EndTransformFeedbackEXT_remap_index 545
-#define GetTransformFeedbackVaryingEXT_remap_index 546
-#define TransformFeedbackVaryingsEXT_remap_index 547
#define ProvokingVertexEXT_remap_index 548
#define GetTexParameterPointervAPPLE_remap_index 549
#define TextureRangeAPPLE_remap_index 550
#define _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]
#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]
#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]
#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]
#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]
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
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
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
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
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
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
#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"
#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"
#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"
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,
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,
/* 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,
/* 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,
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,
}
-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)
{
}
-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)
{
-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)
{
#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)
{
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)
{
}
}
-
-/** 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)
}
-
-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.
*
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;
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;
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;
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:
{
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;
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));
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;
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);
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);
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);
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
(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);
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);
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);
}
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).
*/
}
-
-/**
- * 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) { \
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) {
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 );
{ "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 },
{ "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 },
{ "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 },
{ "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 },
{ "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 },
{ "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 },
{ "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 },
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;
#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;
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;
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;*/
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;
void
_mesa_enable_1_5_extensions(struct gl_context *ctx)
{
- ctx->Extensions.ARB_occlusion_query = GL_TRUE;
ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
}
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);
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);
{ 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,
{ 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),
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;
}
}
-#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)
}
}
-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)
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 );
+++ /dev/null
-/*
- * 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);
-}
+++ /dev/null
-/*
- * 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 */
+++ /dev/null
-/*
- * 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 */
+++ /dev/null
-/*
- * 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 */
+++ /dev/null
-/* 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 }
-};
-
}
}
-
-/**
- * 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)
{
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;
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);
{
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) {
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");
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) {
#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"
/**
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
shared->RenderBuffers = _mesa_NewHashTable();
#endif
- make_empty_list(& shared->SyncObjects);
-
return shared;
}
}
-#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().
*/
_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);
_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).
&& 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];
}
+++ /dev/null
-/*
- * 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 */
+++ /dev/null
-/*
- * 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 */
+++ /dev/null
-/*
- * 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 */
+++ /dev/null
-/*
- * 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 */
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);
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 &&
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 &&
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;
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);
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
}
#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);
}
(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
}
s_aaline.c
s_aatriangle.c
s_alpha.c
- s_atifragshader.c
s_bitmap.c
s_blend.c
s_blit.c
+++ /dev/null
-/*
- * 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);
- }
- }
- }
-}
+++ /dev/null
-/*
- * 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
#include "main/glheader.h"
#include "main/bufferobj.h"
-#include "main/condrender.h"
#include "main/image.h"
#include "main/macros.h"
#include "main/pbo.h"
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;
#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"
#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"
}
#endif
- if (!_mesa_check_conditional_render(ctx))
- return; /* don't clear */
-
if (SWRAST_CONTEXT(ctx)->NewState)
_swrast_validate_derived(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
rasterMask |= FRAGPROG_BIT;
}
- if (ctx->ATIFragmentShader._Enabled) {
- rasterMask |= ATIFRAGSHADER_BIT;
- }
-
#if CHAN_TYPE == GL_FLOAT
if (ctx->Color.ClampFragmentColor == GL_TRUE) {
rasterMask |= CLAMPING_BIT;
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;
}
swrast->SpecularVertexAdd = (separateSpecular
&& ctx->Texture._EnabledUnits == 0x0
- && !_swrast_use_fragment_program(ctx)
- && !ctx->ATIFragmentShader._Enabled);
+ && !_swrast_use_fragment_program(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;
#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] */
/*@}*/
#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"
{
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 );
#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"
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.
*
#include "main/imports.h"
#include "main/image.h"
-#include "s_atifragshader.h"
#include "s_alpha.h"
#include "s_blend.h"
#include "s_context.h"
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) {
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;
}
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;
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);
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 */
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;
}
}
- 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.
*/
-
-/*
- * 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,
}
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);
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 */
/* 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
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;
#include "main/glheader.h"
#include "main/bufferobj.h"
-#include "main/condrender.h"
#include "main/context.h"
#include "main/imports.h"
#include "main/mtypes.h"
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);
/* 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);
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);
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);
#include "main/bufferobj.h"
#include "main/enums.h"
#include "main/macros.h"
-#include "main/transformfeedback.h"
#include "vbo_context.h"
/* 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 {
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);
}
}
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 );
}
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++) {
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);
}
}
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.
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
}
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
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.
*/
ib,
GL_TRUE,
0,
- max_index - min_index,
- NULL );
+ max_index - min_index);
if (tmp_indices)
free(tmp_indices);
}
-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)
{
vfmt->DrawRangeElements = _save_DrawRangeElements;
vfmt->DrawElementsBaseVertex = _save_DrawElementsBaseVertex;
vfmt->DrawRangeElementsBaseVertex = _save_DrawRangeElementsBaseVertex;
- vfmt->DrawTransformFeedback = _save_DrawTransformFeedback;
vfmt->MultiDrawElementsEXT = _save_MultiDrawElements;
vfmt->MultiDrawElementsBaseVertex = _save_MultiDrawElementsBaseVertex;
}
NULL,
GL_TRUE,
0, /* Node is a VBO, so this is ok */
- node->count - 1,
- NULL);
+ node->count - 1);
}
}
©->dstib,
GL_TRUE,
0,
- copy->dstbuf_nr - 1,
- NULL );
+ copy->dstbuf_nr - 1);
/* Reset all pointers:
*/
split->ib ? &ib : NULL,
!split->ib,
split->min_index,
- split->max_index,
- NULL);
+ split->max_index);
split->dstprim_nr = 0;
split->min_index = ~0;