diff options
author | Christian König <[email protected]> | 2011-03-19 01:02:40 +0100 |
---|---|---|
committer | Christian König <[email protected]> | 2011-03-19 01:02:40 +0100 |
commit | 2bf95c519e755146704f4942b1703d47d18bfeaa (patch) | |
tree | 9d29c5d56014377013770615611f903cd5b25292 /src/mesa | |
parent | f36846c77ee196881c0da560229279fc7ed88170 (diff) | |
parent | 8042d751debb7a8375e8bc587189fea9a5a8371d (diff) |
Merge remote branch 'origin/master' into pipe-video
Conflicts:
src/gallium/drivers/r600/r600_asm.c
src/gallium/tests/unit/SConscript
Diffstat (limited to 'src/mesa')
118 files changed, 3888 insertions, 2833 deletions
diff --git a/src/mesa/Makefile b/src/mesa/Makefile index 10d73f000e3..03962e9c194 100644 --- a/src/mesa/Makefile +++ b/src/mesa/Makefile @@ -43,7 +43,7 @@ endef define mesa-cxx-c @mkdir -p $(dir $@) - $(CXX) -c -o $@ $< $($(1)_CPPFLAGS) $($(1)_CFLAGS) $($(1)_CXXFLAGS) + $(CXX) -c -o $@ $< $($(1)_CPPFLAGS) $($(1)_CXXFLAGS) endef $(MESA_OBJ_DIR)/%.o: %.c diff --git a/src/mesa/SConscript b/src/mesa/SConscript index 7e8bb2486c3..261242f6fc9 100644 --- a/src/mesa/SConscript +++ b/src/mesa/SConscript @@ -68,6 +68,7 @@ main_sources = [ 'main/extensions.c', 'main/fbobject.c', 'main/feedback.c', + 'main/ff_fragment_shader.cpp', 'main/ffvertex_prog.c', 'main/fog.c', 'main/formats.c', @@ -111,7 +112,6 @@ main_sources = [ 'main/texcompress_s3tc.c', 'main/texcompress_fxt1.c', 'main/texenv.c', - 'main/texenvprogram.c', 'main/texfetch.c', 'main/texformat.c', 'main/texgen.c', @@ -123,6 +123,7 @@ main_sources = [ 'main/texrender.c', 'main/texstate.c', 'main/texstore.c', + 'main/texturebarrier.c', 'main/transformfeedback.c', 'main/uniforms.c', 'main/varray.c', @@ -197,8 +198,10 @@ statetracker_sources = [ 'state_tracker/st_cb_queryobj.c', 'state_tracker/st_cb_rasterpos.c', 'state_tracker/st_cb_readpixels.c', + 'state_tracker/st_cb_syncobj.c', 'state_tracker/st_cb_strings.c', 'state_tracker/st_cb_texture.c', + 'state_tracker/st_cb_texturebarrier.c', 'state_tracker/st_cb_viewport.c', 'state_tracker/st_cb_xformfb.c', 'state_tracker/st_context.c', diff --git a/src/mesa/drivers/common/driverfuncs.c b/src/mesa/drivers/common/driverfuncs.c index 5389a500111..854dea94504 100644 --- a/src/mesa/drivers/common/driverfuncs.c +++ b/src/mesa/drivers/common/driverfuncs.c @@ -42,6 +42,7 @@ #include "main/fbobject.h" #include "main/texrender.h" #include "main/syncobj.h" +#include "main/texturebarrier.h" #include "main/transformfeedback.h" #include "program/program.h" @@ -188,6 +189,8 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->BlitFramebuffer = _swrast_BlitFramebuffer; + _mesa_init_texture_barrier_functions(driver); + /* APPLE_vertex_array_object */ driver->NewArrayObject = _mesa_new_array_object; driver->DeleteArrayObject = _mesa_delete_array_object; diff --git a/src/mesa/drivers/dri/common/utils.c b/src/mesa/drivers/dri/common/utils.c index 42be77fd7c4..083edfaa9b4 100644 --- a/src/mesa/drivers/dri/common/utils.c +++ b/src/mesa/drivers/dri/common/utils.c @@ -648,6 +648,8 @@ driCreateConfigs(GLenum fb_format, GLenum fb_type, __DRI_ATTRIB_TEXTURE_1D_BIT | __DRI_ATTRIB_TEXTURE_2D_BIT | __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT; + + modes->sRGBCapable = GL_FALSE; } } } @@ -727,6 +729,7 @@ static const struct { unsigned int attrib, offset; } attribMap[] = { __ATTRIB(__DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE, bindToMipmapTexture), __ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS, bindToTextureTargets), __ATTRIB(__DRI_ATTRIB_YINVERTED, yInverted), + __ATTRIB(__DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE, sRGBCapable), /* The struct field doesn't matter here, these are handled by the * switch in driGetConfigAttribIndex. We need them in the array diff --git a/src/mesa/drivers/dri/i915/i830_state.c b/src/mesa/drivers/dri/i915/i830_state.c index ef5b8d971da..9fecab10db9 100644 --- a/src/mesa/drivers/dri/i915/i830_state.c +++ b/src/mesa/drivers/dri/i915/i830_state.c @@ -31,6 +31,7 @@ #include "main/macros.h" #include "main/enums.h" #include "main/dd.h" +#include "main/state.h" #include "texmem.h" @@ -234,7 +235,7 @@ i830EvalLogicOpBlendState(struct gl_context * ctx) I830_STATECHANGE(i830, I830_UPLOAD_CTX); - if (RGBA_LOGICOP_ENABLED(ctx)) { + if (_mesa_rgba_logicop_enabled(ctx)) { i830->state.Ctx[I830_CTXREG_ENABLES_1] &= ~(ENABLE_COLOR_BLEND | ENABLE_LOGIC_OP_MASK); i830->state.Ctx[I830_CTXREG_ENABLES_1] |= (DISABLE_COLOR_BLEND | @@ -679,7 +680,7 @@ update_specular(struct gl_context * ctx) I830_STATECHANGE(i830, I830_UPLOAD_CTX); i830->state.Ctx[I830_CTXREG_ENABLES_1] &= ~ENABLE_SPEC_ADD_MASK; - if (NEED_SECONDARY_COLOR(ctx)) + if (_mesa_need_secondary_color(ctx)) i830->state.Ctx[I830_CTXREG_ENABLES_1] |= ENABLE_SPEC_ADD; else i830->state.Ctx[I830_CTXREG_ENABLES_1] |= DISABLE_SPEC_ADD; diff --git a/src/mesa/drivers/dri/i915/i915_fragprog.c b/src/mesa/drivers/dri/i915/i915_fragprog.c index 25f4fc3c8b1..2bfe665cb65 100644 --- a/src/mesa/drivers/dri/i915/i915_fragprog.c +++ b/src/mesa/drivers/dri/i915/i915_fragprog.c @@ -269,7 +269,7 @@ translate_tex_src_target(struct i915_fragment_program *p, GLubyte bit) #define EMIT_TEX( OP ) \ do { \ GLuint dim = translate_tex_src_target( p, inst->TexSrcTarget ); \ - const struct gl_fragment_program *program = p->ctx->FragmentProgram._Current; \ + const struct gl_fragment_program *program = &p->FragProg; \ GLuint unit = program->Base.SamplerUnits[inst->TexSrcUnit]; \ GLuint sampler = i915_emit_decl(p, REG_TYPE_S, \ unit, dim); \ @@ -304,7 +304,7 @@ do { \ */ static void calc_live_regs( struct i915_fragment_program *p ) { - const struct gl_fragment_program *program = p->ctx->FragmentProgram._Current; + const struct gl_fragment_program *program = &p->FragProg; GLuint regsUsed = 0xffff0000; uint8_t live_components[16] = { 0, }; GLint i; @@ -344,7 +344,7 @@ static void calc_live_regs( struct i915_fragment_program *p ) static GLuint get_live_regs( struct i915_fragment_program *p, const struct prog_instruction *inst ) { - const struct gl_fragment_program *program = p->ctx->FragmentProgram._Current; + const struct gl_fragment_program *program = &p->FragProg; GLuint nr = inst - program->Base.Instructions; return p->usedRegs[nr]; @@ -365,8 +365,7 @@ static GLuint get_live_regs( struct i915_fragment_program *p, static void upload_program(struct i915_fragment_program *p) { - const struct gl_fragment_program *program = - p->ctx->FragmentProgram._Current; + const struct gl_fragment_program *program = &p->FragProg; const struct prog_instruction *inst = program->Base.Instructions; if (INTEL_DEBUG & DEBUG_WM) @@ -1166,7 +1165,7 @@ translate_program(struct i915_fragment_program *p) if (INTEL_DEBUG & DEBUG_WM) { printf("fp:\n"); - _mesa_print_program(&p->ctx->FragmentProgram._Current->Base); + _mesa_print_program(&p->FragProg.Base); printf("\n"); } diff --git a/src/mesa/drivers/dri/i915/i915_state.c b/src/mesa/drivers/dri/i915/i915_state.c index 58d4f5daffd..3b1af4c455e 100644 --- a/src/mesa/drivers/dri/i915/i915_state.c +++ b/src/mesa/drivers/dri/i915/i915_state.c @@ -31,6 +31,7 @@ #include "main/macros.h" #include "main/enums.h" #include "main/dd.h" +#include "main/state.h" #include "tnl/tnl.h" #include "tnl/t_context.h" @@ -209,7 +210,7 @@ i915EvalLogicOpBlendState(struct gl_context * ctx) dw0 = i915->state.Ctx[I915_CTXREG_LIS5]; dw1 = i915->state.Ctx[I915_CTXREG_LIS6]; - if (RGBA_LOGICOP_ENABLED(ctx)) { + if (_mesa_rgba_logicop_enabled(ctx)) { dw0 |= S5_LOGICOP_ENABLE; dw1 &= ~S6_CBUF_BLEND_ENABLE; } diff --git a/src/mesa/drivers/dri/i915/intel_tris.c b/src/mesa/drivers/dri/i915/intel_tris.c index cf9291cdfca..7bcb72f42d0 100644 --- a/src/mesa/drivers/dri/i915/intel_tris.c +++ b/src/mesa/drivers/dri/i915/intel_tris.c @@ -490,6 +490,7 @@ static void intel_wpos_triangle(struct intel_context *intel, intelVertexPtr v0, intelVertexPtr v1, intelVertexPtr v2) { + const struct gl_framebuffer *fb = intel->ctx.DrawBuffer; GLuint offset = intel->wpos_offset; GLuint size = intel->wpos_size; GLfloat *v0_wpos = (GLfloat *)((char *)v0 + offset); @@ -500,10 +501,11 @@ intel_wpos_triangle(struct intel_context *intel, __memcpy(v1_wpos, v1, size); __memcpy(v2_wpos, v2, size); - v0_wpos[1] = -v0_wpos[1] + intel->ctx.DrawBuffer->Height; - v1_wpos[1] = -v1_wpos[1] + intel->ctx.DrawBuffer->Height; - v2_wpos[1] = -v2_wpos[1] + intel->ctx.DrawBuffer->Height; - + if (!fb->Name) { + v0_wpos[1] = -v0_wpos[1] + fb->Height; + v1_wpos[1] = -v1_wpos[1] + fb->Height; + v2_wpos[1] = -v2_wpos[1] + fb->Height; + } intel_draw_triangle(intel, v0, v1, v2); } @@ -513,6 +515,7 @@ static void intel_wpos_line(struct intel_context *intel, intelVertexPtr v0, intelVertexPtr v1) { + const struct gl_framebuffer *fb = intel->ctx.DrawBuffer; GLuint offset = intel->wpos_offset; GLuint size = intel->wpos_size; GLfloat *v0_wpos = (GLfloat *)((char *)v0 + offset); @@ -521,8 +524,10 @@ intel_wpos_line(struct intel_context *intel, __memcpy(v0_wpos, v0, size); __memcpy(v1_wpos, v1, size); - v0_wpos[1] = -v0_wpos[1] + intel->ctx.DrawBuffer->Height; - v1_wpos[1] = -v1_wpos[1] + intel->ctx.DrawBuffer->Height; + if (!fb->Name) { + v0_wpos[1] = -v0_wpos[1] + fb->Height; + v1_wpos[1] = -v1_wpos[1] + fb->Height; + } intel_draw_line(intel, v0, v1); } @@ -531,12 +536,15 @@ intel_wpos_line(struct intel_context *intel, static void intel_wpos_point(struct intel_context *intel, intelVertexPtr v0) { + const struct gl_framebuffer *fb = intel->ctx.DrawBuffer; GLuint offset = intel->wpos_offset; GLuint size = intel->wpos_size; GLfloat *v0_wpos = (GLfloat *)((char *)v0 + offset); __memcpy(v0_wpos, v0, size); - v0_wpos[1] = -v0_wpos[1] + intel->ctx.DrawBuffer->Height; + + if (!fb->Name) + v0_wpos[1] = -v0_wpos[1] + fb->Height; intel_draw_point(intel, v0); } diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 26a6388f342..7b0551a92bc 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -701,6 +701,9 @@ struct brw_context /* Used to give every program string a unique id */ GLuint program_id; + + int num_prepare_atoms, num_emit_atoms; + struct brw_tracked_state prepare_atoms[64], emit_atoms[64]; }; diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 5496b4fdd3b..6c61aefd7d3 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -688,13 +688,13 @@ #define BRW_SAMPLER_MESSAGE_SIMD8_LD 3 #define BRW_SAMPLER_MESSAGE_SIMD16_LD 3 -#define BRW_SAMPLER_MESSAGE_SAMPLE_GEN5 0 -#define BRW_SAMPLER_MESSAGE_SAMPLE_BIAS_GEN5 1 -#define BRW_SAMPLER_MESSAGE_SAMPLE_LOD_GEN5 2 -#define BRW_SAMPLER_MESSAGE_SAMPLE_COMPARE_GEN5 3 -#define BRW_SAMPLER_MESSAGE_SAMPLE_DERIVS_GEN5 4 -#define BRW_SAMPLER_MESSAGE_SAMPLE_BIAS_COMPARE_GEN5 5 -#define BRW_SAMPLER_MESSAGE_SAMPLE_LOD_COMPARE_GEN5 6 +#define GEN5_SAMPLER_MESSAGE_SAMPLE 0 +#define GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS 1 +#define GEN5_SAMPLER_MESSAGE_SAMPLE_LOD 2 +#define GEN5_SAMPLER_MESSAGE_SAMPLE_COMPARE 3 +#define GEN5_SAMPLER_MESSAGE_SAMPLE_DERIVS 4 +#define GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS_COMPARE 5 +#define GEN5_SAMPLER_MESSAGE_SAMPLE_LOD_COMPARE 6 /* for GEN5 only */ #define BRW_SAMPLER_SIMD_MODE_SIMD4X2 0 @@ -752,14 +752,14 @@ #define BRW_DATAPORT_WRITE_MESSAGE_FLUSH_RENDER_CACHE 7 /* GEN6 */ -#define BRW_DATAPORT_WRITE_MESSAGE_DWORD_ATOMIC_WRITE_GEN6 7 -#define BRW_DATAPORT_WRITE_MESSAGE_OWORD_BLOCK_WRITE_GEN6 8 -#define BRW_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE_GEN6 9 -#define BRW_DATAPORT_WRITE_MESSAGE_MEDIA_BLOCK_WRITE_GEN6 10 -#define BRW_DATAPORT_WRITE_MESSAGE_DWORLD_SCATTERED_WRITE_GEN6 11 -#define BRW_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_WRITE_GEN6 12 -#define BRW_DATAPORT_WRITE_MESSAGE_STREAMED_VB_WRITE_GEN6 13 -#define BRW_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_UNORM_WRITE_GEN6 14 +#define GEN6_DATAPORT_WRITE_MESSAGE_DWORD_ATOMIC_WRITE 7 +#define GEN6_DATAPORT_WRITE_MESSAGE_OWORD_BLOCK_WRITE 8 +#define GEN6_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE 9 +#define GEN6_DATAPORT_WRITE_MESSAGE_MEDIA_BLOCK_WRITE 10 +#define GEN6_DATAPORT_WRITE_MESSAGE_DWORLD_SCATTERED_WRITE 11 +#define GEN6_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_WRITE 12 +#define GEN6_DATAPORT_WRITE_MESSAGE_STREAMED_VB_WRITE 13 +#define GEN6_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_UNORM_WRITE 14 #define BRW_MATH_FUNCTION_INV 1 #define BRW_MATH_FUNCTION_LOG 2 diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index e96c32a93a6..f1d00693168 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -291,7 +291,7 @@ static void brw_prepare_vertices(struct brw_context *brw) /* Accumulate the list of enabled arrays. */ brw->vb.nr_enabled = 0; while (vs_inputs) { - GLuint i = _mesa_ffsll(vs_inputs) - 1; + GLuint i = ffs(vs_inputs) - 1; struct brw_vertex_element *input = &brw->vb.inputs[i]; vs_inputs &= ~(1 << i); diff --git a/src/mesa/drivers/dri/i965/brw_eu.h b/src/mesa/drivers/dri/i965/brw_eu.h index 119ffc72370..2d2ed9de985 100644 --- a/src/mesa/drivers/dri/i965/brw_eu.h +++ b/src/mesa/drivers/dri/i965/brw_eu.h @@ -939,8 +939,8 @@ void brw_dp_READ_4_vs_relative(struct brw_compile *p, */ struct brw_instruction *brw_IF(struct brw_compile *p, GLuint execute_size); -struct brw_instruction *brw_IF_gen6(struct brw_compile *p, uint32_t conditional, - struct brw_reg src0, struct brw_reg src1); +struct brw_instruction *gen6_IF(struct brw_compile *p, uint32_t conditional, + struct brw_reg src0, struct brw_reg src1); struct brw_instruction *brw_ELSE(struct brw_compile *p, struct brw_instruction *if_insn); @@ -958,9 +958,9 @@ struct brw_instruction *brw_WHILE(struct brw_compile *p, struct brw_instruction *patch_insn); struct brw_instruction *brw_BREAK(struct brw_compile *p, int pop_count); -struct brw_instruction *brw_CONT_gen6(struct brw_compile *p, - struct brw_instruction *do_insn); struct brw_instruction *brw_CONT(struct brw_compile *p, int pop_count); +struct brw_instruction *gen6_CONT(struct brw_compile *p, + struct brw_instruction *do_insn); /* Forward jumps: */ void brw_land_fwd_jump(struct brw_compile *p, diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 88131c432ec..21ce92c9173 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -874,8 +874,8 @@ struct brw_instruction *brw_IF(struct brw_compile *p, GLuint execute_size) } struct brw_instruction * -brw_IF_gen6(struct brw_compile *p, uint32_t conditional, - struct brw_reg src0, struct brw_reg src1) +gen6_IF(struct brw_compile *p, uint32_t conditional, + struct brw_reg src0, struct brw_reg src1) { struct brw_instruction *insn; @@ -1061,8 +1061,8 @@ struct brw_instruction *brw_BREAK(struct brw_compile *p, int pop_count) return insn; } -struct brw_instruction *brw_CONT_gen6(struct brw_compile *p, - struct brw_instruction *do_insn) +struct brw_instruction *gen6_CONT(struct brw_compile *p, + struct brw_instruction *do_insn) { struct brw_instruction *insn; int br = 2; @@ -1844,7 +1844,7 @@ void brw_fb_WRITE(struct brw_compile *p, /* headerless version, just submit color payload */ src0 = brw_message_reg(msg_reg_nr); - msg_type = BRW_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_WRITE_GEN6; + msg_type = GEN6_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_WRITE; } else { insn->header.destreg__conditionalmod = msg_reg_nr; diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index ce7959b19de..8b3f5adb9f9 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -78,15 +78,6 @@ brw_new_shader_program(struct gl_context *ctx, GLuint name) } GLboolean -brw_compile_shader(struct gl_context *ctx, struct gl_shader *shader) -{ - if (!_mesa_ir_compile_shader(ctx, shader)) - return GL_FALSE; - - return GL_TRUE; -} - -GLboolean brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) { struct brw_context *brw = brw_context(ctx); @@ -120,6 +111,14 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) do_lower_texture_projection(shader->ir); do_vec_index_to_cond_assign(shader->ir); brw_do_cubemap_normalize(shader->ir); + lower_noise(shader->ir); + lower_quadop_vector(shader->ir, false); + lower_variable_index_to_cond_assign(shader->ir, + GL_TRUE, /* input */ + GL_TRUE, /* output */ + GL_TRUE, /* temp */ + GL_TRUE /* uniform */ + ); do { progress = false; @@ -134,16 +133,6 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) ) || progress; progress = do_common_optimization(shader->ir, true, 32) || progress; - - progress = lower_noise(shader->ir) || progress; - progress = - lower_variable_index_to_cond_assign(shader->ir, - GL_TRUE, /* input */ - GL_TRUE, /* output */ - GL_TRUE, /* temp */ - GL_TRUE /* uniform */ - ) || progress; - progress = lower_quadop_vector(shader->ir, false) || progress; } while (progress); validate_ir_tree(shader->ir); @@ -1452,7 +1441,10 @@ fs_visitor::visit(ir_texture *ir) if (ir->shadow_comparitor) inst->shadow_compare = true; - if (c->key.tex_swizzles[inst->sampler] != SWIZZLE_NOOP) { + if (ir->type == glsl_type::float_type) { + /* Ignore DEPTH_TEXTURE_MODE swizzling. */ + assert(ir->sampler->type->sampler_shadow); + } else if (c->key.tex_swizzles[inst->sampler] != SWIZZLE_NOOP) { fs_reg swizzle_dst = fs_reg(this, glsl_type::vec4_type); for (int i = 0; i < 4; i++) { @@ -2139,6 +2131,17 @@ fs_visitor::emit_fb_writes() } if (c->key.nr_color_regions == 0) { + if (c->key.alpha_test && (this->frag_color || this->frag_data)) { + /* If the alpha test is enabled but there's no color buffer, + * we still need to send alpha out the pipeline to our null + * renderbuffer. + */ + color.reg_offset += 3; + emit(fs_inst(BRW_OPCODE_MOV, + fs_reg(MRF, color_mrf + 3), + color)); + } + fs_inst *inst = emit(fs_inst(FS_OPCODE_FB_WRITE, reg_undef, reg_undef)); inst->base_mrf = 0; @@ -2301,23 +2304,23 @@ fs_visitor::generate_tex(fs_inst *inst, struct brw_reg dst, struct brw_reg src) switch (inst->opcode) { case FS_OPCODE_TEX: if (inst->shadow_compare) { - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_COMPARE_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_COMPARE; } else { - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE; } break; case FS_OPCODE_TXB: if (inst->shadow_compare) { - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_BIAS_COMPARE_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS_COMPARE; } else { - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_BIAS_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS; } break; case FS_OPCODE_TXL: if (inst->shadow_compare) { - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_LOD_COMPARE_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_LOD_COMPARE; } else { - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_LOD_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_LOD; } break; case FS_OPCODE_TXD: @@ -3542,7 +3545,7 @@ fs_visitor::generate_code() case BRW_OPCODE_IF: if (inst->src[0].file != BAD_FILE) { assert(intel->gen >= 6); - if_stack[if_stack_depth] = brw_IF_gen6(p, inst->conditional_mod, src[0], src[1]); + if_stack[if_stack_depth] = gen6_IF(p, inst->conditional_mod, src[0], src[1]); } else { if_stack[if_stack_depth] = brw_IF(p, BRW_EXECUTE_8); } @@ -3584,7 +3587,7 @@ fs_visitor::generate_code() case BRW_OPCODE_CONTINUE: /* FINISHME: We need to write the loop instruction support still. */ if (intel->gen >= 6) - brw_CONT_gen6(p, loop_stack[loop_stack_depth - 1]); + gen6_CONT(p, loop_stack[loop_stack_depth - 1]); else brw_CONT(p, if_depth_in_loop[loop_stack_depth]); brw_set_predicate_control(p, BRW_PREDICATE_NONE); diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c index 7d653327e30..ee68095fceb 100644 --- a/src/mesa/drivers/dri/i965/brw_program.c +++ b/src/mesa/drivers/dri/i965/brw_program.c @@ -243,7 +243,6 @@ void brwInitFragProgFuncs( struct dd_function_table *functions ) functions->NewShader = brw_new_shader; functions->NewShaderProgram = brw_new_shader_program; - functions->CompileShader = brw_compile_shader; functions->LinkShader = brw_link_shader; } diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index 2d6fb37355d..6f521be6599 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -104,7 +104,7 @@ static const struct brw_tracked_state *gen4_atoms[] = &brw_constant_buffer }; -const struct brw_tracked_state *gen6_atoms[] = +static const struct brw_tracked_state *gen6_atoms[] = { &brw_check_fallback, @@ -169,7 +169,32 @@ const struct brw_tracked_state *gen6_atoms[] = void brw_init_state( struct brw_context *brw ) { + const struct brw_tracked_state **atoms; + int num_atoms; + brw_init_caches(brw); + + if (brw->intel.gen >= 6) { + atoms = gen6_atoms; + num_atoms = ARRAY_SIZE(gen6_atoms); + } else { + atoms = gen4_atoms; + num_atoms = ARRAY_SIZE(gen4_atoms); + } + + while (num_atoms--) { + assert((*atoms)->dirty.mesa | + (*atoms)->dirty.brw | + (*atoms)->dirty.cache); + + if ((*atoms)->prepare) + brw->prepare_atoms[brw->num_prepare_atoms++] = **atoms; + if ((*atoms)->emit) + brw->emit_atoms[brw->num_emit_atoms++] = **atoms; + atoms++; + } + assert(brw->num_emit_atoms <= ARRAY_SIZE(brw->emit_atoms)); + assert(brw->num_prepare_atoms <= ARRAY_SIZE(brw->prepare_atoms)); } @@ -186,7 +211,7 @@ static GLuint check_state( const struct brw_state_flags *a, { return ((a->mesa & b->mesa) | (a->brw & b->brw) | - (a->cache & b->cache)); + (a->cache & b->cache)) != 0; } static void accumulate_state( struct brw_state_flags *a, @@ -342,9 +367,9 @@ void brw_validate_state( struct brw_context *brw ) struct gl_context *ctx = &brw->intel.ctx; struct intel_context *intel = &brw->intel; struct brw_state_flags *state = &brw->state.dirty; + const struct brw_tracked_state *atoms = brw->prepare_atoms; + int num_atoms = brw->num_prepare_atoms; GLuint i; - const struct brw_tracked_state **atoms; - int num_atoms; brw_clear_validated_bos(brw); @@ -353,14 +378,6 @@ void brw_validate_state( struct brw_context *brw ) brw_add_validated_bo(brw, intel->batch.bo); - if (intel->gen >= 6) { - atoms = gen6_atoms; - num_atoms = ARRAY_SIZE(gen6_atoms); - } else { - atoms = gen4_atoms; - num_atoms = ARRAY_SIZE(gen4_atoms); - } - if (brw->emit_state_always) { state->mesa |= ~0; state->brw |= ~0; @@ -384,15 +401,13 @@ void brw_validate_state( struct brw_context *brw ) /* do prepare stage for all atoms */ for (i = 0; i < num_atoms; i++) { - const struct brw_tracked_state *atom = atoms[i]; - - if (brw->intel.Fallback) - break; + const struct brw_tracked_state *atom = &atoms[i]; if (check_state(state, &atom->dirty)) { - if (atom->prepare) { - atom->prepare(brw); - } + atom->prepare(brw); + + if (brw->intel.Fallback) + break; } } @@ -415,20 +430,11 @@ void brw_validate_state( struct brw_context *brw ) void brw_upload_state(struct brw_context *brw) { - struct intel_context *intel = &brw->intel; struct brw_state_flags *state = &brw->state.dirty; + const struct brw_tracked_state *atoms = brw->emit_atoms; + int num_atoms = brw->num_emit_atoms; int i; static int dirty_count = 0; - const struct brw_tracked_state **atoms; - int num_atoms; - - if (intel->gen >= 6) { - atoms = gen6_atoms; - num_atoms = ARRAY_SIZE(gen6_atoms); - } else { - atoms = gen4_atoms; - num_atoms = ARRAY_SIZE(gen4_atoms); - } brw_clear_validated_bos(brw); @@ -442,20 +448,14 @@ void brw_upload_state(struct brw_context *brw) prev = *state; for (i = 0; i < num_atoms; i++) { - const struct brw_tracked_state *atom = atoms[i]; + const struct brw_tracked_state *atom = &atoms[i]; struct brw_state_flags generated; - assert(atom->dirty.mesa || - atom->dirty.brw || - atom->dirty.cache); - if (brw->intel.Fallback) break; if (check_state(state, &atom->dirty)) { - if (atom->emit) { - atom->emit( brw ); - } + atom->emit(brw); } accumulate_state(&examined, &atom->dirty); @@ -471,15 +471,13 @@ void brw_upload_state(struct brw_context *brw) } else { for (i = 0; i < num_atoms; i++) { - const struct brw_tracked_state *atom = atoms[i]; + const struct brw_tracked_state *atom = &atoms[i]; if (brw->intel.Fallback) break; if (check_state(state, &atom->dirty)) { - if (atom->emit) { - atom->emit( brw ); - } + atom->emit(brw); } } } diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index 6ec62554cc4..acacf374b75 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -2109,7 +2109,7 @@ void brw_vs_emit(struct brw_vs_compile *c ) case OPCODE_CONT: brw_set_predicate_control(p, get_predicate(inst)); if (intel->gen >= 6) { - brw_CONT_gen6(p, loop_inst[loop_depth - 1]); + gen6_CONT(p, loop_inst[loop_depth - 1]); } else { brw_CONT(p, if_depth_in_loop[loop_depth]); } diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index ee8212f6f16..ca51d1599a4 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -284,6 +284,7 @@ static void brw_wm_populate_key( struct brw_context *brw, /* Build the index for table lookup */ /* _NEW_COLOR */ + key->alpha_test = ctx->Color.AlphaEnabled; if (fp->program.UsesKill || ctx->Color.AlphaEnabled) lookup |= IZ_PS_KILL_ALPHATEST_BIT; @@ -364,8 +365,6 @@ static void brw_wm_populate_key( struct brw_context *brw, SWIZZLE_NIL }; - key->tex_swizzles[i] = SWIZZLE_NOOP; - /* GL_DEPTH_TEXTURE_MODE is normally handled through * brw_wm_surface_state, but it applies to shadow compares as * well and our shadow compares always return the result in @@ -379,9 +378,10 @@ static void brw_wm_populate_key( struct brw_context *brw, } else if (t->DepthMode == GL_LUMINANCE) { swizzles[3] = SWIZZLE_ONE; } else if (t->DepthMode == GL_RED) { + /* See table 3.23 of the GL 3.0 spec. */ swizzles[1] = SWIZZLE_ZERO; swizzles[2] = SWIZZLE_ZERO; - swizzles[3] = SWIZZLE_ZERO; + swizzles[3] = SWIZZLE_ONE; } } diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index d9cae75ab5b..c40d7bfae0a 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -64,6 +64,7 @@ struct brw_wm_prog_key { GLuint linear_color:1; /**< linear interpolation vs perspective interp */ GLuint nr_color_regions:5; GLuint render_to_fbo:1; + GLuint alpha_test:1; GLbitfield proj_attrib_mask; /**< one bit per fragment program attribute */ GLuint shadowtex_mask:16; @@ -467,8 +468,6 @@ void emit_xpd(struct brw_compile *p, const struct brw_reg *arg0, const struct brw_reg *arg1); -GLboolean brw_compile_shader(struct gl_context *ctx, - struct gl_shader *shader); GLboolean brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog); struct gl_shader *brw_new_shader(struct gl_context *ctx, GLuint name, GLuint type); struct gl_shader_program *brw_new_shader_program(struct gl_context *ctx, GLuint name); diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c index 2336e27c1ef..ecfd21d4399 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_emit.c +++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c @@ -1134,9 +1134,9 @@ void emit_tex(struct brw_wm_compile *c, if (intel->gen >= 5) { if (shadow) - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_COMPARE_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_COMPARE; else - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE; } else { /* Note that G45 and older determines shadow compare and dispatch width * from message length for most messages. @@ -1186,14 +1186,14 @@ void emit_txb(struct brw_wm_compile *c, */ if (c->dispatch_width == 16 || intel->gen < 5) { if (intel->gen >= 5) - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_BIAS_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS; else msg_type = BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE_BIAS; mrf_per_channel = 2; dst_retyped = retype(vec16(dst[0]), BRW_REGISTER_TYPE_UW); response_length = 8; } else { - msg_type = BRW_SAMPLER_MESSAGE_SAMPLE_BIAS_GEN5; + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS; mrf_per_channel = 1; dst_retyped = retype(vec8(dst[0]), BRW_REGISTER_TYPE_UW); response_length = 4; diff --git a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c index d398775906e..43cdd0d2bac 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c @@ -208,7 +208,7 @@ do_blit_bitmap( struct gl_context *ctx, COPY_4V(tmpColor, ctx->Current.RasterColor); - if (NEED_SECONDARY_COLOR(ctx)) { + if (_mesa_need_secondary_color(ctx)) { ADD_3V(tmpColor, tmpColor, ctx->Current.RasterSecondaryColor); } diff --git a/src/mesa/drivers/dri/intel/intel_regions.c b/src/mesa/drivers/dri/intel/intel_regions.c index 0857fa8ad70..a4da1ce4fa5 100644 --- a/src/mesa/drivers/dri/intel/intel_regions.c +++ b/src/mesa/drivers/dri/intel/intel_regions.c @@ -149,11 +149,6 @@ intel_region_alloc_internal(struct intel_screen *screen, { struct intel_region *region; - if (buffer == NULL) { - _DBG("%s <-- NULL\n", __FUNCTION__); - return NULL; - } - region = calloc(sizeof(*region), 1); if (region == NULL) return region; @@ -180,6 +175,7 @@ intel_region_alloc(struct intel_screen *screen, drm_intel_bo *buffer; unsigned long flags = 0; unsigned long aligned_pitch; + struct intel_region *region; if (expect_accelerated_upload) flags |= BO_ALLOC_FOR_RENDER; @@ -187,9 +183,17 @@ intel_region_alloc(struct intel_screen *screen, buffer = drm_intel_bo_alloc_tiled(screen->bufmgr, "region", width, height, cpp, &tiling, &aligned_pitch, flags); + if (buffer == NULL) + return NULL; - return intel_region_alloc_internal(screen, cpp, width, height, - aligned_pitch / cpp, tiling, buffer); + region = intel_region_alloc_internal(screen, cpp, width, height, + aligned_pitch / cpp, tiling, buffer); + if (region == NULL) { + drm_intel_bo_unreference(buffer); + return NULL; + } + + return region; } GLboolean diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index 5c95c72732e..64a21a147f0 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -25,6 +25,7 @@ * **************************************************************************/ +#include <errno.h> #include "main/glheader.h" #include "main/context.h" #include "main/framebuffer.h" @@ -302,7 +303,8 @@ intel_get_param(__DRIscreen *psp, int param, int *value) ret = drmCommandWriteRead(psp->fd, DRM_I915_GETPARAM, &gp, sizeof(gp)); if (ret) { - _mesa_warning(NULL, "drm_i915_getparam: %d", ret); + if (ret != -EINVAL) + _mesa_warning(NULL, "drm_i915_getparam: %d", ret); return GL_FALSE; } diff --git a/src/mesa/drivers/dri/intel/intel_tex_subimage.c b/src/mesa/drivers/dri/intel/intel_tex_subimage.c index 6b7f13ff353..d0f8294113a 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_subimage.c +++ b/src/mesa/drivers/dri/intel/intel_tex_subimage.c @@ -90,19 +90,19 @@ intelTexSubimage(struct gl_context * ctx, intel->gen < 6 && target == GL_TEXTURE_2D && drm_intel_bo_busy(dst_bo)) { - unsigned long pitch; - uint32_t tiling_mode = I915_TILING_NONE; - temp_bo = drm_intel_bo_alloc_tiled(intel->bufmgr, - "subimage blit bo", - width, height, - intelImage->mt->cpp, - &tiling_mode, - &pitch, - 0); - drm_intel_gem_bo_map_gtt(temp_bo); + dstRowStride = width * intelImage->mt->cpp; + temp_bo = drm_intel_bo_alloc(intel->bufmgr, "subimage blit bo", + dstRowStride * height, 0); + if (!temp_bo) + return; + + if (drm_intel_gem_bo_map_gtt(temp_bo)) { + drm_intel_bo_unreference(temp_bo); + return; + } + texImage->Data = temp_bo->virtual; texImage->ImageOffsets[0] = 0; - dstRowStride = pitch; intel_miptree_get_image_offset(intelImage->mt, level, intelImage->face, 0, diff --git a/src/mesa/drivers/dri/intel/intel_tex_validate.c b/src/mesa/drivers/dri/intel/intel_tex_validate.c index 8537e7f3682..a11b07ed09d 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_validate.c +++ b/src/mesa/drivers/dri/intel/intel_tex_validate.c @@ -140,6 +140,8 @@ intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit) cpp, comp_byte, GL_TRUE); + if (!intelObj->mt) + return GL_FALSE; } /* Pull in any images not in the object's tree: diff --git a/src/mesa/drivers/dri/mga/mgastate.c b/src/mesa/drivers/dri/mga/mgastate.c index 2fac2b49cd2..bfc55f4fc6d 100644 --- a/src/mesa/drivers/dri/mga/mgastate.c +++ b/src/mesa/drivers/dri/mga/mgastate.c @@ -30,6 +30,7 @@ #include "main/colormac.h" #include "main/dd.h" #include "main/mm.h" +#include "main/state.h" #include "mgacontext.h" #include "mgadd.h" @@ -114,7 +115,7 @@ static void mgaDDAlphaFunc(struct gl_context *ctx, GLenum func, GLfloat ref) static void updateBlendLogicOp(struct gl_context *ctx) { mgaContextPtr mmesa = MGA_CONTEXT(ctx); - GLboolean logicOp = RGBA_LOGICOP_ENABLED(ctx); + GLboolean logicOp = _mesa_rgba_logicop_enabled(ctx); MGA_STATECHANGE( mmesa, MGA_UPLOAD_CONTEXT ); @@ -197,7 +198,7 @@ static void mgaDDBlendFuncSeparate( struct gl_context *ctx, GLenum sfactorRGB, mmesa->hw.blend_func = (src | dst); FALLBACK( ctx, MGA_FALLBACK_BLEND, - ctx->Color.BlendEnabled && !RGBA_LOGICOP_ENABLED(ctx) && + ctx->Color.BlendEnabled && !_mesa_rgba_logicop_enabled(ctx) && mmesa->hw.blend_func == (AC_src_src_alpha_sat | AC_dst_zero) ); } @@ -483,7 +484,7 @@ static void updateSpecularLighting( struct gl_context *ctx ) mgaContextPtr mmesa = MGA_CONTEXT(ctx); unsigned int specen; - specen = NEED_SECONDARY_COLOR(ctx) ? TMC_specen_enable : 0; + specen = _mesa_need_secondary_color(ctx) ? TMC_specen_enable : 0; if ( specen != mmesa->hw.specen ) { mmesa->hw.specen = specen; @@ -962,7 +963,7 @@ void mgaEmitHwStateLocked( mgaContextPtr mmesa ) ? mmesa->hw.zmode : (DC_zmode_nozcmp | DC_atype_i); mmesa->setup.dwgctl &= DC_bop_MASK; - mmesa->setup.dwgctl |= RGBA_LOGICOP_ENABLED(ctx) + mmesa->setup.dwgctl |= _mesa_rgba_logicop_enabled(ctx) ? mmesa->hw.rop : mgarop_NoBLK[ GL_COPY & 0x0f ]; mmesa->setup.alphactrl &= AC_src_MASK & AC_dst_MASK & AC_atmode_MASK diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.h b/src/mesa/drivers/dri/nouveau/nouveau_driver.h index c5ac1282d0d..158aec820aa 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_driver.h +++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.h @@ -31,6 +31,7 @@ #include "main/mtypes.h" #include "main/macros.h" #include "main/formats.h" +#include "main/state.h" #include "utils.h" #include "dri_util.h" diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c b/src/mesa/drivers/dri/nouveau/nouveau_texture.c index 988208ff56e..1a1e10e0b3a 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c @@ -30,6 +30,7 @@ #include "nouveau_fbo.h" #include "nouveau_util.h" +#include "main/pbo.h" #include "main/texobj.h" #include "main/texstore.h" #include "main/texformat.h" diff --git a/src/mesa/drivers/dri/nouveau/nv04_state_raster.c b/src/mesa/drivers/dri/nouveau/nv04_state_raster.c index ecfbdfedff6..78d29fc485b 100644 --- a/src/mesa/drivers/dri/nouveau/nv04_state_raster.c +++ b/src/mesa/drivers/dri/nouveau/nv04_state_raster.c @@ -277,7 +277,7 @@ nv04_emit_blend(struct gl_context *ctx, int emit) blend |= NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT; /* Secondary color */ - if (NEED_SECONDARY_COLOR(ctx)) + if (_mesa_need_secondary_color(ctx)) blend |= NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE; /* Fog. */ @@ -315,7 +315,7 @@ nv04_emit_blend(struct gl_context *ctx, int emit) blend |= get_texenv_mode(GL_MODULATE); /* Secondary color */ - if (NEED_SECONDARY_COLOR(ctx)) + if (_mesa_need_secondary_color(ctx)) blend |= NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE; /* Fog. */ diff --git a/src/mesa/drivers/dri/nouveau/nv10_state_tnl.c b/src/mesa/drivers/dri/nouveau/nv10_state_tnl.c index e8bd12e6e01..96d1b320d86 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_state_tnl.c +++ b/src/mesa/drivers/dri/nouveau/nv10_state_tnl.c @@ -199,7 +199,7 @@ nv10_emit_light_model(struct gl_context *ctx, int emit) BEGIN_RING(chan, celsius, NV10_3D_LIGHT_MODEL, 1); OUT_RING(chan, ((m->LocalViewer ? NV10_3D_LIGHT_MODEL_LOCAL_VIEWER : 0) | - (NEED_SECONDARY_COLOR(ctx) ? + (_mesa_need_secondary_color(ctx) ? NV10_3D_LIGHT_MODEL_SEPARATE_SPECULAR : 0) | (!ctx->Light.Enabled && ctx->Fog.ColorSumEnabled ? NV10_3D_LIGHT_MODEL_VERTEX_SPECULAR : 0))); diff --git a/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c b/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c index 4677198dd02..4f7ddd8e49f 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c +++ b/src/mesa/drivers/dri/nouveau/nv20_state_tnl.c @@ -178,7 +178,7 @@ nv20_emit_light_model(struct gl_context *ctx, int emit) OUT_RING(chan, ((m->LocalViewer ? NV20_3D_LIGHT_MODEL_VIEWER_LOCAL : NV20_3D_LIGHT_MODEL_VIEWER_NONLOCAL) | - (NEED_SECONDARY_COLOR(ctx) ? + (_mesa_need_secondary_color(ctx) ? NV20_3D_LIGHT_MODEL_SEPARATE_SPECULAR : 0))); diff --git a/src/mesa/drivers/dri/r128/r128_state.c b/src/mesa/drivers/dri/r128/r128_state.c index d6725cdd0ec..7ce082ead22 100644 --- a/src/mesa/drivers/dri/r128/r128_state.c +++ b/src/mesa/drivers/dri/r128/r128_state.c @@ -43,6 +43,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "main/enums.h" #include "main/colormac.h" #include "main/macros.h" +#include "main/state.h" #include "swrast/swrast.h" #include "vbo/vbo.h" #include "tnl/tnl.h" @@ -736,7 +737,7 @@ static void updateSpecularLighting( struct gl_context *ctx ) r128ContextPtr rmesa = R128_CONTEXT(ctx); GLuint t = rmesa->setup.tex_cntl_c; - if ( NEED_SECONDARY_COLOR( ctx ) ) { + if ( _mesa_need_secondary_color( ctx ) ) { if (ctx->Light.ShadeModel == GL_FLAT) { /* R128 can't do flat-shaded separate specular */ t &= ~R128_SPEC_LIGHT_ENABLE; diff --git a/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c b/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c index fa906f2fdde..5223aaa71a4 100644 --- a/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c +++ b/src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c @@ -98,9 +98,6 @@ static int r300_swizzle_is_native(rc_opcode opcode, struct rc_src_register reg) unsigned int relevant; int j; - if (reg.Abs) - reg.Negate = RC_MASK_NONE; - if (opcode == RC_OPCODE_KIL || opcode == RC_OPCODE_TEX || opcode == RC_OPCODE_TXB || @@ -140,9 +137,6 @@ static void r300_swizzle_split( struct rc_src_register src, unsigned int mask, struct rc_swizzle_split * split) { - if (src.Abs) - src.Negate = RC_MASK_NONE; - split->NumPhases = 0; while(mask) { diff --git a/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c b/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c index 1616306afbd..9286733635f 100644 --- a/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c +++ b/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c @@ -78,12 +78,32 @@ static void rc_rewrite_depth_out(struct radeon_compiler *cc, void *user) } } +static int radeon_saturate_output( + struct radeon_compiler * c, + struct rc_instruction * inst, + void* data) +{ + const struct rc_opcode_info *info = rc_get_opcode_info(inst->U.I.Opcode); + + if (!info->HasDstReg || inst->U.I.DstReg.File != RC_FILE_OUTPUT) + return 0; + + inst->U.I.SaturateMode = RC_SATURATE_ZERO_ONE; + return 1; +} + void r3xx_compile_fragment_program(struct r300_fragment_program_compiler* c) { int is_r500 = c->Base.is_r500; int opt = !c->Base.disable_optimizations; + int sat_out = c->state.frag_clamp; /* Lists of instruction transformations. */ + struct radeon_program_transformation saturate_output[] = { + { &radeon_saturate_output, c }, + { 0, 0 } + }; + struct radeon_program_transformation rewrite_tex[] = { { &radeonTransformTEX, c }, { 0, 0 } @@ -113,6 +133,7 @@ void r3xx_compile_fragment_program(struct r300_fragment_program_compiler* c) {"unroll loops", 1, is_r500, rc_unroll_loops, NULL}, {"transform loops", 1, !is_r500, rc_transform_loops, NULL}, {"emulate branches", 1, !is_r500, rc_emulate_branches, NULL}, + {"saturate output writes", 1, sat_out, rc_local_transform, saturate_output}, {"transform TEX", 1, 1, rc_local_transform, rewrite_tex}, {"native rewrite", 1, is_r500, rc_local_transform, native_rewrite_r500}, {"native rewrite", 1, !is_r500, rc_local_transform, native_rewrite_r300}, diff --git a/src/mesa/drivers/dri/r300/compiler/r500_fragprog.c b/src/mesa/drivers/dri/r300/compiler/r500_fragprog.c index ef81be48f77..140eeed3de3 100644 --- a/src/mesa/drivers/dri/r300/compiler/r500_fragprog.c +++ b/src/mesa/drivers/dri/r300/compiler/r500_fragprog.c @@ -77,9 +77,6 @@ static int r500_swizzle_is_native(rc_opcode opcode, struct rc_src_register reg) if (opcode == RC_OPCODE_KIL && (reg.Swizzle != RC_SWIZZLE_XYZW || reg.Negate != RC_MASK_NONE)) return 0; - if (reg.Negate) - reg.Negate ^= RC_MASK_XYZW; - for(i = 0; i < 4; ++i) { unsigned int swz = GET_SWZ(reg.Swizzle, i); if (swz == RC_SWIZZLE_UNUSED) { @@ -103,9 +100,6 @@ static int r500_swizzle_is_native(rc_opcode opcode, struct rc_src_register reg) return 0; } else { /* ALU instructions support almost everything */ - if (reg.Abs) - return 1; - relevant = 0; for(i = 0; i < 3; ++i) { unsigned int swz = GET_SWZ(reg.Swizzle, i); diff --git a/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c b/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c index 1febc19cc2d..301b4446693 100644 --- a/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c +++ b/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c @@ -372,7 +372,7 @@ static int emit_tex(struct r300_fragment_program_compiler *c, struct rc_sub_inst | (inst->DstReg.WriteMask << 11) | R500_INST_TEX_SEM_WAIT; code->inst[ip].inst1 = R500_TEX_ID(inst->TexSrcUnit) - | R500_TEX_SEM_ACQUIRE | R500_TEX_IGNORE_UNCOVERED; + | R500_TEX_SEM_ACQUIRE; if (inst->TexSrcTarget == RC_TEXTURE_RECT) code->inst[ip].inst1 |= R500_TEX_UNSCALED; diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_code.h b/src/mesa/drivers/dri/r300/compiler/radeon_code.h index d1451668947..35360aa70f0 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_code.h +++ b/src/mesa/drivers/dri/r300/compiler/radeon_code.h @@ -173,6 +173,8 @@ struct r300_fragment_program_external_state { * RC_STATE_R300_TEXSCALE_FACTOR. */ unsigned clamp_and_scale_before_fetch : 1; } unit[16]; + + unsigned frag_clamp:1; }; diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c index 5caff91b00e..c4e6a5e0a1f 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c @@ -311,7 +311,18 @@ static void constant_folding(struct radeon_compiler * c, struct rc_instruction * struct rc_constant * constant; struct rc_src_register newsrc; int have_real_reference; + unsigned int chan; + + /* If there are only 0, 0.5, 1, or _ swizzles, mark the source as a constant. */ + for (chan = 0; chan < 4; ++chan) + if (GET_SWZ(inst->U.I.SrcReg[src].Swizzle, chan) <= 3) + break; + if (chan == 4) { + inst->U.I.SrcReg[src].File = RC_FILE_NONE; + continue; + } + /* Convert immediates to swizzles. */ if (inst->U.I.SrcReg[src].File != RC_FILE_CONSTANT || inst->U.I.SrcReg[src].RelAddr || inst->U.I.SrcReg[src].Index >= c->Program.Constants.Count) @@ -325,7 +336,7 @@ static void constant_folding(struct radeon_compiler * c, struct rc_instruction * newsrc = inst->U.I.SrcReg[src]; have_real_reference = 0; - for(unsigned int chan = 0; chan < 4; ++chan) { + for (chan = 0; chan < 4; ++chan) { unsigned int swz = GET_SWZ(newsrc.Swizzle, chan); unsigned int newswz; float imm; diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c b/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c index 6d7263b4ab6..9e03eb1aca8 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c @@ -214,16 +214,21 @@ static void set_pair_instruction(struct r300_fragment_program_compiler *c, if (needrgb && !istranscendent) { unsigned int srcrgb = 0; unsigned int srcalpha = 0; + unsigned int srcmask = 0; int j; /* We don't care about the alpha channel here. We only * want the part of the swizzle that writes to rgb, * since we are creating an rgb instruction. */ for(j = 0; j < 3; ++j) { unsigned int swz = GET_SWZ(inst->SrcReg[i].Swizzle, j); - if (swz < 3) + + if (swz < RC_SWIZZLE_W) srcrgb = 1; - else if (swz < 4) + else if (swz == RC_SWIZZLE_W) srcalpha = 1; + + if (swz < RC_SWIZZLE_UNUSED) + srcmask |= 1 << j; } source = rc_pair_alloc_source(pair, srcrgb, srcalpha, inst->SrcReg[i].File, inst->SrcReg[i].Index); @@ -236,7 +241,7 @@ static void set_pair_instruction(struct r300_fragment_program_compiler *c, pair->RGB.Arg[i].Swizzle = rc_init_swizzle(inst->SrcReg[i].Swizzle, 3); pair->RGB.Arg[i].Abs = inst->SrcReg[i].Abs; - pair->RGB.Arg[i].Negate = !!(inst->SrcReg[i].Negate & (RC_MASK_X | RC_MASK_Y | RC_MASK_Z)); + pair->RGB.Arg[i].Negate = !!(srcmask & inst->SrcReg[i].Negate & (RC_MASK_X | RC_MASK_Y | RC_MASK_Z)); } if (needalpha) { unsigned int srcrgb = 0; diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_program_tex.c b/src/mesa/drivers/dri/r300/compiler/radeon_program_tex.c index f9d9f34b6ad..1cf77d9cf73 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_program_tex.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_program_tex.c @@ -33,14 +33,14 @@ /* Series of transformations to be done on textures. */ static struct rc_src_register shadow_ambient(struct r300_fragment_program_compiler *compiler, - int tmu) + int tmu) { struct rc_src_register reg = { 0, }; if (compiler->enable_shadow_ambient) { reg.File = RC_FILE_CONSTANT; reg.Index = rc_constants_add_state(&compiler->Base.Program.Constants, - RC_STATE_SHADOW_AMBIENT, tmu); + RC_STATE_SHADOW_AMBIENT, tmu); reg.Swizzle = RC_SWIZZLE_WWWW; } else { reg.File = RC_FILE_NONE; @@ -149,14 +149,11 @@ int radeonTransformTEX( return 1; } else { - rc_compare_func comparefunc = compiler->state.unit[inst->U.I.TexSrcUnit].texture_compare_func; struct rc_instruction * inst_rcp = NULL; - struct rc_instruction * inst_mad; - struct rc_instruction * inst_cmp; + struct rc_instruction *inst_mul, *inst_add, *inst_cmp; unsigned tmp_texsample; unsigned tmp_sum; - unsigned tmp_recip_w = 0; - int pass, fail, tex; + int pass, fail; /* Save the output register. */ struct rc_dst_register output_reg = inst->U.I.DstReg; @@ -167,63 +164,68 @@ int radeonTransformTEX( inst->U.I.DstReg.Index = tmp_texsample; inst->U.I.DstReg.WriteMask = RC_MASK_XYZW; - if (inst->U.I.Opcode == RC_OPCODE_TXP) { - tmp_recip_w = rc_find_free_temporary(c); + tmp_sum = rc_find_free_temporary(c); + if (inst->U.I.Opcode == RC_OPCODE_TXP) { /* Compute 1/W. */ inst_rcp = rc_insert_new_instruction(c, inst); inst_rcp->U.I.Opcode = RC_OPCODE_RCP; inst_rcp->U.I.DstReg.File = RC_FILE_TEMPORARY; - inst_rcp->U.I.DstReg.Index = tmp_recip_w; + inst_rcp->U.I.DstReg.Index = tmp_sum; inst_rcp->U.I.DstReg.WriteMask = RC_MASK_W; inst_rcp->U.I.SrcReg[0] = inst->U.I.SrcReg[0]; inst_rcp->U.I.SrcReg[0].Swizzle = RC_MAKE_SWIZZLE_SMEAR(GET_SWZ(inst->U.I.SrcReg[0].Swizzle, 3)); } - /* Perspective-divide Z by W (if it's TXP) and add the texture sample (see below). */ - tmp_sum = rc_find_free_temporary(c); - inst_mad = rc_insert_new_instruction(c, inst_rcp ? inst_rcp : inst); - inst_mad->U.I.DstReg.File = RC_FILE_TEMPORARY; - inst_mad->U.I.DstReg.Index = tmp_sum; - inst_mad->U.I.SrcReg[0] = inst->U.I.SrcReg[0]; - inst_mad->U.I.SrcReg[0].Swizzle = + /* Divide Z by W (if it's TXP) and saturate. */ + inst_mul = rc_insert_new_instruction(c, inst_rcp ? inst_rcp : inst); + inst_mul->U.I.Opcode = inst->U.I.Opcode == RC_OPCODE_TXP ? RC_OPCODE_MUL : RC_OPCODE_MOV; + inst_mul->U.I.DstReg.File = RC_FILE_TEMPORARY; + inst_mul->U.I.DstReg.Index = tmp_sum; + inst_mul->U.I.DstReg.WriteMask = RC_MASK_W; + inst_mul->U.I.SaturateMode = RC_SATURATE_ZERO_ONE; + inst_mul->U.I.SrcReg[0] = inst->U.I.SrcReg[0]; + inst_mul->U.I.SrcReg[0].Swizzle = RC_MAKE_SWIZZLE_SMEAR(GET_SWZ(inst->U.I.SrcReg[0].Swizzle, 2)); if (inst->U.I.Opcode == RC_OPCODE_TXP) { - inst_mad->U.I.Opcode = RC_OPCODE_MAD; - inst_mad->U.I.SrcReg[1].File = RC_FILE_TEMPORARY; - inst_mad->U.I.SrcReg[1].Index = tmp_recip_w; - inst_mad->U.I.SrcReg[1].Swizzle = RC_SWIZZLE_WWWW; - tex = 2; - } else { - inst_mad->U.I.Opcode = RC_OPCODE_ADD; - tex = 1; - } - inst_mad->U.I.SrcReg[tex].File = RC_FILE_TEMPORARY; - inst_mad->U.I.SrcReg[tex].Index = tmp_texsample; - inst_mad->U.I.SrcReg[tex].Swizzle = compiler->state.unit[inst->U.I.TexSrcUnit].depth_texture_swizzle; - - /* Fake EQUAL/NOTEQUAL, it seems to pass some tests suprisingly. */ - if (comparefunc == RC_COMPARE_FUNC_EQUAL) { - comparefunc = RC_COMPARE_FUNC_GEQUAL; - } else if (comparefunc == RC_COMPARE_FUNC_NOTEQUAL) { - comparefunc = RC_COMPARE_FUNC_LESS; + inst_mul->U.I.SrcReg[1].File = RC_FILE_TEMPORARY; + inst_mul->U.I.SrcReg[1].Index = tmp_sum; + inst_mul->U.I.SrcReg[1].Swizzle = RC_SWIZZLE_WWWW; } - /* Recall that SrcReg[0] is r, SrcReg[tex] is tex and: + /* Add the depth texture value. */ + inst_add = rc_insert_new_instruction(c, inst_mul); + inst_add->U.I.Opcode = RC_OPCODE_ADD; + inst_add->U.I.DstReg.File = RC_FILE_TEMPORARY; + inst_add->U.I.DstReg.Index = tmp_sum; + inst_add->U.I.DstReg.WriteMask = RC_MASK_W; + inst_add->U.I.SrcReg[0].File = RC_FILE_TEMPORARY; + inst_add->U.I.SrcReg[0].Index = tmp_sum; + inst_add->U.I.SrcReg[0].Swizzle = RC_SWIZZLE_WWWW; + inst_add->U.I.SrcReg[1].File = RC_FILE_TEMPORARY; + inst_add->U.I.SrcReg[1].Index = tmp_texsample; + inst_add->U.I.SrcReg[1].Swizzle = RC_SWIZZLE_XXXX; + + /* Note that SrcReg[0] is r, SrcReg[1] is tex and: * LESS: r < tex <=> -tex+r < 0 * GEQUAL: r >= tex <=> not (-tex+r < 0) * GREATER: r > tex <=> tex-r < 0 * LEQUAL: r <= tex <=> not ( tex-r < 0) - * - * This negates either r or tex: */ - if (comparefunc == RC_COMPARE_FUNC_LESS || comparefunc == RC_COMPARE_FUNC_GEQUAL) - inst_mad->U.I.SrcReg[tex].Negate = inst_mad->U.I.SrcReg[tex].Negate ^ RC_MASK_XYZW; + * EQUAL: GEQUAL + * NOTEQUAL:LESS + */ + + /* This negates either r or tex: */ + if (comparefunc == RC_COMPARE_FUNC_LESS || comparefunc == RC_COMPARE_FUNC_GEQUAL || + comparefunc == RC_COMPARE_FUNC_EQUAL || comparefunc == RC_COMPARE_FUNC_NOTEQUAL) + inst_add->U.I.SrcReg[1].Negate = inst_add->U.I.SrcReg[1].Negate ^ RC_MASK_XYZW; else - inst_mad->U.I.SrcReg[0].Negate = inst_mad->U.I.SrcReg[0].Negate ^ RC_MASK_XYZW; + inst_add->U.I.SrcReg[0].Negate = inst_add->U.I.SrcReg[0].Negate ^ RC_MASK_XYZW; /* This negates the whole expresion: */ - if (comparefunc == RC_COMPARE_FUNC_LESS || comparefunc == RC_COMPARE_FUNC_GREATER) { + if (comparefunc == RC_COMPARE_FUNC_LESS || comparefunc == RC_COMPARE_FUNC_GREATER || + comparefunc == RC_COMPARE_FUNC_NOTEQUAL) { pass = 1; fail = 2; } else { @@ -231,16 +233,19 @@ int radeonTransformTEX( fail = 1; } - inst_cmp = rc_insert_new_instruction(c, inst_mad); + inst_cmp = rc_insert_new_instruction(c, inst_add); inst_cmp->U.I.Opcode = RC_OPCODE_CMP; inst_cmp->U.I.DstReg = output_reg; inst_cmp->U.I.SrcReg[0].File = RC_FILE_TEMPORARY; inst_cmp->U.I.SrcReg[0].Index = tmp_sum; + inst_cmp->U.I.SrcReg[0].Swizzle = + combine_swizzles(RC_SWIZZLE_WWWW, + compiler->state.unit[inst->U.I.TexSrcUnit].depth_texture_swizzle); inst_cmp->U.I.SrcReg[pass].File = RC_FILE_NONE; inst_cmp->U.I.SrcReg[pass].Swizzle = RC_SWIZZLE_1111; inst_cmp->U.I.SrcReg[fail] = shadow_ambient(compiler, inst->U.I.TexSrcUnit); - assert(tmp_texsample != tmp_sum && tmp_sum != tmp_recip_w); + assert(tmp_texsample != tmp_sum); } } @@ -420,17 +425,21 @@ int radeonTransformTEX( scale_texcoords(compiler, inst, RC_STATE_R300_TEXSCALE_FACTOR); } - /* Cannot write texture to output registers (all chips) or with masks (non-r500) */ + /* Cannot write texture to output registers or with saturate (all chips), + * or with masks (non-r500). */ if (inst->U.I.Opcode != RC_OPCODE_KIL && (inst->U.I.DstReg.File != RC_FILE_TEMPORARY || + inst->U.I.SaturateMode || (!c->is_r500 && inst->U.I.DstReg.WriteMask != RC_MASK_XYZW))) { struct rc_instruction * inst_mov = rc_insert_new_instruction(c, inst); inst_mov->U.I.Opcode = RC_OPCODE_MOV; + inst_mov->U.I.SaturateMode = inst->U.I.SaturateMode; inst_mov->U.I.DstReg = inst->U.I.DstReg; inst_mov->U.I.SrcReg[0].File = RC_FILE_TEMPORARY; inst_mov->U.I.SrcReg[0].Index = rc_find_free_temporary(c); + inst->U.I.SaturateMode = 0; inst->U.I.DstReg.File = RC_FILE_TEMPORARY; inst->U.I.DstReg.Index = inst_mov->U.I.SrcReg[0].Index; inst->U.I.DstReg.WriteMask = RC_MASK_XYZW; diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index 9df9101bcd3..51989c6b224 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -214,7 +214,7 @@ static void r300SetBlendState(struct gl_context * ctx) (R300_BLEND_GL_ZERO << R300_DST_BLEND_SHIFT); int eqnA = R300_COMB_FCN_ADD_CLAMP; - if (RGBA_LOGICOP_ENABLED(ctx) || !ctx->Color.BlendEnabled) { + if (_mesa_rgba_logicop_enabled(ctx) || !ctx->Color.BlendEnabled) { r300SetBlendCntl(r300, func, eqn, 0, func, eqn); return; } @@ -335,7 +335,7 @@ static void r300SetLogicOpState(struct gl_context *ctx) { r300ContextPtr r300 = R300_CONTEXT(ctx); R300_STATECHANGE(r300, rop); - if (RGBA_LOGICOP_ENABLED(ctx)) { + if (_mesa_rgba_logicop_enabled(ctx)) { r300->hw.rop.cmd[1] = R300_RB3D_ROPCNTL_ROP_ENABLE | translate_logicop(ctx->Color.LogicOp); } else { @@ -349,7 +349,7 @@ static void r300SetLogicOpState(struct gl_context *ctx) */ static void r300LogicOpcode(struct gl_context *ctx, GLenum logicop) { - if (RGBA_LOGICOP_ENABLED(ctx)) + if (_mesa_rgba_logicop_enabled(ctx)) r300SetLogicOpState(ctx); } diff --git a/src/mesa/drivers/dri/r600/evergreen_state.c b/src/mesa/drivers/dri/r600/evergreen_state.c index 006e50007b6..309c93fe088 100644 --- a/src/mesa/drivers/dri/r600/evergreen_state.c +++ b/src/mesa/drivers/dri/r600/evergreen_state.c @@ -32,6 +32,7 @@ #include "main/context.h" #include "main/dd.h" #include "main/simple_list.h" +#include "main/state.h" #include "tnl/tnl.h" #include "tnl/t_pipeline.h" @@ -342,7 +343,7 @@ static void evergreenSetBlendState(struct gl_context * ctx) //diff : CB_COLOR_CO EVERGREEN_STATECHANGE(context, cb); - if (RGBA_LOGICOP_ENABLED(ctx) || !ctx->Color.BlendEnabled) { + if (_mesa_rgba_logicop_enabled(ctx) || !ctx->Color.BlendEnabled) { SETfield(blend_reg, BLEND_ONE, COLOR_SRCBLEND_shift, COLOR_SRCBLEND_mask); SETfield(blend_reg, @@ -520,7 +521,7 @@ static void evergreenSetLogicOpState(struct gl_context *ctx) //diff : CB_COLOR_C EVERGREEN_STATECHANGE(context, cb); - if (RGBA_LOGICOP_ENABLED(ctx)) + if (_mesa_rgba_logicop_enabled(ctx)) SETfield(evergreen->CB_COLOR_CONTROL.u32All, evergreen_translate_logicop(ctx->Color.LogicOp), EG_CB_COLOR_CONTROL__ROP3_shift, @@ -1148,7 +1149,7 @@ static void evergreenShadeModel(struct gl_context * ctx, GLenum mode) //same static void evergreenLogicOpcode(struct gl_context *ctx, GLenum logicop) //diff { - if (RGBA_LOGICOP_ENABLED(ctx)) + if (_mesa_rgba_logicop_enabled(ctx)) evergreenSetLogicOpState(ctx); } diff --git a/src/mesa/drivers/dri/r600/r700_state.c b/src/mesa/drivers/dri/r600/r700_state.c index f8770690ff6..4d285b36489 100644 --- a/src/mesa/drivers/dri/r600/r700_state.c +++ b/src/mesa/drivers/dri/r600/r700_state.c @@ -32,6 +32,7 @@ #include "main/context.h" #include "main/dd.h" #include "main/simple_list.h" +#include "main/state.h" #include "tnl/tnl.h" #include "tnl/t_pipeline.h" @@ -453,7 +454,7 @@ static void r700SetBlendState(struct gl_context * ctx) R600_STATECHANGE(context, blnd); - if (RGBA_LOGICOP_ENABLED(ctx) || !ctx->Color.BlendEnabled) { + if (_mesa_rgba_logicop_enabled(ctx) || !ctx->Color.BlendEnabled) { SETfield(blend_reg, BLEND_ONE, COLOR_SRCBLEND_shift, COLOR_SRCBLEND_mask); SETfield(blend_reg, @@ -644,7 +645,7 @@ static void r700SetLogicOpState(struct gl_context *ctx) R600_STATECHANGE(context, blnd); - if (RGBA_LOGICOP_ENABLED(ctx)) + if (_mesa_rgba_logicop_enabled(ctx)) SETfield(r700->CB_COLOR_CONTROL.u32All, translate_logicop(ctx->Color.LogicOp), ROP3_shift, ROP3_mask); else @@ -657,7 +658,7 @@ static void r700SetLogicOpState(struct gl_context *ctx) */ static void r700LogicOpcode(struct gl_context *ctx, GLenum logicop) { - if (RGBA_LOGICOP_ENABLED(ctx)) + if (_mesa_rgba_logicop_enabled(ctx)) r700SetLogicOpState(ctx); } diff --git a/src/mesa/drivers/dri/radeon/radeon_state.c b/src/mesa/drivers/dri/radeon/radeon_state.c index e88e984354f..a93e61870a5 100644 --- a/src/mesa/drivers/dri/radeon/radeon_state.c +++ b/src/mesa/drivers/dri/radeon/radeon_state.c @@ -40,6 +40,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "main/context.h" #include "main/framebuffer.h" #include "main/simple_list.h" +#include "main/state.h" #include "vbo/vbo.h" #include "tnl/tnl.h" @@ -661,7 +662,7 @@ static void radeonUpdateSpecular( struct gl_context *ctx ) TCL_FALLBACK( ctx, RADEON_TCL_FALLBACK_FOGCOORDSPEC, flag); - if (NEED_SECONDARY_COLOR(ctx)) { + if (_mesa_need_secondary_color(ctx)) { assert( (p & RADEON_SPECULAR_ENABLE) != 0 ); } else { assert( (p & RADEON_SPECULAR_ENABLE) == 0 ); diff --git a/src/mesa/drivers/dri/savage/savagestate.c b/src/mesa/drivers/dri/savage/savagestate.c index 1feffa0b0a2..21ebf5dc2b2 100644 --- a/src/mesa/drivers/dri/savage/savagestate.c +++ b/src/mesa/drivers/dri/savage/savagestate.c @@ -29,8 +29,9 @@ #include "main/enums.h" #include "main/macros.h" #include "main/dd.h" - #include "main/mm.h" +#include "main/state.h" + #include "savagedd.h" #include "savagecontext.h" @@ -869,7 +870,7 @@ static void savageUpdateSpecular_s4(struct gl_context *ctx) { savageContextPtr imesa = SAVAGE_CONTEXT( ctx ); uint32_t drawLocalCtrl = imesa->regs.s4.drawLocalCtrl.ui; - if (NEED_SECONDARY_COLOR(ctx)) { + if (_mesa_need_secondary_color(ctx)) { imesa->regs.s4.drawLocalCtrl.ni.specShadeEn = GL_TRUE; } else { imesa->regs.s4.drawLocalCtrl.ni.specShadeEn = GL_FALSE; @@ -883,7 +884,7 @@ static void savageUpdateSpecular_s3d(struct gl_context *ctx) { savageContextPtr imesa = SAVAGE_CONTEXT( ctx ); uint32_t drawCtrl = imesa->regs.s3d.drawCtrl.ui; - if (NEED_SECONDARY_COLOR(ctx)) { + if (_mesa_need_secondary_color(ctx)) { imesa->regs.s3d.drawCtrl.ni.specShadeEn = GL_TRUE; } else { imesa->regs.s3d.drawCtrl.ni.specShadeEn = GL_FALSE; diff --git a/src/mesa/drivers/dri/sis/sis6326_state.c b/src/mesa/drivers/dri/sis/sis6326_state.c index 9708f639124..9ca58293b43 100644 --- a/src/mesa/drivers/dri/sis/sis6326_state.c +++ b/src/mesa/drivers/dri/sis/sis6326_state.c @@ -35,6 +35,7 @@ #include "main/context.h" #include "main/colormac.h" +#include "main/state.h" #include "swrast/swrast.h" #include "vbo/vbo.h" #include "tnl/tnl.h" @@ -355,7 +356,7 @@ static void sis6326UpdateSpecular(struct gl_context *ctx) sisContextPtr smesa = SIS_CONTEXT(ctx); __GLSiSHardware *current = &smesa->current; - if (NEED_SECONDARY_COLOR(ctx)) + if (_mesa_need_secondary_color(ctx)) current->hwCapEnable |= S_ENABLE_Specular; else current->hwCapEnable &= ~S_ENABLE_Specular; diff --git a/src/mesa/drivers/dri/sis/sis_state.c b/src/mesa/drivers/dri/sis/sis_state.c index e53c326441b..828772ed6ef 100644 --- a/src/mesa/drivers/dri/sis/sis_state.c +++ b/src/mesa/drivers/dri/sis/sis_state.c @@ -38,6 +38,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "main/context.h" #include "main/macros.h" +#include "main/state.h" #include "swrast/swrast.h" #include "vbo/vbo.h" #include "tnl/tnl.h" @@ -407,7 +408,7 @@ static void sisUpdateSpecular(struct gl_context *ctx) sisContextPtr smesa = SIS_CONTEXT(ctx); __GLSiSHardware *current = &smesa->current; - if (NEED_SECONDARY_COLOR(ctx)) + if (_mesa_need_secondary_color(ctx)) current->hwCapEnable |= MASK_SpecularEnable; else current->hwCapEnable &= ~MASK_SpecularEnable; diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index 546cdd61987..4da48936484 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -87,6 +87,7 @@ #include "texobj.h" #include "texparam.h" #include "texstate.h" +#include "texturebarrier.h" #include "transformfeedback.h" #include "mtypes.h" #include "varray.h" @@ -719,6 +720,9 @@ _mesa_create_exec_table(void) SET_BlendFuncSeparateiARB(exec, _mesa_BlendFuncSeparatei); SET_BlendEquationiARB(exec, _mesa_BlendEquationi); SET_BlendEquationSeparateiARB(exec, _mesa_BlendEquationSeparatei); + + /* GL_NV_texture_barrier */ + SET_TextureBarrierNV(exec, _mesa_TextureBarrierNV); return exec; } diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index 35d92616f45..3343bb2f40e 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -558,6 +558,7 @@ void _mesa_init_buffer_objects( struct gl_context *ctx ) { memset(&DummyBufferObject, 0, sizeof(DummyBufferObject)); + _glthread_INIT_MUTEX(DummyBufferObject.Mutex); DummyBufferObject.RefCount = 1000*1000*1000; /* never delete */ _mesa_reference_buffer_object(ctx, &ctx->Array.ArrayBufferObj, @@ -748,6 +749,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) GET_CURRENT_CONTEXT(ctx); GLsizei i; ASSERT_OUTSIDE_BEGIN_END(ctx); + FLUSH_VERTICES(ctx, 0); if (n < 0) { _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteBuffersARB(n)"); diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 5d581c84002..ca74284ca89 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -486,7 +486,6 @@ init_program_limits(GLenum type, struct gl_program_constants *prog) prog->MaxTemps = MAX_PROGRAM_TEMPS; prog->MaxEnvParams = MAX_PROGRAM_ENV_PARAMS; prog->MaxLocalParams = MAX_PROGRAM_LOCAL_PARAMS; - prog->MaxUniformComponents = 4 * MAX_UNIFORMS; prog->MaxAddressOffset = MAX_PROGRAM_LOCAL_PARAMS; switch (type) { @@ -494,23 +493,19 @@ init_program_limits(GLenum type, struct gl_program_constants *prog) prog->MaxParameters = MAX_VERTEX_PROGRAM_PARAMS; prog->MaxAttribs = MAX_NV_VERTEX_PROGRAM_INPUTS; prog->MaxAddressRegs = MAX_VERTEX_PROGRAM_ADDRESS_REGS; + prog->MaxUniformComponents = 4 * MAX_UNIFORMS; break; case GL_FRAGMENT_PROGRAM_ARB: prog->MaxParameters = MAX_NV_FRAGMENT_PROGRAM_PARAMS; prog->MaxAttribs = MAX_NV_FRAGMENT_PROGRAM_INPUTS; prog->MaxAddressRegs = MAX_FRAGMENT_PROGRAM_ADDRESS_REGS; + prog->MaxUniformComponents = 4 * MAX_UNIFORMS; break; case MESA_GEOMETRY_PROGRAM: prog->MaxParameters = MAX_NV_VERTEX_PROGRAM_PARAMS; prog->MaxAttribs = MAX_NV_VERTEX_PROGRAM_INPUTS; prog->MaxAddressRegs = MAX_VERTEX_PROGRAM_ADDRESS_REGS; - - prog->MaxGeometryTextureImageUnits = MAX_GEOMETRY_TEXTURE_IMAGE_UNITS; - prog->MaxGeometryVaryingComponents = MAX_GEOMETRY_VARYING_COMPONENTS; - prog->MaxVertexVaryingComponents = MAX_VERTEX_VARYING_COMPONENTS; - prog->MaxGeometryUniformComponents = MAX_GEOMETRY_UNIFORM_COMPONENTS; - prog->MaxGeometryOutputVertices = MAX_GEOMETRY_OUTPUT_VERTICES; - prog->MaxGeometryTotalOutputComponents = MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS; + prog->MaxUniformComponents = MAX_GEOMETRY_UNIFORM_COMPONENTS; break; default: assert(0 && "Bad program type in init_program_limits()"); @@ -619,6 +614,13 @@ _mesa_init_constants(struct gl_context *ctx) ctx->Const.MaxCombinedTextureImageUnits = MAX_COMBINED_TEXTURE_IMAGE_UNITS; ctx->Const.MaxVarying = MAX_VARYING; #endif +#if FEATURE_ARB_geometry_shader4 + ctx->Const.MaxGeometryTextureImageUnits = MAX_GEOMETRY_TEXTURE_IMAGE_UNITS; + ctx->Const.MaxVertexVaryingComponents = MAX_VERTEX_VARYING_COMPONENTS; + ctx->Const.MaxGeometryVaryingComponents = MAX_GEOMETRY_VARYING_COMPONENTS; + ctx->Const.MaxGeometryOutputVertices = MAX_GEOMETRY_OUTPUT_VERTICES; + ctx->Const.MaxGeometryTotalOutputComponents = MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS; +#endif /* Shading language version */ if (ctx->API == API_OPENGL) { diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index 4e391dde494..33a36311c8a 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -286,28 +286,4 @@ do { \ -/** - * Is the secondary color needed? - */ -#define NEED_SECONDARY_COLOR(CTX) \ - (((CTX)->Light.Enabled && \ - (CTX)->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) \ - || (CTX)->Fog.ColorSumEnabled \ - || ((CTX)->VertexProgram._Current && \ - ((CTX)->VertexProgram._Current != (CTX)->VertexProgram._TnlProgram) && \ - ((CTX)->VertexProgram._Current->Base.InputsRead & VERT_BIT_COLOR1)) \ - || ((CTX)->FragmentProgram._Current && \ - ((CTX)->FragmentProgram._Current != (CTX)->FragmentProgram._TexEnvProgram) && \ - ((CTX)->FragmentProgram._Current->Base.InputsRead & FRAG_BIT_COL1)) \ - ) - - -/** - * Is RGBA LogicOp enabled? - */ -#define RGBA_LOGICOP_ENABLED(CTX) \ - ((CTX)->Color.ColorLogicOpEnabled || \ - ((CTX)->Color.BlendEnabled && (CTX)->Color.Blend[0].EquationRGB == GL_LOGIC_OP)) - - #endif /* CONTEXT_H */ diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 749c30a4cc1..34d67b5bac8 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -602,15 +602,6 @@ struct dd_function_table { */ /*@{*/ /** - * Called when a shader is compiled. - * - * Note that not all shader objects get ShaderCompile called on - * them. Notably, the shaders containing builtin functions do not - * have CompileShader() called, so if lowering passes are done they - * need to also be performed in LinkShader(). - */ - GLboolean (*CompileShader)(struct gl_context *ctx, struct gl_shader *shader); - /** * Called when a shader program is linked. * * This gives drivers an opportunity to clone the IR and make their @@ -1025,6 +1016,11 @@ struct dd_function_table { struct gl_transform_feedback_object *obj); void (*DrawTransformFeedback)(struct gl_context *ctx, GLenum mode, struct gl_transform_feedback_object *obj); + + /** + * \name GL_NV_texture_barrier interface + */ + void (*TextureBarrier)(struct gl_context *ctx); }; diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 4e463dd06a1..0112d9dde36 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -431,6 +431,9 @@ typedef enum /* GL_ARB_instanced_arrays */ OPCODE_VERTEX_ATTRIB_DIVISOR, + /* GL_NV_texture_barrier */ + OPCODE_TEXTURE_BARRIER_NV, + /* The following three are meta instructions */ OPCODE_ERROR, /* raise compiled-in error */ OPCODE_CONTINUE, @@ -7031,6 +7034,18 @@ save_VertexAttribDivisor(GLuint index, GLuint divisor) } +/* GL_NV_texture_barrier */ +static void +save_TextureBarrierNV() +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + alloc_instruction(ctx, OPCODE_TEXTURE_BARRIER_NV, 0); + if (ctx->ExecuteFlag) { + CALL_TextureBarrierNV(ctx->Exec, ()); + } +} + /** * Save an error-generating command into display list. @@ -8207,6 +8222,10 @@ execute_list(struct gl_context *ctx, GLuint list) CALL_VertexAttribDivisorARB(ctx->Exec, (n[1].ui, n[2].ui)); break; + case OPCODE_TEXTURE_BARRIER_NV: + CALL_TextureBarrierNV(ctx->Exec, ()); + break; + case OPCODE_CONTINUE: n = (Node *) n[1].next; break; @@ -9881,6 +9900,9 @@ _mesa_create_save_table(void) /* GL_ARB_instanced_arrays */ SET_VertexAttribDivisorARB(table, save_VertexAttribDivisor); + /* GL_NV_texture_barrier */ + SET_TextureBarrierNV(table, save_TextureBarrierNV); + /* GL_ARB_draw_buffer_blend */ SET_BlendFunciARB(table, save_BlendFunci); SET_BlendFuncSeparateiARB(table, save_BlendFuncSeparatei); diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c index 98e82ef852b..fb86036a188 100644 --- a/src/mesa/main/drawpix.c +++ b/src/mesa/main/drawpix.c @@ -136,8 +136,6 @@ _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height, GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - _mesa_finish(ctx); - if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "glCopyPixels(%d, %d, %d, %d, %s) // from %s to %s at %d, %d\n", diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c index 83d7fb66c0a..e9d6b6b156c 100644 --- a/src/mesa/main/enums.c +++ b/src/mesa/main/enums.c @@ -6268,7 +6268,7 @@ static const char *prim_names[PRIM_UNKNOWN + 1] = { * GL_FALSE/GL_POINTS ambiguity and others. */ const char * -_mesa_lookup_prim_by_nr(unsigned nr) +_mesa_lookup_prim_by_nr(GLuint nr) { if (nr < Elements(prim_names)) return prim_names[nr]; diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 3840cdc5d36..4b6e91c4f31 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -56,6 +56,10 @@ struct extension { /** Set of API's in which the extension exists, as a bitset. */ uint8_t api_set; + + /** Year the extension was proposed or approved. Used to sort the + * extension string chronologically. */ + uint16_t year; }; @@ -73,226 +77,229 @@ struct extension { */ static const struct extension extension_table[] = { /* ARB Extensions */ - { "GL_ARB_ES2_compatibility", o(ARB_ES2_compatibility), GL }, - { "GL_ARB_blend_func_extended", o(ARB_blend_func_extended), GL }, - { "GL_ARB_copy_buffer", o(ARB_copy_buffer), GL }, - { "GL_ARB_depth_buffer_float", o(ARB_depth_buffer_float), GL }, - { "GL_ARB_depth_clamp", o(ARB_depth_clamp), GL }, - { "GL_ARB_depth_texture", o(ARB_depth_texture), GL }, - { "GL_ARB_draw_buffers", o(ARB_draw_buffers), GL }, - { "GL_ARB_draw_buffers_blend", o(ARB_draw_buffers_blend), GL }, - { "GL_ARB_draw_elements_base_vertex", o(ARB_draw_elements_base_vertex), GL }, - { "GL_ARB_draw_instanced", o(ARB_draw_instanced), GL }, - { "GL_ARB_explicit_attrib_location", o(ARB_explicit_attrib_location), GL }, - { "GL_ARB_fragment_coord_conventions", o(ARB_fragment_coord_conventions), GL }, - { "GL_ARB_fragment_program", o(ARB_fragment_program), GL }, - { "GL_ARB_fragment_program_shadow", o(ARB_fragment_program_shadow), GL }, - { "GL_ARB_fragment_shader", o(ARB_fragment_shader), GL }, - { "GL_ARB_framebuffer_object", o(ARB_framebuffer_object), GL }, - { "GL_ARB_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL }, - { "GL_ARB_half_float_pixel", o(ARB_half_float_pixel), GL }, - { "GL_ARB_half_float_vertex", o(ARB_half_float_vertex), GL }, - { "GL_ARB_instanced_arrays", o(ARB_instanced_arrays), GL }, - { "GL_ARB_map_buffer_range", o(ARB_map_buffer_range), GL }, - { "GL_ARB_multisample", o(ARB_multisample), GL }, - { "GL_ARB_multitexture", o(ARB_multitexture), GL }, - { "GL_ARB_occlusion_query2", o(ARB_occlusion_query2), GL }, - { "GL_ARB_occlusion_query", o(ARB_occlusion_query), GL }, - { "GL_ARB_pixel_buffer_object", o(EXT_pixel_buffer_object), GL }, - { "GL_ARB_point_parameters", o(EXT_point_parameters), GL }, - { "GL_ARB_point_sprite", o(ARB_point_sprite), GL }, - { "GL_ARB_provoking_vertex", o(EXT_provoking_vertex), GL }, - { "GL_ARB_sampler_objects", o(ARB_sampler_objects), GL }, - { "GL_ARB_seamless_cube_map", o(ARB_seamless_cube_map), GL }, - { "GL_ARB_shader_objects", o(ARB_shader_objects), GL }, - { "GL_ARB_shader_stencil_export", o(ARB_shader_stencil_export), GL }, - { "GL_ARB_shading_language_100", o(ARB_shading_language_100), GL }, - { "GL_ARB_shadow_ambient", o(ARB_shadow_ambient), GL }, - { "GL_ARB_shadow", o(ARB_shadow), GL }, - { "GL_ARB_sync", o(ARB_sync), GL }, - { "GL_ARB_texture_border_clamp", o(ARB_texture_border_clamp), GL }, - { "GL_ARB_texture_buffer_object", o(ARB_texture_buffer_object), GL }, - { "GL_ARB_texture_compression", o(ARB_texture_compression), GL }, - { "GL_ARB_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL }, - { "GL_ARB_texture_cube_map", o(ARB_texture_cube_map), GL }, - { "GL_ARB_texture_env_add", o(EXT_texture_env_add), GL }, - { "GL_ARB_texture_env_combine", o(ARB_texture_env_combine), GL }, - { "GL_ARB_texture_env_crossbar", o(ARB_texture_env_crossbar), GL }, - { "GL_ARB_texture_env_dot3", o(ARB_texture_env_dot3), GL }, - { "GL_ARB_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL }, - { "GL_ARB_texture_multisample", o(ARB_texture_multisample), GL }, - { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), GL }, - { "GL_ARB_texture_rectangle", o(NV_texture_rectangle), GL }, - { "GL_ARB_texture_rgb10_a2ui", o(ARB_texture_rgb10_a2ui), GL }, - { "GL_ARB_texture_rg", o(ARB_texture_rg), GL }, - { "GL_ARB_texture_swizzle", o(EXT_texture_swizzle), GL }, - { "GL_ARB_transform_feedback2", o(ARB_transform_feedback2), GL }, - { "GL_ARB_transpose_matrix", o(ARB_transpose_matrix), GL }, - { "GL_ARB_uniform_buffer_object", o(ARB_uniform_buffer_object), GL }, - { "GL_ARB_vertex_array_bgra", o(EXT_vertex_array_bgra), GL }, - { "GL_ARB_vertex_array_object", o(ARB_vertex_array_object), GL }, - { "GL_ARB_vertex_buffer_object", o(ARB_vertex_buffer_object), GL }, - { "GL_ARB_vertex_program", o(ARB_vertex_program), GL }, - { "GL_ARB_vertex_shader", o(ARB_vertex_shader), GL }, - { "GL_ARB_vertex_type_2_10_10_10_rev", o(ARB_vertex_type_2_10_10_10_rev), GL }, - { "GL_ARB_window_pos", o(ARB_window_pos), GL }, + { "GL_ARB_ES2_compatibility", o(ARB_ES2_compatibility), GL, 2009 }, + { "GL_ARB_blend_func_extended", o(ARB_blend_func_extended), GL, 2009 }, + { "GL_ARB_copy_buffer", o(ARB_copy_buffer), GL, 2008 }, + { "GL_ARB_depth_buffer_float", o(ARB_depth_buffer_float), GL, 2008 }, + { "GL_ARB_depth_clamp", o(ARB_depth_clamp), GL, 2003 }, + { "GL_ARB_depth_texture", o(ARB_depth_texture), GL, 2001 }, + { "GL_ARB_draw_buffers", o(ARB_draw_buffers), GL, 2002 }, + { "GL_ARB_draw_buffers_blend", o(ARB_draw_buffers_blend), GL, 2009 }, + { "GL_ARB_draw_elements_base_vertex", o(ARB_draw_elements_base_vertex), GL, 2009 }, + { "GL_ARB_draw_instanced", o(ARB_draw_instanced), GL, 2008 }, + { "GL_ARB_explicit_attrib_location", o(ARB_explicit_attrib_location), GL, 2009 }, + { "GL_ARB_fragment_coord_conventions", o(ARB_fragment_coord_conventions), GL, 2009 }, + { "GL_ARB_fragment_program", o(ARB_fragment_program), GL, 2002 }, + { "GL_ARB_fragment_program_shadow", o(ARB_fragment_program_shadow), GL, 2003 }, + { "GL_ARB_fragment_shader", o(ARB_fragment_shader), GL, 2002 }, + { "GL_ARB_framebuffer_object", o(ARB_framebuffer_object), GL, 2005 }, + { "GL_ARB_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL, 1998 }, + { "GL_ARB_half_float_pixel", o(ARB_half_float_pixel), GL, 2003 }, + { "GL_ARB_half_float_vertex", o(ARB_half_float_vertex), GL, 2008 }, + { "GL_ARB_instanced_arrays", o(ARB_instanced_arrays), GL, 2008 }, + { "GL_ARB_map_buffer_range", o(ARB_map_buffer_range), GL, 2008 }, + { "GL_ARB_multisample", o(ARB_multisample), GL, 1994 }, + { "GL_ARB_multitexture", o(ARB_multitexture), GL, 1998 }, + { "GL_ARB_occlusion_query2", o(ARB_occlusion_query2), GL, 2003 }, + { "GL_ARB_occlusion_query", o(ARB_occlusion_query), GL, 2001 }, + { "GL_ARB_pixel_buffer_object", o(EXT_pixel_buffer_object), GL, 2004 }, + { "GL_ARB_point_parameters", o(EXT_point_parameters), GL, 1997 }, + { "GL_ARB_point_sprite", o(ARB_point_sprite), GL, 2003 }, + { "GL_ARB_provoking_vertex", o(EXT_provoking_vertex), GL, 2009 }, + { "GL_ARB_sampler_objects", o(ARB_sampler_objects), GL, 2009 }, + { "GL_ARB_seamless_cube_map", o(ARB_seamless_cube_map), GL, 2009 }, + { "GL_ARB_shader_objects", o(ARB_shader_objects), GL, 2002 }, + { "GL_ARB_shader_stencil_export", o(ARB_shader_stencil_export), GL, 2009 }, + { "GL_ARB_shading_language_100", o(ARB_shading_language_100), GL, 2003 }, + { "GL_ARB_shadow_ambient", o(ARB_shadow_ambient), GL, 2001 }, + { "GL_ARB_shadow", o(ARB_shadow), GL, 2001 }, + { "GL_ARB_sync", o(ARB_sync), GL, 2003 }, + { "GL_ARB_texture_border_clamp", o(ARB_texture_border_clamp), GL, 2000 }, + { "GL_ARB_texture_buffer_object", o(ARB_texture_buffer_object), GL, 2008 }, + { "GL_ARB_texture_compression", o(ARB_texture_compression), GL, 2000 }, + { "GL_ARB_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL, 2004 }, + { "GL_ARB_texture_cube_map", o(ARB_texture_cube_map), GL, 1999 }, + { "GL_ARB_texture_env_add", o(EXT_texture_env_add), GL, 1999 }, + { "GL_ARB_texture_env_combine", o(ARB_texture_env_combine), GL, 2001 }, + { "GL_ARB_texture_env_crossbar", o(ARB_texture_env_crossbar), GL, 2001 }, + { "GL_ARB_texture_env_dot3", o(ARB_texture_env_dot3), GL, 2001 }, + { "GL_ARB_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL, 2001 }, + { "GL_ARB_texture_multisample", o(ARB_texture_multisample), GL, 2009 }, + { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), GL, 2003 }, + { "GL_ARB_texture_rectangle", o(NV_texture_rectangle), GL, 2004 }, + { "GL_ARB_texture_rgb10_a2ui", o(ARB_texture_rgb10_a2ui), GL, 2009 }, + { "GL_ARB_texture_rg", o(ARB_texture_rg), GL, 2008 }, + { "GL_ARB_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 }, + { "GL_ARB_transform_feedback2", o(ARB_transform_feedback2), GL, 2010 }, + { "GL_ARB_transpose_matrix", o(ARB_transpose_matrix), GL, 1999 }, + { "GL_ARB_uniform_buffer_object", o(ARB_uniform_buffer_object), GL, 2002 }, + { "GL_ARB_vertex_array_bgra", o(EXT_vertex_array_bgra), GL, 2008 }, + { "GL_ARB_vertex_array_object", o(ARB_vertex_array_object), GL, 2006 }, + { "GL_ARB_vertex_buffer_object", o(ARB_vertex_buffer_object), GL, 2003 }, + { "GL_ARB_vertex_program", o(ARB_vertex_program), GL, 2002 }, + { "GL_ARB_vertex_shader", o(ARB_vertex_shader), GL, 2002 }, + { "GL_ARB_vertex_type_2_10_10_10_rev", o(ARB_vertex_type_2_10_10_10_rev), GL, 2009 }, + { "GL_ARB_window_pos", o(ARB_window_pos), GL, 2001 }, /* EXT extensions */ - { "GL_EXT_abgr", o(EXT_abgr), GL }, - { "GL_EXT_bgra", o(EXT_bgra), GL }, - { "GL_EXT_blend_color", o(EXT_blend_color), GL }, - { "GL_EXT_blend_equation_separate", o(EXT_blend_equation_separate), GL }, - { "GL_EXT_blend_func_separate", o(EXT_blend_func_separate), GL }, - { "GL_EXT_blend_logic_op", o(EXT_blend_logic_op), GL }, - { "GL_EXT_blend_minmax", o(EXT_blend_minmax), GL | ES1 | ES2 }, - { "GL_EXT_blend_subtract", o(EXT_blend_subtract), GL }, - { "GL_EXT_clip_volume_hint", o(EXT_clip_volume_hint), GL }, - { "GL_EXT_compiled_vertex_array", o(EXT_compiled_vertex_array), GL }, - { "GL_EXT_copy_texture", o(EXT_copy_texture), GL }, - { "GL_EXT_depth_bounds_test", o(EXT_depth_bounds_test), GL }, - { "GL_EXT_draw_buffers2", o(EXT_draw_buffers2), GL }, - { "GL_EXT_draw_instanced", o(ARB_draw_instanced), GL }, - { "GL_EXT_draw_range_elements", o(EXT_draw_range_elements), GL }, - { "GL_EXT_fog_coord", o(EXT_fog_coord), GL }, - { "GL_EXT_framebuffer_blit", o(EXT_framebuffer_blit), GL }, - { "GL_EXT_framebuffer_multisample", o(EXT_framebuffer_multisample), GL }, - { "GL_EXT_framebuffer_object", o(EXT_framebuffer_object), GL }, - { "GL_EXT_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL }, - { "GL_EXT_gpu_program_parameters", o(EXT_gpu_program_parameters), GL }, - { "GL_EXT_gpu_shader4", o(EXT_gpu_shader4), GL }, - { "GL_EXT_multi_draw_arrays", o(EXT_multi_draw_arrays), GL | ES1 | ES2 }, - { "GL_EXT_packed_depth_stencil", o(EXT_packed_depth_stencil), GL }, - { "GL_EXT_packed_float", o(EXT_packed_float), GL }, - { "GL_EXT_packed_pixels", o(EXT_packed_pixels), GL }, - { "GL_EXT_paletted_texture", o(EXT_paletted_texture), GL }, - { "GL_EXT_pixel_buffer_object", o(EXT_pixel_buffer_object), GL }, - { "GL_EXT_point_parameters", o(EXT_point_parameters), GL }, - { "GL_EXT_polygon_offset", o(EXT_polygon_offset), GL }, - { "GL_EXT_provoking_vertex", o(EXT_provoking_vertex), GL }, - { "GL_EXT_rescale_normal", o(EXT_rescale_normal), GL }, - { "GL_EXT_secondary_color", o(EXT_secondary_color), GL }, - { "GL_EXT_separate_shader_objects", o(EXT_separate_shader_objects), GL }, - { "GL_EXT_separate_specular_color", o(EXT_separate_specular_color), GL }, - { "GL_EXT_shadow_funcs", o(EXT_shadow_funcs), GL }, - { "GL_EXT_shared_texture_palette", o(EXT_shared_texture_palette), GL }, - { "GL_EXT_stencil_two_side", o(EXT_stencil_two_side), GL }, - { "GL_EXT_stencil_wrap", o(EXT_stencil_wrap), GL }, - { "GL_EXT_subtexture", o(EXT_subtexture), GL }, - { "GL_EXT_texture3D", o(EXT_texture3D), GL }, - { "GL_EXT_texture_array", o(EXT_texture_array), GL }, - { "GL_EXT_texture_compression_dxt1", o(EXT_texture_compression_s3tc), GL | ES1 | ES2 }, - { "GL_EXT_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL }, - { "GL_EXT_texture_compression_s3tc", o(EXT_texture_compression_s3tc), GL }, - { "GL_EXT_texture_cube_map", o(ARB_texture_cube_map), GL }, - { "GL_EXT_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL }, - { "GL_EXT_texture_env_add", o(EXT_texture_env_add), GL }, - { "GL_EXT_texture_env_combine", o(EXT_texture_env_combine), GL }, - { "GL_EXT_texture_env_dot3", o(EXT_texture_env_dot3), GL }, - { "GL_EXT_texture_filter_anisotropic", o(EXT_texture_filter_anisotropic), GL | ES1 | ES2 }, - { "GL_EXT_texture_format_BGRA8888", o(EXT_texture_format_BGRA8888), ES1 | ES2 }, - { "GL_EXT_texture_integer", o(EXT_texture_integer), GL }, - { "GL_EXT_texture_lod_bias", o(EXT_texture_lod_bias), GL | ES1 }, - { "GL_EXT_texture_mirror_clamp", o(EXT_texture_mirror_clamp), GL }, - { "GL_EXT_texture_object", o(EXT_texture_object), GL }, - { "GL_EXT_texture", o(EXT_texture), GL }, - { "GL_EXT_texture_rectangle", o(NV_texture_rectangle), GL }, - { "GL_EXT_texture_shared_exponent", o(EXT_texture_shared_exponent), GL }, - { "GL_EXT_texture_sRGB", o(EXT_texture_sRGB), GL }, - { "GL_EXT_texture_sRGB_decode", o(EXT_texture_sRGB_decode), GL }, - { "GL_EXT_texture_swizzle", o(EXT_texture_swizzle), GL }, - { "GL_EXT_texture_type_2_10_10_10_REV", o(dummy_true), ES2 }, - { "GL_EXT_timer_query", o(EXT_timer_query), GL }, - { "GL_EXT_transform_feedback", o(EXT_transform_feedback), GL }, - { "GL_EXT_vertex_array_bgra", o(EXT_vertex_array_bgra), GL }, - { "GL_EXT_vertex_array", o(EXT_vertex_array), GL }, - { "GL_EXT_vertex_array_set", o(EXT_vertex_array_set), GL }, + { "GL_EXT_abgr", o(EXT_abgr), GL, 1995 }, + { "GL_EXT_bgra", o(EXT_bgra), GL, 1995 }, + { "GL_EXT_blend_color", o(EXT_blend_color), GL, 1995 }, + { "GL_EXT_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 }, + { "GL_EXT_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 }, + { "GL_EXT_blend_logic_op", o(EXT_blend_logic_op), GL, 1995 }, + { "GL_EXT_blend_minmax", o(EXT_blend_minmax), GL | ES1 | ES2, 1995 }, + { "GL_EXT_blend_subtract", o(EXT_blend_subtract), GL, 1995 }, + { "GL_EXT_clip_volume_hint", o(EXT_clip_volume_hint), GL, 1996 }, + { "GL_EXT_compiled_vertex_array", o(EXT_compiled_vertex_array), GL, 1996 }, + { "GL_EXT_copy_texture", o(EXT_copy_texture), GL, 1995 }, + { "GL_EXT_depth_bounds_test", o(EXT_depth_bounds_test), GL, 2002 }, + { "GL_EXT_draw_buffers2", o(EXT_draw_buffers2), GL, 2006 }, + { "GL_EXT_draw_instanced", o(ARB_draw_instanced), GL, 2006 }, + { "GL_EXT_draw_range_elements", o(EXT_draw_range_elements), GL, 1997 }, + { "GL_EXT_fog_coord", o(EXT_fog_coord), GL, 1999 }, + { "GL_EXT_framebuffer_blit", o(EXT_framebuffer_blit), GL, 2005 }, + { "GL_EXT_framebuffer_multisample", o(EXT_framebuffer_multisample), GL, 2005 }, + { "GL_EXT_framebuffer_object", o(EXT_framebuffer_object), GL, 2000 }, + { "GL_EXT_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL, 1998 }, + { "GL_EXT_gpu_program_parameters", o(EXT_gpu_program_parameters), GL, 2006 }, + { "GL_EXT_gpu_shader4", o(EXT_gpu_shader4), GL, 2006 }, + { "GL_EXT_multi_draw_arrays", o(EXT_multi_draw_arrays), GL | ES1 | ES2, 1999 }, + { "GL_EXT_packed_depth_stencil", o(EXT_packed_depth_stencil), GL, 2005 }, + { "GL_EXT_packed_float", o(EXT_packed_float), GL, 2004 }, + { "GL_EXT_packed_pixels", o(EXT_packed_pixels), GL, 1997 }, + { "GL_EXT_paletted_texture", o(EXT_paletted_texture), GL, 1995 }, + { "GL_EXT_pixel_buffer_object", o(EXT_pixel_buffer_object), GL, 2004 }, + { "GL_EXT_point_parameters", o(EXT_point_parameters), GL, 1997 }, + { "GL_EXT_polygon_offset", o(EXT_polygon_offset), GL, 1995 }, + { "GL_EXT_provoking_vertex", o(EXT_provoking_vertex), GL, 2009 }, + { "GL_EXT_rescale_normal", o(EXT_rescale_normal), GL, 1997 }, + { "GL_EXT_secondary_color", o(EXT_secondary_color), GL, 1999 }, + { "GL_EXT_separate_shader_objects", o(EXT_separate_shader_objects), GL, 2008 }, + { "GL_EXT_separate_specular_color", o(EXT_separate_specular_color), GL, 1997 }, + { "GL_EXT_shadow_funcs", o(EXT_shadow_funcs), GL, 2002 }, + { "GL_EXT_shared_texture_palette", o(EXT_shared_texture_palette), GL, 2000 }, + { "GL_EXT_stencil_two_side", o(EXT_stencil_two_side), GL, 2001 }, + { "GL_EXT_stencil_wrap", o(EXT_stencil_wrap), GL, 2002 }, + { "GL_EXT_subtexture", o(EXT_subtexture), GL, 1995 }, + { "GL_EXT_texture3D", o(EXT_texture3D), GL, 1996 }, + { "GL_EXT_texture_array", o(EXT_texture_array), GL, 2006 }, + { "GL_EXT_texture_compression_dxt1", o(EXT_texture_compression_s3tc), GL | ES1 | ES2, 2004 }, + { "GL_EXT_texture_compression_latc", o(EXT_texture_compression_latc), GL, 2006 }, + { "GL_EXT_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL, 2004 }, + { "GL_EXT_texture_compression_s3tc", o(EXT_texture_compression_s3tc), GL, 2000 }, + { "GL_EXT_texture_cube_map", o(ARB_texture_cube_map), GL, 2001 }, + { "GL_EXT_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL, 1997 }, + { "GL_EXT_texture_env_add", o(EXT_texture_env_add), GL, 1999 }, + { "GL_EXT_texture_env_combine", o(EXT_texture_env_combine), GL, 2006 }, + { "GL_EXT_texture_env_dot3", o(EXT_texture_env_dot3), GL, 2000 }, + { "GL_EXT_texture_filter_anisotropic", o(EXT_texture_filter_anisotropic), GL | ES1 | ES2, 1999 }, + { "GL_EXT_texture_format_BGRA8888", o(EXT_texture_format_BGRA8888), ES1 | ES2, 2009 }, + { "GL_EXT_texture_integer", o(EXT_texture_integer), GL, 2006 }, + { "GL_EXT_texture_lod_bias", o(EXT_texture_lod_bias), GL | ES1, 1999 }, + { "GL_EXT_texture_mirror_clamp", o(EXT_texture_mirror_clamp), GL, 2004 }, + { "GL_EXT_texture_object", o(EXT_texture_object), GL, 1995 }, + { "GL_EXT_texture", o(EXT_texture), GL, 1996 }, + { "GL_EXT_texture_rectangle", o(NV_texture_rectangle), GL, 2004 }, + { "GL_EXT_texture_shared_exponent", o(EXT_texture_shared_exponent), GL, 2004 }, + { "GL_EXT_texture_sRGB", o(EXT_texture_sRGB), GL, 2004 }, + { "GL_EXT_texture_sRGB_decode", o(EXT_texture_sRGB_decode), GL, 2006 }, + { "GL_EXT_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 }, + { "GL_EXT_texture_type_2_10_10_10_REV", o(dummy_true), ES2, 2008 }, + { "GL_EXT_timer_query", o(EXT_timer_query), GL, 2006 }, + { "GL_EXT_transform_feedback", o(EXT_transform_feedback), GL, 2011 }, + { "GL_EXT_vertex_array_bgra", o(EXT_vertex_array_bgra), GL, 2008 }, + { "GL_EXT_vertex_array", o(EXT_vertex_array), GL, 1995 }, + { "GL_EXT_vertex_array_set", o(EXT_vertex_array_set), GL, 1997 }, /* OES extensions */ - { "GL_OES_blend_equation_separate", o(EXT_blend_equation_separate), ES1 }, - { "GL_OES_blend_func_separate", o(EXT_blend_func_separate), ES1 }, - { "GL_OES_blend_subtract", o(EXT_blend_subtract), ES1 }, - { "GL_OES_byte_coordinates", o(dummy_true), ES1 }, - { "GL_OES_compressed_paletted_texture", o(dummy_false), DISABLE }, - { "GL_OES_depth24", o(EXT_framebuffer_object), ES1 | ES2 }, - { "GL_OES_depth32", o(dummy_false), DISABLE }, - { "GL_OES_depth_texture", o(ARB_depth_texture), ES2 }, + { "GL_OES_blend_equation_separate", o(EXT_blend_equation_separate), ES1, 2009 }, + { "GL_OES_blend_func_separate", o(EXT_blend_func_separate), ES1, 2009 }, + { "GL_OES_blend_subtract", o(EXT_blend_subtract), ES1, 2009 }, + { "GL_OES_byte_coordinates", o(dummy_true), ES1, 2002 }, + { "GL_OES_compressed_paletted_texture", o(dummy_false), DISABLE, 2003 }, + { "GL_OES_depth24", o(EXT_framebuffer_object), ES1 | ES2, 2005 }, + { "GL_OES_depth32", o(dummy_false), DISABLE, 2005 }, + { "GL_OES_depth_texture", o(ARB_depth_texture), ES2, 2006 }, #if FEATURE_OES_draw_texture - { "GL_OES_draw_texture", o(OES_draw_texture), ES1 | ES2 }, + { "GL_OES_draw_texture", o(OES_draw_texture), ES1 | ES2, 2004 }, #endif #if FEATURE_OES_EGL_image /* FIXME: Mesa expects GL_OES_EGL_image to be available in OpenGL contexts. */ - { "GL_OES_EGL_image", o(OES_EGL_image), GL | ES1 | ES2 }, -#endif - { "GL_OES_element_index_uint", o(EXT_vertex_array), ES1 | ES2 }, - { "GL_OES_fbo_render_mipmap", o(EXT_framebuffer_object), ES1 | ES2 }, - { "GL_OES_fixed_point", o(dummy_true), ES1 }, - { "GL_OES_framebuffer_object", o(EXT_framebuffer_object), ES1 }, - { "GL_OES_mapbuffer", o(ARB_vertex_buffer_object), ES1 | ES2 }, - { "GL_OES_matrix_get", o(dummy_true), ES1 }, - { "GL_OES_packed_depth_stencil", o(EXT_packed_depth_stencil), ES1 | ES2 }, - { "GL_OES_point_size_array", o(dummy_true), ES1 }, - { "GL_OES_point_sprite", o(ARB_point_sprite), ES1 }, - { "GL_OES_query_matrix", o(dummy_true), ES1 }, - { "GL_OES_read_format", o(OES_read_format), GL | ES1 }, - { "GL_OES_rgb8_rgba8", o(EXT_framebuffer_object), ES1 | ES2 }, - { "GL_OES_single_precision", o(dummy_true), ES1 }, - { "GL_OES_standard_derivatives", o(OES_standard_derivatives), ES2 }, - { "GL_OES_stencil1", o(dummy_false), DISABLE }, - { "GL_OES_stencil4", o(dummy_false), DISABLE }, - { "GL_OES_stencil8", o(EXT_framebuffer_object), ES1 | ES2 }, - { "GL_OES_stencil_wrap", o(EXT_stencil_wrap), ES1 }, - { "GL_OES_texture_3D", o(EXT_texture3D), ES2 }, - { "GL_OES_texture_cube_map", o(ARB_texture_cube_map), ES1 }, - { "GL_OES_texture_env_crossbar", o(ARB_texture_env_crossbar), ES1 }, - { "GL_OES_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), ES1 }, - { "GL_OES_texture_npot", o(ARB_texture_non_power_of_two), ES2 }, + { "GL_OES_EGL_image", o(OES_EGL_image), GL | ES1 | ES2, 2006 }, +#endif + { "GL_OES_element_index_uint", o(EXT_vertex_array), ES1 | ES2, 2005 }, + { "GL_OES_fbo_render_mipmap", o(EXT_framebuffer_object), ES1 | ES2, 2005 }, + { "GL_OES_fixed_point", o(dummy_true), ES1, 2002 }, + { "GL_OES_framebuffer_object", o(EXT_framebuffer_object), ES1, 2005 }, + { "GL_OES_mapbuffer", o(ARB_vertex_buffer_object), ES1 | ES2, 2005 }, + { "GL_OES_matrix_get", o(dummy_true), ES1, 2004 }, + { "GL_OES_packed_depth_stencil", o(EXT_packed_depth_stencil), ES1 | ES2, 2007 }, + { "GL_OES_point_size_array", o(dummy_true), ES1, 2004 }, + { "GL_OES_point_sprite", o(ARB_point_sprite), ES1, 2004 }, + { "GL_OES_query_matrix", o(dummy_true), ES1, 2003 }, + { "GL_OES_read_format", o(OES_read_format), GL | ES1, 2003 }, + { "GL_OES_rgb8_rgba8", o(EXT_framebuffer_object), ES1 | ES2, 2005 }, + { "GL_OES_single_precision", o(dummy_true), ES1, 2003 }, + { "GL_OES_standard_derivatives", o(OES_standard_derivatives), ES2, 2005 }, + { "GL_OES_stencil1", o(dummy_false), DISABLE, 2005 }, + { "GL_OES_stencil4", o(dummy_false), DISABLE, 2005 }, + { "GL_OES_stencil8", o(EXT_framebuffer_object), ES1 | ES2, 2005 }, + { "GL_OES_stencil_wrap", o(EXT_stencil_wrap), ES1, 2002 }, + { "GL_OES_texture_3D", o(EXT_texture3D), ES2, 2005 }, + { "GL_OES_texture_cube_map", o(ARB_texture_cube_map), ES1, 2007 }, + { "GL_OES_texture_env_crossbar", o(ARB_texture_env_crossbar), ES1, 2005 }, + { "GL_OES_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), ES1, 2005 }, + { "GL_OES_texture_npot", o(ARB_texture_non_power_of_two), ES2, 2005 }, /* Vendor extensions */ - { "GL_3DFX_texture_compression_FXT1", o(TDFX_texture_compression_FXT1), GL }, - { "GL_AMD_conservative_depth", o(AMD_conservative_depth), GL }, - { "GL_APPLE_client_storage", o(APPLE_client_storage), GL }, - { "GL_APPLE_object_purgeable", o(APPLE_object_purgeable), GL }, - { "GL_APPLE_packed_pixels", o(APPLE_packed_pixels), GL }, - { "GL_APPLE_vertex_array_object", o(APPLE_vertex_array_object), GL }, - { "GL_ATI_blend_equation_separate", o(EXT_blend_equation_separate), GL }, - { "GL_ATI_envmap_bumpmap", o(ATI_envmap_bumpmap), GL }, - { "GL_ATI_fragment_shader", o(ATI_fragment_shader), GL }, - { "GL_ATI_separate_stencil", o(ATI_separate_stencil), GL }, - { "GL_ATI_texture_env_combine3", o(ATI_texture_env_combine3), GL }, - { "GL_ATI_texture_mirror_once", o(ATI_texture_mirror_once), GL }, - { "GL_IBM_multimode_draw_arrays", o(IBM_multimode_draw_arrays), GL }, - { "GL_IBM_rasterpos_clip", o(IBM_rasterpos_clip), GL }, - { "GL_IBM_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL }, - { "GL_INGR_blend_func_separate", o(EXT_blend_func_separate), GL }, - { "GL_MESA_pack_invert", o(MESA_pack_invert), GL }, - { "GL_MESA_resize_buffers", o(MESA_resize_buffers), GL }, - { "GL_MESA_texture_array", o(MESA_texture_array), GL }, - { "GL_MESA_texture_signed_rgba", o(MESA_texture_signed_rgba), GL }, - { "GL_MESA_window_pos", o(ARB_window_pos), GL }, - { "GL_MESAX_texture_float", o(ARB_texture_float), GL }, - { "GL_MESA_ycbcr_texture", o(MESA_ycbcr_texture), GL }, - { "GL_NV_blend_square", o(NV_blend_square), GL }, - { "GL_NV_conditional_render", o(NV_conditional_render), GL }, - { "GL_NV_depth_clamp", o(ARB_depth_clamp), GL }, - { "GL_NV_fragment_program", o(NV_fragment_program), GL }, - { "GL_NV_fragment_program_option", o(NV_fragment_program_option), GL }, - { "GL_NV_light_max_exponent", o(NV_light_max_exponent), GL }, - { "GL_NV_packed_depth_stencil", o(EXT_packed_depth_stencil), GL }, - { "GL_NV_point_sprite", o(NV_point_sprite), GL }, - { "GL_NV_primitive_restart", o(NV_primitive_restart), GL }, - { "GL_NV_texgen_reflection", o(NV_texgen_reflection), GL }, - { "GL_NV_texture_env_combine4", o(NV_texture_env_combine4), GL }, - { "GL_NV_texture_rectangle", o(NV_texture_rectangle), GL }, - { "GL_NV_vertex_program1_1", o(NV_vertex_program1_1), GL }, - { "GL_NV_vertex_program", o(NV_vertex_program), GL }, - { "GL_S3_s3tc", o(S3_s3tc), GL }, - { "GL_SGIS_generate_mipmap", o(SGIS_generate_mipmap), GL }, - { "GL_SGIS_texture_border_clamp", o(ARB_texture_border_clamp), GL }, - { "GL_SGIS_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL }, - { "GL_SGIS_texture_lod", o(SGIS_texture_lod), GL }, - { "GL_SUN_multi_draw_arrays", o(EXT_multi_draw_arrays), GL }, - - { 0, 0, 0 }, + { "GL_3DFX_texture_compression_FXT1", o(TDFX_texture_compression_FXT1), GL, 1999 }, + { "GL_AMD_conservative_depth", o(AMD_conservative_depth), GL, 2009 }, + { "GL_APPLE_client_storage", o(APPLE_client_storage), GL, 2002 }, + { "GL_APPLE_object_purgeable", o(APPLE_object_purgeable), GL, 2006 }, + { "GL_APPLE_packed_pixels", o(APPLE_packed_pixels), GL, 2002 }, + { "GL_APPLE_vertex_array_object", o(APPLE_vertex_array_object), GL, 2002 }, + { "GL_ATI_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 }, + { "GL_ATI_envmap_bumpmap", o(ATI_envmap_bumpmap), GL, 2001 }, + { "GL_ATI_fragment_shader", o(ATI_fragment_shader), GL, 2001 }, + { "GL_ATI_separate_stencil", o(ATI_separate_stencil), GL, 2006 }, + { "GL_ATI_texture_compression_3dc", o(ATI_texture_compression_3dc), GL, 2004 }, + { "GL_ATI_texture_env_combine3", o(ATI_texture_env_combine3), GL, 2002 }, + { "GL_ATI_texture_mirror_once", o(ATI_texture_mirror_once), GL, 2006 }, + { "GL_IBM_multimode_draw_arrays", o(IBM_multimode_draw_arrays), GL, 1998 }, + { "GL_IBM_rasterpos_clip", o(IBM_rasterpos_clip), GL, 1996 }, + { "GL_IBM_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL, 1998 }, + { "GL_INGR_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 }, + { "GL_MESA_pack_invert", o(MESA_pack_invert), GL, 2002 }, + { "GL_MESA_resize_buffers", o(MESA_resize_buffers), GL, 1999 }, + { "GL_MESA_texture_array", o(MESA_texture_array), GL, 2007 }, + { "GL_MESA_texture_signed_rgba", o(MESA_texture_signed_rgba), GL, 2009 }, + { "GL_MESA_window_pos", o(ARB_window_pos), GL, 2000 }, + { "GL_MESAX_texture_float", o(ARB_texture_float), GL, 2009 }, + { "GL_MESA_ycbcr_texture", o(MESA_ycbcr_texture), GL, 2002 }, + { "GL_NV_blend_square", o(NV_blend_square), GL, 1999 }, + { "GL_NV_conditional_render", o(NV_conditional_render), GL, 2008 }, + { "GL_NV_depth_clamp", o(ARB_depth_clamp), GL, 2001 }, + { "GL_NV_fragment_program", o(NV_fragment_program), GL, 2001 }, + { "GL_NV_fragment_program_option", o(NV_fragment_program_option), GL, 2005 }, + { "GL_NV_light_max_exponent", o(NV_light_max_exponent), GL, 1999 }, + { "GL_NV_packed_depth_stencil", o(EXT_packed_depth_stencil), GL, 2000 }, + { "GL_NV_point_sprite", o(NV_point_sprite), GL, 2001 }, + { "GL_NV_primitive_restart", o(NV_primitive_restart), GL, 2002 }, + { "GL_NV_texgen_reflection", o(NV_texgen_reflection), GL, 1999 }, + { "GL_NV_texture_barrier", o(NV_texture_barrier), GL, 2009 }, + { "GL_NV_texture_env_combine4", o(NV_texture_env_combine4), GL, 1999 }, + { "GL_NV_texture_rectangle", o(NV_texture_rectangle), GL, 2000 }, + { "GL_NV_vertex_program1_1", o(NV_vertex_program1_1), GL, 2001 }, + { "GL_NV_vertex_program", o(NV_vertex_program), GL, 2000 }, + { "GL_S3_s3tc", o(S3_s3tc), GL, 1999 }, + { "GL_SGIS_generate_mipmap", o(SGIS_generate_mipmap), GL, 1997 }, + { "GL_SGIS_texture_border_clamp", o(ARB_texture_border_clamp), GL, 1997 }, + { "GL_SGIS_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL, 1997 }, + { "GL_SGIS_texture_lod", o(SGIS_texture_lod), GL, 1997 }, + { "GL_SUN_multi_draw_arrays", o(EXT_multi_draw_arrays), GL, 1999 }, + + { 0, 0, 0, 0 }, }; @@ -448,6 +455,7 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) #if FEATURE_ATI_fragment_shader ctx->Extensions.ATI_fragment_shader = GL_TRUE; #endif + ctx->Extensions.ATI_texture_compression_3dc = GL_TRUE; ctx->Extensions.ATI_texture_env_combine3 = GL_TRUE; ctx->Extensions.ATI_texture_mirror_once = GL_TRUE; ctx->Extensions.ATI_separate_stencil = GL_TRUE; @@ -483,6 +491,7 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.EXT_stencil_wrap = GL_TRUE; ctx->Extensions.EXT_stencil_two_side = GL_TRUE; ctx->Extensions.EXT_texture_array = GL_TRUE; + ctx->Extensions.EXT_texture_compression_latc = GL_TRUE; ctx->Extensions.EXT_texture_env_add = GL_TRUE; ctx->Extensions.EXT_texture_env_combine = GL_TRUE; ctx->Extensions.EXT_texture_env_dot3 = GL_TRUE; @@ -818,6 +827,34 @@ _mesa_init_extensions( struct gl_context *ctx ) } +typedef unsigned short extension_index; + + +/** + * Compare two entries of the extensions table. Sorts first by year, + * then by name. + * + * Arguments are indices into extension_table. + */ +static int +extension_compare(const void *p1, const void *p2) +{ + extension_index i1 = * (const extension_index *) p1; + extension_index i2 = * (const extension_index *) p2; + const struct extension *e1 = &extension_table[i1]; + const struct extension *e2 = &extension_table[i2]; + int res; + + res = (int)e1->year - (int)e2->year; + + if (res == 0) { + res = strcmp(e1->name, e2->name); + } + + return res; +} + + /** * Construct the GL_EXTENSIONS string. Called the first time that * glGetString(GL_EXTENSIONS) is called. @@ -829,15 +866,23 @@ _mesa_make_extension_string(struct gl_context *ctx) char *exts = 0; /* Length of extension string. */ size_t length = 0; + /* Number of extensions */ + unsigned count; + /* Indices of the extensions sorted by year */ + extension_index *extension_indices; /* String of extra extensions. */ char *extra_extensions = get_extension_override(ctx); GLboolean *base = (GLboolean *) &ctx->Extensions; const struct extension *i; + unsigned j; + /* Compute length of the extension string. */ + count = 0; for (i = extension_table; i->name != 0; ++i) { if (base[i->offset] && (i->api_set & (1 << ctx->API))) { length += strlen(i->name) + 1; /* +1 for space */ + ++count; } } if (extra_extensions != NULL) @@ -849,13 +894,35 @@ _mesa_make_extension_string(struct gl_context *ctx) return NULL; } - /* Build the extension string.*/ + extension_indices = malloc(count * sizeof extension_indices); + if (extension_indices == NULL) { + free(exts); + free(extra_extensions); + return NULL; + } + + /* Sort extensions in chronological order because certain old applications (e.g., + * Quake3 demo) store the extension list in a static size buffer so chronologically + * order ensure that the extensions that such applications expect will fit into + * that buffer. + */ + j = 0; for (i = extension_table; i->name != 0; ++i) { if (base[i->offset] && (i->api_set & (1 << ctx->API))) { - strcat(exts, i->name); - strcat(exts, " "); + extension_indices[j++] = i - extension_table; } } + assert(j == count); + qsort(extension_indices, count, sizeof *extension_indices, extension_compare); + + /* Build the extension string.*/ + for (j = 0; j < count; ++j) { + i = &extension_table[extension_indices[j]]; + assert(base[i->offset] && (i->api_set & (1 << ctx->API))); + strcat(exts, i->name); + strcat(exts, " "); + } + free(extension_indices); if (extra_extensions != 0) { strcat(exts, extra_extensions); free(extra_extensions); diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index c242e568d08..ffdd0842562 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -384,6 +384,7 @@ _mesa_framebuffer_renderbuffer(struct gl_context *ctx, assert(att); _mesa_set_renderbuffer_attachment(ctx, att, rb); } + rb->AttachedAnytime = GL_TRUE; } else { _mesa_remove_attachment(ctx, att); @@ -1115,6 +1116,31 @@ _mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat) } +/** + * Invalidate a renderbuffer attachment. Called from _mesa_HashWalk(). + */ +static void +invalidate_rb(GLuint key, void *data, void *userData) +{ + struct gl_framebuffer *fb = (struct gl_framebuffer *) data; + struct gl_renderbuffer *rb = (struct gl_renderbuffer *) userData; + + /* If this is a user-created FBO */ + if (fb->Name) { + GLuint i; + for (i = 0; i < BUFFER_COUNT; i++) { + struct gl_renderbuffer_attachment *att = fb->Attachment + i; + if (att->Type == GL_RENDERBUFFER && + att->Renderbuffer == rb) { + /* Mark fb status as indeterminate to force re-validation */ + fb->_Status = 0; + return; + } + } + } +} + + /** sentinal value, see below */ #define NO_SAMPLES 1000 @@ -1207,12 +1233,10 @@ renderbuffer_storage(GLenum target, GLenum internalFormat, rb->NumSamples = 0; } - /* - test_framebuffer_completeness(ctx, fb); - */ - /* XXX if this renderbuffer is attached anywhere, invalidate attachment - * points??? - */ + /* Invalidate the framebuffers the renderbuffer is attached in. */ + if (rb->AttachedAnytime) { + _mesa_HashWalk(ctx->Shared->FrameBuffers, invalidate_rb, rb); + } } diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/ff_fragment_shader.cpp index c1380f2a645..9be531735ed 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/ff_fragment_shader.cpp @@ -26,6 +26,7 @@ * **************************************************************************/ +extern "C" { #include "glheader.h" #include "imports.h" #include "mtypes.h" @@ -37,7 +38,7 @@ #include "program/prog_statevars.h" #include "program/programopt.h" #include "texenvprogram.h" - +} /* * Note on texture units: @@ -524,7 +525,7 @@ struct ureg { static const struct ureg undef = { PROGRAM_UNDEFINED, - ~0, + 255, 0, 0, 0 @@ -686,14 +687,15 @@ static struct ureg register_param5( struct texenv_fragment_program *p, GLint s3, GLint s4) { - gl_state_index tokens[STATE_LENGTH]; + int tokens[STATE_LENGTH]; GLuint idx; tokens[0] = s0; tokens[1] = s1; tokens[2] = s2; tokens[3] = s3; tokens[4] = s4; - idx = _mesa_add_state_reference( p->program->Base.Parameters, tokens ); + idx = _mesa_add_state_reference(p->program->Base.Parameters, + (gl_state_index *)tokens); return make_ureg(PROGRAM_STATE_VAR, idx); } @@ -1586,6 +1588,7 @@ create_new_program(struct gl_context *ctx, struct state_key *key, } } +extern "C" { /** * Return a fragment program which implements the current @@ -1616,3 +1619,5 @@ _mesa_get_fixed_func_fragment_program(struct gl_context *ctx) return prog; } + +} diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index 947db84a69e..db10c9b4c2e 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -927,6 +927,42 @@ static struct gl_format_info format_info[MESA_FORMAT_COUNT] = 0, 0, 0, 0, 0, 4, 4, 16 /* 16 bytes per 4x4 block */ }, + { + MESA_FORMAT_L_LATC1, + "MESA_FORMAT_L_LATC1", + GL_LUMINANCE, + GL_UNSIGNED_NORMALIZED, + 0, 0, 0, 0, + 4, 0, 0, 0, 0, + 4, 4, 8 /* 8 bytes per 4x4 block */ + }, + { + MESA_FORMAT_SIGNED_L_LATC1, + "MESA_FORMAT_SIGNED_L_LATC1", + GL_LUMINANCE, + GL_SIGNED_NORMALIZED, + 0, 0, 0, 0, + 4, 0, 0, 0, 0, + 4, 4, 8 /* 8 bytes per 4x4 block */ + }, + { + MESA_FORMAT_LA_LATC2, + "MESA_FORMAT_LA_LATC2", + GL_LUMINANCE_ALPHA, + GL_UNSIGNED_NORMALIZED, + 0, 0, 0, 4, + 4, 0, 0, 0, 0, + 4, 4, 16 /* 16 bytes per 4x4 block */ + }, + { + MESA_FORMAT_SIGNED_LA_LATC2, + "MESA_FORMAT_SIGNED_LA_LATC2", + GL_LUMINANCE_ALPHA, + GL_SIGNED_NORMALIZED, + 0, 0, 0, 4, + 4, 0, 0, 0, 0, + 4, 4, 16 /* 16 bytes per 4x4 block */ + }, }; @@ -1570,6 +1606,10 @@ _mesa_format_to_type_and_comps(gl_format format, case MESA_FORMAT_SIGNED_RED_RGTC1: case MESA_FORMAT_RG_RGTC2: case MESA_FORMAT_SIGNED_RG_RGTC2: + case MESA_FORMAT_L_LATC1: + case MESA_FORMAT_SIGNED_L_LATC1: + case MESA_FORMAT_LA_LATC2: + case MESA_FORMAT_SIGNED_LA_LATC2: /* XXX generate error instead? */ *datatype = GL_UNSIGNED_BYTE; *comps = 0; diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h index e21967e2b0c..04a18930b4e 100644 --- a/src/mesa/main/formats.h +++ b/src/mesa/main/formats.h @@ -185,6 +185,14 @@ typedef enum MESA_FORMAT_RG_RGTC2, MESA_FORMAT_SIGNED_RG_RGTC2, /*@}*/ + + /*@{*/ + MESA_FORMAT_L_LATC1, + MESA_FORMAT_SIGNED_L_LATC1, + MESA_FORMAT_LA_LATC2, + MESA_FORMAT_SIGNED_LA_LATC2, + /*@}*/ + MESA_FORMAT_COUNT } gl_format; diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c index 8916441f455..430e013d017 100644 --- a/src/mesa/main/framebuffer.c +++ b/src/mesa/main/framebuffer.c @@ -889,6 +889,8 @@ _mesa_source_buffer_exists(struct gl_context *ctx, GLenum format) } ASSERT(_mesa_get_format_bits(ctx->ReadBuffer->_ColorReadBuffer->Format, GL_RED_BITS) > 0 || _mesa_get_format_bits(ctx->ReadBuffer->_ColorReadBuffer->Format, GL_ALPHA_BITS) > 0 || + _mesa_get_format_bits(ctx->ReadBuffer->_ColorReadBuffer->Format, GL_TEXTURE_LUMINANCE_SIZE) > 0 || + _mesa_get_format_bits(ctx->ReadBuffer->_ColorReadBuffer->Format, GL_TEXTURE_INTENSITY_SIZE) > 0 || _mesa_get_format_bits(ctx->ReadBuffer->_ColorReadBuffer->Format, GL_INDEX_BITS) > 0); break; case GL_DEPTH: diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 336304c591d..7d1a5cf6002 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -1201,22 +1201,22 @@ static const struct value_desc values[] = { /* GL_ARB_geometry_shader4 */ { GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB, - CONTEXT_INT(Const.GeometryProgram.MaxGeometryTextureImageUnits), + CONTEXT_INT(Const.MaxGeometryTextureImageUnits), extra_ARB_geometry_shader4 }, { GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB, - CONTEXT_INT(Const.GeometryProgram.MaxGeometryOutputVertices), + CONTEXT_INT(Const.MaxGeometryOutputVertices), extra_ARB_geometry_shader4 }, { GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB, - CONTEXT_INT(Const.GeometryProgram.MaxGeometryTotalOutputComponents), + CONTEXT_INT(Const.MaxGeometryTotalOutputComponents), extra_ARB_geometry_shader4 }, { GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB, - CONTEXT_INT(Const.GeometryProgram.MaxGeometryUniformComponents), + CONTEXT_INT(Const.GeometryProgram.MaxUniformComponents), extra_ARB_geometry_shader4 }, { GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB, - CONTEXT_INT(Const.GeometryProgram.MaxGeometryVaryingComponents), + CONTEXT_INT(Const.MaxGeometryVaryingComponents), extra_ARB_geometry_shader4 }, { GL_MAX_VERTEX_VARYING_COMPONENTS_ARB, - CONTEXT_INT(Const.GeometryProgram.MaxVertexVaryingComponents), + CONTEXT_INT(Const.MaxVertexVaryingComponents), extra_ARB_geometry_shader4 }, /* GL_EXT_gpu_shader4 / GL 3.0 */ diff --git a/src/mesa/main/glapidispatch.h b/src/mesa/main/glapidispatch.h index b5144b0cf53..cbfe6400e42 100644 --- a/src/mesa/main/glapidispatch.h +++ b/src/mesa/main/glapidispatch.h @@ -59,7 +59,7 @@ } while(0) /* total number of offsets below */ -#define _gloffset_COUNT 891 +#define _gloffset_COUNT 892 #define _gloffset_NewList 0 #define _gloffset_EndList 1 @@ -948,17 +948,18 @@ #define _gloffset_ActiveProgramEXT 881 #define _gloffset_CreateShaderProgramEXT 882 #define _gloffset_UseShaderProgramEXT 883 -#define _gloffset_StencilFuncSeparateATI 884 -#define _gloffset_ProgramEnvParameters4fvEXT 885 -#define _gloffset_ProgramLocalParameters4fvEXT 886 -#define _gloffset_GetQueryObjecti64vEXT 887 -#define _gloffset_GetQueryObjectui64vEXT 888 -#define _gloffset_EGLImageTargetRenderbufferStorageOES 889 -#define _gloffset_EGLImageTargetTexture2DOES 890 +#define _gloffset_TextureBarrierNV 884 +#define _gloffset_StencilFuncSeparateATI 885 +#define _gloffset_ProgramEnvParameters4fvEXT 886 +#define _gloffset_ProgramLocalParameters4fvEXT 887 +#define _gloffset_GetQueryObjecti64vEXT 888 +#define _gloffset_GetQueryObjectui64vEXT 889 +#define _gloffset_EGLImageTargetRenderbufferStorageOES 890 +#define _gloffset_EGLImageTargetTexture2DOES 891 #else /* !_GLAPI_USE_REMAP_TABLE */ -#define driDispatchRemapTable_size 483 +#define driDispatchRemapTable_size 484 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define AttachShader_remap_index 0 @@ -1437,13 +1438,14 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define ActiveProgramEXT_remap_index 473 #define CreateShaderProgramEXT_remap_index 474 #define UseShaderProgramEXT_remap_index 475 -#define StencilFuncSeparateATI_remap_index 476 -#define ProgramEnvParameters4fvEXT_remap_index 477 -#define ProgramLocalParameters4fvEXT_remap_index 478 -#define GetQueryObjecti64vEXT_remap_index 479 -#define GetQueryObjectui64vEXT_remap_index 480 -#define EGLImageTargetRenderbufferStorageOES_remap_index 481 -#define EGLImageTargetTexture2DOES_remap_index 482 +#define TextureBarrierNV_remap_index 476 +#define StencilFuncSeparateATI_remap_index 477 +#define ProgramEnvParameters4fvEXT_remap_index 478 +#define ProgramLocalParameters4fvEXT_remap_index 479 +#define GetQueryObjecti64vEXT_remap_index 480 +#define GetQueryObjectui64vEXT_remap_index 481 +#define EGLImageTargetRenderbufferStorageOES_remap_index 482 +#define EGLImageTargetTexture2DOES_remap_index 483 #define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index] #define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index] @@ -1921,6 +1923,7 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_ActiveProgramEXT driDispatchRemapTable[ActiveProgramEXT_remap_index] #define _gloffset_CreateShaderProgramEXT driDispatchRemapTable[CreateShaderProgramEXT_remap_index] #define _gloffset_UseShaderProgramEXT driDispatchRemapTable[UseShaderProgramEXT_remap_index] +#define _gloffset_TextureBarrierNV driDispatchRemapTable[TextureBarrierNV_remap_index] #define _gloffset_StencilFuncSeparateATI driDispatchRemapTable[StencilFuncSeparateATI_remap_index] #define _gloffset_ProgramEnvParameters4fvEXT driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index] #define _gloffset_ProgramLocalParameters4fvEXT driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index] @@ -4583,6 +4586,9 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_UseShaderProgramEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_UseShaderProgramEXT, parameters) #define GET_UseShaderProgramEXT(disp) GET_by_offset(disp, _gloffset_UseShaderProgramEXT) #define SET_UseShaderProgramEXT(disp, fn) SET_by_offset(disp, _gloffset_UseShaderProgramEXT, fn) +#define CALL_TextureBarrierNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_TextureBarrierNV, parameters) +#define GET_TextureBarrierNV(disp) GET_by_offset(disp, _gloffset_TextureBarrierNV) +#define SET_TextureBarrierNV(disp, fn) SET_by_offset(disp, _gloffset_TextureBarrierNV, fn) #define CALL_StencilFuncSeparateATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLuint)), _gloffset_StencilFuncSeparateATI, parameters) #define GET_StencilFuncSeparateATI(disp) GET_by_offset(disp, _gloffset_StencilFuncSeparateATI) #define SET_StencilFuncSeparateATI(disp, fn) SET_by_offset(disp, _gloffset_StencilFuncSeparateATI, fn) diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h index 08ad5f32018..0df81198661 100644 --- a/src/mesa/main/glheader.h +++ b/src/mesa/main/glheader.h @@ -121,6 +121,10 @@ typedef void *GLeglImageOES; #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD #endif +#ifndef GL_ATI_texture_compression_3dc +#define GL_ATI_texture_compression_3dc 1 +#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 +#endif /** diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c index 63936132f98..bbde3800e8c 100644 --- a/src/mesa/main/image.c +++ b/src/mesa/main/image.c @@ -743,6 +743,11 @@ _mesa_is_color_format(GLenum format) case GL_COMPRESSED_SIGNED_RED_RGTC1: case GL_COMPRESSED_RG_RGTC2: case GL_COMPRESSED_SIGNED_RG_RGTC2: + case GL_COMPRESSED_LUMINANCE_LATC1_EXT: + case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: + case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: + case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: + case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: /* signed, normalized texture formats */ case GL_RGBA_SNORM: case GL_RGBA8_SNORM: @@ -1025,6 +1030,13 @@ _mesa_is_compressed_format(struct gl_context *ctx, GLenum format) case GL_COMPRESSED_RG_RGTC2: case GL_COMPRESSED_SIGNED_RG_RGTC2: return ctx->Extensions.ARB_texture_compression_rgtc; + case GL_COMPRESSED_LUMINANCE_LATC1_EXT: + case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: + case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: + case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: + return ctx->Extensions.EXT_texture_compression_latc; + case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: + return ctx->Extensions.ATI_texture_compression_3dc; default: return GL_FALSE; } diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c index bf89815f2d3..f262b25c718 100644 --- a/src/mesa/main/imports.c +++ b/src/mesa/main/imports.c @@ -930,14 +930,20 @@ _mesa_problem( const struct gl_context *ctx, const char *fmtString, ... ) { va_list args; char str[MAXSTRING]; + static int numCalls = 0; + (void) ctx; - va_start( args, fmtString ); - vsnprintf( str, MAXSTRING, fmtString, args ); - va_end( args ); + if (numCalls < 50) { + numCalls++; - fprintf(stderr, "Mesa %s implementation error: %s\n", MESA_VERSION_STRING, str); - fprintf(stderr, "Please report at bugs.freedesktop.org\n"); + va_start( args, fmtString ); + vsnprintf( str, MAXSTRING, fmtString, args ); + va_end( args ); + fprintf(stderr, "Mesa %s implementation error: %s\n", + MESA_VERSION_STRING, str); + fprintf(stderr, "Please report at bugs.freedesktop.org\n"); + } } diff --git a/src/mesa/main/mipmap.c b/src/mesa/main/mipmap.c index 0727e1818f1..e594160ad9e 100644 --- a/src/mesa/main/mipmap.c +++ b/src/mesa/main/mipmap.c @@ -1764,8 +1764,13 @@ _mesa_generate_mipmap(struct gl_context *ctx, GLenum target, } else if (srcImage->_BaseFormat == GL_RGBA) { convertFormat = MESA_FORMAT_RGBA8888; components = 4; - } - else { + } else if (srcImage->_BaseFormat == GL_LUMINANCE) { + convertFormat = MESA_FORMAT_L8; + components = 1; + } else if (srcImage->_BaseFormat == GL_LUMINANCE_ALPHA) { + convertFormat = MESA_FORMAT_AL88; + components = 2; + } else { _mesa_problem(ctx, "bad srcImage->_BaseFormat in _mesa_generate_mipmaps"); return; } diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index db3eba20c68..831774fa4b1 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -85,7 +85,7 @@ typedef GLuint64 GLbitfield64; /** Set a single bit */ -#define BITFIELD64_BIT(b) (1ULL << (b)) +#define BITFIELD64_BIT(b) ((GLbitfield64)1 << (b)) /** @@ -2376,6 +2376,8 @@ struct gl_renderbuffer GLenum DataType; /**< Type of values passed to the Get/Put functions */ GLvoid *Data; /**< This may not be used by some kinds of RBs */ + GLboolean AttachedAnytime; /**< TRUE if it was attached to a framebuffer */ + /* Used to wrap one renderbuffer around another: */ struct gl_renderbuffer *Wrapped; @@ -2561,7 +2563,7 @@ struct gl_precision /** - * Limits for vertex and fragment programs/shaders. + * Limits for vertex, geometry and fragment programs/shaders. */ struct gl_program_constants { @@ -2587,14 +2589,7 @@ struct gl_program_constants GLuint MaxNativeAddressRegs; GLuint MaxNativeParameters; /* For shaders */ - GLuint MaxUniformComponents; - /* GL_ARB_geometry_shader4 */ - GLuint MaxGeometryTextureImageUnits; - GLuint MaxGeometryVaryingComponents; - GLuint MaxVertexVaryingComponents; - GLuint MaxGeometryUniformComponents; - GLuint MaxGeometryOutputVertices; - GLuint MaxGeometryTotalOutputComponents; + GLuint MaxUniformComponents; /**< Usually == MaxParameters * 4 */ /* ES 2.0 and GL_ARB_ES2_compatibility */ struct gl_precision LowFloat, MediumFloat, HighFloat; struct gl_precision LowInt, MediumInt, HighInt; @@ -2617,6 +2612,7 @@ struct gl_constants GLuint MaxTextureImageUnits; GLuint MaxVertexTextureImageUnits; GLuint MaxCombinedTextureImageUnits; + GLuint MaxGeometryTextureImageUnits; GLuint MaxTextureUnits; /**< = MIN(CoordUnits, ImageUnits) */ GLfloat MaxTextureMaxAnisotropy; /**< GL_EXT_texture_filter_anisotropic */ GLfloat MaxTextureLodBias; /**< GL_EXT_texture_lod_bias */ @@ -2656,7 +2652,14 @@ struct gl_constants GLuint MaxRenderbufferSize; /**< GL_EXT_framebuffer_object */ GLuint MaxSamples; /**< GL_ARB_framebuffer_object */ - GLuint MaxVarying; /**< Number of float[4] varying parameters */ + /** Number of varying vectors between vertex and fragment shaders */ + GLuint MaxVarying; + GLuint MaxVertexVaryingComponents; /**< Between vert and geom shader */ + GLuint MaxGeometryVaryingComponents; /**< Between geom and frag shader */ + + /** GL_ARB_geometry_shader4 */ + GLuint MaxGeometryOutputVertices; + GLuint MaxGeometryTotalOutputComponents; GLuint GLSLVersion; /**< GLSL version supported (ex: 120 = 1.20) */ @@ -2800,6 +2803,7 @@ struct gl_extensions GLboolean EXT_texture_object; GLboolean EXT_texture3D; GLboolean EXT_texture_array; + GLboolean EXT_texture_compression_latc; GLboolean EXT_texture_compression_s3tc; GLboolean EXT_texture_env_add; GLboolean EXT_texture_env_combine; @@ -2825,6 +2829,7 @@ struct gl_extensions GLboolean APPLE_vertex_array_object; GLboolean APPLE_object_purgeable; GLboolean ATI_envmap_bumpmap; + GLboolean ATI_texture_compression_3dc; GLboolean ATI_texture_mirror_once; GLboolean ATI_texture_env_combine3; GLboolean ATI_fragment_shader; @@ -2843,6 +2848,7 @@ struct gl_extensions GLboolean NV_light_max_exponent; GLboolean NV_point_sprite; GLboolean NV_primitive_restart; + GLboolean NV_texture_barrier; GLboolean NV_texgen_reflection; GLboolean NV_texture_env_combine4; GLboolean NV_texture_rectangle; diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index fa35c6ce58a..e9cf5f64d08 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -218,6 +218,7 @@ _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); diff --git a/src/mesa/main/remap_helper.h b/src/mesa/main/remap_helper.h index 07e8719189e..61530df3e1a 100644 --- a/src/mesa/main/remap_helper.h +++ b/src/mesa/main/remap_helper.h @@ -70,4706 +70,4710 @@ static const char _mesa_function_pool[] = "\0" "glLoadIdentity\0" "\0" - /* _mesa_function_pool[216]: SampleCoverageARB (will be remapped) */ + /* _mesa_function_pool[216]: GetCombinerOutputParameterfvNV (will be remapped) */ + "iiip\0" + "glGetCombinerOutputParameterfvNV\0" + "\0" + /* _mesa_function_pool[255]: SampleCoverageARB (will be remapped) */ "fi\0" "glSampleCoverage\0" "glSampleCoverageARB\0" "\0" - /* _mesa_function_pool[257]: ConvolutionFilter1D (offset 348) */ + /* _mesa_function_pool[296]: ConvolutionFilter1D (offset 348) */ "iiiiip\0" "glConvolutionFilter1D\0" "glConvolutionFilter1DEXT\0" "\0" - /* _mesa_function_pool[312]: BeginQueryARB (will be remapped) */ + /* _mesa_function_pool[351]: BeginQueryARB (will be remapped) */ "ii\0" "glBeginQuery\0" "glBeginQueryARB\0" "\0" - /* _mesa_function_pool[345]: RasterPos3dv (offset 71) */ + /* _mesa_function_pool[384]: RasterPos3dv (offset 71) */ "p\0" "glRasterPos3dv\0" "\0" - /* _mesa_function_pool[363]: PointParameteriNV (will be remapped) */ + /* _mesa_function_pool[402]: PointParameteriNV (will be remapped) */ "ii\0" "glPointParameteri\0" "glPointParameteriNV\0" "\0" - /* _mesa_function_pool[405]: GetProgramiv (will be remapped) */ + /* _mesa_function_pool[444]: GetProgramiv (will be remapped) */ "iip\0" "glGetProgramiv\0" "\0" - /* _mesa_function_pool[425]: MultiTexCoord3sARB (offset 398) */ + /* _mesa_function_pool[464]: MultiTexCoord3sARB (offset 398) */ "iiii\0" "glMultiTexCoord3s\0" "glMultiTexCoord3sARB\0" "\0" - /* _mesa_function_pool[470]: SecondaryColor3iEXT (will be remapped) */ + /* _mesa_function_pool[509]: SecondaryColor3iEXT (will be remapped) */ "iii\0" "glSecondaryColor3i\0" "glSecondaryColor3iEXT\0" "\0" - /* _mesa_function_pool[516]: WindowPos3fMESA (will be remapped) */ + /* _mesa_function_pool[555]: WindowPos3fMESA (will be remapped) */ "fff\0" "glWindowPos3f\0" "glWindowPos3fARB\0" "glWindowPos3fMESA\0" "\0" - /* _mesa_function_pool[570]: TexCoord1iv (offset 99) */ + /* _mesa_function_pool[609]: TexCoord1iv (offset 99) */ "p\0" "glTexCoord1iv\0" "\0" - /* _mesa_function_pool[587]: TexCoord4sv (offset 125) */ + /* _mesa_function_pool[626]: TexCoord4sv (offset 125) */ "p\0" "glTexCoord4sv\0" "\0" - /* _mesa_function_pool[604]: RasterPos4s (offset 84) */ + /* _mesa_function_pool[643]: RasterPos4s (offset 84) */ "iiii\0" "glRasterPos4s\0" "\0" - /* _mesa_function_pool[624]: PixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[663]: PixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[657]: ActiveTextureARB (offset 374) */ + /* _mesa_function_pool[696]: ActiveTextureARB (offset 374) */ "i\0" "glActiveTexture\0" "glActiveTextureARB\0" "\0" - /* _mesa_function_pool[695]: BlitFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[734]: BlitFramebufferEXT (will be remapped) */ "iiiiiiiiii\0" "glBlitFramebuffer\0" "glBlitFramebufferEXT\0" "\0" - /* _mesa_function_pool[746]: TexCoord1f (offset 96) */ + /* _mesa_function_pool[785]: TexCoord1f (offset 96) */ "f\0" "glTexCoord1f\0" "\0" - /* _mesa_function_pool[762]: TexCoord1d (offset 94) */ + /* _mesa_function_pool[801]: TexCoord1d (offset 94) */ "d\0" "glTexCoord1d\0" "\0" - /* _mesa_function_pool[778]: VertexAttrib4ubvNV (will be remapped) */ + /* _mesa_function_pool[817]: VertexAttrib4ubvNV (will be remapped) */ "ip\0" "glVertexAttrib4ubvNV\0" "\0" - /* _mesa_function_pool[803]: TexCoord1i (offset 98) */ + /* _mesa_function_pool[842]: TexCoord1i (offset 98) */ "i\0" "glTexCoord1i\0" "\0" - /* _mesa_function_pool[819]: GetProgramNamedParameterdvNV (will be remapped) */ + /* _mesa_function_pool[858]: GetProgramNamedParameterdvNV (will be remapped) */ "iipp\0" "glGetProgramNamedParameterdvNV\0" "\0" - /* _mesa_function_pool[856]: Histogram (offset 367) */ + /* _mesa_function_pool[895]: Histogram (offset 367) */ "iiii\0" "glHistogram\0" "glHistogramEXT\0" "\0" - /* _mesa_function_pool[889]: TexCoord1s (offset 100) */ + /* _mesa_function_pool[928]: TexCoord1s (offset 100) */ "i\0" "glTexCoord1s\0" "\0" - /* _mesa_function_pool[905]: GetMapfv (offset 267) */ + /* _mesa_function_pool[944]: GetMapfv (offset 267) */ "iip\0" "glGetMapfv\0" "\0" - /* _mesa_function_pool[921]: EvalCoord1f (offset 230) */ + /* _mesa_function_pool[960]: EvalCoord1f (offset 230) */ "f\0" "glEvalCoord1f\0" "\0" - /* _mesa_function_pool[938]: FramebufferTexture (will be remapped) */ + /* _mesa_function_pool[977]: FramebufferTexture (will be remapped) */ "iiii\0" "glFramebufferTexture\0" "\0" - /* _mesa_function_pool[965]: VertexAttribI1ivEXT (will be remapped) */ + /* _mesa_function_pool[1004]: VertexAttribI1ivEXT (will be remapped) */ "ip\0" "glVertexAttribI1ivEXT\0" "glVertexAttribI1iv\0" "\0" - /* _mesa_function_pool[1010]: TexImage4DSGIS (dynamic) */ + /* _mesa_function_pool[1049]: TexImage4DSGIS (dynamic) */ "iiiiiiiiiip\0" "glTexImage4DSGIS\0" "\0" - /* _mesa_function_pool[1040]: PolygonStipple (offset 175) */ + /* _mesa_function_pool[1079]: PolygonStipple (offset 175) */ "p\0" "glPolygonStipple\0" "\0" - /* _mesa_function_pool[1060]: WindowPos2dvMESA (will be remapped) */ + /* _mesa_function_pool[1099]: WindowPos2dvMESA (will be remapped) */ "p\0" "glWindowPos2dv\0" "glWindowPos2dvARB\0" "glWindowPos2dvMESA\0" "\0" - /* _mesa_function_pool[1115]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1154]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1159]: BlendEquationSeparateEXT (will be remapped) */ + /* _mesa_function_pool[1198]: BlendEquationSeparateEXT (will be remapped) */ "ii\0" "glBlendEquationSeparate\0" "glBlendEquationSeparateEXT\0" "glBlendEquationSeparateATI\0" "\0" - /* _mesa_function_pool[1241]: ListParameterfSGIX (dynamic) */ + /* _mesa_function_pool[1280]: ListParameterfSGIX (dynamic) */ "iif\0" "glListParameterfSGIX\0" "\0" - /* _mesa_function_pool[1267]: SecondaryColor3bEXT (will be remapped) */ + /* _mesa_function_pool[1306]: SecondaryColor3bEXT (will be remapped) */ "iii\0" "glSecondaryColor3b\0" "glSecondaryColor3bEXT\0" "\0" - /* _mesa_function_pool[1313]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[1352]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ "pppp\0" "glTexCoord4fColor4fNormal3fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[1359]: GetPixelMapfv (offset 271) */ + /* _mesa_function_pool[1398]: GetPixelMapfv (offset 271) */ "ip\0" "glGetPixelMapfv\0" "\0" - /* _mesa_function_pool[1379]: Color3uiv (offset 22) */ + /* _mesa_function_pool[1418]: Color3uiv (offset 22) */ "p\0" "glColor3uiv\0" "\0" - /* _mesa_function_pool[1394]: IsEnabled (offset 286) */ + /* _mesa_function_pool[1433]: IsEnabled (offset 286) */ "i\0" "glIsEnabled\0" "\0" - /* _mesa_function_pool[1409]: VertexAttrib4svNV (will be remapped) */ + /* _mesa_function_pool[1448]: VertexAttrib4svNV (will be remapped) */ "ip\0" "glVertexAttrib4svNV\0" "\0" - /* _mesa_function_pool[1433]: EvalCoord2fv (offset 235) */ + /* _mesa_function_pool[1472]: EvalCoord2fv (offset 235) */ "p\0" "glEvalCoord2fv\0" "\0" - /* _mesa_function_pool[1451]: GetBufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1490]: GetBufferSubDataARB (will be remapped) */ "iiip\0" "glGetBufferSubData\0" "glGetBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1498]: BufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1537]: BufferSubDataARB (will be remapped) */ "iiip\0" "glBufferSubData\0" "glBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1539]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1578]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1577]: AttachShader (will be remapped) */ + /* _mesa_function_pool[1616]: AttachShader (will be remapped) */ "ii\0" "glAttachShader\0" "\0" - /* _mesa_function_pool[1596]: VertexAttrib2fARB (will be remapped) */ + /* _mesa_function_pool[1635]: VertexAttrib2fARB (will be remapped) */ "iff\0" "glVertexAttrib2f\0" "glVertexAttrib2fARB\0" "\0" - /* _mesa_function_pool[1638]: GetDebugLogLengthMESA (dynamic) */ + /* _mesa_function_pool[1677]: GetDebugLogLengthMESA (dynamic) */ "iii\0" "glGetDebugLogLengthMESA\0" "\0" - /* _mesa_function_pool[1667]: GetMapiv (offset 268) */ + /* _mesa_function_pool[1706]: GetMapiv (offset 268) */ "iip\0" "glGetMapiv\0" "\0" - /* _mesa_function_pool[1683]: VertexAttrib3fARB (will be remapped) */ + /* _mesa_function_pool[1722]: VertexAttrib3fARB (will be remapped) */ "ifff\0" "glVertexAttrib3f\0" "glVertexAttrib3fARB\0" "\0" - /* _mesa_function_pool[1726]: Indexubv (offset 316) */ + /* _mesa_function_pool[1765]: Indexubv (offset 316) */ "p\0" "glIndexubv\0" "\0" - /* _mesa_function_pool[1740]: GetQueryivARB (will be remapped) */ + /* _mesa_function_pool[1779]: GetQueryivARB (will be remapped) */ "iip\0" "glGetQueryiv\0" "glGetQueryivARB\0" "\0" - /* _mesa_function_pool[1774]: TexImage3D (offset 371) */ + /* _mesa_function_pool[1813]: TexImage3D (offset 371) */ "iiiiiiiiip\0" "glTexImage3D\0" "glTexImage3DEXT\0" "\0" - /* _mesa_function_pool[1815]: BindFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[1854]: BindFragDataLocationEXT (will be remapped) */ "iip\0" "glBindFragDataLocationEXT\0" "glBindFragDataLocation\0" "\0" - /* _mesa_function_pool[1869]: ReplacementCodeuiVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1908]: ReplacementCodeuiVertex3fvSUN (dynamic) */ "pp\0" "glReplacementCodeuiVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1905]: EdgeFlagPointer (offset 312) */ + /* _mesa_function_pool[1944]: EdgeFlagPointer (offset 312) */ "ip\0" "glEdgeFlagPointer\0" "\0" - /* _mesa_function_pool[1927]: Color3ubv (offset 20) */ + /* _mesa_function_pool[1966]: Color3ubv (offset 20) */ "p\0" "glColor3ubv\0" "\0" - /* _mesa_function_pool[1942]: GetQueryObjectivARB (will be remapped) */ + /* _mesa_function_pool[1981]: GetQueryObjectivARB (will be remapped) */ "iip\0" "glGetQueryObjectiv\0" "glGetQueryObjectivARB\0" "\0" - /* _mesa_function_pool[1988]: Vertex3dv (offset 135) */ + /* _mesa_function_pool[2027]: Vertex3dv (offset 135) */ "p\0" "glVertex3dv\0" "\0" - /* _mesa_function_pool[2003]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2042]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[2050]: CompressedTexSubImage2DARB (will be remapped) */ + /* _mesa_function_pool[2089]: CompressedTexSubImage2DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexSubImage2D\0" "glCompressedTexSubImage2DARB\0" "\0" - /* _mesa_function_pool[2116]: CombinerOutputNV (will be remapped) */ + /* _mesa_function_pool[2155]: CombinerOutputNV (will be remapped) */ "iiiiiiiiii\0" "glCombinerOutputNV\0" "\0" - /* _mesa_function_pool[2147]: VertexAttribs3fvNV (will be remapped) */ + /* _mesa_function_pool[2186]: VertexAttribs3fvNV (will be remapped) */ "iip\0" "glVertexAttribs3fvNV\0" "\0" - /* _mesa_function_pool[2173]: Uniform2fARB (will be remapped) */ + /* _mesa_function_pool[2212]: Uniform2fARB (will be remapped) */ "iff\0" "glUniform2f\0" "glUniform2fARB\0" "\0" - /* _mesa_function_pool[2205]: LightModeliv (offset 166) */ + /* _mesa_function_pool[2244]: LightModeliv (offset 166) */ "ip\0" "glLightModeliv\0" "\0" - /* _mesa_function_pool[2224]: VertexAttrib1svARB (will be remapped) */ + /* _mesa_function_pool[2263]: VertexAttrib1svARB (will be remapped) */ "ip\0" "glVertexAttrib1sv\0" "glVertexAttrib1svARB\0" "\0" - /* _mesa_function_pool[2267]: VertexAttribs1dvNV (will be remapped) */ + /* _mesa_function_pool[2306]: VertexAttribs1dvNV (will be remapped) */ "iip\0" "glVertexAttribs1dvNV\0" "\0" - /* _mesa_function_pool[2293]: Uniform2ivARB (will be remapped) */ + /* _mesa_function_pool[2332]: Uniform2ivARB (will be remapped) */ "iip\0" "glUniform2iv\0" "glUniform2ivARB\0" "\0" - /* _mesa_function_pool[2327]: GetImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[2366]: GetImageTransformParameterfvHP (dynamic) */ "iip\0" "glGetImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[2365]: Normal3bv (offset 53) */ + /* _mesa_function_pool[2404]: Normal3bv (offset 53) */ "p\0" "glNormal3bv\0" "\0" - /* _mesa_function_pool[2380]: TexGeniv (offset 193) */ + /* _mesa_function_pool[2419]: TexGeniv (offset 193) */ "iip\0" "glTexGeniv\0" "\0" - /* _mesa_function_pool[2396]: WeightubvARB (dynamic) */ + /* _mesa_function_pool[2435]: WeightubvARB (dynamic) */ "ip\0" "glWeightubvARB\0" "\0" - /* _mesa_function_pool[2415]: VertexAttrib1fvNV (will be remapped) */ + /* _mesa_function_pool[2454]: VertexAttrib1fvNV (will be remapped) */ "ip\0" "glVertexAttrib1fvNV\0" "\0" - /* _mesa_function_pool[2439]: Vertex3iv (offset 139) */ + /* _mesa_function_pool[2478]: Vertex3iv (offset 139) */ "p\0" "glVertex3iv\0" "\0" - /* _mesa_function_pool[2454]: CopyConvolutionFilter1D (offset 354) */ + /* _mesa_function_pool[2493]: CopyConvolutionFilter1D (offset 354) */ "iiiii\0" "glCopyConvolutionFilter1D\0" "glCopyConvolutionFilter1DEXT\0" "\0" - /* _mesa_function_pool[2516]: VertexAttribI1uiEXT (will be remapped) */ + /* _mesa_function_pool[2555]: VertexAttribI1uiEXT (will be remapped) */ "ii\0" "glVertexAttribI1uiEXT\0" "glVertexAttribI1ui\0" "\0" - /* _mesa_function_pool[2561]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[2600]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[2609]: DeleteSync (will be remapped) */ + /* _mesa_function_pool[2648]: DeleteSync (will be remapped) */ "i\0" "glDeleteSync\0" "\0" - /* _mesa_function_pool[2625]: FragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[2664]: FragmentMaterialfvSGIX (dynamic) */ "iip\0" "glFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[2655]: BlendColor (offset 336) */ + /* _mesa_function_pool[2694]: BlendColor (offset 336) */ "ffff\0" "glBlendColor\0" "glBlendColorEXT\0" "\0" - /* _mesa_function_pool[2690]: UniformMatrix4fvARB (will be remapped) */ + /* _mesa_function_pool[2729]: UniformMatrix4fvARB (will be remapped) */ "iiip\0" "glUniformMatrix4fv\0" "glUniformMatrix4fvARB\0" "\0" - /* _mesa_function_pool[2737]: DeleteVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[2776]: DeleteVertexArraysAPPLE (will be remapped) */ "ip\0" "glDeleteVertexArrays\0" "glDeleteVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[2788]: TexBuffer (will be remapped) */ + /* _mesa_function_pool[2827]: TexBuffer (will be remapped) */ "iii\0" "glTexBuffer\0" "\0" - /* _mesa_function_pool[2805]: ReadInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[2844]: ReadInstrumentsSGIX (dynamic) */ "i\0" "glReadInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[2830]: CallLists (offset 3) */ + /* _mesa_function_pool[2869]: CallLists (offset 3) */ "iip\0" "glCallLists\0" "\0" - /* _mesa_function_pool[2847]: UniformMatrix2x4fv (will be remapped) */ + /* _mesa_function_pool[2886]: UniformMatrix2x4fv (will be remapped) */ "iiip\0" "glUniformMatrix2x4fv\0" "\0" - /* _mesa_function_pool[2874]: Color4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2913]: Color4ubVertex3fvSUN (dynamic) */ "pp\0" "glColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[2901]: Normal3iv (offset 59) */ + /* _mesa_function_pool[2940]: Normal3iv (offset 59) */ "p\0" "glNormal3iv\0" "\0" - /* _mesa_function_pool[2916]: PassThrough (offset 199) */ + /* _mesa_function_pool[2955]: PassThrough (offset 199) */ "f\0" "glPassThrough\0" "\0" - /* _mesa_function_pool[2933]: GetVertexAttribIivEXT (will be remapped) */ + /* _mesa_function_pool[2972]: GetVertexAttribIivEXT (will be remapped) */ "iip\0" "glGetVertexAttribIivEXT\0" "glGetVertexAttribIiv\0" "\0" - /* _mesa_function_pool[2983]: TexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[3022]: TexParameterIivEXT (will be remapped) */ "iip\0" "glTexParameterIivEXT\0" "glTexParameterIiv\0" "\0" - /* _mesa_function_pool[3027]: FramebufferTextureLayerEXT (will be remapped) */ + /* _mesa_function_pool[3066]: FramebufferTextureLayerEXT (will be remapped) */ "iiiii\0" "glFramebufferTextureLayer\0" "glFramebufferTextureLayerEXT\0" "\0" - /* _mesa_function_pool[3089]: GetListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[3128]: GetListParameterfvSGIX (dynamic) */ "iip\0" "glGetListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[3119]: Viewport (offset 305) */ + /* _mesa_function_pool[3158]: Viewport (offset 305) */ "iiii\0" "glViewport\0" "\0" - /* _mesa_function_pool[3136]: VertexAttrib4NusvARB (will be remapped) */ + /* _mesa_function_pool[3175]: VertexAttrib4NusvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nusv\0" "glVertexAttrib4NusvARB\0" "\0" - /* _mesa_function_pool[3183]: WindowPos4svMESA (will be remapped) */ + /* _mesa_function_pool[3222]: WindowPos4svMESA (will be remapped) */ "p\0" "glWindowPos4svMESA\0" "\0" - /* _mesa_function_pool[3205]: CreateProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[3244]: CreateProgramObjectARB (will be remapped) */ "\0" "glCreateProgramObjectARB\0" "\0" - /* _mesa_function_pool[3232]: DeleteTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[3271]: DeleteTransformFeedbacks (will be remapped) */ "ip\0" "glDeleteTransformFeedbacks\0" "\0" - /* _mesa_function_pool[3263]: UniformMatrix4x3fv (will be remapped) */ + /* _mesa_function_pool[3302]: UniformMatrix4x3fv (will be remapped) */ "iiip\0" "glUniformMatrix4x3fv\0" "\0" - /* _mesa_function_pool[3290]: PrioritizeTextures (offset 331) */ + /* _mesa_function_pool[3329]: PrioritizeTextures (offset 331) */ "ipp\0" "glPrioritizeTextures\0" "glPrioritizeTexturesEXT\0" "\0" - /* _mesa_function_pool[3340]: VertexAttribI3uiEXT (will be remapped) */ + /* _mesa_function_pool[3379]: VertexAttribI3uiEXT (will be remapped) */ "iiii\0" "glVertexAttribI3uiEXT\0" "glVertexAttribI3ui\0" "\0" - /* _mesa_function_pool[3387]: AsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[3426]: AsyncMarkerSGIX (dynamic) */ "i\0" "glAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[3408]: GlobalAlphaFactorubSUN (dynamic) */ + /* _mesa_function_pool[3447]: GlobalAlphaFactorubSUN (dynamic) */ "i\0" "glGlobalAlphaFactorubSUN\0" "\0" - /* _mesa_function_pool[3436]: ClearColorIuiEXT (will be remapped) */ + /* _mesa_function_pool[3475]: ClearColorIuiEXT (will be remapped) */ "iiii\0" "glClearColorIuiEXT\0" "\0" - /* _mesa_function_pool[3461]: ClearDebugLogMESA (dynamic) */ + /* _mesa_function_pool[3500]: ClearDebugLogMESA (dynamic) */ "iii\0" "glClearDebugLogMESA\0" "\0" - /* _mesa_function_pool[3486]: Uniform4uiEXT (will be remapped) */ + /* _mesa_function_pool[3525]: Uniform4uiEXT (will be remapped) */ "iiiii\0" "glUniform4uiEXT\0" "glUniform4ui\0" "\0" - /* _mesa_function_pool[3522]: ResetHistogram (offset 369) */ + /* _mesa_function_pool[3561]: ResetHistogram (offset 369) */ "i\0" "glResetHistogram\0" "glResetHistogramEXT\0" "\0" - /* _mesa_function_pool[3562]: GetProgramNamedParameterfvNV (will be remapped) */ + /* _mesa_function_pool[3601]: GetProgramNamedParameterfvNV (will be remapped) */ "iipp\0" "glGetProgramNamedParameterfvNV\0" "\0" - /* _mesa_function_pool[3599]: PointParameterfEXT (will be remapped) */ + /* _mesa_function_pool[3638]: PointParameterfEXT (will be remapped) */ "if\0" "glPointParameterf\0" "glPointParameterfARB\0" "glPointParameterfEXT\0" "glPointParameterfSGIS\0" "\0" - /* _mesa_function_pool[3685]: LoadIdentityDeformationMapSGIX (dynamic) */ + /* _mesa_function_pool[3724]: LoadIdentityDeformationMapSGIX (dynamic) */ "i\0" "glLoadIdentityDeformationMapSGIX\0" "\0" - /* _mesa_function_pool[3721]: GenFencesNV (will be remapped) */ + /* _mesa_function_pool[3760]: GenFencesNV (will be remapped) */ "ip\0" "glGenFencesNV\0" "\0" - /* _mesa_function_pool[3739]: ImageTransformParameterfHP (dynamic) */ + /* _mesa_function_pool[3778]: ImageTransformParameterfHP (dynamic) */ "iif\0" "glImageTransformParameterfHP\0" "\0" - /* _mesa_function_pool[3773]: MatrixIndexusvARB (dynamic) */ + /* _mesa_function_pool[3812]: MatrixIndexusvARB (dynamic) */ "ip\0" "glMatrixIndexusvARB\0" "\0" - /* _mesa_function_pool[3797]: DrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[3836]: DrawElementsBaseVertex (will be remapped) */ "iiipi\0" "glDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[3829]: DisableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[3868]: DisableVertexAttribArrayARB (will be remapped) */ "i\0" "glDisableVertexAttribArray\0" "glDisableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[3889]: TexCoord2sv (offset 109) */ + /* _mesa_function_pool[3928]: TexCoord2sv (offset 109) */ "p\0" "glTexCoord2sv\0" "\0" - /* _mesa_function_pool[3906]: Vertex4dv (offset 143) */ + /* _mesa_function_pool[3945]: Vertex4dv (offset 143) */ "p\0" "glVertex4dv\0" "\0" - /* _mesa_function_pool[3921]: StencilMaskSeparate (will be remapped) */ + /* _mesa_function_pool[3960]: StencilMaskSeparate (will be remapped) */ "ii\0" "glStencilMaskSeparate\0" "\0" - /* _mesa_function_pool[3947]: ProgramLocalParameter4dARB (will be remapped) */ + /* _mesa_function_pool[3986]: ProgramLocalParameter4dARB (will be remapped) */ "iidddd\0" "glProgramLocalParameter4dARB\0" "\0" - /* _mesa_function_pool[3984]: CompressedTexImage3DARB (will be remapped) */ + /* _mesa_function_pool[4023]: CompressedTexImage3DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexImage3D\0" "glCompressedTexImage3DARB\0" "\0" - /* _mesa_function_pool[4044]: Color3sv (offset 18) */ + /* _mesa_function_pool[4083]: Color3sv (offset 18) */ "p\0" "glColor3sv\0" "\0" - /* _mesa_function_pool[4058]: GetConvolutionParameteriv (offset 358) */ + /* _mesa_function_pool[4097]: GetConvolutionParameteriv (offset 358) */ "iip\0" "glGetConvolutionParameteriv\0" "glGetConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[4122]: VertexAttrib1fARB (will be remapped) */ + /* _mesa_function_pool[4161]: VertexAttrib1fARB (will be remapped) */ "if\0" "glVertexAttrib1f\0" "glVertexAttrib1fARB\0" "\0" - /* _mesa_function_pool[4163]: Vertex2dv (offset 127) */ + /* _mesa_function_pool[4202]: Vertex2dv (offset 127) */ "p\0" "glVertex2dv\0" "\0" - /* _mesa_function_pool[4178]: TestFenceNV (will be remapped) */ + /* _mesa_function_pool[4217]: TestFenceNV (will be remapped) */ "i\0" "glTestFenceNV\0" "\0" - /* _mesa_function_pool[4195]: GetVertexAttribIuivEXT (will be remapped) */ - "iip\0" - "glGetVertexAttribIuivEXT\0" - "glGetVertexAttribIuiv\0" - "\0" - /* _mesa_function_pool[4247]: MultiTexCoord1fvARB (offset 379) */ + /* _mesa_function_pool[4234]: MultiTexCoord1fvARB (offset 379) */ "ip\0" "glMultiTexCoord1fv\0" "glMultiTexCoord1fvARB\0" "\0" - /* _mesa_function_pool[4292]: TexCoord3iv (offset 115) */ + /* _mesa_function_pool[4279]: TexCoord3iv (offset 115) */ "p\0" "glTexCoord3iv\0" "\0" - /* _mesa_function_pool[4309]: Uniform2uivEXT (will be remapped) */ + /* _mesa_function_pool[4296]: Uniform2uivEXT (will be remapped) */ "iip\0" "glUniform2uivEXT\0" "glUniform2uiv\0" "\0" - /* _mesa_function_pool[4345]: ColorFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[4332]: ColorFragmentOp2ATI (will be remapped) */ "iiiiiiiiii\0" "glColorFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[4379]: SecondaryColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[4366]: SecondaryColorPointerListIBM (dynamic) */ "iiipi\0" "glSecondaryColorPointerListIBM\0" "\0" - /* _mesa_function_pool[4417]: GetPixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[4404]: GetPixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[4453]: Color3fv (offset 14) */ + /* _mesa_function_pool[4440]: Color3fv (offset 14) */ "p\0" "glColor3fv\0" "\0" - /* _mesa_function_pool[4467]: VertexAttrib4fNV (will be remapped) */ + /* _mesa_function_pool[4454]: VertexAttrib4fNV (will be remapped) */ "iffff\0" "glVertexAttrib4fNV\0" "\0" - /* _mesa_function_pool[4493]: ReplacementCodeubSUN (dynamic) */ + /* _mesa_function_pool[4480]: ReplacementCodeubSUN (dynamic) */ "i\0" "glReplacementCodeubSUN\0" "\0" - /* _mesa_function_pool[4519]: FinishAsyncSGIX (dynamic) */ + /* _mesa_function_pool[4506]: FinishAsyncSGIX (dynamic) */ "p\0" "glFinishAsyncSGIX\0" "\0" - /* _mesa_function_pool[4540]: GetDebugLogMESA (dynamic) */ + /* _mesa_function_pool[4527]: GetDebugLogMESA (dynamic) */ "iiiipp\0" "glGetDebugLogMESA\0" "\0" - /* _mesa_function_pool[4566]: FogCoorddEXT (will be remapped) */ + /* _mesa_function_pool[4553]: FogCoorddEXT (will be remapped) */ "d\0" "glFogCoordd\0" "glFogCoorddEXT\0" "\0" - /* _mesa_function_pool[4596]: BeginConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[4583]: BeginConditionalRenderNV (will be remapped) */ "ii\0" "glBeginConditionalRenderNV\0" "glBeginConditionalRender\0" "\0" - /* _mesa_function_pool[4652]: Color4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[4639]: Color4ubVertex3fSUN (dynamic) */ "iiiifff\0" "glColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[4683]: FogCoordfEXT (will be remapped) */ + /* _mesa_function_pool[4670]: FogCoordfEXT (will be remapped) */ "f\0" "glFogCoordf\0" "glFogCoordfEXT\0" "\0" - /* _mesa_function_pool[4713]: PointSize (offset 173) */ + /* _mesa_function_pool[4700]: PointSize (offset 173) */ "f\0" "glPointSize\0" "\0" - /* _mesa_function_pool[4728]: VertexAttribI2uivEXT (will be remapped) */ + /* _mesa_function_pool[4715]: VertexAttribI2uivEXT (will be remapped) */ "ip\0" "glVertexAttribI2uivEXT\0" "glVertexAttribI2uiv\0" "\0" - /* _mesa_function_pool[4775]: TexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[4762]: TexCoord2fVertex3fSUN (dynamic) */ "fffff\0" "glTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[4806]: PopName (offset 200) */ + /* _mesa_function_pool[4793]: PopName (offset 200) */ "\0" "glPopName\0" "\0" - /* _mesa_function_pool[4818]: GlobalAlphaFactoriSUN (dynamic) */ + /* _mesa_function_pool[4805]: GlobalAlphaFactoriSUN (dynamic) */ "i\0" "glGlobalAlphaFactoriSUN\0" "\0" - /* _mesa_function_pool[4845]: VertexAttrib2dNV (will be remapped) */ + /* _mesa_function_pool[4832]: VertexAttrib2dNV (will be remapped) */ "idd\0" "glVertexAttrib2dNV\0" "\0" - /* _mesa_function_pool[4869]: GetProgramInfoLog (will be remapped) */ + /* _mesa_function_pool[4856]: GetProgramInfoLog (will be remapped) */ "iipp\0" "glGetProgramInfoLog\0" "\0" - /* _mesa_function_pool[4895]: VertexAttrib4NbvARB (will be remapped) */ + /* _mesa_function_pool[4882]: VertexAttrib4NbvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nbv\0" "glVertexAttrib4NbvARB\0" "\0" - /* _mesa_function_pool[4940]: GetActiveAttribARB (will be remapped) */ + /* _mesa_function_pool[4927]: GetActiveAttribARB (will be remapped) */ "iiipppp\0" "glGetActiveAttrib\0" "glGetActiveAttribARB\0" "\0" - /* _mesa_function_pool[4988]: Vertex4sv (offset 149) */ + /* _mesa_function_pool[4975]: Vertex4sv (offset 149) */ "p\0" "glVertex4sv\0" "\0" - /* _mesa_function_pool[5003]: VertexAttrib4ubNV (will be remapped) */ + /* _mesa_function_pool[4990]: VertexAttrib4ubNV (will be remapped) */ "iiiii\0" "glVertexAttrib4ubNV\0" "\0" - /* _mesa_function_pool[5030]: ClampColor (will be remapped) */ + /* _mesa_function_pool[5017]: ClampColor (will be remapped) */ "ii\0" "glClampColor\0" "\0" - /* _mesa_function_pool[5047]: TextureRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[5034]: TextureRangeAPPLE (will be remapped) */ "iip\0" "glTextureRangeAPPLE\0" "\0" - /* _mesa_function_pool[5072]: GetTexEnvfv (offset 276) */ + /* _mesa_function_pool[5059]: GetTexEnvfv (offset 276) */ "iip\0" "glGetTexEnvfv\0" "\0" - /* _mesa_function_pool[5091]: BindTransformFeedback (will be remapped) */ + /* _mesa_function_pool[5078]: BindTransformFeedback (will be remapped) */ "ii\0" "glBindTransformFeedback\0" "\0" - /* _mesa_function_pool[5119]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5106]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "ffffffffffff\0" "glTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5172]: Indexub (offset 315) */ + /* _mesa_function_pool[5159]: Indexub (offset 315) */ "i\0" "glIndexub\0" "\0" - /* _mesa_function_pool[5185]: TexEnvi (offset 186) */ + /* _mesa_function_pool[5172]: ColorMaskIndexedEXT (will be remapped) */ + "iiiii\0" + "glColorMaskIndexedEXT\0" + "glColorMaski\0" + "\0" + /* _mesa_function_pool[5214]: TexEnvi (offset 186) */ "iii\0" "glTexEnvi\0" "\0" - /* _mesa_function_pool[5200]: GetClipPlane (offset 259) */ + /* _mesa_function_pool[5229]: GetClipPlane (offset 259) */ "ip\0" "glGetClipPlane\0" "\0" - /* _mesa_function_pool[5219]: CombinerParameterfvNV (will be remapped) */ + /* _mesa_function_pool[5248]: CombinerParameterfvNV (will be remapped) */ "ip\0" "glCombinerParameterfvNV\0" "\0" - /* _mesa_function_pool[5247]: VertexAttribs3dvNV (will be remapped) */ + /* _mesa_function_pool[5276]: VertexAttribs3dvNV (will be remapped) */ "iip\0" "glVertexAttribs3dvNV\0" "\0" - /* _mesa_function_pool[5273]: VertexAttribI2uiEXT (will be remapped) */ + /* _mesa_function_pool[5302]: VertexAttribI2uiEXT (will be remapped) */ "iii\0" "glVertexAttribI2uiEXT\0" "glVertexAttribI2ui\0" "\0" - /* _mesa_function_pool[5319]: VertexAttribs4fvNV (will be remapped) */ + /* _mesa_function_pool[5348]: VertexAttribs4fvNV (will be remapped) */ "iip\0" "glVertexAttribs4fvNV\0" "\0" - /* _mesa_function_pool[5345]: VertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[5374]: VertexArrayRangeNV (will be remapped) */ "ip\0" "glVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[5370]: FragmentLightiSGIX (dynamic) */ + /* _mesa_function_pool[5399]: FragmentLightiSGIX (dynamic) */ "iii\0" "glFragmentLightiSGIX\0" "\0" - /* _mesa_function_pool[5396]: PolygonOffsetEXT (will be remapped) */ + /* _mesa_function_pool[5425]: PolygonOffsetEXT (will be remapped) */ "ff\0" "glPolygonOffsetEXT\0" "\0" - /* _mesa_function_pool[5419]: VertexAttribI4uivEXT (will be remapped) */ + /* _mesa_function_pool[5448]: VertexAttribI4uivEXT (will be remapped) */ "ip\0" "glVertexAttribI4uivEXT\0" "glVertexAttribI4uiv\0" "\0" - /* _mesa_function_pool[5466]: PollAsyncSGIX (dynamic) */ + /* _mesa_function_pool[5495]: PollAsyncSGIX (dynamic) */ "p\0" "glPollAsyncSGIX\0" "\0" - /* _mesa_function_pool[5485]: DeleteFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[5514]: DeleteFragmentShaderATI (will be remapped) */ "i\0" "glDeleteFragmentShaderATI\0" "\0" - /* _mesa_function_pool[5514]: Scaled (offset 301) */ + /* _mesa_function_pool[5543]: Scaled (offset 301) */ "ddd\0" "glScaled\0" "\0" - /* _mesa_function_pool[5528]: ResumeTransformFeedback (will be remapped) */ + /* _mesa_function_pool[5557]: ResumeTransformFeedback (will be remapped) */ "\0" "glResumeTransformFeedback\0" "\0" - /* _mesa_function_pool[5556]: Scalef (offset 302) */ + /* _mesa_function_pool[5585]: Scalef (offset 302) */ "fff\0" "glScalef\0" "\0" - /* _mesa_function_pool[5570]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[5599]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[5608]: MultTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[5637]: MultTransposeMatrixdARB (will be remapped) */ "p\0" "glMultTransposeMatrixd\0" "glMultTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[5660]: ColorMaskIndexedEXT (will be remapped) */ - "iiiii\0" - "glColorMaskIndexedEXT\0" - "glColorMaski\0" - "\0" - /* _mesa_function_pool[5702]: ObjectUnpurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[5689]: ObjectUnpurgeableAPPLE (will be remapped) */ "iii\0" "glObjectUnpurgeableAPPLE\0" "\0" - /* _mesa_function_pool[5732]: AlphaFunc (offset 240) */ + /* _mesa_function_pool[5719]: AlphaFunc (offset 240) */ "if\0" "glAlphaFunc\0" "\0" - /* _mesa_function_pool[5748]: WindowPos2svMESA (will be remapped) */ + /* _mesa_function_pool[5735]: WindowPos2svMESA (will be remapped) */ "p\0" "glWindowPos2sv\0" "glWindowPos2svARB\0" "glWindowPos2svMESA\0" "\0" - /* _mesa_function_pool[5803]: EdgeFlag (offset 41) */ + /* _mesa_function_pool[5790]: EdgeFlag (offset 41) */ "i\0" "glEdgeFlag\0" "\0" - /* _mesa_function_pool[5817]: TexCoord2iv (offset 107) */ + /* _mesa_function_pool[5804]: TexCoord2iv (offset 107) */ "p\0" "glTexCoord2iv\0" "\0" - /* _mesa_function_pool[5834]: CompressedTexImage1DARB (will be remapped) */ + /* _mesa_function_pool[5821]: CompressedTexImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexImage1D\0" "glCompressedTexImage1DARB\0" "\0" - /* _mesa_function_pool[5892]: Rotated (offset 299) */ + /* _mesa_function_pool[5879]: Rotated (offset 299) */ "dddd\0" "glRotated\0" "\0" - /* _mesa_function_pool[5908]: GetTexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[5895]: GetTexParameterIuivEXT (will be remapped) */ "iip\0" "glGetTexParameterIuivEXT\0" "glGetTexParameterIuiv\0" "\0" - /* _mesa_function_pool[5960]: VertexAttrib2sNV (will be remapped) */ + /* _mesa_function_pool[5947]: VertexAttrib2sNV (will be remapped) */ "iii\0" "glVertexAttrib2sNV\0" "\0" - /* _mesa_function_pool[5984]: ReadPixels (offset 256) */ + /* _mesa_function_pool[5971]: ReadPixels (offset 256) */ "iiiiiip\0" "glReadPixels\0" "\0" - /* _mesa_function_pool[6006]: EdgeFlagv (offset 42) */ + /* _mesa_function_pool[5993]: EdgeFlagv (offset 42) */ "p\0" "glEdgeFlagv\0" "\0" - /* _mesa_function_pool[6021]: NormalPointerListIBM (dynamic) */ + /* _mesa_function_pool[6008]: NormalPointerListIBM (dynamic) */ "iipi\0" "glNormalPointerListIBM\0" "\0" - /* _mesa_function_pool[6050]: IndexPointerEXT (will be remapped) */ + /* _mesa_function_pool[6037]: IndexPointerEXT (will be remapped) */ "iiip\0" "glIndexPointerEXT\0" "\0" - /* _mesa_function_pool[6074]: Color4iv (offset 32) */ + /* _mesa_function_pool[6061]: Color4iv (offset 32) */ "p\0" "glColor4iv\0" "\0" - /* _mesa_function_pool[6088]: TexParameterf (offset 178) */ + /* _mesa_function_pool[6075]: TexParameterf (offset 178) */ "iif\0" "glTexParameterf\0" "\0" - /* _mesa_function_pool[6109]: TexParameteri (offset 180) */ + /* _mesa_function_pool[6096]: TexParameteri (offset 180) */ "iii\0" "glTexParameteri\0" "\0" - /* _mesa_function_pool[6130]: NormalPointerEXT (will be remapped) */ + /* _mesa_function_pool[6117]: NormalPointerEXT (will be remapped) */ "iiip\0" "glNormalPointerEXT\0" "\0" - /* _mesa_function_pool[6155]: MultiTexCoord3dARB (offset 392) */ + /* _mesa_function_pool[6142]: MultiTexCoord3dARB (offset 392) */ "iddd\0" "glMultiTexCoord3d\0" "glMultiTexCoord3dARB\0" "\0" - /* _mesa_function_pool[6200]: MultiTexCoord2iARB (offset 388) */ + /* _mesa_function_pool[6187]: MultiTexCoord2iARB (offset 388) */ "iii\0" "glMultiTexCoord2i\0" "glMultiTexCoord2iARB\0" "\0" - /* _mesa_function_pool[6244]: DrawPixels (offset 257) */ + /* _mesa_function_pool[6231]: DrawPixels (offset 257) */ "iiiip\0" "glDrawPixels\0" "\0" - /* _mesa_function_pool[6264]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[6251]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ "iffffffff\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[6324]: MultiTexCoord2svARB (offset 391) */ + /* _mesa_function_pool[6311]: MultiTexCoord2svARB (offset 391) */ "ip\0" "glMultiTexCoord2sv\0" "glMultiTexCoord2svARB\0" "\0" - /* _mesa_function_pool[6369]: ReplacementCodeubvSUN (dynamic) */ + /* _mesa_function_pool[6356]: ReplacementCodeubvSUN (dynamic) */ "p\0" "glReplacementCodeubvSUN\0" "\0" - /* _mesa_function_pool[6396]: Uniform3iARB (will be remapped) */ + /* _mesa_function_pool[6383]: Uniform3iARB (will be remapped) */ "iiii\0" "glUniform3i\0" "glUniform3iARB\0" "\0" - /* _mesa_function_pool[6429]: DrawTransformFeedback (will be remapped) */ + /* _mesa_function_pool[6416]: DrawTransformFeedback (will be remapped) */ "ii\0" "glDrawTransformFeedback\0" "\0" - /* _mesa_function_pool[6457]: DrawElementsInstancedARB (will be remapped) */ + /* _mesa_function_pool[6444]: DrawElementsInstancedARB (will be remapped) */ "iiipi\0" "glDrawElementsInstancedARB\0" "glDrawElementsInstancedEXT\0" "glDrawElementsInstanced\0" "\0" - /* _mesa_function_pool[6542]: GetShaderInfoLog (will be remapped) */ + /* _mesa_function_pool[6529]: GetShaderInfoLog (will be remapped) */ "iipp\0" "glGetShaderInfoLog\0" "\0" - /* _mesa_function_pool[6567]: WeightivARB (dynamic) */ + /* _mesa_function_pool[6554]: WeightivARB (dynamic) */ "ip\0" "glWeightivARB\0" "\0" - /* _mesa_function_pool[6585]: PollInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[6572]: PollInstrumentsSGIX (dynamic) */ "p\0" "glPollInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[6610]: GlobalAlphaFactordSUN (dynamic) */ + /* _mesa_function_pool[6597]: GlobalAlphaFactordSUN (dynamic) */ "d\0" "glGlobalAlphaFactordSUN\0" "\0" - /* _mesa_function_pool[6637]: GetFinalCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[6624]: GetFinalCombinerInputParameterfvNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[6679]: GenerateMipmapEXT (will be remapped) */ + /* _mesa_function_pool[6666]: GenerateMipmapEXT (will be remapped) */ "i\0" "glGenerateMipmap\0" "glGenerateMipmapEXT\0" "\0" - /* _mesa_function_pool[6719]: GenLists (offset 5) */ + /* _mesa_function_pool[6706]: GenLists (offset 5) */ "i\0" "glGenLists\0" "\0" - /* _mesa_function_pool[6733]: DepthRangef (will be remapped) */ + /* _mesa_function_pool[6720]: DepthRangef (will be remapped) */ "ff\0" "glDepthRangef\0" "\0" - /* _mesa_function_pool[6751]: GetMapAttribParameterivNV (dynamic) */ + /* _mesa_function_pool[6738]: GetMapAttribParameterivNV (dynamic) */ "iiip\0" "glGetMapAttribParameterivNV\0" "\0" - /* _mesa_function_pool[6785]: CreateShaderObjectARB (will be remapped) */ + /* _mesa_function_pool[6772]: CreateShaderObjectARB (will be remapped) */ "i\0" "glCreateShaderObjectARB\0" "\0" - /* _mesa_function_pool[6812]: GetSharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[6799]: GetSharpenTexFuncSGIS (dynamic) */ "ip\0" "glGetSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[6840]: BufferDataARB (will be remapped) */ + /* _mesa_function_pool[6827]: BufferDataARB (will be remapped) */ "iipi\0" "glBufferData\0" "glBufferDataARB\0" "\0" - /* _mesa_function_pool[6875]: FlushVertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[6862]: FlushVertexArrayRangeNV (will be remapped) */ "\0" "glFlushVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[6903]: MapGrid2d (offset 226) */ + /* _mesa_function_pool[6890]: MapGrid2d (offset 226) */ "iddidd\0" "glMapGrid2d\0" "\0" - /* _mesa_function_pool[6923]: MapGrid2f (offset 227) */ + /* _mesa_function_pool[6910]: MapGrid2f (offset 227) */ "iffiff\0" "glMapGrid2f\0" "\0" - /* _mesa_function_pool[6943]: SampleMapATI (will be remapped) */ + /* _mesa_function_pool[6930]: SampleMapATI (will be remapped) */ "iii\0" "glSampleMapATI\0" "\0" - /* _mesa_function_pool[6963]: VertexPointerEXT (will be remapped) */ + /* _mesa_function_pool[6950]: VertexPointerEXT (will be remapped) */ "iiiip\0" "glVertexPointerEXT\0" "\0" - /* _mesa_function_pool[6989]: GetTexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[6976]: GetTexFilterFuncSGIS (dynamic) */ "iip\0" "glGetTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[7017]: Scissor (offset 176) */ + /* _mesa_function_pool[7004]: Scissor (offset 176) */ "iiii\0" "glScissor\0" "\0" - /* _mesa_function_pool[7033]: Fogf (offset 153) */ + /* _mesa_function_pool[7020]: Fogf (offset 153) */ "if\0" "glFogf\0" "\0" - /* _mesa_function_pool[7044]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[7031]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[7089]: TexSubImage1D (offset 332) */ + /* _mesa_function_pool[7076]: TexSubImage1D (offset 332) */ "iiiiiip\0" "glTexSubImage1D\0" "glTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[7133]: VertexAttrib1sARB (will be remapped) */ + /* _mesa_function_pool[7120]: VertexAttrib1sARB (will be remapped) */ "ii\0" "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" "\0" - /* _mesa_function_pool[7174]: FenceSync (will be remapped) */ + /* _mesa_function_pool[7161]: FenceSync (will be remapped) */ "ii\0" "glFenceSync\0" "\0" - /* _mesa_function_pool[7190]: Color4usv (offset 40) */ + /* _mesa_function_pool[7177]: Color4usv (offset 40) */ "p\0" "glColor4usv\0" "\0" - /* _mesa_function_pool[7205]: Fogi (offset 155) */ + /* _mesa_function_pool[7192]: Fogi (offset 155) */ "ii\0" "glFogi\0" "\0" - /* _mesa_function_pool[7216]: DepthRange (offset 288) */ + /* _mesa_function_pool[7203]: DepthRange (offset 288) */ "dd\0" "glDepthRange\0" "\0" - /* _mesa_function_pool[7233]: RasterPos3iv (offset 75) */ + /* _mesa_function_pool[7220]: RasterPos3iv (offset 75) */ "p\0" "glRasterPos3iv\0" "\0" - /* _mesa_function_pool[7251]: FinalCombinerInputNV (will be remapped) */ + /* _mesa_function_pool[7238]: FinalCombinerInputNV (will be remapped) */ "iiii\0" "glFinalCombinerInputNV\0" "\0" - /* _mesa_function_pool[7280]: TexCoord2i (offset 106) */ + /* _mesa_function_pool[7267]: TexCoord2i (offset 106) */ "ii\0" "glTexCoord2i\0" "\0" - /* _mesa_function_pool[7297]: PixelMapfv (offset 251) */ + /* _mesa_function_pool[7284]: PixelMapfv (offset 251) */ "iip\0" "glPixelMapfv\0" "\0" - /* _mesa_function_pool[7315]: Color4ui (offset 37) */ + /* _mesa_function_pool[7302]: Color4ui (offset 37) */ "iiii\0" "glColor4ui\0" "\0" - /* _mesa_function_pool[7332]: RasterPos3s (offset 76) */ + /* _mesa_function_pool[7319]: RasterPos3s (offset 76) */ "iii\0" "glRasterPos3s\0" "\0" - /* _mesa_function_pool[7351]: Color3usv (offset 24) */ + /* _mesa_function_pool[7338]: Color3usv (offset 24) */ "p\0" "glColor3usv\0" "\0" - /* _mesa_function_pool[7366]: FlushRasterSGIX (dynamic) */ + /* _mesa_function_pool[7353]: FlushRasterSGIX (dynamic) */ "\0" "glFlushRasterSGIX\0" "\0" - /* _mesa_function_pool[7386]: TexCoord2f (offset 104) */ + /* _mesa_function_pool[7373]: TexCoord2f (offset 104) */ "ff\0" "glTexCoord2f\0" "\0" - /* _mesa_function_pool[7403]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[7390]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ "ifffff\0" "glReplacementCodeuiTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[7452]: TexCoord2d (offset 102) */ + /* _mesa_function_pool[7439]: TexCoord2d (offset 102) */ "dd\0" "glTexCoord2d\0" "\0" - /* _mesa_function_pool[7469]: RasterPos3d (offset 70) */ + /* _mesa_function_pool[7456]: RasterPos3d (offset 70) */ "ddd\0" "glRasterPos3d\0" "\0" - /* _mesa_function_pool[7488]: RasterPos3f (offset 72) */ + /* _mesa_function_pool[7475]: RasterPos3f (offset 72) */ "fff\0" "glRasterPos3f\0" "\0" - /* _mesa_function_pool[7507]: Uniform1fARB (will be remapped) */ + /* _mesa_function_pool[7494]: Uniform1fARB (will be remapped) */ "if\0" "glUniform1f\0" "glUniform1fARB\0" "\0" - /* _mesa_function_pool[7538]: AreTexturesResident (offset 322) */ + /* _mesa_function_pool[7525]: AreTexturesResident (offset 322) */ "ipp\0" "glAreTexturesResident\0" "glAreTexturesResidentEXT\0" "\0" - /* _mesa_function_pool[7590]: TexCoord2s (offset 108) */ + /* _mesa_function_pool[7577]: TexCoord2s (offset 108) */ "ii\0" "glTexCoord2s\0" "\0" - /* _mesa_function_pool[7607]: StencilOpSeparate (will be remapped) */ + /* _mesa_function_pool[7594]: StencilOpSeparate (will be remapped) */ "iiii\0" "glStencilOpSeparate\0" "glStencilOpSeparateATI\0" "\0" - /* _mesa_function_pool[7656]: ColorTableParameteriv (offset 341) */ + /* _mesa_function_pool[7643]: ColorTableParameteriv (offset 341) */ "iip\0" "glColorTableParameteriv\0" "glColorTableParameterivSGI\0" "\0" - /* _mesa_function_pool[7712]: FogCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[7699]: FogCoordPointerListIBM (dynamic) */ "iipi\0" "glFogCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[7743]: WindowPos3dMESA (will be remapped) */ + /* _mesa_function_pool[7730]: WindowPos3dMESA (will be remapped) */ "ddd\0" "glWindowPos3d\0" "glWindowPos3dARB\0" "glWindowPos3dMESA\0" "\0" - /* _mesa_function_pool[7797]: Color4us (offset 39) */ + /* _mesa_function_pool[7784]: Color4us (offset 39) */ "iiii\0" "glColor4us\0" "\0" - /* _mesa_function_pool[7814]: PointParameterfvEXT (will be remapped) */ + /* _mesa_function_pool[7801]: PointParameterfvEXT (will be remapped) */ "ip\0" "glPointParameterfv\0" "glPointParameterfvARB\0" "glPointParameterfvEXT\0" "glPointParameterfvSGIS\0" "\0" - /* _mesa_function_pool[7904]: Color3bv (offset 10) */ + /* _mesa_function_pool[7891]: Color3bv (offset 10) */ "p\0" "glColor3bv\0" "\0" - /* _mesa_function_pool[7918]: WindowPos2fvMESA (will be remapped) */ + /* _mesa_function_pool[7905]: WindowPos2fvMESA (will be remapped) */ "p\0" "glWindowPos2fv\0" "glWindowPos2fvARB\0" "glWindowPos2fvMESA\0" "\0" - /* _mesa_function_pool[7973]: SecondaryColor3bvEXT (will be remapped) */ + /* _mesa_function_pool[7960]: SecondaryColor3bvEXT (will be remapped) */ "p\0" "glSecondaryColor3bv\0" "glSecondaryColor3bvEXT\0" "\0" - /* _mesa_function_pool[8019]: VertexPointerListIBM (dynamic) */ + /* _mesa_function_pool[8006]: VertexPointerListIBM (dynamic) */ "iiipi\0" "glVertexPointerListIBM\0" "\0" - /* _mesa_function_pool[8049]: GetProgramLocalParameterfvARB (will be remapped) */ + /* _mesa_function_pool[8036]: GetProgramLocalParameterfvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterfvARB\0" "\0" - /* _mesa_function_pool[8086]: FragmentMaterialfSGIX (dynamic) */ + /* _mesa_function_pool[8073]: FragmentMaterialfSGIX (dynamic) */ "iif\0" "glFragmentMaterialfSGIX\0" "\0" - /* _mesa_function_pool[8115]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[8102]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[8157]: RenderbufferStorageEXT (will be remapped) */ + /* _mesa_function_pool[8144]: RenderbufferStorageEXT (will be remapped) */ "iiii\0" "glRenderbufferStorage\0" "glRenderbufferStorageEXT\0" "\0" - /* _mesa_function_pool[8210]: IsFenceNV (will be remapped) */ + /* _mesa_function_pool[8197]: IsFenceNV (will be remapped) */ "i\0" "glIsFenceNV\0" "\0" - /* _mesa_function_pool[8225]: AttachObjectARB (will be remapped) */ + /* _mesa_function_pool[8212]: AttachObjectARB (will be remapped) */ "ii\0" "glAttachObjectARB\0" "\0" - /* _mesa_function_pool[8247]: GetFragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[8234]: GetFragmentLightivSGIX (dynamic) */ "iip\0" "glGetFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[8277]: UniformMatrix2fvARB (will be remapped) */ + /* _mesa_function_pool[8264]: UniformMatrix2fvARB (will be remapped) */ "iiip\0" "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" "\0" - /* _mesa_function_pool[8324]: MultiTexCoord2fARB (offset 386) */ + /* _mesa_function_pool[8311]: MultiTexCoord2fARB (offset 386) */ "iff\0" "glMultiTexCoord2f\0" "glMultiTexCoord2fARB\0" "\0" - /* _mesa_function_pool[8368]: ColorTable (offset 339) */ + /* _mesa_function_pool[8355]: ColorTable (offset 339) */ "iiiiip\0" "glColorTable\0" "glColorTableSGI\0" "glColorTableEXT\0" "\0" - /* _mesa_function_pool[8421]: IndexPointer (offset 314) */ + /* _mesa_function_pool[8408]: IndexPointer (offset 314) */ "iip\0" "glIndexPointer\0" "\0" - /* _mesa_function_pool[8441]: Accum (offset 213) */ + /* _mesa_function_pool[8428]: Accum (offset 213) */ "if\0" "glAccum\0" "\0" - /* _mesa_function_pool[8453]: GetTexImage (offset 281) */ + /* _mesa_function_pool[8440]: GetTexImage (offset 281) */ "iiiip\0" "glGetTexImage\0" "\0" - /* _mesa_function_pool[8474]: MapControlPointsNV (dynamic) */ + /* _mesa_function_pool[8461]: MapControlPointsNV (dynamic) */ "iiiiiiiip\0" "glMapControlPointsNV\0" "\0" - /* _mesa_function_pool[8506]: ConvolutionFilter2D (offset 349) */ + /* _mesa_function_pool[8493]: ConvolutionFilter2D (offset 349) */ "iiiiiip\0" "glConvolutionFilter2D\0" "glConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[8562]: Finish (offset 216) */ + /* _mesa_function_pool[8549]: Finish (offset 216) */ "\0" "glFinish\0" "\0" - /* _mesa_function_pool[8573]: MapParameterfvNV (dynamic) */ + /* _mesa_function_pool[8560]: MapParameterfvNV (dynamic) */ "iip\0" "glMapParameterfvNV\0" "\0" - /* _mesa_function_pool[8597]: ClearStencil (offset 207) */ + /* _mesa_function_pool[8584]: ClearStencil (offset 207) */ "i\0" "glClearStencil\0" "\0" - /* _mesa_function_pool[8615]: VertexAttrib3dvARB (will be remapped) */ + /* _mesa_function_pool[8602]: VertexAttrib3dvARB (will be remapped) */ "ip\0" "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" "\0" - /* _mesa_function_pool[8658]: Uniform4uivEXT (will be remapped) */ + /* _mesa_function_pool[8645]: Uniform4uivEXT (will be remapped) */ "iip\0" "glUniform4uivEXT\0" "glUniform4uiv\0" "\0" - /* _mesa_function_pool[8694]: HintPGI (dynamic) */ + /* _mesa_function_pool[8681]: HintPGI (dynamic) */ "ii\0" "glHintPGI\0" "\0" - /* _mesa_function_pool[8708]: ConvolutionParameteriv (offset 353) */ + /* _mesa_function_pool[8695]: ConvolutionParameteriv (offset 353) */ "iip\0" "glConvolutionParameteriv\0" "glConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[8766]: Color4s (offset 33) */ + /* _mesa_function_pool[8753]: Color4s (offset 33) */ "iiii\0" "glColor4s\0" "\0" - /* _mesa_function_pool[8782]: InterleavedArrays (offset 317) */ + /* _mesa_function_pool[8769]: InterleavedArrays (offset 317) */ "iip\0" "glInterleavedArrays\0" "\0" - /* _mesa_function_pool[8807]: RasterPos2fv (offset 65) */ + /* _mesa_function_pool[8794]: RasterPos2fv (offset 65) */ "p\0" "glRasterPos2fv\0" "\0" - /* _mesa_function_pool[8825]: TexCoord1fv (offset 97) */ + /* _mesa_function_pool[8812]: TexCoord1fv (offset 97) */ "p\0" "glTexCoord1fv\0" "\0" - /* _mesa_function_pool[8842]: Vertex2d (offset 126) */ + /* _mesa_function_pool[8829]: Vertex2d (offset 126) */ "dd\0" "glVertex2d\0" "\0" - /* _mesa_function_pool[8857]: CullParameterdvEXT (dynamic) */ + /* _mesa_function_pool[8844]: CullParameterdvEXT (dynamic) */ "ip\0" "glCullParameterdvEXT\0" "\0" - /* _mesa_function_pool[8882]: ProgramNamedParameter4fNV (will be remapped) */ + /* _mesa_function_pool[8869]: ProgramNamedParameter4fNV (will be remapped) */ "iipffff\0" "glProgramNamedParameter4fNV\0" "\0" - /* _mesa_function_pool[8919]: Color3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[8906]: Color3fVertex3fSUN (dynamic) */ "ffffff\0" "glColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[8948]: ProgramEnvParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[8935]: ProgramEnvParameter4fvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4fvARB\0" "glProgramParameter4fvNV\0" "\0" - /* _mesa_function_pool[9005]: Color4i (offset 31) */ + /* _mesa_function_pool[8992]: Color4i (offset 31) */ "iiii\0" "glColor4i\0" "\0" - /* _mesa_function_pool[9021]: Color4f (offset 29) */ + /* _mesa_function_pool[9008]: Color4f (offset 29) */ "ffff\0" "glColor4f\0" "\0" - /* _mesa_function_pool[9037]: RasterPos4fv (offset 81) */ + /* _mesa_function_pool[9024]: RasterPos4fv (offset 81) */ "p\0" "glRasterPos4fv\0" "\0" - /* _mesa_function_pool[9055]: Color4d (offset 27) */ + /* _mesa_function_pool[9042]: Color4d (offset 27) */ "dddd\0" "glColor4d\0" "\0" - /* _mesa_function_pool[9071]: ClearIndex (offset 205) */ + /* _mesa_function_pool[9058]: ClearIndex (offset 205) */ "f\0" "glClearIndex\0" "\0" - /* _mesa_function_pool[9087]: Color4b (offset 25) */ + /* _mesa_function_pool[9074]: Color4b (offset 25) */ "iiii\0" "glColor4b\0" "\0" - /* _mesa_function_pool[9103]: LoadMatrixd (offset 292) */ + /* _mesa_function_pool[9090]: LoadMatrixd (offset 292) */ "p\0" "glLoadMatrixd\0" "\0" - /* _mesa_function_pool[9120]: FragmentLightModeliSGIX (dynamic) */ + /* _mesa_function_pool[9107]: FragmentLightModeliSGIX (dynamic) */ "ii\0" "glFragmentLightModeliSGIX\0" "\0" - /* _mesa_function_pool[9150]: RasterPos2dv (offset 63) */ + /* _mesa_function_pool[9137]: RasterPos2dv (offset 63) */ "p\0" "glRasterPos2dv\0" "\0" - /* _mesa_function_pool[9168]: ConvolutionParameterfv (offset 351) */ + /* _mesa_function_pool[9155]: ConvolutionParameterfv (offset 351) */ "iip\0" "glConvolutionParameterfv\0" "glConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[9226]: TbufferMask3DFX (dynamic) */ + /* _mesa_function_pool[9213]: TbufferMask3DFX (dynamic) */ "i\0" "glTbufferMask3DFX\0" "\0" - /* _mesa_function_pool[9247]: GetTexGendv (offset 278) */ + /* _mesa_function_pool[9234]: GetTexGendv (offset 278) */ "iip\0" "glGetTexGendv\0" "\0" - /* _mesa_function_pool[9266]: GetVertexAttribfvNV (will be remapped) */ + /* _mesa_function_pool[9253]: GetVertexAttribfvNV (will be remapped) */ "iip\0" "glGetVertexAttribfvNV\0" "\0" - /* _mesa_function_pool[9293]: BeginTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[9280]: BeginTransformFeedbackEXT (will be remapped) */ "i\0" "glBeginTransformFeedbackEXT\0" "glBeginTransformFeedback\0" "\0" - /* _mesa_function_pool[9349]: LoadProgramNV (will be remapped) */ + /* _mesa_function_pool[9336]: LoadProgramNV (will be remapped) */ "iiip\0" "glLoadProgramNV\0" "\0" - /* _mesa_function_pool[9371]: WaitSync (will be remapped) */ + /* _mesa_function_pool[9358]: WaitSync (will be remapped) */ "iii\0" "glWaitSync\0" "\0" - /* _mesa_function_pool[9387]: EndList (offset 1) */ + /* _mesa_function_pool[9374]: EndList (offset 1) */ "\0" "glEndList\0" "\0" - /* _mesa_function_pool[9399]: VertexAttrib4fvNV (will be remapped) */ + /* _mesa_function_pool[9386]: VertexAttrib4fvNV (will be remapped) */ "ip\0" "glVertexAttrib4fvNV\0" "\0" - /* _mesa_function_pool[9423]: GetAttachedObjectsARB (will be remapped) */ + /* _mesa_function_pool[9410]: GetAttachedObjectsARB (will be remapped) */ "iipp\0" "glGetAttachedObjectsARB\0" "\0" - /* _mesa_function_pool[9453]: Uniform3fvARB (will be remapped) */ + /* _mesa_function_pool[9440]: Uniform3fvARB (will be remapped) */ "iip\0" "glUniform3fv\0" "glUniform3fvARB\0" "\0" - /* _mesa_function_pool[9487]: EvalCoord1fv (offset 231) */ + /* _mesa_function_pool[9474]: EvalCoord1fv (offset 231) */ "p\0" "glEvalCoord1fv\0" "\0" - /* _mesa_function_pool[9505]: DrawRangeElements (offset 338) */ + /* _mesa_function_pool[9492]: DrawRangeElements (offset 338) */ "iiiiip\0" "glDrawRangeElements\0" "glDrawRangeElementsEXT\0" "\0" - /* _mesa_function_pool[9556]: EvalMesh2 (offset 238) */ + /* _mesa_function_pool[9543]: EvalMesh2 (offset 238) */ "iiiii\0" "glEvalMesh2\0" "\0" - /* _mesa_function_pool[9575]: Vertex4fv (offset 145) */ + /* _mesa_function_pool[9562]: Vertex4fv (offset 145) */ "p\0" "glVertex4fv\0" "\0" - /* _mesa_function_pool[9590]: GenTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[9577]: GenTransformFeedbacks (will be remapped) */ "ip\0" "glGenTransformFeedbacks\0" "\0" - /* _mesa_function_pool[9618]: SpriteParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[9605]: SpriteParameterfvSGIX (dynamic) */ "ip\0" "glSpriteParameterfvSGIX\0" "\0" - /* _mesa_function_pool[9646]: CheckFramebufferStatusEXT (will be remapped) */ + /* _mesa_function_pool[9633]: CheckFramebufferStatusEXT (will be remapped) */ "i\0" "glCheckFramebufferStatus\0" "glCheckFramebufferStatusEXT\0" "\0" - /* _mesa_function_pool[9702]: GlobalAlphaFactoruiSUN (dynamic) */ + /* _mesa_function_pool[9689]: GlobalAlphaFactoruiSUN (dynamic) */ "i\0" "glGlobalAlphaFactoruiSUN\0" "\0" - /* _mesa_function_pool[9730]: GetHandleARB (will be remapped) */ + /* _mesa_function_pool[9717]: GetHandleARB (will be remapped) */ "i\0" "glGetHandleARB\0" "\0" - /* _mesa_function_pool[9748]: GetVertexAttribivARB (will be remapped) */ + /* _mesa_function_pool[9735]: GetVertexAttribivARB (will be remapped) */ "iip\0" "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" "\0" - /* _mesa_function_pool[9796]: BlendFunciARB (will be remapped) */ + /* _mesa_function_pool[9783]: BlendFunciARB (will be remapped) */ "iii\0" "glBlendFunciARB\0" "\0" - /* _mesa_function_pool[9817]: GetCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[9804]: GetCombinerInputParameterfvNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[9856]: GetTexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[9843]: GetTexParameterIivEXT (will be remapped) */ "iip\0" "glGetTexParameterIivEXT\0" "glGetTexParameterIiv\0" "\0" - /* _mesa_function_pool[9906]: CreateProgram (will be remapped) */ + /* _mesa_function_pool[9893]: CreateProgram (will be remapped) */ "\0" "glCreateProgram\0" "\0" - /* _mesa_function_pool[9924]: LoadTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[9911]: LoadTransposeMatrixdARB (will be remapped) */ "p\0" "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[9976]: ReleaseShaderCompiler (will be remapped) */ + /* _mesa_function_pool[9963]: ReleaseShaderCompiler (will be remapped) */ "\0" "glReleaseShaderCompiler\0" "\0" - /* _mesa_function_pool[10002]: GetMinmax (offset 364) */ + /* _mesa_function_pool[9989]: GetMinmax (offset 364) */ "iiiip\0" "glGetMinmax\0" "glGetMinmaxEXT\0" "\0" - /* _mesa_function_pool[10036]: StencilFuncSeparate (will be remapped) */ + /* _mesa_function_pool[10023]: StencilFuncSeparate (will be remapped) */ "iiii\0" "glStencilFuncSeparate\0" "\0" - /* _mesa_function_pool[10064]: SecondaryColor3sEXT (will be remapped) */ + /* _mesa_function_pool[10051]: SecondaryColor3sEXT (will be remapped) */ "iii\0" "glSecondaryColor3s\0" "glSecondaryColor3sEXT\0" "\0" - /* _mesa_function_pool[10110]: Color3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10097]: Color3fVertex3fvSUN (dynamic) */ "pp\0" "glColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10136]: GetInteger64i_v (will be remapped) */ + /* _mesa_function_pool[10123]: GetInteger64i_v (will be remapped) */ "iip\0" "glGetInteger64i_v\0" "\0" - /* _mesa_function_pool[10159]: Normal3fv (offset 57) */ + /* _mesa_function_pool[10146]: Normal3fv (offset 57) */ "p\0" "glNormal3fv\0" "\0" - /* _mesa_function_pool[10174]: GlobalAlphaFactorbSUN (dynamic) */ + /* _mesa_function_pool[10161]: GlobalAlphaFactorbSUN (dynamic) */ "i\0" "glGlobalAlphaFactorbSUN\0" "\0" - /* _mesa_function_pool[10201]: Color3us (offset 23) */ + /* _mesa_function_pool[10188]: Color3us (offset 23) */ "iii\0" "glColor3us\0" "\0" - /* _mesa_function_pool[10217]: ImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[10204]: ImageTransformParameterfvHP (dynamic) */ "iip\0" "glImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[10252]: VertexAttrib4ivARB (will be remapped) */ + /* _mesa_function_pool[10239]: VertexAttrib4ivARB (will be remapped) */ "ip\0" "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" "\0" - /* _mesa_function_pool[10295]: End (offset 43) */ + /* _mesa_function_pool[10282]: End (offset 43) */ "\0" "glEnd\0" "\0" - /* _mesa_function_pool[10303]: VertexAttrib3fNV (will be remapped) */ + /* _mesa_function_pool[10290]: VertexAttrib3fNV (will be remapped) */ "ifff\0" "glVertexAttrib3fNV\0" "\0" - /* _mesa_function_pool[10328]: VertexAttribs2dvNV (will be remapped) */ + /* _mesa_function_pool[10315]: VertexAttribs2dvNV (will be remapped) */ "iip\0" "glVertexAttribs2dvNV\0" "\0" - /* _mesa_function_pool[10354]: GetQueryObjectui64vEXT (will be remapped) */ + /* _mesa_function_pool[10341]: GetQueryObjectui64vEXT (will be remapped) */ "iip\0" "glGetQueryObjectui64vEXT\0" "\0" - /* _mesa_function_pool[10384]: MultiTexCoord3fvARB (offset 395) */ + /* _mesa_function_pool[10371]: MultiTexCoord3fvARB (offset 395) */ "ip\0" "glMultiTexCoord3fv\0" "glMultiTexCoord3fvARB\0" "\0" - /* _mesa_function_pool[10429]: SecondaryColor3dEXT (will be remapped) */ + /* _mesa_function_pool[10416]: SecondaryColor3dEXT (will be remapped) */ "ddd\0" "glSecondaryColor3d\0" "glSecondaryColor3dEXT\0" "\0" - /* _mesa_function_pool[10475]: Color3ub (offset 19) */ + /* _mesa_function_pool[10462]: Color3ub (offset 19) */ "iii\0" "glColor3ub\0" "\0" - /* _mesa_function_pool[10491]: GetProgramParameterfvNV (will be remapped) */ + /* _mesa_function_pool[10478]: GetProgramParameterfvNV (will be remapped) */ "iiip\0" "glGetProgramParameterfvNV\0" "\0" - /* _mesa_function_pool[10523]: TangentPointerEXT (dynamic) */ + /* _mesa_function_pool[10510]: TangentPointerEXT (dynamic) */ "iip\0" "glTangentPointerEXT\0" "\0" - /* _mesa_function_pool[10548]: Color4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10535]: Color4fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10583]: GetInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[10570]: GetInstrumentsSGIX (dynamic) */ "\0" "glGetInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[10606]: GetUniformuivEXT (will be remapped) */ + /* _mesa_function_pool[10593]: GetUniformuivEXT (will be remapped) */ "iip\0" "glGetUniformuivEXT\0" "glGetUniformuiv\0" "\0" - /* _mesa_function_pool[10646]: Color3ui (offset 21) */ + /* _mesa_function_pool[10633]: Color3ui (offset 21) */ "iii\0" "glColor3ui\0" "\0" - /* _mesa_function_pool[10662]: EvalMapsNV (dynamic) */ + /* _mesa_function_pool[10649]: EvalMapsNV (dynamic) */ "ii\0" "glEvalMapsNV\0" "\0" - /* _mesa_function_pool[10679]: TexSubImage2D (offset 333) */ + /* _mesa_function_pool[10666]: TexSubImage2D (offset 333) */ "iiiiiiiip\0" "glTexSubImage2D\0" "glTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[10725]: FragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[10712]: FragmentLightivSGIX (dynamic) */ "iip\0" "glFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[10752]: GetTexParameterPointervAPPLE (will be remapped) */ + /* _mesa_function_pool[10739]: GetTexParameterPointervAPPLE (will be remapped) */ "iip\0" "glGetTexParameterPointervAPPLE\0" "\0" - /* _mesa_function_pool[10788]: TexGenfv (offset 191) */ + /* _mesa_function_pool[10775]: TexGenfv (offset 191) */ "iip\0" "glTexGenfv\0" "\0" - /* _mesa_function_pool[10804]: GetTransformFeedbackVaryingEXT (will be remapped) */ + /* _mesa_function_pool[10791]: GetTransformFeedbackVaryingEXT (will be remapped) */ "iiipppp\0" "glGetTransformFeedbackVaryingEXT\0" "glGetTransformFeedbackVarying\0" "\0" - /* _mesa_function_pool[10876]: VertexAttrib4bvARB (will be remapped) */ + /* _mesa_function_pool[10863]: VertexAttrib4bvARB (will be remapped) */ "ip\0" "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" "\0" - /* _mesa_function_pool[10919]: ShaderBinary (will be remapped) */ + /* _mesa_function_pool[10906]: ShaderBinary (will be remapped) */ "ipipi\0" "glShaderBinary\0" "\0" - /* _mesa_function_pool[10941]: GetIntegerIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[10928]: GetIntegerIndexedvEXT (will be remapped) */ "iip\0" "glGetIntegerIndexedvEXT\0" "glGetIntegeri_v\0" "\0" - /* _mesa_function_pool[10986]: MultiTexCoord4sARB (offset 406) */ + /* _mesa_function_pool[10973]: MultiTexCoord4sARB (offset 406) */ "iiiii\0" "glMultiTexCoord4s\0" "glMultiTexCoord4sARB\0" "\0" - /* _mesa_function_pool[11032]: GetFragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[11019]: GetFragmentMaterialivSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[11065]: WindowPos4dMESA (will be remapped) */ + /* _mesa_function_pool[11052]: WindowPos4dMESA (will be remapped) */ "dddd\0" "glWindowPos4dMESA\0" "\0" - /* _mesa_function_pool[11089]: WeightPointerARB (dynamic) */ + /* _mesa_function_pool[11076]: WeightPointerARB (dynamic) */ "iiip\0" "glWeightPointerARB\0" "\0" - /* _mesa_function_pool[11114]: WindowPos2dMESA (will be remapped) */ + /* _mesa_function_pool[11101]: WindowPos2dMESA (will be remapped) */ "dd\0" "glWindowPos2d\0" "glWindowPos2dARB\0" "glWindowPos2dMESA\0" "\0" - /* _mesa_function_pool[11167]: FramebufferTexture3DEXT (will be remapped) */ + /* _mesa_function_pool[11154]: FramebufferTexture3DEXT (will be remapped) */ "iiiiii\0" "glFramebufferTexture3D\0" "glFramebufferTexture3DEXT\0" "\0" - /* _mesa_function_pool[11224]: BlendEquation (offset 337) */ + /* _mesa_function_pool[11211]: BlendEquation (offset 337) */ "i\0" "glBlendEquation\0" "glBlendEquationEXT\0" "\0" - /* _mesa_function_pool[11262]: VertexAttrib3dNV (will be remapped) */ + /* _mesa_function_pool[11249]: VertexAttrib3dNV (will be remapped) */ "iddd\0" "glVertexAttrib3dNV\0" "\0" - /* _mesa_function_pool[11287]: VertexAttrib3dARB (will be remapped) */ + /* _mesa_function_pool[11274]: VertexAttrib3dARB (will be remapped) */ "iddd\0" "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" "\0" - /* _mesa_function_pool[11330]: VertexAttribI4usvEXT (will be remapped) */ + /* _mesa_function_pool[11317]: VertexAttribI4usvEXT (will be remapped) */ "ip\0" "glVertexAttribI4usvEXT\0" "glVertexAttribI4usv\0" "\0" - /* _mesa_function_pool[11377]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[11364]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "ppppp\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[11441]: VertexAttrib4fARB (will be remapped) */ + /* _mesa_function_pool[11428]: VertexAttrib4fARB (will be remapped) */ "iffff\0" "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" "\0" - /* _mesa_function_pool[11485]: GetError (offset 261) */ + /* _mesa_function_pool[11472]: GetError (offset 261) */ "\0" "glGetError\0" "\0" - /* _mesa_function_pool[11498]: IndexFuncEXT (dynamic) */ + /* _mesa_function_pool[11485]: IndexFuncEXT (dynamic) */ "if\0" "glIndexFuncEXT\0" "\0" - /* _mesa_function_pool[11517]: TexCoord3dv (offset 111) */ + /* _mesa_function_pool[11504]: TexCoord3dv (offset 111) */ "p\0" "glTexCoord3dv\0" "\0" - /* _mesa_function_pool[11534]: Indexdv (offset 45) */ + /* _mesa_function_pool[11521]: Indexdv (offset 45) */ "p\0" "glIndexdv\0" "\0" - /* _mesa_function_pool[11547]: FramebufferTexture2DEXT (will be remapped) */ + /* _mesa_function_pool[11534]: FramebufferTexture2DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture2D\0" "glFramebufferTexture2DEXT\0" "\0" - /* _mesa_function_pool[11603]: Normal3s (offset 60) */ + /* _mesa_function_pool[11590]: Normal3s (offset 60) */ "iii\0" "glNormal3s\0" "\0" - /* _mesa_function_pool[11619]: GetObjectParameterivAPPLE (will be remapped) */ + /* _mesa_function_pool[11606]: GetObjectParameterivAPPLE (will be remapped) */ "iiip\0" "glGetObjectParameterivAPPLE\0" "\0" - /* _mesa_function_pool[11653]: PushName (offset 201) */ + /* _mesa_function_pool[11640]: PushName (offset 201) */ "i\0" "glPushName\0" "\0" - /* _mesa_function_pool[11667]: MultiTexCoord2dvARB (offset 385) */ + /* _mesa_function_pool[11654]: MultiTexCoord2dvARB (offset 385) */ "ip\0" "glMultiTexCoord2dv\0" "glMultiTexCoord2dvARB\0" "\0" - /* _mesa_function_pool[11712]: CullParameterfvEXT (dynamic) */ + /* _mesa_function_pool[11699]: CullParameterfvEXT (dynamic) */ "ip\0" "glCullParameterfvEXT\0" "\0" - /* _mesa_function_pool[11737]: Normal3i (offset 58) */ + /* _mesa_function_pool[11724]: Normal3i (offset 58) */ "iii\0" "glNormal3i\0" "\0" - /* _mesa_function_pool[11753]: ProgramNamedParameter4fvNV (will be remapped) */ + /* _mesa_function_pool[11740]: ProgramNamedParameter4fvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4fvNV\0" "\0" - /* _mesa_function_pool[11788]: SecondaryColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[11775]: SecondaryColorPointerEXT (will be remapped) */ "iiip\0" "glSecondaryColorPointer\0" "glSecondaryColorPointerEXT\0" "\0" - /* _mesa_function_pool[11845]: VertexAttrib4fvARB (will be remapped) */ + /* _mesa_function_pool[11832]: VertexAttrib4fvARB (will be remapped) */ "ip\0" "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" "\0" - /* _mesa_function_pool[11888]: ColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[11875]: ColorPointerListIBM (dynamic) */ "iiipi\0" "glColorPointerListIBM\0" "\0" - /* _mesa_function_pool[11917]: GetActiveUniformARB (will be remapped) */ + /* _mesa_function_pool[11904]: GetActiveUniformARB (will be remapped) */ "iiipppp\0" "glGetActiveUniform\0" "glGetActiveUniformARB\0" "\0" - /* _mesa_function_pool[11967]: ImageTransformParameteriHP (dynamic) */ + /* _mesa_function_pool[11954]: ImageTransformParameteriHP (dynamic) */ "iii\0" "glImageTransformParameteriHP\0" "\0" - /* _mesa_function_pool[12001]: Normal3b (offset 52) */ + /* _mesa_function_pool[11988]: Normal3b (offset 52) */ "iii\0" "glNormal3b\0" "\0" - /* _mesa_function_pool[12017]: Normal3d (offset 54) */ + /* _mesa_function_pool[12004]: Normal3d (offset 54) */ "ddd\0" "glNormal3d\0" "\0" - /* _mesa_function_pool[12033]: Uniform1uiEXT (will be remapped) */ + /* _mesa_function_pool[12020]: Uniform1uiEXT (will be remapped) */ "ii\0" "glUniform1uiEXT\0" "glUniform1ui\0" "\0" - /* _mesa_function_pool[12066]: Normal3f (offset 56) */ + /* _mesa_function_pool[12053]: Normal3f (offset 56) */ "fff\0" "glNormal3f\0" "\0" - /* _mesa_function_pool[12082]: MultiTexCoord1svARB (offset 383) */ + /* _mesa_function_pool[12069]: MultiTexCoord1svARB (offset 383) */ "ip\0" "glMultiTexCoord1sv\0" "glMultiTexCoord1svARB\0" "\0" - /* _mesa_function_pool[12127]: Indexi (offset 48) */ + /* _mesa_function_pool[12114]: Indexi (offset 48) */ "i\0" "glIndexi\0" "\0" - /* _mesa_function_pool[12139]: EGLImageTargetTexture2DOES (will be remapped) */ + /* _mesa_function_pool[12126]: EGLImageTargetTexture2DOES (will be remapped) */ "ip\0" "glEGLImageTargetTexture2DOES\0" "\0" - /* _mesa_function_pool[12172]: EndQueryARB (will be remapped) */ + /* _mesa_function_pool[12159]: EndQueryARB (will be remapped) */ "i\0" "glEndQuery\0" "glEndQueryARB\0" "\0" - /* _mesa_function_pool[12200]: DeleteFencesNV (will be remapped) */ + /* _mesa_function_pool[12187]: DeleteFencesNV (will be remapped) */ "ip\0" "glDeleteFencesNV\0" "\0" - /* _mesa_function_pool[12221]: BindBufferRangeEXT (will be remapped) */ + /* _mesa_function_pool[12208]: DeformationMap3dSGIX (dynamic) */ + "iddiiddiiddiip\0" + "glDeformationMap3dSGIX\0" + "\0" + /* _mesa_function_pool[12247]: BindBufferRangeEXT (will be remapped) */ "iiiii\0" "glBindBufferRangeEXT\0" "glBindBufferRange\0" "\0" - /* _mesa_function_pool[12267]: DepthMask (offset 211) */ + /* _mesa_function_pool[12293]: DepthMask (offset 211) */ "i\0" "glDepthMask\0" "\0" - /* _mesa_function_pool[12282]: IsShader (will be remapped) */ + /* _mesa_function_pool[12308]: IsShader (will be remapped) */ "i\0" "glIsShader\0" "\0" - /* _mesa_function_pool[12296]: Indexf (offset 46) */ + /* _mesa_function_pool[12322]: Indexf (offset 46) */ "f\0" "glIndexf\0" "\0" - /* _mesa_function_pool[12308]: GetImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[12334]: GetImageTransformParameterivHP (dynamic) */ "iip\0" "glGetImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[12346]: Indexd (offset 44) */ + /* _mesa_function_pool[12372]: Indexd (offset 44) */ "d\0" "glIndexd\0" "\0" - /* _mesa_function_pool[12358]: GetMaterialiv (offset 270) */ + /* _mesa_function_pool[12384]: GetMaterialiv (offset 270) */ "iip\0" "glGetMaterialiv\0" "\0" - /* _mesa_function_pool[12379]: StencilOp (offset 244) */ + /* _mesa_function_pool[12405]: StencilOp (offset 244) */ "iii\0" "glStencilOp\0" "\0" - /* _mesa_function_pool[12396]: WindowPos4ivMESA (will be remapped) */ + /* _mesa_function_pool[12422]: WindowPos4ivMESA (will be remapped) */ "p\0" "glWindowPos4ivMESA\0" "\0" - /* _mesa_function_pool[12418]: FramebufferTextureLayer (dynamic) */ + /* _mesa_function_pool[12444]: FramebufferTextureLayer (dynamic) */ "iiiii\0" "glFramebufferTextureLayerARB\0" "\0" - /* _mesa_function_pool[12454]: MultiTexCoord3svARB (offset 399) */ + /* _mesa_function_pool[12480]: MultiTexCoord3svARB (offset 399) */ "ip\0" "glMultiTexCoord3sv\0" "glMultiTexCoord3svARB\0" "\0" - /* _mesa_function_pool[12499]: TexEnvfv (offset 185) */ + /* _mesa_function_pool[12525]: TexEnvfv (offset 185) */ "iip\0" "glTexEnvfv\0" "\0" - /* _mesa_function_pool[12515]: MultiTexCoord4iARB (offset 404) */ + /* _mesa_function_pool[12541]: MultiTexCoord4iARB (offset 404) */ "iiiii\0" "glMultiTexCoord4i\0" "glMultiTexCoord4iARB\0" "\0" - /* _mesa_function_pool[12561]: Indexs (offset 50) */ + /* _mesa_function_pool[12587]: Indexs (offset 50) */ "i\0" "glIndexs\0" "\0" - /* _mesa_function_pool[12573]: Binormal3ivEXT (dynamic) */ + /* _mesa_function_pool[12599]: Binormal3ivEXT (dynamic) */ "p\0" "glBinormal3ivEXT\0" "\0" - /* _mesa_function_pool[12593]: ResizeBuffersMESA (will be remapped) */ + /* _mesa_function_pool[12619]: ResizeBuffersMESA (will be remapped) */ "\0" "glResizeBuffersMESA\0" "\0" - /* _mesa_function_pool[12615]: BlendFuncSeparateiARB (will be remapped) */ + /* _mesa_function_pool[12641]: BlendFuncSeparateiARB (will be remapped) */ "iiiii\0" "glBlendFuncSeparateiARB\0" "\0" - /* _mesa_function_pool[12646]: GetUniformivARB (will be remapped) */ + /* _mesa_function_pool[12672]: GetUniformivARB (will be remapped) */ "iip\0" "glGetUniformiv\0" "glGetUniformivARB\0" "\0" - /* _mesa_function_pool[12684]: PixelTexGenParameteriSGIS (will be remapped) */ + /* _mesa_function_pool[12710]: PixelTexGenParameteriSGIS (will be remapped) */ "ii\0" "glPixelTexGenParameteriSGIS\0" "\0" - /* _mesa_function_pool[12716]: VertexPointervINTEL (dynamic) */ + /* _mesa_function_pool[12742]: VertexPointervINTEL (dynamic) */ "iip\0" "glVertexPointervINTEL\0" "\0" - /* _mesa_function_pool[12743]: Vertex2i (offset 130) */ + /* _mesa_function_pool[12769]: Vertex2i (offset 130) */ "ii\0" "glVertex2i\0" "\0" - /* _mesa_function_pool[12758]: LoadMatrixf (offset 291) */ + /* _mesa_function_pool[12784]: LoadMatrixf (offset 291) */ "p\0" "glLoadMatrixf\0" "\0" - /* _mesa_function_pool[12775]: VertexAttribI1uivEXT (will be remapped) */ + /* _mesa_function_pool[12801]: VertexAttribI1uivEXT (will be remapped) */ "ip\0" "glVertexAttribI1uivEXT\0" "glVertexAttribI1uiv\0" "\0" - /* _mesa_function_pool[12822]: Vertex2f (offset 128) */ + /* _mesa_function_pool[12848]: Vertex2f (offset 128) */ "ff\0" "glVertex2f\0" "\0" - /* _mesa_function_pool[12837]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[12863]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[12890]: Color4bv (offset 26) */ + /* _mesa_function_pool[12916]: Color4bv (offset 26) */ "p\0" "glColor4bv\0" "\0" - /* _mesa_function_pool[12904]: VertexPointer (offset 321) */ + /* _mesa_function_pool[12930]: VertexPointer (offset 321) */ "iiip\0" "glVertexPointer\0" "\0" - /* _mesa_function_pool[12926]: SecondaryColor3uiEXT (will be remapped) */ + /* _mesa_function_pool[12952]: SecondaryColor3uiEXT (will be remapped) */ "iii\0" "glSecondaryColor3ui\0" "glSecondaryColor3uiEXT\0" "\0" - /* _mesa_function_pool[12974]: StartInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[13000]: StartInstrumentsSGIX (dynamic) */ "\0" "glStartInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[12999]: SecondaryColor3usvEXT (will be remapped) */ + /* _mesa_function_pool[13025]: SecondaryColor3usvEXT (will be remapped) */ "p\0" "glSecondaryColor3usv\0" "glSecondaryColor3usvEXT\0" "\0" - /* _mesa_function_pool[13047]: VertexAttrib2fvNV (will be remapped) */ + /* _mesa_function_pool[13073]: VertexAttrib2fvNV (will be remapped) */ "ip\0" "glVertexAttrib2fvNV\0" "\0" - /* _mesa_function_pool[13071]: ProgramLocalParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[13097]: ProgramLocalParameter4dvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4dvARB\0" "\0" - /* _mesa_function_pool[13106]: DeleteLists (offset 4) */ + /* _mesa_function_pool[13132]: DeleteLists (offset 4) */ "ii\0" "glDeleteLists\0" "\0" - /* _mesa_function_pool[13124]: LogicOp (offset 242) */ + /* _mesa_function_pool[13150]: LogicOp (offset 242) */ "i\0" "glLogicOp\0" "\0" - /* _mesa_function_pool[13137]: MatrixIndexuivARB (dynamic) */ + /* _mesa_function_pool[13163]: MatrixIndexuivARB (dynamic) */ "ip\0" "glMatrixIndexuivARB\0" "\0" - /* _mesa_function_pool[13161]: Vertex2s (offset 132) */ + /* _mesa_function_pool[13187]: Vertex2s (offset 132) */ "ii\0" "glVertex2s\0" "\0" - /* _mesa_function_pool[13176]: RenderbufferStorageMultisample (will be remapped) */ + /* _mesa_function_pool[13202]: RenderbufferStorageMultisample (will be remapped) */ "iiiii\0" "glRenderbufferStorageMultisample\0" "glRenderbufferStorageMultisampleEXT\0" "\0" - /* _mesa_function_pool[13252]: TexCoord4fv (offset 121) */ + /* _mesa_function_pool[13278]: TexCoord4fv (offset 121) */ "p\0" "glTexCoord4fv\0" "\0" - /* _mesa_function_pool[13269]: Tangent3sEXT (dynamic) */ + /* _mesa_function_pool[13295]: Tangent3sEXT (dynamic) */ "iii\0" "glTangent3sEXT\0" "\0" - /* _mesa_function_pool[13289]: GlobalAlphaFactorfSUN (dynamic) */ + /* _mesa_function_pool[13315]: GlobalAlphaFactorfSUN (dynamic) */ "f\0" "glGlobalAlphaFactorfSUN\0" "\0" - /* _mesa_function_pool[13316]: MultiTexCoord3iARB (offset 396) */ + /* _mesa_function_pool[13342]: MultiTexCoord3iARB (offset 396) */ "iiii\0" "glMultiTexCoord3i\0" "glMultiTexCoord3iARB\0" "\0" - /* _mesa_function_pool[13361]: IsProgram (will be remapped) */ + /* _mesa_function_pool[13387]: IsProgram (will be remapped) */ "i\0" "glIsProgram\0" "\0" - /* _mesa_function_pool[13376]: TexCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[13402]: TexCoordPointerListIBM (dynamic) */ "iiipi\0" "glTexCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[13408]: VertexAttribI4svEXT (will be remapped) */ + /* _mesa_function_pool[13434]: VertexAttribI4svEXT (will be remapped) */ "ip\0" "glVertexAttribI4svEXT\0" "glVertexAttribI4sv\0" "\0" - /* _mesa_function_pool[13453]: GlobalAlphaFactorusSUN (dynamic) */ + /* _mesa_function_pool[13479]: GlobalAlphaFactorusSUN (dynamic) */ "i\0" "glGlobalAlphaFactorusSUN\0" "\0" - /* _mesa_function_pool[13481]: VertexAttrib2dvNV (will be remapped) */ + /* _mesa_function_pool[13507]: VertexAttrib2dvNV (will be remapped) */ "ip\0" "glVertexAttrib2dvNV\0" "\0" - /* _mesa_function_pool[13505]: FramebufferRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[13531]: FramebufferRenderbufferEXT (will be remapped) */ "iiii\0" "glFramebufferRenderbuffer\0" "glFramebufferRenderbufferEXT\0" "\0" - /* _mesa_function_pool[13566]: ClearBufferuiv (will be remapped) */ + /* _mesa_function_pool[13592]: ClearBufferuiv (will be remapped) */ "iip\0" "glClearBufferuiv\0" "\0" - /* _mesa_function_pool[13588]: VertexAttrib1dvNV (will be remapped) */ + /* _mesa_function_pool[13614]: VertexAttrib1dvNV (will be remapped) */ "ip\0" "glVertexAttrib1dvNV\0" "\0" - /* _mesa_function_pool[13612]: GenTextures (offset 328) */ + /* _mesa_function_pool[13638]: GenTextures (offset 328) */ "ip\0" "glGenTextures\0" "glGenTexturesEXT\0" "\0" - /* _mesa_function_pool[13647]: FramebufferTextureARB (will be remapped) */ + /* _mesa_function_pool[13673]: FramebufferTextureARB (will be remapped) */ "iiii\0" "glFramebufferTextureARB\0" "\0" - /* _mesa_function_pool[13677]: SetFenceNV (will be remapped) */ + /* _mesa_function_pool[13703]: SetFenceNV (will be remapped) */ "ii\0" "glSetFenceNV\0" "\0" - /* _mesa_function_pool[13694]: FramebufferTexture1DEXT (will be remapped) */ + /* _mesa_function_pool[13720]: FramebufferTexture1DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture1D\0" "glFramebufferTexture1DEXT\0" "\0" - /* _mesa_function_pool[13750]: GetCombinerOutputParameterivNV (will be remapped) */ + /* _mesa_function_pool[13776]: GetCombinerOutputParameterivNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterivNV\0" "\0" - /* _mesa_function_pool[13789]: MultiModeDrawArraysIBM (will be remapped) */ - "pppii\0" - "glMultiModeDrawArraysIBM\0" - "\0" - /* _mesa_function_pool[13821]: PixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[13815]: PixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[13854]: TextureNormalEXT (dynamic) */ + /* _mesa_function_pool[13848]: TextureNormalEXT (dynamic) */ "i\0" "glTextureNormalEXT\0" "\0" - /* _mesa_function_pool[13876]: IndexPointerListIBM (dynamic) */ + /* _mesa_function_pool[13870]: IndexPointerListIBM (dynamic) */ "iipi\0" "glIndexPointerListIBM\0" "\0" - /* _mesa_function_pool[13904]: WeightfvARB (dynamic) */ + /* _mesa_function_pool[13898]: WeightfvARB (dynamic) */ "ip\0" "glWeightfvARB\0" "\0" - /* _mesa_function_pool[13922]: GetCombinerOutputParameterfvNV (will be remapped) */ - "iiip\0" - "glGetCombinerOutputParameterfvNV\0" - "\0" - /* _mesa_function_pool[13961]: RasterPos2sv (offset 69) */ + /* _mesa_function_pool[13916]: RasterPos2sv (offset 69) */ "p\0" "glRasterPos2sv\0" "\0" - /* _mesa_function_pool[13979]: Color4ubv (offset 36) */ + /* _mesa_function_pool[13934]: Color4ubv (offset 36) */ "p\0" "glColor4ubv\0" "\0" - /* _mesa_function_pool[13994]: DrawBuffer (offset 202) */ + /* _mesa_function_pool[13949]: DrawBuffer (offset 202) */ "i\0" "glDrawBuffer\0" "\0" - /* _mesa_function_pool[14010]: TexCoord2fv (offset 105) */ + /* _mesa_function_pool[13965]: TexCoord2fv (offset 105) */ "p\0" "glTexCoord2fv\0" "\0" - /* _mesa_function_pool[14027]: WindowPos4fMESA (will be remapped) */ + /* _mesa_function_pool[13982]: WindowPos4fMESA (will be remapped) */ "ffff\0" "glWindowPos4fMESA\0" "\0" - /* _mesa_function_pool[14051]: TexCoord1sv (offset 101) */ + /* _mesa_function_pool[14006]: TexCoord1sv (offset 101) */ "p\0" "glTexCoord1sv\0" "\0" - /* _mesa_function_pool[14068]: WindowPos3dvMESA (will be remapped) */ + /* _mesa_function_pool[14023]: WindowPos3dvMESA (will be remapped) */ "p\0" "glWindowPos3dv\0" "glWindowPos3dvARB\0" "glWindowPos3dvMESA\0" "\0" - /* _mesa_function_pool[14123]: DepthFunc (offset 245) */ + /* _mesa_function_pool[14078]: DepthFunc (offset 245) */ "i\0" "glDepthFunc\0" "\0" - /* _mesa_function_pool[14138]: PixelMapusv (offset 253) */ + /* _mesa_function_pool[14093]: PixelMapusv (offset 253) */ "iip\0" "glPixelMapusv\0" "\0" - /* _mesa_function_pool[14157]: GetQueryObjecti64vEXT (will be remapped) */ + /* _mesa_function_pool[14112]: GetQueryObjecti64vEXT (will be remapped) */ "iip\0" "glGetQueryObjecti64vEXT\0" "\0" - /* _mesa_function_pool[14186]: MultiTexCoord1dARB (offset 376) */ + /* _mesa_function_pool[14141]: MultiTexCoord1dARB (offset 376) */ "id\0" "glMultiTexCoord1d\0" "glMultiTexCoord1dARB\0" "\0" - /* _mesa_function_pool[14229]: PointParameterivNV (will be remapped) */ + /* _mesa_function_pool[14184]: PointParameterivNV (will be remapped) */ "ip\0" "glPointParameteriv\0" "glPointParameterivNV\0" "\0" - /* _mesa_function_pool[14273]: BlendFunc (offset 241) */ + /* _mesa_function_pool[14228]: BlendFunc (offset 241) */ "ii\0" "glBlendFunc\0" "\0" - /* _mesa_function_pool[14289]: EndTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[14244]: EndTransformFeedbackEXT (will be remapped) */ "\0" "glEndTransformFeedbackEXT\0" "glEndTransformFeedback\0" "\0" - /* _mesa_function_pool[14340]: Uniform2fvARB (will be remapped) */ + /* _mesa_function_pool[14295]: Uniform2fvARB (will be remapped) */ "iip\0" "glUniform2fv\0" "glUniform2fvARB\0" "\0" - /* _mesa_function_pool[14374]: BufferParameteriAPPLE (will be remapped) */ + /* _mesa_function_pool[14329]: BufferParameteriAPPLE (will be remapped) */ "iii\0" "glBufferParameteriAPPLE\0" "\0" - /* _mesa_function_pool[14403]: MultiTexCoord3dvARB (offset 393) */ + /* _mesa_function_pool[14358]: MultiTexCoord3dvARB (offset 393) */ "ip\0" "glMultiTexCoord3dv\0" "glMultiTexCoord3dvARB\0" "\0" - /* _mesa_function_pool[14448]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[14403]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[14504]: DeleteObjectARB (will be remapped) */ + /* _mesa_function_pool[14459]: DeleteObjectARB (will be remapped) */ "i\0" "glDeleteObjectARB\0" "\0" - /* _mesa_function_pool[14525]: GetShaderPrecisionFormat (will be remapped) */ + /* _mesa_function_pool[14480]: GetShaderPrecisionFormat (will be remapped) */ "iipp\0" "glGetShaderPrecisionFormat\0" "\0" - /* _mesa_function_pool[14558]: MatrixIndexPointerARB (dynamic) */ + /* _mesa_function_pool[14513]: MatrixIndexPointerARB (dynamic) */ "iiip\0" "glMatrixIndexPointerARB\0" "\0" - /* _mesa_function_pool[14588]: ProgramNamedParameter4dvNV (will be remapped) */ + /* _mesa_function_pool[14543]: ProgramNamedParameter4dvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4dvNV\0" "\0" - /* _mesa_function_pool[14623]: Tangent3fvEXT (dynamic) */ + /* _mesa_function_pool[14578]: Tangent3fvEXT (dynamic) */ "p\0" "glTangent3fvEXT\0" "\0" - /* _mesa_function_pool[14642]: Flush (offset 217) */ + /* _mesa_function_pool[14597]: Flush (offset 217) */ "\0" "glFlush\0" "\0" - /* _mesa_function_pool[14652]: Color4uiv (offset 38) */ + /* _mesa_function_pool[14607]: Color4uiv (offset 38) */ "p\0" "glColor4uiv\0" "\0" - /* _mesa_function_pool[14667]: VertexAttribI4iEXT (will be remapped) */ + /* _mesa_function_pool[14622]: VertexAttribI4iEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4iEXT\0" "glVertexAttribI4i\0" "\0" - /* _mesa_function_pool[14713]: GenVertexArrays (will be remapped) */ + /* _mesa_function_pool[14668]: GenVertexArrays (will be remapped) */ "ip\0" "glGenVertexArrays\0" "\0" - /* _mesa_function_pool[14735]: Uniform3uivEXT (will be remapped) */ + /* _mesa_function_pool[14690]: Uniform3uivEXT (will be remapped) */ "iip\0" "glUniform3uivEXT\0" "glUniform3uiv\0" "\0" - /* _mesa_function_pool[14771]: RasterPos3sv (offset 77) */ + /* _mesa_function_pool[14726]: RasterPos3sv (offset 77) */ "p\0" "glRasterPos3sv\0" "\0" - /* _mesa_function_pool[14789]: BindFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[14744]: BindFramebufferEXT (will be remapped) */ "ii\0" "glBindFramebuffer\0" "glBindFramebufferEXT\0" "\0" - /* _mesa_function_pool[14832]: ReferencePlaneSGIX (dynamic) */ + /* _mesa_function_pool[14787]: ReferencePlaneSGIX (dynamic) */ "p\0" "glReferencePlaneSGIX\0" "\0" - /* _mesa_function_pool[14856]: PushAttrib (offset 219) */ + /* _mesa_function_pool[14811]: PushAttrib (offset 219) */ "i\0" "glPushAttrib\0" "\0" - /* _mesa_function_pool[14872]: RasterPos2i (offset 66) */ + /* _mesa_function_pool[14827]: RasterPos2i (offset 66) */ "ii\0" "glRasterPos2i\0" "\0" - /* _mesa_function_pool[14890]: ValidateProgramARB (will be remapped) */ + /* _mesa_function_pool[14845]: ValidateProgramARB (will be remapped) */ "i\0" "glValidateProgram\0" "glValidateProgramARB\0" "\0" - /* _mesa_function_pool[14932]: TexParameteriv (offset 181) */ + /* _mesa_function_pool[14887]: TexParameteriv (offset 181) */ "iip\0" "glTexParameteriv\0" "\0" - /* _mesa_function_pool[14954]: UnlockArraysEXT (will be remapped) */ + /* _mesa_function_pool[14909]: UnlockArraysEXT (will be remapped) */ "\0" "glUnlockArraysEXT\0" "\0" - /* _mesa_function_pool[14974]: TexCoord2fColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[14929]: TexCoord2fColor3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[15015]: WindowPos3fvMESA (will be remapped) */ + /* _mesa_function_pool[14970]: WindowPos3fvMESA (will be remapped) */ "p\0" "glWindowPos3fv\0" "glWindowPos3fvARB\0" "glWindowPos3fvMESA\0" "\0" - /* _mesa_function_pool[15070]: RasterPos2f (offset 64) */ + /* _mesa_function_pool[15025]: RasterPos2f (offset 64) */ "ff\0" "glRasterPos2f\0" "\0" - /* _mesa_function_pool[15088]: VertexAttrib1svNV (will be remapped) */ + /* _mesa_function_pool[15043]: VertexAttrib1svNV (will be remapped) */ "ip\0" "glVertexAttrib1svNV\0" "\0" - /* _mesa_function_pool[15112]: RasterPos2d (offset 62) */ + /* _mesa_function_pool[15067]: RasterPos2d (offset 62) */ "dd\0" "glRasterPos2d\0" "\0" - /* _mesa_function_pool[15130]: RasterPos3fv (offset 73) */ + /* _mesa_function_pool[15085]: RasterPos3fv (offset 73) */ "p\0" "glRasterPos3fv\0" "\0" - /* _mesa_function_pool[15148]: CopyTexSubImage3D (offset 373) */ + /* _mesa_function_pool[15103]: CopyTexSubImage3D (offset 373) */ "iiiiiiiii\0" "glCopyTexSubImage3D\0" "glCopyTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[15202]: VertexAttrib2dARB (will be remapped) */ + /* _mesa_function_pool[15157]: VertexAttrib2dARB (will be remapped) */ "idd\0" "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" "\0" - /* _mesa_function_pool[15244]: Color4ub (offset 35) */ + /* _mesa_function_pool[15199]: Color4ub (offset 35) */ "iiii\0" "glColor4ub\0" "\0" - /* _mesa_function_pool[15261]: GetInteger64v (will be remapped) */ + /* _mesa_function_pool[15216]: GetInteger64v (will be remapped) */ "ip\0" "glGetInteger64v\0" "\0" - /* _mesa_function_pool[15281]: TextureColorMaskSGIS (dynamic) */ + /* _mesa_function_pool[15236]: TextureColorMaskSGIS (dynamic) */ "iiii\0" "glTextureColorMaskSGIS\0" "\0" - /* _mesa_function_pool[15310]: RasterPos2s (offset 68) */ + /* _mesa_function_pool[15265]: RasterPos2s (offset 68) */ "ii\0" "glRasterPos2s\0" "\0" - /* _mesa_function_pool[15328]: GetColorTable (offset 343) */ + /* _mesa_function_pool[15283]: GetColorTable (offset 343) */ "iiip\0" "glGetColorTable\0" "glGetColorTableSGI\0" "glGetColorTableEXT\0" "\0" - /* _mesa_function_pool[15388]: SelectBuffer (offset 195) */ + /* _mesa_function_pool[15343]: SelectBuffer (offset 195) */ "ip\0" "glSelectBuffer\0" "\0" - /* _mesa_function_pool[15407]: Indexiv (offset 49) */ + /* _mesa_function_pool[15362]: Indexiv (offset 49) */ "p\0" "glIndexiv\0" "\0" - /* _mesa_function_pool[15420]: TexCoord3i (offset 114) */ + /* _mesa_function_pool[15375]: TexCoord3i (offset 114) */ "iii\0" "glTexCoord3i\0" "\0" - /* _mesa_function_pool[15438]: CopyColorTable (offset 342) */ + /* _mesa_function_pool[15393]: CopyColorTable (offset 342) */ "iiiii\0" "glCopyColorTable\0" "glCopyColorTableSGI\0" "\0" - /* _mesa_function_pool[15482]: GetHistogramParameterfv (offset 362) */ + /* _mesa_function_pool[15437]: GetHistogramParameterfv (offset 362) */ "iip\0" "glGetHistogramParameterfv\0" "glGetHistogramParameterfvEXT\0" "\0" - /* _mesa_function_pool[15542]: Frustum (offset 289) */ + /* _mesa_function_pool[15497]: Frustum (offset 289) */ "dddddd\0" "glFrustum\0" "\0" - /* _mesa_function_pool[15560]: GetString (offset 275) */ + /* _mesa_function_pool[15515]: GetString (offset 275) */ "i\0" "glGetString\0" "\0" - /* _mesa_function_pool[15575]: ColorPointervINTEL (dynamic) */ + /* _mesa_function_pool[15530]: ColorPointervINTEL (dynamic) */ "iip\0" "glColorPointervINTEL\0" "\0" - /* _mesa_function_pool[15601]: TexEnvf (offset 184) */ + /* _mesa_function_pool[15556]: TexEnvf (offset 184) */ "iif\0" "glTexEnvf\0" "\0" - /* _mesa_function_pool[15616]: TexCoord3d (offset 110) */ + /* _mesa_function_pool[15571]: TexCoord3d (offset 110) */ "ddd\0" "glTexCoord3d\0" "\0" - /* _mesa_function_pool[15634]: AlphaFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[15589]: AlphaFragmentOp1ATI (will be remapped) */ "iiiiii\0" "glAlphaFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[15664]: TexCoord3f (offset 112) */ + /* _mesa_function_pool[15619]: TexCoord3f (offset 112) */ "fff\0" "glTexCoord3f\0" "\0" - /* _mesa_function_pool[15682]: MultiTexCoord3ivARB (offset 397) */ + /* _mesa_function_pool[15637]: MultiTexCoord3ivARB (offset 397) */ "ip\0" "glMultiTexCoord3iv\0" "glMultiTexCoord3ivARB\0" "\0" - /* _mesa_function_pool[15727]: MultiTexCoord2sARB (offset 390) */ + /* _mesa_function_pool[15682]: MultiTexCoord2sARB (offset 390) */ "iii\0" "glMultiTexCoord2s\0" "glMultiTexCoord2sARB\0" "\0" - /* _mesa_function_pool[15771]: VertexAttrib1dvARB (will be remapped) */ + /* _mesa_function_pool[15726]: VertexAttrib1dvARB (will be remapped) */ "ip\0" "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" "\0" - /* _mesa_function_pool[15814]: DeleteTextures (offset 327) */ + /* _mesa_function_pool[15769]: DeleteTextures (offset 327) */ "ip\0" "glDeleteTextures\0" "glDeleteTexturesEXT\0" "\0" - /* _mesa_function_pool[15855]: TexCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[15810]: TexCoordPointerEXT (will be remapped) */ "iiiip\0" "glTexCoordPointerEXT\0" "\0" - /* _mesa_function_pool[15883]: TexSubImage4DSGIS (dynamic) */ + /* _mesa_function_pool[15838]: TexSubImage4DSGIS (dynamic) */ "iiiiiiiiiiiip\0" "glTexSubImage4DSGIS\0" "\0" - /* _mesa_function_pool[15918]: TexCoord3s (offset 116) */ + /* _mesa_function_pool[15873]: TexCoord3s (offset 116) */ "iii\0" "glTexCoord3s\0" "\0" - /* _mesa_function_pool[15936]: GetTexLevelParameteriv (offset 285) */ + /* _mesa_function_pool[15891]: GetTexLevelParameteriv (offset 285) */ "iiip\0" "glGetTexLevelParameteriv\0" "\0" - /* _mesa_function_pool[15967]: CombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[15922]: CombinerStageParameterfvNV (dynamic) */ "iip\0" "glCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[16001]: StopInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[15956]: StopInstrumentsSGIX (dynamic) */ "i\0" "glStopInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[16026]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[15981]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ "fffffffffffffff\0" "glTexCoord4fColor4fNormal3fVertex4fSUN\0" "\0" - /* _mesa_function_pool[16082]: ClearAccum (offset 204) */ + /* _mesa_function_pool[16037]: ClearAccum (offset 204) */ "ffff\0" "glClearAccum\0" "\0" - /* _mesa_function_pool[16101]: DeformSGIX (dynamic) */ + /* _mesa_function_pool[16056]: DeformSGIX (dynamic) */ "i\0" "glDeformSGIX\0" "\0" - /* _mesa_function_pool[16117]: GetVertexAttribfvARB (will be remapped) */ + /* _mesa_function_pool[16072]: GetVertexAttribfvARB (will be remapped) */ "iip\0" "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" "\0" - /* _mesa_function_pool[16165]: SecondaryColor3ivEXT (will be remapped) */ + /* _mesa_function_pool[16120]: SecondaryColor3ivEXT (will be remapped) */ "p\0" "glSecondaryColor3iv\0" "glSecondaryColor3ivEXT\0" "\0" - /* _mesa_function_pool[16211]: TexCoord4iv (offset 123) */ + /* _mesa_function_pool[16166]: TexCoord4iv (offset 123) */ "p\0" "glTexCoord4iv\0" "\0" - /* _mesa_function_pool[16228]: VertexAttribI4uiEXT (will be remapped) */ + /* _mesa_function_pool[16183]: VertexAttribI4uiEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4uiEXT\0" "glVertexAttribI4ui\0" "\0" - /* _mesa_function_pool[16276]: GetFragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[16231]: GetFragmentMaterialfvSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[16309]: UniformMatrix4x2fv (will be remapped) */ + /* _mesa_function_pool[16264]: UniformMatrix4x2fv (will be remapped) */ "iiip\0" "glUniformMatrix4x2fv\0" "\0" - /* _mesa_function_pool[16336]: GetDetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[16291]: GetDetailTexFuncSGIS (dynamic) */ "ip\0" "glGetDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[16363]: GetCombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[16318]: GetCombinerStageParameterfvNV (dynamic) */ "iip\0" "glGetCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[16400]: PolygonOffset (offset 319) */ + /* _mesa_function_pool[16355]: PolygonOffset (offset 319) */ "ff\0" "glPolygonOffset\0" "\0" - /* _mesa_function_pool[16420]: BindVertexArray (will be remapped) */ + /* _mesa_function_pool[16375]: BindVertexArray (will be remapped) */ "i\0" "glBindVertexArray\0" "\0" - /* _mesa_function_pool[16441]: Color4ubVertex2fvSUN (dynamic) */ + /* _mesa_function_pool[16396]: Color4ubVertex2fvSUN (dynamic) */ "pp\0" "glColor4ubVertex2fvSUN\0" "\0" - /* _mesa_function_pool[16468]: Rectd (offset 86) */ + /* _mesa_function_pool[16423]: Rectd (offset 86) */ "dddd\0" "glRectd\0" "\0" - /* _mesa_function_pool[16482]: TexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[16437]: TexFilterFuncSGIS (dynamic) */ "iiip\0" "glTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[16508]: SampleMaskSGIS (will be remapped) */ - "fi\0" - "glSampleMaskSGIS\0" - "glSampleMaskEXT\0" + /* _mesa_function_pool[16463]: TextureBarrierNV (will be remapped) */ "\0" - /* _mesa_function_pool[16545]: VertexAttribI4ubvEXT (will be remapped) */ + "glTextureBarrierNV\0" + "\0" + /* _mesa_function_pool[16484]: VertexAttribI4ubvEXT (will be remapped) */ "ip\0" "glVertexAttribI4ubvEXT\0" "glVertexAttribI4ubv\0" "\0" - /* _mesa_function_pool[16592]: GetAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[16531]: GetAttribLocationARB (will be remapped) */ "ip\0" "glGetAttribLocation\0" "glGetAttribLocationARB\0" "\0" - /* _mesa_function_pool[16639]: RasterPos3i (offset 74) */ + /* _mesa_function_pool[16578]: RasterPos3i (offset 74) */ "iii\0" "glRasterPos3i\0" "\0" - /* _mesa_function_pool[16658]: BlendEquationSeparateiARB (will be remapped) */ - "iii\0" - "glBlendEquationSeparateiARB\0" - "\0" - /* _mesa_function_pool[16691]: VertexAttrib4ubvARB (will be remapped) */ + /* _mesa_function_pool[16597]: VertexAttrib4ubvARB (will be remapped) */ "ip\0" "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" "\0" - /* _mesa_function_pool[16736]: DetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[16642]: DetailTexFuncSGIS (dynamic) */ "iip\0" "glDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[16761]: Normal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[16667]: Normal3fVertex3fSUN (dynamic) */ "ffffff\0" "glNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[16791]: CopyTexImage2D (offset 324) */ + /* _mesa_function_pool[16697]: CopyTexImage2D (offset 324) */ "iiiiiiii\0" "glCopyTexImage2D\0" "glCopyTexImage2DEXT\0" "\0" - /* _mesa_function_pool[16838]: GetBufferPointervARB (will be remapped) */ + /* _mesa_function_pool[16744]: GetBufferPointervARB (will be remapped) */ "iip\0" "glGetBufferPointerv\0" "glGetBufferPointervARB\0" "\0" - /* _mesa_function_pool[16886]: ProgramEnvParameter4fARB (will be remapped) */ + /* _mesa_function_pool[16792]: ProgramEnvParameter4fARB (will be remapped) */ "iiffff\0" "glProgramEnvParameter4fARB\0" "glProgramParameter4fNV\0" "\0" - /* _mesa_function_pool[16944]: Uniform3ivARB (will be remapped) */ + /* _mesa_function_pool[16850]: Uniform3ivARB (will be remapped) */ "iip\0" "glUniform3iv\0" "glUniform3ivARB\0" "\0" - /* _mesa_function_pool[16978]: Lightfv (offset 160) */ + /* _mesa_function_pool[16884]: Lightfv (offset 160) */ "iip\0" "glLightfv\0" "\0" - /* _mesa_function_pool[16993]: PrimitiveRestartIndexNV (will be remapped) */ + /* _mesa_function_pool[16899]: PrimitiveRestartIndexNV (will be remapped) */ "i\0" "glPrimitiveRestartIndexNV\0" "glPrimitiveRestartIndex\0" "\0" - /* _mesa_function_pool[17046]: ClearDepth (offset 208) */ + /* _mesa_function_pool[16952]: ClearDepth (offset 208) */ "d\0" "glClearDepth\0" "\0" - /* _mesa_function_pool[17062]: GetFenceivNV (will be remapped) */ + /* _mesa_function_pool[16968]: GetFenceivNV (will be remapped) */ "iip\0" "glGetFenceivNV\0" "\0" - /* _mesa_function_pool[17082]: WindowPos4dvMESA (will be remapped) */ + /* _mesa_function_pool[16988]: WindowPos4dvMESA (will be remapped) */ "p\0" "glWindowPos4dvMESA\0" "\0" - /* _mesa_function_pool[17104]: ColorSubTable (offset 346) */ + /* _mesa_function_pool[17010]: ColorSubTable (offset 346) */ "iiiiip\0" "glColorSubTable\0" "glColorSubTableEXT\0" "\0" - /* _mesa_function_pool[17147]: Color4fv (offset 30) */ + /* _mesa_function_pool[17053]: Color4fv (offset 30) */ "p\0" "glColor4fv\0" "\0" - /* _mesa_function_pool[17161]: MultiTexCoord4ivARB (offset 405) */ + /* _mesa_function_pool[17067]: MultiTexCoord4ivARB (offset 405) */ "ip\0" "glMultiTexCoord4iv\0" "glMultiTexCoord4ivARB\0" "\0" - /* _mesa_function_pool[17206]: ProgramLocalParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[17112]: ProgramLocalParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramLocalParameters4fvEXT\0" "\0" - /* _mesa_function_pool[17243]: ColorPointer (offset 308) */ + /* _mesa_function_pool[17149]: ColorPointer (offset 308) */ "iiip\0" "glColorPointer\0" "\0" - /* _mesa_function_pool[17264]: Rects (offset 92) */ + /* _mesa_function_pool[17170]: Rects (offset 92) */ "iiii\0" "glRects\0" "\0" - /* _mesa_function_pool[17278]: GetMapAttribParameterfvNV (dynamic) */ + /* _mesa_function_pool[17184]: GetMapAttribParameterfvNV (dynamic) */ "iiip\0" "glGetMapAttribParameterfvNV\0" "\0" - /* _mesa_function_pool[17312]: CreateShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[17218]: CreateShaderProgramEXT (will be remapped) */ "ip\0" "glCreateShaderProgramEXT\0" "\0" - /* _mesa_function_pool[17341]: ActiveProgramEXT (will be remapped) */ + /* _mesa_function_pool[17247]: ActiveProgramEXT (will be remapped) */ "i\0" "glActiveProgramEXT\0" "\0" - /* _mesa_function_pool[17363]: Lightiv (offset 162) */ + /* _mesa_function_pool[17269]: Lightiv (offset 162) */ "iip\0" "glLightiv\0" "\0" - /* _mesa_function_pool[17378]: VertexAttrib4sARB (will be remapped) */ + /* _mesa_function_pool[17284]: VertexAttrib4sARB (will be remapped) */ "iiiii\0" "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" "\0" - /* _mesa_function_pool[17422]: GetQueryObjectuivARB (will be remapped) */ + /* _mesa_function_pool[17328]: GetQueryObjectuivARB (will be remapped) */ "iip\0" "glGetQueryObjectuiv\0" "glGetQueryObjectuivARB\0" "\0" - /* _mesa_function_pool[17470]: GetTexParameteriv (offset 283) */ + /* _mesa_function_pool[17376]: GetTexParameteriv (offset 283) */ "iip\0" "glGetTexParameteriv\0" "\0" - /* _mesa_function_pool[17495]: MapParameterivNV (dynamic) */ + /* _mesa_function_pool[17401]: MapParameterivNV (dynamic) */ "iip\0" "glMapParameterivNV\0" "\0" - /* _mesa_function_pool[17519]: GenRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[17425]: GenRenderbuffersEXT (will be remapped) */ "ip\0" "glGenRenderbuffers\0" "glGenRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[17564]: ClearBufferfv (will be remapped) */ + /* _mesa_function_pool[17470]: ClearBufferfv (will be remapped) */ "iip\0" "glClearBufferfv\0" "\0" - /* _mesa_function_pool[17585]: VertexAttrib2dvARB (will be remapped) */ + /* _mesa_function_pool[17491]: VertexAttrib2dvARB (will be remapped) */ "ip\0" "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" "\0" - /* _mesa_function_pool[17628]: EdgeFlagPointerEXT (will be remapped) */ + /* _mesa_function_pool[17534]: EdgeFlagPointerEXT (will be remapped) */ "iip\0" "glEdgeFlagPointerEXT\0" "\0" - /* _mesa_function_pool[17654]: VertexAttribs2svNV (will be remapped) */ + /* _mesa_function_pool[17560]: VertexAttribs2svNV (will be remapped) */ "iip\0" "glVertexAttribs2svNV\0" "\0" - /* _mesa_function_pool[17680]: WeightbvARB (dynamic) */ + /* _mesa_function_pool[17586]: WeightbvARB (dynamic) */ "ip\0" "glWeightbvARB\0" "\0" - /* _mesa_function_pool[17698]: VertexAttrib2fvARB (will be remapped) */ + /* _mesa_function_pool[17604]: VertexAttrib2fvARB (will be remapped) */ "ip\0" "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" "\0" - /* _mesa_function_pool[17741]: GetBufferParameterivARB (will be remapped) */ + /* _mesa_function_pool[17647]: GetBufferParameterivARB (will be remapped) */ "iip\0" "glGetBufferParameteriv\0" "glGetBufferParameterivARB\0" "\0" - /* _mesa_function_pool[17795]: Rectdv (offset 87) */ + /* _mesa_function_pool[17701]: Rectdv (offset 87) */ "pp\0" "glRectdv\0" "\0" - /* _mesa_function_pool[17808]: ListParameteriSGIX (dynamic) */ + /* _mesa_function_pool[17714]: ListParameteriSGIX (dynamic) */ "iii\0" "glListParameteriSGIX\0" "\0" - /* _mesa_function_pool[17834]: BlendEquationiARB (will be remapped) */ + /* _mesa_function_pool[17740]: BlendEquationiARB (will be remapped) */ "ii\0" "glBlendEquationiARB\0" "\0" - /* _mesa_function_pool[17858]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[17764]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffff\0" "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[17917]: InstrumentsBufferSGIX (dynamic) */ + /* _mesa_function_pool[17823]: InstrumentsBufferSGIX (dynamic) */ "ip\0" "glInstrumentsBufferSGIX\0" "\0" - /* _mesa_function_pool[17945]: VertexAttrib4NivARB (will be remapped) */ + /* _mesa_function_pool[17851]: VertexAttrib4NivARB (will be remapped) */ "ip\0" "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" "\0" - /* _mesa_function_pool[17990]: DrawArraysInstancedARB (will be remapped) */ + /* _mesa_function_pool[17896]: DrawArraysInstancedARB (will be remapped) */ "iiii\0" "glDrawArraysInstancedARB\0" "glDrawArraysInstancedEXT\0" "glDrawArraysInstanced\0" "\0" - /* _mesa_function_pool[18068]: GetAttachedShaders (will be remapped) */ + /* _mesa_function_pool[17974]: GetAttachedShaders (will be remapped) */ "iipp\0" "glGetAttachedShaders\0" "\0" - /* _mesa_function_pool[18095]: GenVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[18001]: GenVertexArraysAPPLE (will be remapped) */ "ip\0" "glGenVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[18122]: ClearBufferfi (will be remapped) */ + /* _mesa_function_pool[18028]: ClearBufferfi (will be remapped) */ "iifi\0" "glClearBufferfi\0" "\0" - /* _mesa_function_pool[18144]: Materialiv (offset 172) */ + /* _mesa_function_pool[18050]: Materialiv (offset 172) */ "iip\0" "glMaterialiv\0" "\0" - /* _mesa_function_pool[18162]: PushClientAttrib (offset 335) */ + /* _mesa_function_pool[18068]: PushClientAttrib (offset 335) */ "i\0" "glPushClientAttrib\0" "\0" - /* _mesa_function_pool[18184]: ProgramEnvParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[18090]: ProgramEnvParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramEnvParameters4fvEXT\0" "\0" - /* _mesa_function_pool[18219]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[18125]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[18265]: WindowPos2iMESA (will be remapped) */ + /* _mesa_function_pool[18171]: WindowPos2iMESA (will be remapped) */ "ii\0" "glWindowPos2i\0" "glWindowPos2iARB\0" "glWindowPos2iMESA\0" "\0" - /* _mesa_function_pool[18318]: SecondaryColor3fvEXT (will be remapped) */ + /* _mesa_function_pool[18224]: SampleMaskSGIS (will be remapped) */ + "fi\0" + "glSampleMaskSGIS\0" + "glSampleMaskEXT\0" + "\0" + /* _mesa_function_pool[18261]: SecondaryColor3fvEXT (will be remapped) */ "p\0" "glSecondaryColor3fv\0" "glSecondaryColor3fvEXT\0" "\0" - /* _mesa_function_pool[18364]: PolygonMode (offset 174) */ + /* _mesa_function_pool[18307]: PolygonMode (offset 174) */ "ii\0" "glPolygonMode\0" "\0" - /* _mesa_function_pool[18382]: CompressedTexSubImage1DARB (will be remapped) */ + /* _mesa_function_pool[18325]: CompressedTexSubImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexSubImage1D\0" "glCompressedTexSubImage1DARB\0" "\0" - /* _mesa_function_pool[18446]: VertexAttribI1iEXT (will be remapped) */ + /* _mesa_function_pool[18389]: VertexAttribI1iEXT (will be remapped) */ "ii\0" "glVertexAttribI1iEXT\0" "glVertexAttribI1i\0" "\0" - /* _mesa_function_pool[18489]: GetVertexAttribivNV (will be remapped) */ + /* _mesa_function_pool[18432]: GetVertexAttribivNV (will be remapped) */ "iip\0" "glGetVertexAttribivNV\0" "\0" - /* _mesa_function_pool[18516]: GetProgramStringARB (will be remapped) */ + /* _mesa_function_pool[18459]: GetProgramStringARB (will be remapped) */ "iip\0" "glGetProgramStringARB\0" "\0" - /* _mesa_function_pool[18543]: VertexAttribIPointerEXT (will be remapped) */ + /* _mesa_function_pool[18486]: VertexAttribIPointerEXT (will be remapped) */ "iiiip\0" "glVertexAttribIPointerEXT\0" "glVertexAttribIPointer\0" "\0" - /* _mesa_function_pool[18599]: TexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[18542]: TexBumpParameterfvATI (will be remapped) */ "ip\0" "glTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[18627]: CompileShaderARB (will be remapped) */ + /* _mesa_function_pool[18570]: CompileShaderARB (will be remapped) */ "i\0" "glCompileShader\0" "glCompileShaderARB\0" "\0" - /* _mesa_function_pool[18665]: DeleteShader (will be remapped) */ + /* _mesa_function_pool[18608]: DeleteShader (will be remapped) */ "i\0" "glDeleteShader\0" "\0" - /* _mesa_function_pool[18683]: DisableClientState (offset 309) */ + /* _mesa_function_pool[18626]: DisableClientState (offset 309) */ "i\0" "glDisableClientState\0" "\0" - /* _mesa_function_pool[18707]: TexGeni (offset 192) */ + /* _mesa_function_pool[18650]: TexGeni (offset 192) */ "iii\0" "glTexGeni\0" "\0" - /* _mesa_function_pool[18722]: TexGenf (offset 190) */ + /* _mesa_function_pool[18665]: TexGenf (offset 190) */ "iif\0" "glTexGenf\0" "\0" - /* _mesa_function_pool[18737]: Uniform3fARB (will be remapped) */ + /* _mesa_function_pool[18680]: Uniform3fARB (will be remapped) */ "ifff\0" "glUniform3f\0" "glUniform3fARB\0" "\0" - /* _mesa_function_pool[18770]: TexGend (offset 188) */ + /* _mesa_function_pool[18713]: TexGend (offset 188) */ "iid\0" "glTexGend\0" "\0" - /* _mesa_function_pool[18785]: ListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[18728]: ListParameterfvSGIX (dynamic) */ "iip\0" "glListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[18812]: GetPolygonStipple (offset 274) */ + /* _mesa_function_pool[18755]: GetPolygonStipple (offset 274) */ "p\0" "glGetPolygonStipple\0" "\0" - /* _mesa_function_pool[18835]: Tangent3dvEXT (dynamic) */ + /* _mesa_function_pool[18778]: Tangent3dvEXT (dynamic) */ "p\0" "glTangent3dvEXT\0" "\0" - /* _mesa_function_pool[18854]: BindBufferOffsetEXT (will be remapped) */ + /* _mesa_function_pool[18797]: BindBufferOffsetEXT (will be remapped) */ "iiii\0" "glBindBufferOffsetEXT\0" "\0" - /* _mesa_function_pool[18882]: WindowPos3sMESA (will be remapped) */ + /* _mesa_function_pool[18825]: WindowPos3sMESA (will be remapped) */ "iii\0" "glWindowPos3s\0" "glWindowPos3sARB\0" "glWindowPos3sMESA\0" "\0" - /* _mesa_function_pool[18936]: VertexAttrib2svNV (will be remapped) */ + /* _mesa_function_pool[18879]: VertexAttrib2svNV (will be remapped) */ "ip\0" "glVertexAttrib2svNV\0" "\0" - /* _mesa_function_pool[18960]: DisableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[18903]: DisableIndexedEXT (will be remapped) */ "ii\0" "glDisableIndexedEXT\0" "glDisablei\0" "\0" - /* _mesa_function_pool[18995]: BindBufferBaseEXT (will be remapped) */ + /* _mesa_function_pool[18938]: BindBufferBaseEXT (will be remapped) */ "iii\0" "glBindBufferBaseEXT\0" "glBindBufferBase\0" "\0" - /* _mesa_function_pool[19037]: TexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[18980]: TexCoord2fVertex3fvSUN (dynamic) */ "pp\0" "glTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[19066]: WindowPos4sMESA (will be remapped) */ + /* _mesa_function_pool[19009]: WindowPos4sMESA (will be remapped) */ "iiii\0" "glWindowPos4sMESA\0" "\0" - /* _mesa_function_pool[19090]: VertexAttrib4NuivARB (will be remapped) */ + /* _mesa_function_pool[19033]: VertexAttrib4NuivARB (will be remapped) */ "ip\0" "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" "\0" - /* _mesa_function_pool[19137]: ClientActiveTextureARB (offset 375) */ + /* _mesa_function_pool[19080]: ClientActiveTextureARB (offset 375) */ "i\0" "glClientActiveTexture\0" "glClientActiveTextureARB\0" "\0" - /* _mesa_function_pool[19187]: PixelTexGenSGIX (will be remapped) */ + /* _mesa_function_pool[19130]: PixelTexGenSGIX (will be remapped) */ "i\0" "glPixelTexGenSGIX\0" "\0" - /* _mesa_function_pool[19208]: ReplacementCodeusvSUN (dynamic) */ + /* _mesa_function_pool[19151]: ReplacementCodeusvSUN (dynamic) */ "p\0" "glReplacementCodeusvSUN\0" "\0" - /* _mesa_function_pool[19235]: Uniform4fARB (will be remapped) */ + /* _mesa_function_pool[19178]: Uniform4fARB (will be remapped) */ "iffff\0" "glUniform4f\0" "glUniform4fARB\0" "\0" - /* _mesa_function_pool[19269]: Color4sv (offset 34) */ + /* _mesa_function_pool[19212]: Color4sv (offset 34) */ "p\0" "glColor4sv\0" "\0" - /* _mesa_function_pool[19283]: FlushMappedBufferRange (will be remapped) */ + /* _mesa_function_pool[19226]: FlushMappedBufferRange (will be remapped) */ "iii\0" "glFlushMappedBufferRange\0" "\0" - /* _mesa_function_pool[19313]: IsProgramNV (will be remapped) */ + /* _mesa_function_pool[19256]: IsProgramNV (will be remapped) */ "i\0" "glIsProgramARB\0" "glIsProgramNV\0" "\0" - /* _mesa_function_pool[19345]: FlushMappedBufferRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[19288]: FlushMappedBufferRangeAPPLE (will be remapped) */ "iii\0" "glFlushMappedBufferRangeAPPLE\0" "\0" - /* _mesa_function_pool[19380]: PixelZoom (offset 246) */ + /* _mesa_function_pool[19323]: PixelZoom (offset 246) */ "ff\0" "glPixelZoom\0" "\0" - /* _mesa_function_pool[19396]: ReplacementCodePointerSUN (dynamic) */ + /* _mesa_function_pool[19339]: ReplacementCodePointerSUN (dynamic) */ "iip\0" "glReplacementCodePointerSUN\0" "\0" - /* _mesa_function_pool[19429]: ProgramEnvParameter4dARB (will be remapped) */ + /* _mesa_function_pool[19372]: ProgramEnvParameter4dARB (will be remapped) */ "iidddd\0" "glProgramEnvParameter4dARB\0" "glProgramParameter4dNV\0" "\0" - /* _mesa_function_pool[19487]: ColorTableParameterfv (offset 340) */ + /* _mesa_function_pool[19430]: ColorTableParameterfv (offset 340) */ "iip\0" "glColorTableParameterfv\0" "glColorTableParameterfvSGI\0" "\0" - /* _mesa_function_pool[19543]: FragmentLightModelfSGIX (dynamic) */ + /* _mesa_function_pool[19486]: FragmentLightModelfSGIX (dynamic) */ "if\0" "glFragmentLightModelfSGIX\0" "\0" - /* _mesa_function_pool[19573]: Binormal3bvEXT (dynamic) */ + /* _mesa_function_pool[19516]: Binormal3bvEXT (dynamic) */ "p\0" "glBinormal3bvEXT\0" "\0" - /* _mesa_function_pool[19593]: PixelMapuiv (offset 252) */ + /* _mesa_function_pool[19536]: PixelMapuiv (offset 252) */ "iip\0" "glPixelMapuiv\0" "\0" - /* _mesa_function_pool[19612]: Color3dv (offset 12) */ + /* _mesa_function_pool[19555]: Color3dv (offset 12) */ "p\0" "glColor3dv\0" "\0" - /* _mesa_function_pool[19626]: IsTexture (offset 330) */ + /* _mesa_function_pool[19569]: IsTexture (offset 330) */ "i\0" "glIsTexture\0" "glIsTextureEXT\0" "\0" - /* _mesa_function_pool[19656]: VertexWeightfvEXT (dynamic) */ + /* _mesa_function_pool[19599]: VertexWeightfvEXT (dynamic) */ "p\0" "glVertexWeightfvEXT\0" "\0" - /* _mesa_function_pool[19679]: VertexAttrib1dARB (will be remapped) */ + /* _mesa_function_pool[19622]: VertexAttrib1dARB (will be remapped) */ "id\0" "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" "\0" - /* _mesa_function_pool[19720]: ImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[19663]: ImageTransformParameterivHP (dynamic) */ "iip\0" "glImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[19755]: TexCoord4i (offset 122) */ + /* _mesa_function_pool[19698]: TexCoord4i (offset 122) */ "iiii\0" "glTexCoord4i\0" "\0" - /* _mesa_function_pool[19774]: DeleteQueriesARB (will be remapped) */ + /* _mesa_function_pool[19717]: DeleteQueriesARB (will be remapped) */ "ip\0" "glDeleteQueries\0" "glDeleteQueriesARB\0" "\0" - /* _mesa_function_pool[19813]: Color4ubVertex2fSUN (dynamic) */ + /* _mesa_function_pool[19756]: Color4ubVertex2fSUN (dynamic) */ "iiiiff\0" "glColor4ubVertex2fSUN\0" "\0" - /* _mesa_function_pool[19843]: FragmentColorMaterialSGIX (dynamic) */ + /* _mesa_function_pool[19786]: FragmentColorMaterialSGIX (dynamic) */ "ii\0" "glFragmentColorMaterialSGIX\0" "\0" - /* _mesa_function_pool[19875]: CurrentPaletteMatrixARB (dynamic) */ + /* _mesa_function_pool[19818]: CurrentPaletteMatrixARB (dynamic) */ "i\0" "glCurrentPaletteMatrixARB\0" "\0" - /* _mesa_function_pool[19904]: GetMapdv (offset 266) */ + /* _mesa_function_pool[19847]: GetMapdv (offset 266) */ "iip\0" "glGetMapdv\0" "\0" - /* _mesa_function_pool[19920]: ObjectPurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[19863]: ObjectPurgeableAPPLE (will be remapped) */ "iii\0" "glObjectPurgeableAPPLE\0" "\0" - /* _mesa_function_pool[19948]: GetStringi (will be remapped) */ + /* _mesa_function_pool[19891]: GetStringi (will be remapped) */ "ii\0" "glGetStringi\0" "\0" - /* _mesa_function_pool[19965]: SamplePatternSGIS (will be remapped) */ + /* _mesa_function_pool[19908]: SamplePatternSGIS (will be remapped) */ "i\0" "glSamplePatternSGIS\0" "glSamplePatternEXT\0" "\0" - /* _mesa_function_pool[20007]: PixelStoref (offset 249) */ + /* _mesa_function_pool[19950]: PixelStoref (offset 249) */ "if\0" "glPixelStoref\0" "\0" - /* _mesa_function_pool[20025]: IsQueryARB (will be remapped) */ + /* _mesa_function_pool[19968]: IsQueryARB (will be remapped) */ "i\0" "glIsQuery\0" "glIsQueryARB\0" "\0" - /* _mesa_function_pool[20051]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[19994]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ "iiiiifff\0" "glReplacementCodeuiColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[20100]: PixelStorei (offset 250) */ + /* _mesa_function_pool[20043]: PixelStorei (offset 250) */ "ii\0" "glPixelStorei\0" "\0" - /* _mesa_function_pool[20118]: VertexAttrib4usvARB (will be remapped) */ + /* _mesa_function_pool[20061]: VertexAttrib4usvARB (will be remapped) */ "ip\0" "glVertexAttrib4usv\0" "glVertexAttrib4usvARB\0" "\0" - /* _mesa_function_pool[20163]: LinkProgramARB (will be remapped) */ + /* _mesa_function_pool[20106]: LinkProgramARB (will be remapped) */ "i\0" "glLinkProgram\0" "glLinkProgramARB\0" "\0" - /* _mesa_function_pool[20197]: VertexAttrib2fNV (will be remapped) */ + /* _mesa_function_pool[20140]: VertexAttrib2fNV (will be remapped) */ "iff\0" "glVertexAttrib2fNV\0" "\0" - /* _mesa_function_pool[20221]: ShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[20164]: ShaderSourceARB (will be remapped) */ "iipp\0" "glShaderSource\0" "glShaderSourceARB\0" "\0" - /* _mesa_function_pool[20260]: FragmentMaterialiSGIX (dynamic) */ + /* _mesa_function_pool[20203]: FragmentMaterialiSGIX (dynamic) */ "iii\0" "glFragmentMaterialiSGIX\0" "\0" - /* _mesa_function_pool[20289]: EvalCoord2dv (offset 233) */ + /* _mesa_function_pool[20232]: EvalCoord2dv (offset 233) */ "p\0" "glEvalCoord2dv\0" "\0" - /* _mesa_function_pool[20307]: VertexAttrib3svARB (will be remapped) */ + /* _mesa_function_pool[20250]: VertexAttrib3svARB (will be remapped) */ "ip\0" "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" "\0" - /* _mesa_function_pool[20350]: ColorMaterial (offset 151) */ + /* _mesa_function_pool[20293]: ColorMaterial (offset 151) */ "ii\0" "glColorMaterial\0" "\0" - /* _mesa_function_pool[20370]: CompressedTexSubImage3DARB (will be remapped) */ + /* _mesa_function_pool[20313]: CompressedTexSubImage3DARB (will be remapped) */ "iiiiiiiiiip\0" "glCompressedTexSubImage3D\0" "glCompressedTexSubImage3DARB\0" "\0" - /* _mesa_function_pool[20438]: WindowPos2ivMESA (will be remapped) */ + /* _mesa_function_pool[20381]: WindowPos2ivMESA (will be remapped) */ "p\0" "glWindowPos2iv\0" "glWindowPos2ivARB\0" "glWindowPos2ivMESA\0" "\0" - /* _mesa_function_pool[20493]: IsFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[20436]: IsFramebufferEXT (will be remapped) */ "i\0" "glIsFramebuffer\0" "glIsFramebufferEXT\0" "\0" - /* _mesa_function_pool[20531]: Uniform4ivARB (will be remapped) */ + /* _mesa_function_pool[20474]: Uniform4ivARB (will be remapped) */ "iip\0" "glUniform4iv\0" "glUniform4ivARB\0" "\0" - /* _mesa_function_pool[20565]: GetVertexAttribdvARB (will be remapped) */ + /* _mesa_function_pool[20508]: GetVertexAttribdvARB (will be remapped) */ "iip\0" "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" "\0" - /* _mesa_function_pool[20613]: TexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[20556]: TexBumpParameterivATI (will be remapped) */ "ip\0" "glTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[20641]: GetSeparableFilter (offset 359) */ + /* _mesa_function_pool[20584]: GetSeparableFilter (offset 359) */ "iiippp\0" "glGetSeparableFilter\0" "glGetSeparableFilterEXT\0" "\0" - /* _mesa_function_pool[20694]: Binormal3dEXT (dynamic) */ + /* _mesa_function_pool[20637]: Binormal3dEXT (dynamic) */ "ddd\0" "glBinormal3dEXT\0" "\0" - /* _mesa_function_pool[20715]: SpriteParameteriSGIX (dynamic) */ + /* _mesa_function_pool[20658]: SpriteParameteriSGIX (dynamic) */ "ii\0" "glSpriteParameteriSGIX\0" "\0" - /* _mesa_function_pool[20742]: RequestResidentProgramsNV (will be remapped) */ + /* _mesa_function_pool[20685]: RequestResidentProgramsNV (will be remapped) */ "ip\0" "glRequestResidentProgramsNV\0" "\0" - /* _mesa_function_pool[20774]: TagSampleBufferSGIX (dynamic) */ + /* _mesa_function_pool[20717]: TagSampleBufferSGIX (dynamic) */ "\0" "glTagSampleBufferSGIX\0" "\0" - /* _mesa_function_pool[20798]: TransformFeedbackVaryingsEXT (will be remapped) */ + /* _mesa_function_pool[20741]: TransformFeedbackVaryingsEXT (will be remapped) */ "iipi\0" "glTransformFeedbackVaryingsEXT\0" "glTransformFeedbackVaryings\0" "\0" - /* _mesa_function_pool[20863]: FeedbackBuffer (offset 194) */ + /* _mesa_function_pool[20806]: FeedbackBuffer (offset 194) */ "iip\0" "glFeedbackBuffer\0" "\0" - /* _mesa_function_pool[20885]: RasterPos2iv (offset 67) */ + /* _mesa_function_pool[20828]: RasterPos2iv (offset 67) */ "p\0" "glRasterPos2iv\0" "\0" - /* _mesa_function_pool[20903]: TexImage1D (offset 182) */ + /* _mesa_function_pool[20846]: TexImage1D (offset 182) */ "iiiiiiip\0" "glTexImage1D\0" "\0" - /* _mesa_function_pool[20926]: ListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[20869]: ListParameterivSGIX (dynamic) */ "iip\0" "glListParameterivSGIX\0" "\0" - /* _mesa_function_pool[20953]: MultiDrawElementsEXT (will be remapped) */ + /* _mesa_function_pool[20896]: MultiDrawElementsEXT (will be remapped) */ "ipipi\0" "glMultiDrawElements\0" "glMultiDrawElementsEXT\0" "\0" - /* _mesa_function_pool[21003]: Color3s (offset 17) */ + /* _mesa_function_pool[20946]: Color3s (offset 17) */ "iii\0" "glColor3s\0" "\0" - /* _mesa_function_pool[21018]: Uniform1ivARB (will be remapped) */ + /* _mesa_function_pool[20961]: Uniform1ivARB (will be remapped) */ "iip\0" "glUniform1iv\0" "glUniform1ivARB\0" "\0" - /* _mesa_function_pool[21052]: WindowPos2sMESA (will be remapped) */ + /* _mesa_function_pool[20995]: WindowPos2sMESA (will be remapped) */ "ii\0" "glWindowPos2s\0" "glWindowPos2sARB\0" "glWindowPos2sMESA\0" "\0" - /* _mesa_function_pool[21105]: WeightusvARB (dynamic) */ + /* _mesa_function_pool[21048]: WeightusvARB (dynamic) */ "ip\0" "glWeightusvARB\0" "\0" - /* _mesa_function_pool[21124]: TexCoordPointer (offset 320) */ + /* _mesa_function_pool[21067]: TexCoordPointer (offset 320) */ "iiip\0" "glTexCoordPointer\0" "\0" - /* _mesa_function_pool[21148]: FogCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[21091]: FogCoordPointerEXT (will be remapped) */ "iip\0" "glFogCoordPointer\0" "glFogCoordPointerEXT\0" "\0" - /* _mesa_function_pool[21192]: IndexMaterialEXT (dynamic) */ + /* _mesa_function_pool[21135]: IndexMaterialEXT (dynamic) */ "ii\0" "glIndexMaterialEXT\0" "\0" - /* _mesa_function_pool[21215]: Color3i (offset 15) */ + /* _mesa_function_pool[21158]: Color3i (offset 15) */ "iii\0" "glColor3i\0" "\0" - /* _mesa_function_pool[21230]: FrontFace (offset 157) */ + /* _mesa_function_pool[21173]: FrontFace (offset 157) */ "i\0" "glFrontFace\0" "\0" - /* _mesa_function_pool[21245]: EvalCoord2d (offset 232) */ + /* _mesa_function_pool[21188]: EvalCoord2d (offset 232) */ "dd\0" "glEvalCoord2d\0" "\0" - /* _mesa_function_pool[21263]: SecondaryColor3ubvEXT (will be remapped) */ + /* _mesa_function_pool[21206]: SecondaryColor3ubvEXT (will be remapped) */ "p\0" "glSecondaryColor3ubv\0" "glSecondaryColor3ubvEXT\0" "\0" - /* _mesa_function_pool[21311]: EvalCoord2f (offset 234) */ + /* _mesa_function_pool[21254]: EvalCoord2f (offset 234) */ "ff\0" "glEvalCoord2f\0" "\0" - /* _mesa_function_pool[21329]: VertexAttrib4dvARB (will be remapped) */ + /* _mesa_function_pool[21272]: VertexAttrib4dvARB (will be remapped) */ "ip\0" "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" "\0" - /* _mesa_function_pool[21372]: BindAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[21315]: BindAttribLocationARB (will be remapped) */ "iip\0" "glBindAttribLocation\0" "glBindAttribLocationARB\0" "\0" - /* _mesa_function_pool[21422]: Color3b (offset 9) */ + /* _mesa_function_pool[21365]: Color3b (offset 9) */ "iii\0" "glColor3b\0" "\0" - /* _mesa_function_pool[21437]: MultiTexCoord2dARB (offset 384) */ + /* _mesa_function_pool[21380]: MultiTexCoord2dARB (offset 384) */ "idd\0" "glMultiTexCoord2d\0" "glMultiTexCoord2dARB\0" "\0" - /* _mesa_function_pool[21481]: ExecuteProgramNV (will be remapped) */ + /* _mesa_function_pool[21424]: ExecuteProgramNV (will be remapped) */ "iip\0" "glExecuteProgramNV\0" "\0" - /* _mesa_function_pool[21505]: Color3f (offset 13) */ + /* _mesa_function_pool[21448]: Color3f (offset 13) */ "fff\0" "glColor3f\0" "\0" - /* _mesa_function_pool[21520]: LightEnviSGIX (dynamic) */ + /* _mesa_function_pool[21463]: LightEnviSGIX (dynamic) */ "ii\0" "glLightEnviSGIX\0" "\0" - /* _mesa_function_pool[21540]: Color3d (offset 11) */ + /* _mesa_function_pool[21483]: Color3d (offset 11) */ "ddd\0" "glColor3d\0" "\0" - /* _mesa_function_pool[21555]: Normal3dv (offset 55) */ + /* _mesa_function_pool[21498]: Normal3dv (offset 55) */ "p\0" "glNormal3dv\0" "\0" - /* _mesa_function_pool[21570]: Lightf (offset 159) */ + /* _mesa_function_pool[21513]: Lightf (offset 159) */ "iif\0" "glLightf\0" "\0" - /* _mesa_function_pool[21584]: ReplacementCodeuiSUN (dynamic) */ + /* _mesa_function_pool[21527]: ReplacementCodeuiSUN (dynamic) */ "i\0" "glReplacementCodeuiSUN\0" "\0" - /* _mesa_function_pool[21610]: MatrixMode (offset 293) */ + /* _mesa_function_pool[21553]: MatrixMode (offset 293) */ "i\0" "glMatrixMode\0" "\0" - /* _mesa_function_pool[21626]: GetPixelMapusv (offset 273) */ + /* _mesa_function_pool[21569]: GetPixelMapusv (offset 273) */ "ip\0" "glGetPixelMapusv\0" "\0" - /* _mesa_function_pool[21647]: Lighti (offset 161) */ + /* _mesa_function_pool[21590]: Lighti (offset 161) */ "iii\0" "glLighti\0" "\0" - /* _mesa_function_pool[21661]: VertexAttribPointerNV (will be remapped) */ + /* _mesa_function_pool[21604]: VertexAttribPointerNV (will be remapped) */ "iiiip\0" "glVertexAttribPointerNV\0" "\0" - /* _mesa_function_pool[21692]: ClearDepthf (will be remapped) */ + /* _mesa_function_pool[21635]: ClearDepthf (will be remapped) */ "f\0" "glClearDepthf\0" "\0" - /* _mesa_function_pool[21709]: GetBooleanIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[21652]: GetBooleanIndexedvEXT (will be remapped) */ "iip\0" "glGetBooleanIndexedvEXT\0" "glGetBooleani_v\0" "\0" - /* _mesa_function_pool[21754]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ + /* _mesa_function_pool[21697]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ "iiip\0" "glGetFramebufferAttachmentParameteriv\0" "glGetFramebufferAttachmentParameterivEXT\0" "\0" - /* _mesa_function_pool[21839]: PixelTransformParameterfEXT (dynamic) */ + /* _mesa_function_pool[21782]: PixelTransformParameterfEXT (dynamic) */ "iif\0" "glPixelTransformParameterfEXT\0" "\0" - /* _mesa_function_pool[21874]: MultiTexCoord4dvARB (offset 401) */ + /* _mesa_function_pool[21817]: MultiTexCoord4dvARB (offset 401) */ "ip\0" "glMultiTexCoord4dv\0" "glMultiTexCoord4dvARB\0" "\0" - /* _mesa_function_pool[21919]: PixelTransformParameteriEXT (dynamic) */ + /* _mesa_function_pool[21862]: PixelTransformParameteriEXT (dynamic) */ "iii\0" "glPixelTransformParameteriEXT\0" "\0" - /* _mesa_function_pool[21954]: GetDoublev (offset 260) */ + /* _mesa_function_pool[21897]: GetDoublev (offset 260) */ "ip\0" "glGetDoublev\0" "\0" - /* _mesa_function_pool[21971]: MultMatrixd (offset 295) */ + /* _mesa_function_pool[21914]: MultMatrixd (offset 295) */ "p\0" "glMultMatrixd\0" "\0" - /* _mesa_function_pool[21988]: MultMatrixf (offset 294) */ + /* _mesa_function_pool[21931]: MultMatrixf (offset 294) */ "p\0" "glMultMatrixf\0" "\0" - /* _mesa_function_pool[22005]: VertexAttribI4bvEXT (will be remapped) */ + /* _mesa_function_pool[21948]: VertexAttribI4bvEXT (will be remapped) */ "ip\0" "glVertexAttribI4bvEXT\0" "glVertexAttribI4bv\0" "\0" - /* _mesa_function_pool[22050]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[21993]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ "ffiiiifff\0" "glTexCoord2fColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[22093]: Uniform1iARB (will be remapped) */ + /* _mesa_function_pool[22036]: Uniform1iARB (will be remapped) */ "ii\0" "glUniform1i\0" "glUniform1iARB\0" "\0" - /* _mesa_function_pool[22124]: VertexAttribPointerARB (will be remapped) */ + /* _mesa_function_pool[22067]: VertexAttribPointerARB (will be remapped) */ "iiiiip\0" "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" "\0" - /* _mesa_function_pool[22179]: VertexAttrib3sNV (will be remapped) */ + /* _mesa_function_pool[22122]: VertexAttrib3sNV (will be remapped) */ "iiii\0" "glVertexAttrib3sNV\0" "\0" - /* _mesa_function_pool[22204]: SharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[22147]: SharpenTexFuncSGIS (dynamic) */ "iip\0" "glSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[22230]: MultiTexCoord4fvARB (offset 403) */ + /* _mesa_function_pool[22173]: MultiTexCoord4fvARB (offset 403) */ "ip\0" "glMultiTexCoord4fv\0" "glMultiTexCoord4fvARB\0" "\0" - /* _mesa_function_pool[22275]: Uniform2uiEXT (will be remapped) */ + /* _mesa_function_pool[22218]: Uniform2uiEXT (will be remapped) */ "iii\0" "glUniform2uiEXT\0" "glUniform2ui\0" "\0" - /* _mesa_function_pool[22309]: UniformMatrix2x3fv (will be remapped) */ + /* _mesa_function_pool[22252]: UniformMatrix2x3fv (will be remapped) */ "iiip\0" "glUniformMatrix2x3fv\0" "\0" - /* _mesa_function_pool[22336]: TrackMatrixNV (will be remapped) */ + /* _mesa_function_pool[22279]: TrackMatrixNV (will be remapped) */ "iiii\0" "glTrackMatrixNV\0" "\0" - /* _mesa_function_pool[22358]: CombinerParameteriNV (will be remapped) */ + /* _mesa_function_pool[22301]: CombinerParameteriNV (will be remapped) */ "ii\0" "glCombinerParameteriNV\0" "\0" - /* _mesa_function_pool[22385]: DeleteAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[22328]: DeleteAsyncMarkersSGIX (dynamic) */ "ii\0" "glDeleteAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[22414]: ReplacementCodeusSUN (dynamic) */ + /* _mesa_function_pool[22357]: ReplacementCodeusSUN (dynamic) */ "i\0" "glReplacementCodeusSUN\0" "\0" - /* _mesa_function_pool[22440]: IsAsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[22383]: IsAsyncMarkerSGIX (dynamic) */ "i\0" "glIsAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[22463]: FrameZoomSGIX (dynamic) */ + /* _mesa_function_pool[22406]: FrameZoomSGIX (dynamic) */ "i\0" "glFrameZoomSGIX\0" "\0" - /* _mesa_function_pool[22482]: Normal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[22425]: Normal3fVertex3fvSUN (dynamic) */ "pp\0" "glNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[22509]: RasterPos4sv (offset 85) */ + /* _mesa_function_pool[22452]: RasterPos4sv (offset 85) */ "p\0" "glRasterPos4sv\0" "\0" - /* _mesa_function_pool[22527]: VertexAttrib4NsvARB (will be remapped) */ + /* _mesa_function_pool[22470]: VertexAttrib4NsvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" "\0" - /* _mesa_function_pool[22572]: VertexAttrib3fvARB (will be remapped) */ + /* _mesa_function_pool[22515]: VertexAttrib3fvARB (will be remapped) */ "ip\0" "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" "\0" - /* _mesa_function_pool[22615]: ClearColor (offset 206) */ + /* _mesa_function_pool[22558]: ClearColor (offset 206) */ "ffff\0" "glClearColor\0" "\0" - /* _mesa_function_pool[22634]: GetSynciv (will be remapped) */ + /* _mesa_function_pool[22577]: GetSynciv (will be remapped) */ "iiipp\0" "glGetSynciv\0" "\0" - /* _mesa_function_pool[22653]: ClearColorIiEXT (will be remapped) */ + /* _mesa_function_pool[22596]: ClearColorIiEXT (will be remapped) */ "iiii\0" "glClearColorIiEXT\0" "\0" - /* _mesa_function_pool[22677]: DeleteFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[22620]: DeleteFramebuffersEXT (will be remapped) */ "ip\0" "glDeleteFramebuffers\0" "glDeleteFramebuffersEXT\0" "\0" - /* _mesa_function_pool[22726]: GlobalAlphaFactorsSUN (dynamic) */ + /* _mesa_function_pool[22669]: GlobalAlphaFactorsSUN (dynamic) */ "i\0" "glGlobalAlphaFactorsSUN\0" "\0" - /* _mesa_function_pool[22753]: IsEnabledIndexedEXT (will be remapped) */ + /* _mesa_function_pool[22696]: IsEnabledIndexedEXT (will be remapped) */ "ii\0" "glIsEnabledIndexedEXT\0" "glIsEnabledi\0" "\0" - /* _mesa_function_pool[22792]: TexEnviv (offset 187) */ + /* _mesa_function_pool[22735]: TexEnviv (offset 187) */ "iip\0" "glTexEnviv\0" "\0" - /* _mesa_function_pool[22808]: TexSubImage3D (offset 372) */ + /* _mesa_function_pool[22751]: TexSubImage3D (offset 372) */ "iiiiiiiiiip\0" "glTexSubImage3D\0" "glTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[22856]: Tangent3fEXT (dynamic) */ + /* _mesa_function_pool[22799]: Tangent3fEXT (dynamic) */ "fff\0" "glTangent3fEXT\0" "\0" - /* _mesa_function_pool[22876]: SecondaryColor3uivEXT (will be remapped) */ + /* _mesa_function_pool[22819]: SecondaryColor3uivEXT (will be remapped) */ "p\0" "glSecondaryColor3uiv\0" "glSecondaryColor3uivEXT\0" "\0" - /* _mesa_function_pool[22924]: MatrixIndexubvARB (dynamic) */ + /* _mesa_function_pool[22867]: MatrixIndexubvARB (dynamic) */ "ip\0" "glMatrixIndexubvARB\0" "\0" - /* _mesa_function_pool[22948]: Color4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[22891]: Color4fNormal3fVertex3fSUN (dynamic) */ "ffffffffff\0" "glColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[22989]: PixelTexGenParameterfSGIS (will be remapped) */ + /* _mesa_function_pool[22932]: PixelTexGenParameterfSGIS (will be remapped) */ "if\0" "glPixelTexGenParameterfSGIS\0" "\0" - /* _mesa_function_pool[23021]: CreateShader (will be remapped) */ + /* _mesa_function_pool[22964]: CreateShader (will be remapped) */ "i\0" "glCreateShader\0" "\0" - /* _mesa_function_pool[23039]: GetColorTableParameterfv (offset 344) */ + /* _mesa_function_pool[22982]: GetColorTableParameterfv (offset 344) */ "iip\0" "glGetColorTableParameterfv\0" "glGetColorTableParameterfvSGI\0" "glGetColorTableParameterfvEXT\0" "\0" - /* _mesa_function_pool[23131]: FragmentLightModelfvSGIX (dynamic) */ + /* _mesa_function_pool[23074]: FragmentLightModelfvSGIX (dynamic) */ "ip\0" "glFragmentLightModelfvSGIX\0" "\0" - /* _mesa_function_pool[23162]: Bitmap (offset 8) */ + /* _mesa_function_pool[23105]: Bitmap (offset 8) */ "iiffffp\0" "glBitmap\0" "\0" - /* _mesa_function_pool[23180]: MultiTexCoord3fARB (offset 394) */ + /* _mesa_function_pool[23123]: MultiTexCoord3fARB (offset 394) */ "ifff\0" "glMultiTexCoord3f\0" "glMultiTexCoord3fARB\0" "\0" - /* _mesa_function_pool[23225]: GetTexLevelParameterfv (offset 284) */ + /* _mesa_function_pool[23168]: GetTexLevelParameterfv (offset 284) */ "iiip\0" "glGetTexLevelParameterfv\0" "\0" - /* _mesa_function_pool[23256]: GetPixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[23199]: GetPixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[23292]: GenFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[23235]: GenFramebuffersEXT (will be remapped) */ "ip\0" "glGenFramebuffers\0" "glGenFramebuffersEXT\0" "\0" - /* _mesa_function_pool[23335]: VertexAttribDivisor (will be remapped) */ + /* _mesa_function_pool[23278]: VertexAttribDivisor (will be remapped) */ "ii\0" "glVertexAttribDivisor\0" "\0" - /* _mesa_function_pool[23361]: GetProgramParameterdvNV (will be remapped) */ + /* _mesa_function_pool[23304]: GetProgramParameterdvNV (will be remapped) */ "iiip\0" "glGetProgramParameterdvNV\0" "\0" - /* _mesa_function_pool[23393]: Vertex2sv (offset 133) */ + /* _mesa_function_pool[23336]: Vertex2sv (offset 133) */ "p\0" "glVertex2sv\0" "\0" - /* _mesa_function_pool[23408]: GetIntegerv (offset 263) */ + /* _mesa_function_pool[23351]: GetIntegerv (offset 263) */ "ip\0" "glGetIntegerv\0" "\0" - /* _mesa_function_pool[23426]: IsVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[23369]: IsVertexArrayAPPLE (will be remapped) */ "i\0" "glIsVertexArray\0" "glIsVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[23466]: FragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[23409]: FragmentLightfvSGIX (dynamic) */ "iip\0" "glFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[23493]: VertexAttribDivisorARB (will be remapped) */ + /* _mesa_function_pool[23436]: VertexAttribDivisorARB (will be remapped) */ "ii\0" "glVertexAttribDivisorARB\0" "\0" - /* _mesa_function_pool[23522]: DetachShader (will be remapped) */ + /* _mesa_function_pool[23465]: DetachShader (will be remapped) */ "ii\0" "glDetachShader\0" "\0" - /* _mesa_function_pool[23541]: VertexAttrib4NubARB (will be remapped) */ + /* _mesa_function_pool[23484]: VertexAttrib4NubARB (will be remapped) */ "iiiii\0" "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" "\0" - /* _mesa_function_pool[23589]: GetProgramEnvParameterfvARB (will be remapped) */ + /* _mesa_function_pool[23532]: GetProgramEnvParameterfvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterfvARB\0" "\0" - /* _mesa_function_pool[23624]: GetTrackMatrixivNV (will be remapped) */ + /* _mesa_function_pool[23567]: GetTrackMatrixivNV (will be remapped) */ "iiip\0" "glGetTrackMatrixivNV\0" "\0" - /* _mesa_function_pool[23651]: VertexAttrib3svNV (will be remapped) */ + /* _mesa_function_pool[23594]: VertexAttrib3svNV (will be remapped) */ "ip\0" "glVertexAttrib3svNV\0" "\0" - /* _mesa_function_pool[23675]: Uniform4fvARB (will be remapped) */ + /* _mesa_function_pool[23618]: Uniform4fvARB (will be remapped) */ "iip\0" "glUniform4fv\0" "glUniform4fvARB\0" "\0" - /* _mesa_function_pool[23709]: MultTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[23652]: MultTransposeMatrixfARB (will be remapped) */ "p\0" "glMultTransposeMatrixf\0" "glMultTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[23761]: GetTexEnviv (offset 277) */ + /* _mesa_function_pool[23704]: GetTexEnviv (offset 277) */ "iip\0" "glGetTexEnviv\0" "\0" - /* _mesa_function_pool[23780]: ColorFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[23723]: ColorFragmentOp1ATI (will be remapped) */ "iiiiiii\0" "glColorFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[23811]: GetUniformfvARB (will be remapped) */ + /* _mesa_function_pool[23754]: GetUniformfvARB (will be remapped) */ "iip\0" "glGetUniformfv\0" "glGetUniformfvARB\0" "\0" - /* _mesa_function_pool[23849]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ + /* _mesa_function_pool[23792]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ "ip\0" "glEGLImageTargetRenderbufferStorageOES\0" "\0" - /* _mesa_function_pool[23892]: VertexAttribI2ivEXT (will be remapped) */ + /* _mesa_function_pool[23835]: VertexAttribI2ivEXT (will be remapped) */ "ip\0" "glVertexAttribI2ivEXT\0" "glVertexAttribI2iv\0" "\0" - /* _mesa_function_pool[23937]: PopClientAttrib (offset 334) */ + /* _mesa_function_pool[23880]: PopClientAttrib (offset 334) */ "\0" "glPopClientAttrib\0" "\0" - /* _mesa_function_pool[23957]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[23900]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffffff\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[24028]: DetachObjectARB (will be remapped) */ + /* _mesa_function_pool[23971]: DetachObjectARB (will be remapped) */ "ii\0" "glDetachObjectARB\0" "\0" - /* _mesa_function_pool[24050]: VertexBlendARB (dynamic) */ + /* _mesa_function_pool[23993]: VertexBlendARB (dynamic) */ "i\0" "glVertexBlendARB\0" "\0" - /* _mesa_function_pool[24070]: WindowPos3iMESA (will be remapped) */ + /* _mesa_function_pool[24013]: WindowPos3iMESA (will be remapped) */ "iii\0" "glWindowPos3i\0" "glWindowPos3iARB\0" "glWindowPos3iMESA\0" "\0" - /* _mesa_function_pool[24124]: SeparableFilter2D (offset 360) */ + /* _mesa_function_pool[24067]: SeparableFilter2D (offset 360) */ "iiiiiipp\0" "glSeparableFilter2D\0" "glSeparableFilter2DEXT\0" "\0" - /* _mesa_function_pool[24177]: ProgramParameteriARB (will be remapped) */ + /* _mesa_function_pool[24120]: ProgramParameteriARB (will be remapped) */ "iii\0" "glProgramParameteriARB\0" "\0" - /* _mesa_function_pool[24205]: Map1d (offset 220) */ + /* _mesa_function_pool[24148]: Map1d (offset 220) */ "iddiip\0" "glMap1d\0" "\0" - /* _mesa_function_pool[24221]: Map1f (offset 221) */ + /* _mesa_function_pool[24164]: Map1f (offset 221) */ "iffiip\0" "glMap1f\0" "\0" - /* _mesa_function_pool[24237]: CompressedTexImage2DARB (will be remapped) */ + /* _mesa_function_pool[24180]: CompressedTexImage2DARB (will be remapped) */ "iiiiiiip\0" "glCompressedTexImage2D\0" "glCompressedTexImage2DARB\0" "\0" - /* _mesa_function_pool[24296]: ArrayElement (offset 306) */ + /* _mesa_function_pool[24239]: ArrayElement (offset 306) */ "i\0" "glArrayElement\0" "glArrayElementEXT\0" "\0" - /* _mesa_function_pool[24332]: TexImage2D (offset 183) */ + /* _mesa_function_pool[24275]: TexImage2D (offset 183) */ "iiiiiiiip\0" "glTexImage2D\0" "\0" - /* _mesa_function_pool[24356]: DepthBoundsEXT (will be remapped) */ + /* _mesa_function_pool[24299]: DepthBoundsEXT (will be remapped) */ "dd\0" "glDepthBoundsEXT\0" "\0" - /* _mesa_function_pool[24377]: ProgramParameters4fvNV (will be remapped) */ + /* _mesa_function_pool[24320]: ProgramParameters4fvNV (will be remapped) */ "iiip\0" "glProgramParameters4fvNV\0" "\0" - /* _mesa_function_pool[24408]: DeformationMap3fSGIX (dynamic) */ + /* _mesa_function_pool[24351]: DeformationMap3fSGIX (dynamic) */ "iffiiffiiffiip\0" "glDeformationMap3fSGIX\0" "\0" - /* _mesa_function_pool[24447]: GetProgramivNV (will be remapped) */ + /* _mesa_function_pool[24390]: GetProgramivNV (will be remapped) */ "iip\0" "glGetProgramivNV\0" "\0" - /* _mesa_function_pool[24469]: GetFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[24412]: GetFragDataLocationEXT (will be remapped) */ "ip\0" "glGetFragDataLocationEXT\0" "glGetFragDataLocation\0" "\0" - /* _mesa_function_pool[24520]: GetMinmaxParameteriv (offset 366) */ + /* _mesa_function_pool[24463]: GetMinmaxParameteriv (offset 366) */ "iip\0" "glGetMinmaxParameteriv\0" "glGetMinmaxParameterivEXT\0" "\0" - /* _mesa_function_pool[24574]: PixelTransferf (offset 247) */ + /* _mesa_function_pool[24517]: PixelTransferf (offset 247) */ "if\0" "glPixelTransferf\0" "\0" - /* _mesa_function_pool[24595]: CopyTexImage1D (offset 323) */ + /* _mesa_function_pool[24538]: CopyTexImage1D (offset 323) */ "iiiiiii\0" "glCopyTexImage1D\0" "glCopyTexImage1DEXT\0" "\0" - /* _mesa_function_pool[24641]: PushMatrix (offset 298) */ + /* _mesa_function_pool[24584]: PushMatrix (offset 298) */ "\0" "glPushMatrix\0" "\0" - /* _mesa_function_pool[24656]: Fogiv (offset 156) */ + /* _mesa_function_pool[24599]: Fogiv (offset 156) */ "ip\0" "glFogiv\0" "\0" - /* _mesa_function_pool[24668]: TexCoord1dv (offset 95) */ + /* _mesa_function_pool[24611]: TexCoord1dv (offset 95) */ "p\0" "glTexCoord1dv\0" "\0" - /* _mesa_function_pool[24685]: AlphaFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[24628]: AlphaFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiii\0" "glAlphaFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[24721]: PixelTransferi (offset 248) */ + /* _mesa_function_pool[24664]: PixelTransferi (offset 248) */ "ii\0" "glPixelTransferi\0" "\0" - /* _mesa_function_pool[24742]: GetVertexAttribdvNV (will be remapped) */ + /* _mesa_function_pool[24685]: GetVertexAttribdvNV (will be remapped) */ "iip\0" "glGetVertexAttribdvNV\0" "\0" - /* _mesa_function_pool[24769]: VertexAttrib3fvNV (will be remapped) */ + /* _mesa_function_pool[24712]: VertexAttrib3fvNV (will be remapped) */ "ip\0" "glVertexAttrib3fvNV\0" "\0" - /* _mesa_function_pool[24793]: Rotatef (offset 300) */ + /* _mesa_function_pool[24736]: Rotatef (offset 300) */ "ffff\0" "glRotatef\0" "\0" - /* _mesa_function_pool[24809]: GetFinalCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[24752]: GetFinalCombinerInputParameterivNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[24851]: Vertex3i (offset 138) */ + /* _mesa_function_pool[24794]: Vertex3i (offset 138) */ "iii\0" "glVertex3i\0" "\0" - /* _mesa_function_pool[24867]: Vertex3f (offset 136) */ + /* _mesa_function_pool[24810]: Vertex3f (offset 136) */ "fff\0" "glVertex3f\0" "\0" - /* _mesa_function_pool[24883]: Clear (offset 203) */ + /* _mesa_function_pool[24826]: Clear (offset 203) */ "i\0" "glClear\0" "\0" - /* _mesa_function_pool[24894]: Vertex3d (offset 134) */ + /* _mesa_function_pool[24837]: Vertex3d (offset 134) */ "ddd\0" "glVertex3d\0" "\0" - /* _mesa_function_pool[24910]: GetMapParameterivNV (dynamic) */ + /* _mesa_function_pool[24853]: GetMapParameterivNV (dynamic) */ "iip\0" "glGetMapParameterivNV\0" "\0" - /* _mesa_function_pool[24937]: Uniform4iARB (will be remapped) */ + /* _mesa_function_pool[24880]: Uniform4iARB (will be remapped) */ "iiiii\0" "glUniform4i\0" "glUniform4iARB\0" "\0" - /* _mesa_function_pool[24971]: ReadBuffer (offset 254) */ + /* _mesa_function_pool[24914]: ReadBuffer (offset 254) */ "i\0" "glReadBuffer\0" "\0" - /* _mesa_function_pool[24987]: ConvolutionParameteri (offset 352) */ + /* _mesa_function_pool[24930]: ConvolutionParameteri (offset 352) */ "iii\0" "glConvolutionParameteri\0" "glConvolutionParameteriEXT\0" "\0" - /* _mesa_function_pool[25043]: Ortho (offset 296) */ + /* _mesa_function_pool[24986]: Ortho (offset 296) */ "dddddd\0" "glOrtho\0" "\0" - /* _mesa_function_pool[25059]: Binormal3sEXT (dynamic) */ + /* _mesa_function_pool[25002]: Binormal3sEXT (dynamic) */ "iii\0" "glBinormal3sEXT\0" "\0" - /* _mesa_function_pool[25080]: ListBase (offset 6) */ + /* _mesa_function_pool[25023]: ListBase (offset 6) */ "i\0" "glListBase\0" "\0" - /* _mesa_function_pool[25094]: Vertex3s (offset 140) */ + /* _mesa_function_pool[25037]: Vertex3s (offset 140) */ "iii\0" "glVertex3s\0" "\0" - /* _mesa_function_pool[25110]: ConvolutionParameterf (offset 350) */ + /* _mesa_function_pool[25053]: ConvolutionParameterf (offset 350) */ "iif\0" "glConvolutionParameterf\0" "glConvolutionParameterfEXT\0" "\0" - /* _mesa_function_pool[25166]: GetColorTableParameteriv (offset 345) */ + /* _mesa_function_pool[25109]: GetColorTableParameteriv (offset 345) */ "iip\0" "glGetColorTableParameteriv\0" "glGetColorTableParameterivSGI\0" "glGetColorTableParameterivEXT\0" "\0" - /* _mesa_function_pool[25258]: ProgramEnvParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[25201]: ProgramEnvParameter4dvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4dvARB\0" "glProgramParameter4dvNV\0" "\0" - /* _mesa_function_pool[25315]: ShadeModel (offset 177) */ + /* _mesa_function_pool[25258]: ShadeModel (offset 177) */ "i\0" "glShadeModel\0" "\0" - /* _mesa_function_pool[25331]: VertexAttribs2fvNV (will be remapped) */ + /* _mesa_function_pool[25274]: VertexAttribs2fvNV (will be remapped) */ "iip\0" "glVertexAttribs2fvNV\0" "\0" - /* _mesa_function_pool[25357]: Rectiv (offset 91) */ + /* _mesa_function_pool[25300]: Rectiv (offset 91) */ "pp\0" "glRectiv\0" "\0" - /* _mesa_function_pool[25370]: UseProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[25313]: UseProgramObjectARB (will be remapped) */ "i\0" "glUseProgram\0" "glUseProgramObjectARB\0" "\0" - /* _mesa_function_pool[25408]: GetMapParameterfvNV (dynamic) */ + /* _mesa_function_pool[25351]: GetMapParameterfvNV (dynamic) */ "iip\0" "glGetMapParameterfvNV\0" "\0" - /* _mesa_function_pool[25435]: EndConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[25378]: EndConditionalRenderNV (will be remapped) */ "\0" "glEndConditionalRenderNV\0" "glEndConditionalRender\0" "\0" - /* _mesa_function_pool[25485]: PassTexCoordATI (will be remapped) */ + /* _mesa_function_pool[25428]: PassTexCoordATI (will be remapped) */ "iii\0" "glPassTexCoordATI\0" "\0" - /* _mesa_function_pool[25508]: DeleteProgram (will be remapped) */ + /* _mesa_function_pool[25451]: DeleteProgram (will be remapped) */ "i\0" "glDeleteProgram\0" "\0" - /* _mesa_function_pool[25527]: Tangent3ivEXT (dynamic) */ + /* _mesa_function_pool[25470]: Tangent3ivEXT (dynamic) */ "p\0" "glTangent3ivEXT\0" "\0" - /* _mesa_function_pool[25546]: Tangent3dEXT (dynamic) */ + /* _mesa_function_pool[25489]: Tangent3dEXT (dynamic) */ "ddd\0" "glTangent3dEXT\0" "\0" - /* _mesa_function_pool[25566]: SecondaryColor3dvEXT (will be remapped) */ + /* _mesa_function_pool[25509]: SecondaryColor3dvEXT (will be remapped) */ "p\0" "glSecondaryColor3dv\0" "glSecondaryColor3dvEXT\0" "\0" - /* _mesa_function_pool[25612]: AlphaFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[25555]: AlphaFragmentOp2ATI (will be remapped) */ "iiiiiiiii\0" "glAlphaFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[25645]: Vertex2fv (offset 129) */ + /* _mesa_function_pool[25588]: Vertex2fv (offset 129) */ "p\0" "glVertex2fv\0" "\0" - /* _mesa_function_pool[25660]: MultiDrawArraysEXT (will be remapped) */ + /* _mesa_function_pool[25603]: MultiDrawArraysEXT (will be remapped) */ "ippi\0" "glMultiDrawArrays\0" "glMultiDrawArraysEXT\0" "\0" - /* _mesa_function_pool[25705]: BindRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[25648]: BindRenderbufferEXT (will be remapped) */ "ii\0" "glBindRenderbuffer\0" "glBindRenderbufferEXT\0" "\0" - /* _mesa_function_pool[25750]: MultiTexCoord4dARB (offset 400) */ + /* _mesa_function_pool[25693]: MultiTexCoord4dARB (offset 400) */ "idddd\0" "glMultiTexCoord4d\0" "glMultiTexCoord4dARB\0" "\0" - /* _mesa_function_pool[25796]: FramebufferTextureFaceARB (will be remapped) */ + /* _mesa_function_pool[25739]: FramebufferTextureFaceARB (will be remapped) */ "iiiii\0" "glFramebufferTextureFaceARB\0" "\0" - /* _mesa_function_pool[25831]: Vertex3sv (offset 141) */ + /* _mesa_function_pool[25774]: Vertex3sv (offset 141) */ "p\0" "glVertex3sv\0" "\0" - /* _mesa_function_pool[25846]: SecondaryColor3usEXT (will be remapped) */ + /* _mesa_function_pool[25789]: SecondaryColor3usEXT (will be remapped) */ "iii\0" "glSecondaryColor3us\0" "glSecondaryColor3usEXT\0" "\0" - /* _mesa_function_pool[25894]: ProgramLocalParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[25837]: ProgramLocalParameter4fvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4fvARB\0" "\0" - /* _mesa_function_pool[25929]: DeleteProgramsNV (will be remapped) */ + /* _mesa_function_pool[25872]: DeleteProgramsNV (will be remapped) */ "ip\0" "glDeleteProgramsARB\0" "glDeleteProgramsNV\0" "\0" - /* _mesa_function_pool[25972]: EvalMesh1 (offset 236) */ + /* _mesa_function_pool[25915]: EvalMesh1 (offset 236) */ "iii\0" "glEvalMesh1\0" "\0" - /* _mesa_function_pool[25989]: PauseTransformFeedback (will be remapped) */ + /* _mesa_function_pool[25932]: PauseTransformFeedback (will be remapped) */ "\0" "glPauseTransformFeedback\0" "\0" - /* _mesa_function_pool[26016]: MultiTexCoord1sARB (offset 382) */ + /* _mesa_function_pool[25959]: MultiTexCoord1sARB (offset 382) */ "ii\0" "glMultiTexCoord1s\0" "glMultiTexCoord1sARB\0" "\0" - /* _mesa_function_pool[26059]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[26002]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[26106]: GetVertexAttribPointervNV (will be remapped) */ + /* _mesa_function_pool[26049]: GetVertexAttribPointervNV (will be remapped) */ "iip\0" "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glGetVertexAttribPointervNV\0" "\0" - /* _mesa_function_pool[26194]: VertexAttribs1fvNV (will be remapped) */ + /* _mesa_function_pool[26137]: VertexAttribs1fvNV (will be remapped) */ "iip\0" "glVertexAttribs1fvNV\0" "\0" - /* _mesa_function_pool[26220]: MultiTexCoord1dvARB (offset 377) */ + /* _mesa_function_pool[26163]: MultiTexCoord1dvARB (offset 377) */ "ip\0" "glMultiTexCoord1dv\0" "glMultiTexCoord1dvARB\0" "\0" - /* _mesa_function_pool[26265]: Uniform2iARB (will be remapped) */ + /* _mesa_function_pool[26208]: Uniform2iARB (will be remapped) */ "iii\0" "glUniform2i\0" "glUniform2iARB\0" "\0" - /* _mesa_function_pool[26297]: Vertex2iv (offset 131) */ + /* _mesa_function_pool[26240]: Vertex2iv (offset 131) */ "p\0" "glVertex2iv\0" "\0" - /* _mesa_function_pool[26312]: GetProgramStringNV (will be remapped) */ + /* _mesa_function_pool[26255]: GetProgramStringNV (will be remapped) */ "iip\0" "glGetProgramStringNV\0" "\0" - /* _mesa_function_pool[26338]: ColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[26281]: ColorPointerEXT (will be remapped) */ "iiiip\0" "glColorPointerEXT\0" "\0" - /* _mesa_function_pool[26363]: LineWidth (offset 168) */ + /* _mesa_function_pool[26306]: LineWidth (offset 168) */ "f\0" "glLineWidth\0" "\0" - /* _mesa_function_pool[26378]: MapBufferARB (will be remapped) */ + /* _mesa_function_pool[26321]: MapBufferARB (will be remapped) */ "ii\0" "glMapBuffer\0" "glMapBufferARB\0" "\0" - /* _mesa_function_pool[26409]: MultiDrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[26352]: MultiDrawElementsBaseVertex (will be remapped) */ "ipipip\0" "glMultiDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[26447]: TexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[26390]: TexParameterIuivEXT (will be remapped) */ "iip\0" "glTexParameterIuivEXT\0" "glTexParameterIuiv\0" "\0" - /* _mesa_function_pool[26493]: Binormal3svEXT (dynamic) */ + /* _mesa_function_pool[26436]: Binormal3svEXT (dynamic) */ "p\0" "glBinormal3svEXT\0" "\0" - /* _mesa_function_pool[26513]: ApplyTextureEXT (dynamic) */ + /* _mesa_function_pool[26456]: ApplyTextureEXT (dynamic) */ "i\0" "glApplyTextureEXT\0" "\0" - /* _mesa_function_pool[26534]: GetBufferParameteri64v (will be remapped) */ + /* _mesa_function_pool[26477]: GetBufferParameteri64v (will be remapped) */ "iip\0" "glGetBufferParameteri64v\0" "\0" - /* _mesa_function_pool[26564]: TexGendv (offset 189) */ + /* _mesa_function_pool[26507]: TexGendv (offset 189) */ "iip\0" "glTexGendv\0" "\0" - /* _mesa_function_pool[26580]: VertexAttribI3iEXT (will be remapped) */ + /* _mesa_function_pool[26523]: VertexAttribI3iEXT (will be remapped) */ "iiii\0" "glVertexAttribI3iEXT\0" "glVertexAttribI3i\0" "\0" - /* _mesa_function_pool[26625]: EnableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[26568]: EnableIndexedEXT (will be remapped) */ "ii\0" "glEnableIndexedEXT\0" "glEnablei\0" "\0" - /* _mesa_function_pool[26658]: TextureMaterialEXT (dynamic) */ + /* _mesa_function_pool[26601]: TextureMaterialEXT (dynamic) */ "ii\0" "glTextureMaterialEXT\0" "\0" - /* _mesa_function_pool[26683]: TextureLightEXT (dynamic) */ + /* _mesa_function_pool[26626]: TextureLightEXT (dynamic) */ "i\0" "glTextureLightEXT\0" "\0" - /* _mesa_function_pool[26704]: ResetMinmax (offset 370) */ + /* _mesa_function_pool[26647]: ResetMinmax (offset 370) */ "i\0" "glResetMinmax\0" "glResetMinmaxEXT\0" "\0" - /* _mesa_function_pool[26738]: SpriteParameterfSGIX (dynamic) */ + /* _mesa_function_pool[26681]: SpriteParameterfSGIX (dynamic) */ "if\0" "glSpriteParameterfSGIX\0" "\0" - /* _mesa_function_pool[26765]: EnableClientState (offset 313) */ + /* _mesa_function_pool[26708]: EnableClientState (offset 313) */ "i\0" "glEnableClientState\0" "\0" - /* _mesa_function_pool[26788]: VertexAttrib4sNV (will be remapped) */ + /* _mesa_function_pool[26731]: VertexAttrib4sNV (will be remapped) */ "iiiii\0" "glVertexAttrib4sNV\0" "\0" - /* _mesa_function_pool[26814]: GetConvolutionParameterfv (offset 357) */ + /* _mesa_function_pool[26757]: GetConvolutionParameterfv (offset 357) */ "iip\0" "glGetConvolutionParameterfv\0" "glGetConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[26878]: VertexAttribs4dvNV (will be remapped) */ + /* _mesa_function_pool[26821]: VertexAttribs4dvNV (will be remapped) */ "iip\0" "glVertexAttribs4dvNV\0" "\0" - /* _mesa_function_pool[26904]: VertexAttrib4dARB (will be remapped) */ + /* _mesa_function_pool[26847]: MultiModeDrawArraysIBM (will be remapped) */ + "pppii\0" + "glMultiModeDrawArraysIBM\0" + "\0" + /* _mesa_function_pool[26879]: VertexAttrib4dARB (will be remapped) */ "idddd\0" "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" "\0" - /* _mesa_function_pool[26948]: GetTexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[26923]: GetTexBumpParameterfvATI (will be remapped) */ "ip\0" "glGetTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[26979]: ProgramNamedParameter4dNV (will be remapped) */ + /* _mesa_function_pool[26954]: ProgramNamedParameter4dNV (will be remapped) */ "iipdddd\0" "glProgramNamedParameter4dNV\0" "\0" - /* _mesa_function_pool[27016]: GetMaterialfv (offset 269) */ + /* _mesa_function_pool[26991]: GetMaterialfv (offset 269) */ "iip\0" "glGetMaterialfv\0" "\0" - /* _mesa_function_pool[27037]: VertexWeightfEXT (dynamic) */ + /* _mesa_function_pool[27012]: VertexWeightfEXT (dynamic) */ "f\0" "glVertexWeightfEXT\0" "\0" - /* _mesa_function_pool[27059]: SetFragmentShaderConstantATI (will be remapped) */ + /* _mesa_function_pool[27034]: SetFragmentShaderConstantATI (will be remapped) */ "ip\0" "glSetFragmentShaderConstantATI\0" "\0" - /* _mesa_function_pool[27094]: Binormal3fEXT (dynamic) */ + /* _mesa_function_pool[27069]: Binormal3fEXT (dynamic) */ "fff\0" "glBinormal3fEXT\0" "\0" - /* _mesa_function_pool[27115]: CallList (offset 2) */ + /* _mesa_function_pool[27090]: CallList (offset 2) */ "i\0" "glCallList\0" "\0" - /* _mesa_function_pool[27129]: Materialfv (offset 170) */ + /* _mesa_function_pool[27104]: Materialfv (offset 170) */ "iip\0" "glMaterialfv\0" "\0" - /* _mesa_function_pool[27147]: TexCoord3fv (offset 113) */ + /* _mesa_function_pool[27122]: TexCoord3fv (offset 113) */ "p\0" "glTexCoord3fv\0" "\0" - /* _mesa_function_pool[27164]: FogCoordfvEXT (will be remapped) */ + /* _mesa_function_pool[27139]: FogCoordfvEXT (will be remapped) */ "p\0" "glFogCoordfv\0" "glFogCoordfvEXT\0" "\0" - /* _mesa_function_pool[27196]: MultiTexCoord1ivARB (offset 381) */ + /* _mesa_function_pool[27171]: MultiTexCoord1ivARB (offset 381) */ "ip\0" "glMultiTexCoord1iv\0" "glMultiTexCoord1ivARB\0" "\0" - /* _mesa_function_pool[27241]: SecondaryColor3ubEXT (will be remapped) */ + /* _mesa_function_pool[27216]: SecondaryColor3ubEXT (will be remapped) */ "iii\0" "glSecondaryColor3ub\0" "glSecondaryColor3ubEXT\0" "\0" - /* _mesa_function_pool[27289]: MultiTexCoord2ivARB (offset 389) */ + /* _mesa_function_pool[27264]: MultiTexCoord2ivARB (offset 389) */ "ip\0" "glMultiTexCoord2iv\0" "glMultiTexCoord2ivARB\0" "\0" - /* _mesa_function_pool[27334]: FogFuncSGIS (dynamic) */ + /* _mesa_function_pool[27309]: FogFuncSGIS (dynamic) */ "ip\0" "glFogFuncSGIS\0" "\0" - /* _mesa_function_pool[27352]: CopyTexSubImage2D (offset 326) */ + /* _mesa_function_pool[27327]: CopyTexSubImage2D (offset 326) */ "iiiiiiii\0" "glCopyTexSubImage2D\0" "glCopyTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[27405]: GetObjectParameterivARB (will be remapped) */ + /* _mesa_function_pool[27380]: GetObjectParameterivARB (will be remapped) */ "iip\0" "glGetObjectParameterivARB\0" "\0" - /* _mesa_function_pool[27436]: Color3iv (offset 16) */ + /* _mesa_function_pool[27411]: Color3iv (offset 16) */ "p\0" "glColor3iv\0" "\0" - /* _mesa_function_pool[27450]: TexCoord4fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[27425]: TexCoord4fVertex4fSUN (dynamic) */ "ffffffff\0" "glTexCoord4fVertex4fSUN\0" "\0" - /* _mesa_function_pool[27484]: DrawElements (offset 311) */ + /* _mesa_function_pool[27459]: DrawElements (offset 311) */ "iiip\0" "glDrawElements\0" "\0" - /* _mesa_function_pool[27505]: BindVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[27480]: BindVertexArrayAPPLE (will be remapped) */ "i\0" "glBindVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[27531]: GetProgramLocalParameterdvARB (will be remapped) */ + /* _mesa_function_pool[27506]: GetProgramLocalParameterdvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterdvARB\0" "\0" - /* _mesa_function_pool[27568]: GetHistogramParameteriv (offset 363) */ + /* _mesa_function_pool[27543]: GetHistogramParameteriv (offset 363) */ "iip\0" "glGetHistogramParameteriv\0" "glGetHistogramParameterivEXT\0" "\0" - /* _mesa_function_pool[27628]: MultiTexCoord1iARB (offset 380) */ + /* _mesa_function_pool[27603]: MultiTexCoord1iARB (offset 380) */ "ii\0" "glMultiTexCoord1i\0" "glMultiTexCoord1iARB\0" "\0" - /* _mesa_function_pool[27671]: GetConvolutionFilter (offset 356) */ + /* _mesa_function_pool[27646]: GetConvolutionFilter (offset 356) */ "iiip\0" "glGetConvolutionFilter\0" "glGetConvolutionFilterEXT\0" "\0" - /* _mesa_function_pool[27726]: GetProgramivARB (will be remapped) */ + /* _mesa_function_pool[27701]: GetProgramivARB (will be remapped) */ "iip\0" "glGetProgramivARB\0" "\0" - /* _mesa_function_pool[27749]: BlendFuncSeparateEXT (will be remapped) */ + /* _mesa_function_pool[27724]: BlendFuncSeparateEXT (will be remapped) */ "iiii\0" "glBlendFuncSeparate\0" "glBlendFuncSeparateEXT\0" "glBlendFuncSeparateINGR\0" "\0" - /* _mesa_function_pool[27822]: MapBufferRange (will be remapped) */ + /* _mesa_function_pool[27797]: MapBufferRange (will be remapped) */ "iiii\0" "glMapBufferRange\0" "\0" - /* _mesa_function_pool[27845]: ProgramParameters4dvNV (will be remapped) */ + /* _mesa_function_pool[27820]: ProgramParameters4dvNV (will be remapped) */ "iiip\0" "glProgramParameters4dvNV\0" "\0" - /* _mesa_function_pool[27876]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[27851]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[27913]: EvalPoint2 (offset 239) */ + /* _mesa_function_pool[27888]: EvalPoint2 (offset 239) */ "ii\0" "glEvalPoint2\0" "\0" - /* _mesa_function_pool[27930]: Uniform1uivEXT (will be remapped) */ + /* _mesa_function_pool[27905]: Uniform1uivEXT (will be remapped) */ "iip\0" "glUniform1uivEXT\0" "glUniform1uiv\0" "\0" - /* _mesa_function_pool[27966]: EvalPoint1 (offset 237) */ + /* _mesa_function_pool[27941]: EvalPoint1 (offset 237) */ "i\0" "glEvalPoint1\0" "\0" - /* _mesa_function_pool[27982]: Binormal3dvEXT (dynamic) */ + /* _mesa_function_pool[27957]: Binormal3dvEXT (dynamic) */ "p\0" "glBinormal3dvEXT\0" "\0" - /* _mesa_function_pool[28002]: PopMatrix (offset 297) */ + /* _mesa_function_pool[27977]: PopMatrix (offset 297) */ "\0" "glPopMatrix\0" "\0" - /* _mesa_function_pool[28016]: FinishFenceNV (will be remapped) */ + /* _mesa_function_pool[27991]: GetVertexAttribIuivEXT (will be remapped) */ + "iip\0" + "glGetVertexAttribIuivEXT\0" + "glGetVertexAttribIuiv\0" + "\0" + /* _mesa_function_pool[28043]: FinishFenceNV (will be remapped) */ "i\0" "glFinishFenceNV\0" "\0" - /* _mesa_function_pool[28035]: GetFogFuncSGIS (dynamic) */ + /* _mesa_function_pool[28062]: GetFogFuncSGIS (dynamic) */ "p\0" "glGetFogFuncSGIS\0" "\0" - /* _mesa_function_pool[28055]: GetUniformLocationARB (will be remapped) */ + /* _mesa_function_pool[28082]: GetUniformLocationARB (will be remapped) */ "ip\0" "glGetUniformLocation\0" "glGetUniformLocationARB\0" "\0" - /* _mesa_function_pool[28104]: SecondaryColor3fEXT (will be remapped) */ + /* _mesa_function_pool[28131]: SecondaryColor3fEXT (will be remapped) */ "fff\0" "glSecondaryColor3f\0" "glSecondaryColor3fEXT\0" "\0" - /* _mesa_function_pool[28150]: GetTexGeniv (offset 280) */ + /* _mesa_function_pool[28177]: GetTexGeniv (offset 280) */ "iip\0" "glGetTexGeniv\0" "\0" - /* _mesa_function_pool[28169]: CombinerInputNV (will be remapped) */ + /* _mesa_function_pool[28196]: CombinerInputNV (will be remapped) */ "iiiiii\0" "glCombinerInputNV\0" "\0" - /* _mesa_function_pool[28195]: VertexAttrib3sARB (will be remapped) */ + /* _mesa_function_pool[28222]: VertexAttrib3sARB (will be remapped) */ "iiii\0" "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" "\0" - /* _mesa_function_pool[28238]: IsTransformFeedback (will be remapped) */ + /* _mesa_function_pool[28265]: IsTransformFeedback (will be remapped) */ "i\0" "glIsTransformFeedback\0" "\0" - /* _mesa_function_pool[28263]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[28290]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[28308]: Map2d (offset 222) */ + /* _mesa_function_pool[28335]: Map2d (offset 222) */ "iddiiddiip\0" "glMap2d\0" "\0" - /* _mesa_function_pool[28328]: Map2f (offset 223) */ + /* _mesa_function_pool[28355]: Map2f (offset 223) */ "iffiiffiip\0" "glMap2f\0" "\0" - /* _mesa_function_pool[28348]: ProgramStringARB (will be remapped) */ + /* _mesa_function_pool[28375]: ProgramStringARB (will be remapped) */ "iiip\0" "glProgramStringARB\0" "\0" - /* _mesa_function_pool[28373]: Vertex4s (offset 148) */ + /* _mesa_function_pool[28400]: Vertex4s (offset 148) */ "iiii\0" "glVertex4s\0" "\0" - /* _mesa_function_pool[28390]: TexCoord4fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[28417]: TexCoord4fVertex4fvSUN (dynamic) */ "pp\0" "glTexCoord4fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[28419]: FragmentLightModelivSGIX (dynamic) */ + /* _mesa_function_pool[28446]: FragmentLightModelivSGIX (dynamic) */ "ip\0" "glFragmentLightModelivSGIX\0" "\0" - /* _mesa_function_pool[28450]: VertexAttrib1fNV (will be remapped) */ + /* _mesa_function_pool[28477]: VertexAttrib1fNV (will be remapped) */ "if\0" "glVertexAttrib1fNV\0" "\0" - /* _mesa_function_pool[28473]: Vertex4f (offset 144) */ + /* _mesa_function_pool[28500]: Vertex4f (offset 144) */ "ffff\0" "glVertex4f\0" "\0" - /* _mesa_function_pool[28490]: EvalCoord1d (offset 228) */ + /* _mesa_function_pool[28517]: EvalCoord1d (offset 228) */ "d\0" "glEvalCoord1d\0" "\0" - /* _mesa_function_pool[28507]: Vertex4d (offset 142) */ + /* _mesa_function_pool[28534]: Vertex4d (offset 142) */ "dddd\0" "glVertex4d\0" "\0" - /* _mesa_function_pool[28524]: RasterPos4dv (offset 79) */ + /* _mesa_function_pool[28551]: RasterPos4dv (offset 79) */ "p\0" "glRasterPos4dv\0" "\0" - /* _mesa_function_pool[28542]: UseShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[28569]: UseShaderProgramEXT (will be remapped) */ "ii\0" "glUseShaderProgramEXT\0" "\0" - /* _mesa_function_pool[28568]: FragmentLightfSGIX (dynamic) */ + /* _mesa_function_pool[28595]: FragmentLightfSGIX (dynamic) */ "iif\0" "glFragmentLightfSGIX\0" "\0" - /* _mesa_function_pool[28594]: GetCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[28621]: GetCompressedTexImageARB (will be remapped) */ "iip\0" "glGetCompressedTexImage\0" "glGetCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[28650]: GetTexGenfv (offset 279) */ + /* _mesa_function_pool[28677]: GetTexGenfv (offset 279) */ "iip\0" "glGetTexGenfv\0" "\0" - /* _mesa_function_pool[28669]: Vertex4i (offset 146) */ + /* _mesa_function_pool[28696]: Vertex4i (offset 146) */ "iiii\0" "glVertex4i\0" "\0" - /* _mesa_function_pool[28686]: VertexWeightPointerEXT (dynamic) */ + /* _mesa_function_pool[28713]: VertexWeightPointerEXT (dynamic) */ "iiip\0" "glVertexWeightPointerEXT\0" "\0" - /* _mesa_function_pool[28717]: GetHistogram (offset 361) */ + /* _mesa_function_pool[28744]: GetHistogram (offset 361) */ "iiiip\0" "glGetHistogram\0" "glGetHistogramEXT\0" "\0" - /* _mesa_function_pool[28757]: ActiveStencilFaceEXT (will be remapped) */ + /* _mesa_function_pool[28784]: ActiveStencilFaceEXT (will be remapped) */ "i\0" "glActiveStencilFaceEXT\0" "\0" - /* _mesa_function_pool[28783]: StencilFuncSeparateATI (will be remapped) */ + /* _mesa_function_pool[28810]: StencilFuncSeparateATI (will be remapped) */ "iiii\0" "glStencilFuncSeparateATI\0" "\0" - /* _mesa_function_pool[28814]: Materialf (offset 169) */ + /* _mesa_function_pool[28841]: Materialf (offset 169) */ "iif\0" "glMaterialf\0" "\0" - /* _mesa_function_pool[28831]: GetShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[28858]: GetShaderSourceARB (will be remapped) */ "iipp\0" "glGetShaderSource\0" "glGetShaderSourceARB\0" "\0" - /* _mesa_function_pool[28876]: IglooInterfaceSGIX (dynamic) */ + /* _mesa_function_pool[28903]: IglooInterfaceSGIX (dynamic) */ "ip\0" "glIglooInterfaceSGIX\0" "\0" - /* _mesa_function_pool[28901]: Materiali (offset 171) */ + /* _mesa_function_pool[28928]: Materiali (offset 171) */ "iii\0" "glMateriali\0" "\0" - /* _mesa_function_pool[28918]: VertexAttrib4dNV (will be remapped) */ + /* _mesa_function_pool[28945]: VertexAttrib4dNV (will be remapped) */ "idddd\0" "glVertexAttrib4dNV\0" "\0" - /* _mesa_function_pool[28944]: MultiModeDrawElementsIBM (will be remapped) */ + /* _mesa_function_pool[28971]: MultiModeDrawElementsIBM (will be remapped) */ "ppipii\0" "glMultiModeDrawElementsIBM\0" "\0" - /* _mesa_function_pool[28979]: Indexsv (offset 51) */ + /* _mesa_function_pool[29006]: Indexsv (offset 51) */ "p\0" "glIndexsv\0" "\0" - /* _mesa_function_pool[28992]: MultiTexCoord4svARB (offset 407) */ + /* _mesa_function_pool[29019]: MultiTexCoord4svARB (offset 407) */ "ip\0" "glMultiTexCoord4sv\0" "glMultiTexCoord4svARB\0" "\0" - /* _mesa_function_pool[29037]: LightModelfv (offset 164) */ + /* _mesa_function_pool[29064]: LightModelfv (offset 164) */ "ip\0" "glLightModelfv\0" "\0" - /* _mesa_function_pool[29056]: TexCoord2dv (offset 103) */ + /* _mesa_function_pool[29083]: TexCoord2dv (offset 103) */ "p\0" "glTexCoord2dv\0" "\0" - /* _mesa_function_pool[29073]: GenQueriesARB (will be remapped) */ + /* _mesa_function_pool[29100]: GenQueriesARB (will be remapped) */ "ip\0" "glGenQueries\0" "glGenQueriesARB\0" "\0" - /* _mesa_function_pool[29106]: EvalCoord1dv (offset 229) */ + /* _mesa_function_pool[29133]: EvalCoord1dv (offset 229) */ "p\0" "glEvalCoord1dv\0" "\0" - /* _mesa_function_pool[29124]: ReplacementCodeuiVertex3fSUN (dynamic) */ + /* _mesa_function_pool[29151]: ReplacementCodeuiVertex3fSUN (dynamic) */ "ifff\0" "glReplacementCodeuiVertex3fSUN\0" "\0" - /* _mesa_function_pool[29161]: Translated (offset 303) */ + /* _mesa_function_pool[29188]: Translated (offset 303) */ "ddd\0" "glTranslated\0" "\0" - /* _mesa_function_pool[29179]: Translatef (offset 304) */ + /* _mesa_function_pool[29206]: Translatef (offset 304) */ "fff\0" "glTranslatef\0" "\0" - /* _mesa_function_pool[29197]: Uniform3uiEXT (will be remapped) */ + /* _mesa_function_pool[29224]: Uniform3uiEXT (will be remapped) */ "iiii\0" "glUniform3uiEXT\0" "glUniform3ui\0" "\0" - /* _mesa_function_pool[29232]: StencilMask (offset 209) */ + /* _mesa_function_pool[29259]: StencilMask (offset 209) */ "i\0" "glStencilMask\0" "\0" - /* _mesa_function_pool[29249]: Tangent3iEXT (dynamic) */ + /* _mesa_function_pool[29276]: Tangent3iEXT (dynamic) */ "iii\0" "glTangent3iEXT\0" "\0" - /* _mesa_function_pool[29269]: GetLightiv (offset 265) */ + /* _mesa_function_pool[29296]: GetLightiv (offset 265) */ "iip\0" "glGetLightiv\0" "\0" - /* _mesa_function_pool[29287]: DrawMeshArraysSUN (dynamic) */ + /* _mesa_function_pool[29314]: DrawMeshArraysSUN (dynamic) */ "iiii\0" "glDrawMeshArraysSUN\0" "\0" - /* _mesa_function_pool[29313]: IsList (offset 287) */ + /* _mesa_function_pool[29340]: IsList (offset 287) */ "i\0" "glIsList\0" "\0" - /* _mesa_function_pool[29325]: IsSync (will be remapped) */ + /* _mesa_function_pool[29352]: IsSync (will be remapped) */ "i\0" "glIsSync\0" "\0" - /* _mesa_function_pool[29337]: RenderMode (offset 196) */ + /* _mesa_function_pool[29364]: RenderMode (offset 196) */ "i\0" "glRenderMode\0" "\0" - /* _mesa_function_pool[29353]: GetMapControlPointsNV (dynamic) */ + /* _mesa_function_pool[29380]: GetMapControlPointsNV (dynamic) */ "iiiiiip\0" "glGetMapControlPointsNV\0" "\0" - /* _mesa_function_pool[29386]: DrawBuffersARB (will be remapped) */ + /* _mesa_function_pool[29413]: DrawBuffersARB (will be remapped) */ "ip\0" "glDrawBuffers\0" "glDrawBuffersARB\0" "glDrawBuffersATI\0" "\0" - /* _mesa_function_pool[29438]: ClearBufferiv (will be remapped) */ + /* _mesa_function_pool[29465]: ClearBufferiv (will be remapped) */ "iip\0" "glClearBufferiv\0" "\0" - /* _mesa_function_pool[29459]: ProgramLocalParameter4fARB (will be remapped) */ + /* _mesa_function_pool[29486]: ProgramLocalParameter4fARB (will be remapped) */ "iiffff\0" "glProgramLocalParameter4fARB\0" "\0" - /* _mesa_function_pool[29496]: SpriteParameterivSGIX (dynamic) */ + /* _mesa_function_pool[29523]: SpriteParameterivSGIX (dynamic) */ "ip\0" "glSpriteParameterivSGIX\0" "\0" - /* _mesa_function_pool[29524]: ProvokingVertexEXT (will be remapped) */ + /* _mesa_function_pool[29551]: ProvokingVertexEXT (will be remapped) */ "i\0" "glProvokingVertexEXT\0" "glProvokingVertex\0" "\0" - /* _mesa_function_pool[29566]: MultiTexCoord1fARB (offset 378) */ + /* _mesa_function_pool[29593]: MultiTexCoord1fARB (offset 378) */ "if\0" "glMultiTexCoord1f\0" "glMultiTexCoord1fARB\0" "\0" - /* _mesa_function_pool[29609]: LoadName (offset 198) */ + /* _mesa_function_pool[29636]: LoadName (offset 198) */ "i\0" "glLoadName\0" "\0" - /* _mesa_function_pool[29623]: VertexAttribs4ubvNV (will be remapped) */ + /* _mesa_function_pool[29650]: VertexAttribs4ubvNV (will be remapped) */ "iip\0" "glVertexAttribs4ubvNV\0" "\0" - /* _mesa_function_pool[29650]: WeightsvARB (dynamic) */ + /* _mesa_function_pool[29677]: WeightsvARB (dynamic) */ "ip\0" "glWeightsvARB\0" "\0" - /* _mesa_function_pool[29668]: Uniform1fvARB (will be remapped) */ + /* _mesa_function_pool[29695]: Uniform1fvARB (will be remapped) */ "iip\0" "glUniform1fv\0" "glUniform1fvARB\0" "\0" - /* _mesa_function_pool[29702]: CopyTexSubImage1D (offset 325) */ + /* _mesa_function_pool[29729]: CopyTexSubImage1D (offset 325) */ "iiiiii\0" "glCopyTexSubImage1D\0" "glCopyTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[29753]: CullFace (offset 152) */ + /* _mesa_function_pool[29780]: CullFace (offset 152) */ "i\0" "glCullFace\0" "\0" - /* _mesa_function_pool[29767]: BindTexture (offset 307) */ + /* _mesa_function_pool[29794]: BindTexture (offset 307) */ "ii\0" "glBindTexture\0" "glBindTextureEXT\0" "\0" - /* _mesa_function_pool[29802]: BeginFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[29829]: BeginFragmentShaderATI (will be remapped) */ "\0" "glBeginFragmentShaderATI\0" "\0" - /* _mesa_function_pool[29829]: MultiTexCoord4fARB (offset 402) */ + /* _mesa_function_pool[29856]: MultiTexCoord4fARB (offset 402) */ "iffff\0" "glMultiTexCoord4f\0" "glMultiTexCoord4fARB\0" "\0" - /* _mesa_function_pool[29875]: VertexAttribs3svNV (will be remapped) */ + /* _mesa_function_pool[29902]: VertexAttribs3svNV (will be remapped) */ "iip\0" "glVertexAttribs3svNV\0" "\0" - /* _mesa_function_pool[29901]: StencilFunc (offset 243) */ + /* _mesa_function_pool[29928]: StencilFunc (offset 243) */ "iii\0" "glStencilFunc\0" "\0" - /* _mesa_function_pool[29920]: CopyPixels (offset 255) */ + /* _mesa_function_pool[29947]: CopyPixels (offset 255) */ "iiiii\0" "glCopyPixels\0" "\0" - /* _mesa_function_pool[29940]: Rectsv (offset 93) */ + /* _mesa_function_pool[29967]: Rectsv (offset 93) */ "pp\0" "glRectsv\0" "\0" - /* _mesa_function_pool[29953]: ReplacementCodeuivSUN (dynamic) */ + /* _mesa_function_pool[29980]: ReplacementCodeuivSUN (dynamic) */ "p\0" "glReplacementCodeuivSUN\0" "\0" - /* _mesa_function_pool[29980]: EnableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[30007]: EnableVertexAttribArrayARB (will be remapped) */ "i\0" "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[30038]: NormalPointervINTEL (dynamic) */ + /* _mesa_function_pool[30065]: NormalPointervINTEL (dynamic) */ "ip\0" "glNormalPointervINTEL\0" "\0" - /* _mesa_function_pool[30064]: CopyConvolutionFilter2D (offset 355) */ + /* _mesa_function_pool[30091]: CopyConvolutionFilter2D (offset 355) */ "iiiiii\0" "glCopyConvolutionFilter2D\0" "glCopyConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[30127]: WindowPos3ivMESA (will be remapped) */ + /* _mesa_function_pool[30154]: WindowPos3ivMESA (will be remapped) */ "p\0" "glWindowPos3iv\0" "glWindowPos3ivARB\0" "glWindowPos3ivMESA\0" "\0" - /* _mesa_function_pool[30182]: CopyBufferSubData (will be remapped) */ + /* _mesa_function_pool[30209]: CopyBufferSubData (will be remapped) */ "iiiii\0" "glCopyBufferSubData\0" "\0" - /* _mesa_function_pool[30209]: NormalPointer (offset 318) */ + /* _mesa_function_pool[30236]: NormalPointer (offset 318) */ "iip\0" "glNormalPointer\0" "\0" - /* _mesa_function_pool[30230]: TexParameterfv (offset 179) */ + /* _mesa_function_pool[30257]: TexParameterfv (offset 179) */ "iip\0" "glTexParameterfv\0" "\0" - /* _mesa_function_pool[30252]: IsBufferARB (will be remapped) */ + /* _mesa_function_pool[30279]: IsBufferARB (will be remapped) */ "i\0" "glIsBuffer\0" "glIsBufferARB\0" "\0" - /* _mesa_function_pool[30280]: WindowPos4iMESA (will be remapped) */ + /* _mesa_function_pool[30307]: WindowPos4iMESA (will be remapped) */ "iiii\0" "glWindowPos4iMESA\0" "\0" - /* _mesa_function_pool[30304]: VertexAttrib4uivARB (will be remapped) */ + /* _mesa_function_pool[30331]: VertexAttrib4uivARB (will be remapped) */ "ip\0" "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" "\0" - /* _mesa_function_pool[30349]: Tangent3bvEXT (dynamic) */ + /* _mesa_function_pool[30376]: Tangent3bvEXT (dynamic) */ "p\0" "glTangent3bvEXT\0" "\0" - /* _mesa_function_pool[30368]: VertexAttribI3uivEXT (will be remapped) */ + /* _mesa_function_pool[30395]: VertexAttribI3uivEXT (will be remapped) */ "ip\0" "glVertexAttribI3uivEXT\0" "glVertexAttribI3uiv\0" "\0" - /* _mesa_function_pool[30415]: UniformMatrix3x4fv (will be remapped) */ + /* _mesa_function_pool[30442]: UniformMatrix3x4fv (will be remapped) */ "iiip\0" "glUniformMatrix3x4fv\0" "\0" - /* _mesa_function_pool[30442]: ClipPlane (offset 150) */ + /* _mesa_function_pool[30469]: ClipPlane (offset 150) */ "ip\0" "glClipPlane\0" "\0" - /* _mesa_function_pool[30458]: Recti (offset 90) */ + /* _mesa_function_pool[30485]: Recti (offset 90) */ "iiii\0" "glRecti\0" "\0" - /* _mesa_function_pool[30472]: VertexAttribI3ivEXT (will be remapped) */ + /* _mesa_function_pool[30499]: VertexAttribI3ivEXT (will be remapped) */ "ip\0" "glVertexAttribI3ivEXT\0" "glVertexAttribI3iv\0" "\0" - /* _mesa_function_pool[30517]: DrawRangeElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[30544]: DrawRangeElementsBaseVertex (will be remapped) */ "iiiiipi\0" "glDrawRangeElementsBaseVertex\0" "\0" - /* _mesa_function_pool[30556]: TexCoordPointervINTEL (dynamic) */ + /* _mesa_function_pool[30583]: TexCoordPointervINTEL (dynamic) */ "iip\0" "glTexCoordPointervINTEL\0" "\0" - /* _mesa_function_pool[30585]: DeleteBuffersARB (will be remapped) */ + /* _mesa_function_pool[30612]: DeleteBuffersARB (will be remapped) */ "ip\0" "glDeleteBuffers\0" "glDeleteBuffersARB\0" "\0" - /* _mesa_function_pool[30624]: PixelTransformParameterfvEXT (dynamic) */ + /* _mesa_function_pool[30651]: PixelTransformParameterfvEXT (dynamic) */ "iip\0" "glPixelTransformParameterfvEXT\0" "\0" - /* _mesa_function_pool[30660]: PrimitiveRestartNV (will be remapped) */ + /* _mesa_function_pool[30687]: PrimitiveRestartNV (will be remapped) */ "\0" "glPrimitiveRestartNV\0" "\0" - /* _mesa_function_pool[30683]: WindowPos4fvMESA (will be remapped) */ + /* _mesa_function_pool[30710]: WindowPos4fvMESA (will be remapped) */ "p\0" "glWindowPos4fvMESA\0" "\0" - /* _mesa_function_pool[30705]: GetPixelMapuiv (offset 272) */ + /* _mesa_function_pool[30732]: GetPixelMapuiv (offset 272) */ "ip\0" "glGetPixelMapuiv\0" "\0" - /* _mesa_function_pool[30726]: Rectf (offset 88) */ + /* _mesa_function_pool[30753]: Rectf (offset 88) */ "ffff\0" "glRectf\0" "\0" - /* _mesa_function_pool[30740]: VertexAttrib1sNV (will be remapped) */ + /* _mesa_function_pool[30767]: VertexAttrib1sNV (will be remapped) */ "ii\0" "glVertexAttrib1sNV\0" "\0" - /* _mesa_function_pool[30763]: Indexfv (offset 47) */ + /* _mesa_function_pool[30790]: Indexfv (offset 47) */ "p\0" "glIndexfv\0" "\0" - /* _mesa_function_pool[30776]: SecondaryColor3svEXT (will be remapped) */ + /* _mesa_function_pool[30803]: SecondaryColor3svEXT (will be remapped) */ "p\0" "glSecondaryColor3sv\0" "glSecondaryColor3svEXT\0" "\0" - /* _mesa_function_pool[30822]: LoadTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[30849]: LoadTransposeMatrixfARB (will be remapped) */ "p\0" "glLoadTransposeMatrixf\0" "glLoadTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[30874]: GetPointerv (offset 329) */ + /* _mesa_function_pool[30901]: GetPointerv (offset 329) */ "ip\0" "glGetPointerv\0" "glGetPointervEXT\0" "\0" - /* _mesa_function_pool[30909]: Tangent3bEXT (dynamic) */ + /* _mesa_function_pool[30936]: Tangent3bEXT (dynamic) */ "iii\0" "glTangent3bEXT\0" "\0" - /* _mesa_function_pool[30929]: CombinerParameterfNV (will be remapped) */ + /* _mesa_function_pool[30956]: CombinerParameterfNV (will be remapped) */ "if\0" "glCombinerParameterfNV\0" "\0" - /* _mesa_function_pool[30956]: IndexMask (offset 212) */ + /* _mesa_function_pool[30983]: IndexMask (offset 212) */ "i\0" "glIndexMask\0" "\0" - /* _mesa_function_pool[30971]: BindProgramNV (will be remapped) */ + /* _mesa_function_pool[30998]: BindProgramNV (will be remapped) */ "ii\0" "glBindProgramARB\0" "glBindProgramNV\0" "\0" - /* _mesa_function_pool[31008]: VertexAttrib4svARB (will be remapped) */ + /* _mesa_function_pool[31035]: VertexAttrib4svARB (will be remapped) */ "ip\0" "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" "\0" - /* _mesa_function_pool[31051]: GetFloatv (offset 262) */ + /* _mesa_function_pool[31078]: GetFloatv (offset 262) */ "ip\0" "glGetFloatv\0" "\0" - /* _mesa_function_pool[31067]: CreateDebugObjectMESA (dynamic) */ + /* _mesa_function_pool[31094]: CreateDebugObjectMESA (dynamic) */ "\0" "glCreateDebugObjectMESA\0" "\0" - /* _mesa_function_pool[31093]: GetShaderiv (will be remapped) */ + /* _mesa_function_pool[31120]: GetShaderiv (will be remapped) */ "iip\0" "glGetShaderiv\0" "\0" - /* _mesa_function_pool[31112]: ClientWaitSync (will be remapped) */ + /* _mesa_function_pool[31139]: ClientWaitSync (will be remapped) */ "iii\0" "glClientWaitSync\0" "\0" - /* _mesa_function_pool[31134]: TexCoord4s (offset 124) */ + /* _mesa_function_pool[31161]: TexCoord4s (offset 124) */ "iiii\0" "glTexCoord4s\0" "\0" - /* _mesa_function_pool[31153]: TexCoord3sv (offset 117) */ + /* _mesa_function_pool[31180]: TexCoord3sv (offset 117) */ "p\0" "glTexCoord3sv\0" "\0" - /* _mesa_function_pool[31170]: BindFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[31197]: BindFragmentShaderATI (will be remapped) */ "i\0" "glBindFragmentShaderATI\0" "\0" - /* _mesa_function_pool[31197]: PopAttrib (offset 218) */ + /* _mesa_function_pool[31224]: PopAttrib (offset 218) */ "\0" "glPopAttrib\0" "\0" - /* _mesa_function_pool[31211]: Fogfv (offset 154) */ + /* _mesa_function_pool[31238]: Fogfv (offset 154) */ "ip\0" "glFogfv\0" "\0" - /* _mesa_function_pool[31223]: UnmapBufferARB (will be remapped) */ + /* _mesa_function_pool[31250]: UnmapBufferARB (will be remapped) */ "i\0" "glUnmapBuffer\0" "glUnmapBufferARB\0" "\0" - /* _mesa_function_pool[31257]: InitNames (offset 197) */ + /* _mesa_function_pool[31284]: InitNames (offset 197) */ "\0" "glInitNames\0" "\0" - /* _mesa_function_pool[31271]: Normal3sv (offset 61) */ + /* _mesa_function_pool[31298]: Normal3sv (offset 61) */ "p\0" "glNormal3sv\0" "\0" - /* _mesa_function_pool[31286]: Minmax (offset 368) */ + /* _mesa_function_pool[31313]: Minmax (offset 368) */ "iii\0" "glMinmax\0" "glMinmaxEXT\0" "\0" - /* _mesa_function_pool[31312]: TexCoord4d (offset 118) */ + /* _mesa_function_pool[31339]: TexCoord4d (offset 118) */ "dddd\0" "glTexCoord4d\0" "\0" - /* _mesa_function_pool[31331]: DeformationMap3dSGIX (dynamic) */ - "iddiiddiiddiip\0" - "glDeformationMap3dSGIX\0" - "\0" - /* _mesa_function_pool[31370]: TexCoord4f (offset 120) */ + /* _mesa_function_pool[31358]: TexCoord4f (offset 120) */ "ffff\0" "glTexCoord4f\0" "\0" - /* _mesa_function_pool[31389]: FogCoorddvEXT (will be remapped) */ + /* _mesa_function_pool[31377]: FogCoorddvEXT (will be remapped) */ "p\0" "glFogCoorddv\0" "glFogCoorddvEXT\0" "\0" - /* _mesa_function_pool[31421]: FinishTextureSUNX (dynamic) */ + /* _mesa_function_pool[31409]: FinishTextureSUNX (dynamic) */ "\0" "glFinishTextureSUNX\0" "\0" - /* _mesa_function_pool[31443]: GetFragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[31431]: GetFragmentLightfvSGIX (dynamic) */ "iip\0" "glGetFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[31473]: Binormal3fvEXT (dynamic) */ + /* _mesa_function_pool[31461]: Binormal3fvEXT (dynamic) */ "p\0" "glBinormal3fvEXT\0" "\0" - /* _mesa_function_pool[31493]: GetBooleanv (offset 258) */ + /* _mesa_function_pool[31481]: GetBooleanv (offset 258) */ "ip\0" "glGetBooleanv\0" "\0" - /* _mesa_function_pool[31511]: ColorFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[31499]: ColorFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiiii\0" "glColorFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[31548]: Hint (offset 158) */ + /* _mesa_function_pool[31536]: Hint (offset 158) */ "ii\0" "glHint\0" "\0" - /* _mesa_function_pool[31559]: Color4dv (offset 28) */ + /* _mesa_function_pool[31547]: Color4dv (offset 28) */ "p\0" "glColor4dv\0" "\0" - /* _mesa_function_pool[31573]: VertexAttrib2svARB (will be remapped) */ + /* _mesa_function_pool[31561]: VertexAttrib2svARB (will be remapped) */ "ip\0" "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" "\0" - /* _mesa_function_pool[31616]: AreProgramsResidentNV (will be remapped) */ + /* _mesa_function_pool[31604]: AreProgramsResidentNV (will be remapped) */ "ipp\0" "glAreProgramsResidentNV\0" "\0" - /* _mesa_function_pool[31645]: WindowPos3svMESA (will be remapped) */ + /* _mesa_function_pool[31633]: WindowPos3svMESA (will be remapped) */ "p\0" "glWindowPos3sv\0" "glWindowPos3svARB\0" "glWindowPos3svMESA\0" "\0" - /* _mesa_function_pool[31700]: CopyColorSubTable (offset 347) */ + /* _mesa_function_pool[31688]: CopyColorSubTable (offset 347) */ "iiiii\0" "glCopyColorSubTable\0" "glCopyColorSubTableEXT\0" "\0" - /* _mesa_function_pool[31750]: WeightdvARB (dynamic) */ + /* _mesa_function_pool[31738]: WeightdvARB (dynamic) */ "ip\0" "glWeightdvARB\0" "\0" - /* _mesa_function_pool[31768]: DeleteRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[31756]: DeleteRenderbuffersEXT (will be remapped) */ "ip\0" "glDeleteRenderbuffers\0" "glDeleteRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[31819]: VertexAttrib4NubvARB (will be remapped) */ + /* _mesa_function_pool[31807]: VertexAttrib4NubvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" "\0" - /* _mesa_function_pool[31866]: VertexAttrib3dvNV (will be remapped) */ + /* _mesa_function_pool[31854]: VertexAttrib3dvNV (will be remapped) */ "ip\0" "glVertexAttrib3dvNV\0" "\0" - /* _mesa_function_pool[31890]: GetObjectParameterfvARB (will be remapped) */ + /* _mesa_function_pool[31878]: GetObjectParameterfvARB (will be remapped) */ "iip\0" "glGetObjectParameterfvARB\0" "\0" - /* _mesa_function_pool[31921]: Vertex4iv (offset 147) */ + /* _mesa_function_pool[31909]: Vertex4iv (offset 147) */ "p\0" "glVertex4iv\0" "\0" - /* _mesa_function_pool[31936]: GetProgramEnvParameterdvARB (will be remapped) */ + /* _mesa_function_pool[31924]: GetProgramEnvParameterdvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterdvARB\0" "\0" - /* _mesa_function_pool[31971]: TexCoord4dv (offset 119) */ + /* _mesa_function_pool[31959]: TexCoord4dv (offset 119) */ "p\0" "glTexCoord4dv\0" "\0" - /* _mesa_function_pool[31988]: LockArraysEXT (will be remapped) */ + /* _mesa_function_pool[31976]: LockArraysEXT (will be remapped) */ "ii\0" "glLockArraysEXT\0" "\0" - /* _mesa_function_pool[32008]: Begin (offset 7) */ + /* _mesa_function_pool[31996]: Begin (offset 7) */ "i\0" "glBegin\0" "\0" - /* _mesa_function_pool[32019]: LightModeli (offset 165) */ + /* _mesa_function_pool[32007]: LightModeli (offset 165) */ "ii\0" "glLightModeli\0" "\0" - /* _mesa_function_pool[32037]: VertexAttribI4ivEXT (will be remapped) */ + /* _mesa_function_pool[32025]: VertexAttribI4ivEXT (will be remapped) */ "ip\0" "glVertexAttribI4ivEXT\0" "glVertexAttribI4iv\0" "\0" - /* _mesa_function_pool[32082]: Rectfv (offset 89) */ + /* _mesa_function_pool[32070]: Rectfv (offset 89) */ "pp\0" "glRectfv\0" "\0" - /* _mesa_function_pool[32095]: LightModelf (offset 163) */ + /* _mesa_function_pool[32083]: BlendEquationSeparateiARB (will be remapped) */ + "iii\0" + "glBlendEquationSeparateiARB\0" + "\0" + /* _mesa_function_pool[32116]: LightModelf (offset 163) */ "if\0" "glLightModelf\0" "\0" - /* _mesa_function_pool[32113]: GetTexParameterfv (offset 282) */ + /* _mesa_function_pool[32134]: GetTexParameterfv (offset 282) */ "iip\0" "glGetTexParameterfv\0" "\0" - /* _mesa_function_pool[32138]: GetLightfv (offset 264) */ + /* _mesa_function_pool[32159]: GetLightfv (offset 264) */ "iip\0" "glGetLightfv\0" "\0" - /* _mesa_function_pool[32156]: PixelTransformParameterivEXT (dynamic) */ + /* _mesa_function_pool[32177]: PixelTransformParameterivEXT (dynamic) */ "iip\0" "glPixelTransformParameterivEXT\0" "\0" - /* _mesa_function_pool[32192]: BinormalPointerEXT (dynamic) */ + /* _mesa_function_pool[32213]: BinormalPointerEXT (dynamic) */ "iip\0" "glBinormalPointerEXT\0" "\0" - /* _mesa_function_pool[32218]: VertexAttrib1dNV (will be remapped) */ + /* _mesa_function_pool[32239]: VertexAttrib1dNV (will be remapped) */ "id\0" "glVertexAttrib1dNV\0" "\0" - /* _mesa_function_pool[32241]: GetCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[32262]: GetCombinerInputParameterivNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[32280]: Disable (offset 214) */ + /* _mesa_function_pool[32301]: Disable (offset 214) */ "i\0" "glDisable\0" "\0" - /* _mesa_function_pool[32293]: MultiTexCoord2fvARB (offset 387) */ + /* _mesa_function_pool[32314]: MultiTexCoord2fvARB (offset 387) */ "ip\0" "glMultiTexCoord2fv\0" "glMultiTexCoord2fvARB\0" "\0" - /* _mesa_function_pool[32338]: GetRenderbufferParameterivEXT (will be remapped) */ + /* _mesa_function_pool[32359]: GetRenderbufferParameterivEXT (will be remapped) */ "iip\0" "glGetRenderbufferParameteriv\0" "glGetRenderbufferParameterivEXT\0" "\0" - /* _mesa_function_pool[32404]: CombinerParameterivNV (will be remapped) */ + /* _mesa_function_pool[32425]: CombinerParameterivNV (will be remapped) */ "ip\0" "glCombinerParameterivNV\0" "\0" - /* _mesa_function_pool[32432]: GenFragmentShadersATI (will be remapped) */ + /* _mesa_function_pool[32453]: GenFragmentShadersATI (will be remapped) */ "i\0" "glGenFragmentShadersATI\0" "\0" - /* _mesa_function_pool[32459]: DrawArrays (offset 310) */ + /* _mesa_function_pool[32480]: DrawArrays (offset 310) */ "iii\0" "glDrawArrays\0" "glDrawArraysEXT\0" "\0" - /* _mesa_function_pool[32493]: WeightuivARB (dynamic) */ + /* _mesa_function_pool[32514]: WeightuivARB (dynamic) */ "ip\0" "glWeightuivARB\0" "\0" - /* _mesa_function_pool[32512]: VertexAttrib2sARB (will be remapped) */ + /* _mesa_function_pool[32533]: VertexAttrib2sARB (will be remapped) */ "iii\0" "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" "\0" - /* _mesa_function_pool[32554]: ColorMask (offset 210) */ + /* _mesa_function_pool[32575]: ColorMask (offset 210) */ "iiii\0" "glColorMask\0" "\0" - /* _mesa_function_pool[32572]: GenAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[32593]: GenAsyncMarkersSGIX (dynamic) */ "i\0" "glGenAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[32597]: Tangent3svEXT (dynamic) */ + /* _mesa_function_pool[32618]: Tangent3svEXT (dynamic) */ "p\0" "glTangent3svEXT\0" "\0" - /* _mesa_function_pool[32616]: GetListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[32637]: GetListParameterivSGIX (dynamic) */ "iip\0" "glGetListParameterivSGIX\0" "\0" - /* _mesa_function_pool[32646]: BindBufferARB (will be remapped) */ + /* _mesa_function_pool[32667]: BindBufferARB (will be remapped) */ "ii\0" "glBindBuffer\0" "glBindBufferARB\0" "\0" - /* _mesa_function_pool[32679]: GetInfoLogARB (will be remapped) */ + /* _mesa_function_pool[32700]: GetInfoLogARB (will be remapped) */ "iipp\0" "glGetInfoLogARB\0" "\0" - /* _mesa_function_pool[32701]: RasterPos4iv (offset 83) */ + /* _mesa_function_pool[32722]: RasterPos4iv (offset 83) */ "p\0" "glRasterPos4iv\0" "\0" - /* _mesa_function_pool[32719]: Enable (offset 215) */ + /* _mesa_function_pool[32740]: Enable (offset 215) */ "i\0" "glEnable\0" "\0" - /* _mesa_function_pool[32731]: LineStipple (offset 167) */ + /* _mesa_function_pool[32752]: LineStipple (offset 167) */ "ii\0" "glLineStipple\0" "\0" - /* _mesa_function_pool[32749]: VertexAttribs4svNV (will be remapped) */ + /* _mesa_function_pool[32770]: VertexAttribs4svNV (will be remapped) */ "iip\0" "glVertexAttribs4svNV\0" "\0" - /* _mesa_function_pool[32775]: EdgeFlagPointerListIBM (dynamic) */ + /* _mesa_function_pool[32796]: EdgeFlagPointerListIBM (dynamic) */ "ipi\0" "glEdgeFlagPointerListIBM\0" "\0" - /* _mesa_function_pool[32805]: UniformMatrix3x2fv (will be remapped) */ + /* _mesa_function_pool[32826]: UniformMatrix3x2fv (will be remapped) */ "iiip\0" "glUniformMatrix3x2fv\0" "\0" - /* _mesa_function_pool[32832]: GetMinmaxParameterfv (offset 365) */ + /* _mesa_function_pool[32853]: GetMinmaxParameterfv (offset 365) */ "iip\0" "glGetMinmaxParameterfv\0" "glGetMinmaxParameterfvEXT\0" "\0" - /* _mesa_function_pool[32886]: VertexAttrib1fvARB (will be remapped) */ + /* _mesa_function_pool[32907]: VertexAttrib1fvARB (will be remapped) */ "ip\0" "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" "\0" - /* _mesa_function_pool[32929]: GenBuffersARB (will be remapped) */ + /* _mesa_function_pool[32950]: GenBuffersARB (will be remapped) */ "ip\0" "glGenBuffers\0" "glGenBuffersARB\0" "\0" - /* _mesa_function_pool[32962]: VertexAttribs1svNV (will be remapped) */ + /* _mesa_function_pool[32983]: VertexAttribs1svNV (will be remapped) */ "iip\0" "glVertexAttribs1svNV\0" "\0" - /* _mesa_function_pool[32988]: Vertex3fv (offset 137) */ + /* _mesa_function_pool[33009]: Vertex3fv (offset 137) */ "p\0" "glVertex3fv\0" "\0" - /* _mesa_function_pool[33003]: GetTexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[33024]: GetTexBumpParameterivATI (will be remapped) */ "ip\0" "glGetTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[33034]: Binormal3bEXT (dynamic) */ + /* _mesa_function_pool[33055]: Binormal3bEXT (dynamic) */ "iii\0" "glBinormal3bEXT\0" "\0" - /* _mesa_function_pool[33055]: FragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[33076]: FragmentMaterialivSGIX (dynamic) */ "iip\0" "glFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[33085]: IsRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[33106]: IsRenderbufferEXT (will be remapped) */ "i\0" "glIsRenderbuffer\0" "glIsRenderbufferEXT\0" "\0" - /* _mesa_function_pool[33125]: GenProgramsNV (will be remapped) */ + /* _mesa_function_pool[33146]: GenProgramsNV (will be remapped) */ "ip\0" "glGenProgramsARB\0" "glGenProgramsNV\0" "\0" - /* _mesa_function_pool[33162]: VertexAttrib4dvNV (will be remapped) */ + /* _mesa_function_pool[33183]: VertexAttrib4dvNV (will be remapped) */ "ip\0" "glVertexAttrib4dvNV\0" "\0" - /* _mesa_function_pool[33186]: EndFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[33207]: EndFragmentShaderATI (will be remapped) */ "\0" "glEndFragmentShaderATI\0" "\0" - /* _mesa_function_pool[33211]: Binormal3iEXT (dynamic) */ + /* _mesa_function_pool[33232]: Binormal3iEXT (dynamic) */ "iii\0" "glBinormal3iEXT\0" "\0" - /* _mesa_function_pool[33232]: WindowPos2fMESA (will be remapped) */ + /* _mesa_function_pool[33253]: WindowPos2fMESA (will be remapped) */ "ff\0" "glWindowPos2f\0" "glWindowPos2fARB\0" @@ -4779,599 +4783,600 @@ static const char _mesa_function_pool[] = /* these functions need to be remapped */ static const struct gl_function_pool_remap MESA_remap_table_functions[] = { - { 1577, AttachShader_remap_index }, - { 9906, CreateProgram_remap_index }, - { 23021, CreateShader_remap_index }, - { 25508, DeleteProgram_remap_index }, - { 18665, DeleteShader_remap_index }, - { 23522, DetachShader_remap_index }, - { 18068, GetAttachedShaders_remap_index }, - { 4869, GetProgramInfoLog_remap_index }, - { 405, GetProgramiv_remap_index }, - { 6542, GetShaderInfoLog_remap_index }, - { 31093, GetShaderiv_remap_index }, - { 13361, IsProgram_remap_index }, - { 12282, IsShader_remap_index }, - { 10036, StencilFuncSeparate_remap_index }, - { 3921, StencilMaskSeparate_remap_index }, - { 7607, StencilOpSeparate_remap_index }, - { 22309, UniformMatrix2x3fv_remap_index }, - { 2847, UniformMatrix2x4fv_remap_index }, - { 32805, UniformMatrix3x2fv_remap_index }, - { 30415, UniformMatrix3x4fv_remap_index }, - { 16309, UniformMatrix4x2fv_remap_index }, - { 3263, UniformMatrix4x3fv_remap_index }, - { 5030, ClampColor_remap_index }, - { 18122, ClearBufferfi_remap_index }, - { 17564, ClearBufferfv_remap_index }, - { 29438, ClearBufferiv_remap_index }, - { 13566, ClearBufferuiv_remap_index }, - { 19948, GetStringi_remap_index }, - { 2788, TexBuffer_remap_index }, - { 938, FramebufferTexture_remap_index }, - { 26534, GetBufferParameteri64v_remap_index }, - { 10136, GetInteger64i_v_remap_index }, - { 23335, VertexAttribDivisor_remap_index }, - { 9924, LoadTransposeMatrixdARB_remap_index }, - { 30822, LoadTransposeMatrixfARB_remap_index }, - { 5608, MultTransposeMatrixdARB_remap_index }, - { 23709, MultTransposeMatrixfARB_remap_index }, - { 216, SampleCoverageARB_remap_index }, - { 5834, CompressedTexImage1DARB_remap_index }, - { 24237, CompressedTexImage2DARB_remap_index }, - { 3984, CompressedTexImage3DARB_remap_index }, - { 18382, CompressedTexSubImage1DARB_remap_index }, - { 2050, CompressedTexSubImage2DARB_remap_index }, - { 20370, CompressedTexSubImage3DARB_remap_index }, - { 28594, GetCompressedTexImageARB_remap_index }, - { 3829, DisableVertexAttribArrayARB_remap_index }, - { 29980, EnableVertexAttribArrayARB_remap_index }, - { 31936, GetProgramEnvParameterdvARB_remap_index }, - { 23589, GetProgramEnvParameterfvARB_remap_index }, - { 27531, GetProgramLocalParameterdvARB_remap_index }, - { 8049, GetProgramLocalParameterfvARB_remap_index }, - { 18516, GetProgramStringARB_remap_index }, - { 27726, GetProgramivARB_remap_index }, - { 20565, GetVertexAttribdvARB_remap_index }, - { 16117, GetVertexAttribfvARB_remap_index }, - { 9748, GetVertexAttribivARB_remap_index }, - { 19429, ProgramEnvParameter4dARB_remap_index }, - { 25258, ProgramEnvParameter4dvARB_remap_index }, - { 16886, ProgramEnvParameter4fARB_remap_index }, - { 8948, ProgramEnvParameter4fvARB_remap_index }, - { 3947, ProgramLocalParameter4dARB_remap_index }, - { 13071, ProgramLocalParameter4dvARB_remap_index }, - { 29459, ProgramLocalParameter4fARB_remap_index }, - { 25894, ProgramLocalParameter4fvARB_remap_index }, - { 28348, ProgramStringARB_remap_index }, - { 19679, VertexAttrib1dARB_remap_index }, - { 15771, VertexAttrib1dvARB_remap_index }, - { 4122, VertexAttrib1fARB_remap_index }, - { 32886, VertexAttrib1fvARB_remap_index }, - { 7133, VertexAttrib1sARB_remap_index }, - { 2224, VertexAttrib1svARB_remap_index }, - { 15202, VertexAttrib2dARB_remap_index }, - { 17585, VertexAttrib2dvARB_remap_index }, - { 1596, VertexAttrib2fARB_remap_index }, - { 17698, VertexAttrib2fvARB_remap_index }, - { 32512, VertexAttrib2sARB_remap_index }, - { 31573, VertexAttrib2svARB_remap_index }, - { 11287, VertexAttrib3dARB_remap_index }, - { 8615, VertexAttrib3dvARB_remap_index }, - { 1683, VertexAttrib3fARB_remap_index }, - { 22572, VertexAttrib3fvARB_remap_index }, - { 28195, VertexAttrib3sARB_remap_index }, - { 20307, VertexAttrib3svARB_remap_index }, - { 4895, VertexAttrib4NbvARB_remap_index }, - { 17945, VertexAttrib4NivARB_remap_index }, - { 22527, VertexAttrib4NsvARB_remap_index }, - { 23541, VertexAttrib4NubARB_remap_index }, - { 31819, VertexAttrib4NubvARB_remap_index }, - { 19090, VertexAttrib4NuivARB_remap_index }, - { 3136, VertexAttrib4NusvARB_remap_index }, - { 10876, VertexAttrib4bvARB_remap_index }, - { 26904, VertexAttrib4dARB_remap_index }, - { 21329, VertexAttrib4dvARB_remap_index }, - { 11441, VertexAttrib4fARB_remap_index }, - { 11845, VertexAttrib4fvARB_remap_index }, - { 10252, VertexAttrib4ivARB_remap_index }, - { 17378, VertexAttrib4sARB_remap_index }, - { 31008, VertexAttrib4svARB_remap_index }, - { 16691, VertexAttrib4ubvARB_remap_index }, - { 30304, VertexAttrib4uivARB_remap_index }, - { 20118, VertexAttrib4usvARB_remap_index }, - { 22124, VertexAttribPointerARB_remap_index }, - { 32646, BindBufferARB_remap_index }, - { 6840, BufferDataARB_remap_index }, - { 1498, BufferSubDataARB_remap_index }, - { 30585, DeleteBuffersARB_remap_index }, - { 32929, GenBuffersARB_remap_index }, - { 17741, GetBufferParameterivARB_remap_index }, - { 16838, GetBufferPointervARB_remap_index }, - { 1451, GetBufferSubDataARB_remap_index }, - { 30252, IsBufferARB_remap_index }, - { 26378, MapBufferARB_remap_index }, - { 31223, UnmapBufferARB_remap_index }, - { 312, BeginQueryARB_remap_index }, - { 19774, DeleteQueriesARB_remap_index }, - { 12172, EndQueryARB_remap_index }, - { 29073, GenQueriesARB_remap_index }, - { 1942, GetQueryObjectivARB_remap_index }, - { 17422, GetQueryObjectuivARB_remap_index }, - { 1740, GetQueryivARB_remap_index }, - { 20025, IsQueryARB_remap_index }, - { 8225, AttachObjectARB_remap_index }, - { 18627, CompileShaderARB_remap_index }, - { 3205, CreateProgramObjectARB_remap_index }, - { 6785, CreateShaderObjectARB_remap_index }, - { 14504, DeleteObjectARB_remap_index }, - { 24028, DetachObjectARB_remap_index }, - { 11917, GetActiveUniformARB_remap_index }, - { 9423, GetAttachedObjectsARB_remap_index }, - { 9730, GetHandleARB_remap_index }, - { 32679, GetInfoLogARB_remap_index }, - { 31890, GetObjectParameterfvARB_remap_index }, - { 27405, GetObjectParameterivARB_remap_index }, - { 28831, GetShaderSourceARB_remap_index }, - { 28055, GetUniformLocationARB_remap_index }, - { 23811, GetUniformfvARB_remap_index }, - { 12646, GetUniformivARB_remap_index }, - { 20163, LinkProgramARB_remap_index }, - { 20221, ShaderSourceARB_remap_index }, - { 7507, Uniform1fARB_remap_index }, - { 29668, Uniform1fvARB_remap_index }, - { 22093, Uniform1iARB_remap_index }, - { 21018, Uniform1ivARB_remap_index }, - { 2173, Uniform2fARB_remap_index }, - { 14340, Uniform2fvARB_remap_index }, - { 26265, Uniform2iARB_remap_index }, - { 2293, Uniform2ivARB_remap_index }, - { 18737, Uniform3fARB_remap_index }, - { 9453, Uniform3fvARB_remap_index }, - { 6396, Uniform3iARB_remap_index }, - { 16944, Uniform3ivARB_remap_index }, - { 19235, Uniform4fARB_remap_index }, - { 23675, Uniform4fvARB_remap_index }, - { 24937, Uniform4iARB_remap_index }, - { 20531, Uniform4ivARB_remap_index }, - { 8277, UniformMatrix2fvARB_remap_index }, + { 1616, AttachShader_remap_index }, + { 9893, CreateProgram_remap_index }, + { 22964, CreateShader_remap_index }, + { 25451, DeleteProgram_remap_index }, + { 18608, DeleteShader_remap_index }, + { 23465, DetachShader_remap_index }, + { 17974, GetAttachedShaders_remap_index }, + { 4856, GetProgramInfoLog_remap_index }, + { 444, GetProgramiv_remap_index }, + { 6529, GetShaderInfoLog_remap_index }, + { 31120, GetShaderiv_remap_index }, + { 13387, IsProgram_remap_index }, + { 12308, IsShader_remap_index }, + { 10023, StencilFuncSeparate_remap_index }, + { 3960, StencilMaskSeparate_remap_index }, + { 7594, StencilOpSeparate_remap_index }, + { 22252, UniformMatrix2x3fv_remap_index }, + { 2886, UniformMatrix2x4fv_remap_index }, + { 32826, UniformMatrix3x2fv_remap_index }, + { 30442, UniformMatrix3x4fv_remap_index }, + { 16264, UniformMatrix4x2fv_remap_index }, + { 3302, UniformMatrix4x3fv_remap_index }, + { 5017, ClampColor_remap_index }, + { 18028, ClearBufferfi_remap_index }, + { 17470, ClearBufferfv_remap_index }, + { 29465, ClearBufferiv_remap_index }, + { 13592, ClearBufferuiv_remap_index }, + { 19891, GetStringi_remap_index }, + { 2827, TexBuffer_remap_index }, + { 977, FramebufferTexture_remap_index }, + { 26477, GetBufferParameteri64v_remap_index }, + { 10123, GetInteger64i_v_remap_index }, + { 23278, VertexAttribDivisor_remap_index }, + { 9911, LoadTransposeMatrixdARB_remap_index }, + { 30849, LoadTransposeMatrixfARB_remap_index }, + { 5637, MultTransposeMatrixdARB_remap_index }, + { 23652, MultTransposeMatrixfARB_remap_index }, + { 255, SampleCoverageARB_remap_index }, + { 5821, CompressedTexImage1DARB_remap_index }, + { 24180, CompressedTexImage2DARB_remap_index }, + { 4023, CompressedTexImage3DARB_remap_index }, + { 18325, CompressedTexSubImage1DARB_remap_index }, + { 2089, CompressedTexSubImage2DARB_remap_index }, + { 20313, CompressedTexSubImage3DARB_remap_index }, + { 28621, GetCompressedTexImageARB_remap_index }, + { 3868, DisableVertexAttribArrayARB_remap_index }, + { 30007, EnableVertexAttribArrayARB_remap_index }, + { 31924, GetProgramEnvParameterdvARB_remap_index }, + { 23532, GetProgramEnvParameterfvARB_remap_index }, + { 27506, GetProgramLocalParameterdvARB_remap_index }, + { 8036, GetProgramLocalParameterfvARB_remap_index }, + { 18459, GetProgramStringARB_remap_index }, + { 27701, GetProgramivARB_remap_index }, + { 20508, GetVertexAttribdvARB_remap_index }, + { 16072, GetVertexAttribfvARB_remap_index }, + { 9735, GetVertexAttribivARB_remap_index }, + { 19372, ProgramEnvParameter4dARB_remap_index }, + { 25201, ProgramEnvParameter4dvARB_remap_index }, + { 16792, ProgramEnvParameter4fARB_remap_index }, + { 8935, ProgramEnvParameter4fvARB_remap_index }, + { 3986, ProgramLocalParameter4dARB_remap_index }, + { 13097, ProgramLocalParameter4dvARB_remap_index }, + { 29486, ProgramLocalParameter4fARB_remap_index }, + { 25837, ProgramLocalParameter4fvARB_remap_index }, + { 28375, ProgramStringARB_remap_index }, + { 19622, VertexAttrib1dARB_remap_index }, + { 15726, VertexAttrib1dvARB_remap_index }, + { 4161, VertexAttrib1fARB_remap_index }, + { 32907, VertexAttrib1fvARB_remap_index }, + { 7120, VertexAttrib1sARB_remap_index }, + { 2263, VertexAttrib1svARB_remap_index }, + { 15157, VertexAttrib2dARB_remap_index }, + { 17491, VertexAttrib2dvARB_remap_index }, + { 1635, VertexAttrib2fARB_remap_index }, + { 17604, VertexAttrib2fvARB_remap_index }, + { 32533, VertexAttrib2sARB_remap_index }, + { 31561, VertexAttrib2svARB_remap_index }, + { 11274, VertexAttrib3dARB_remap_index }, + { 8602, VertexAttrib3dvARB_remap_index }, + { 1722, VertexAttrib3fARB_remap_index }, + { 22515, VertexAttrib3fvARB_remap_index }, + { 28222, VertexAttrib3sARB_remap_index }, + { 20250, VertexAttrib3svARB_remap_index }, + { 4882, VertexAttrib4NbvARB_remap_index }, + { 17851, VertexAttrib4NivARB_remap_index }, + { 22470, VertexAttrib4NsvARB_remap_index }, + { 23484, VertexAttrib4NubARB_remap_index }, + { 31807, VertexAttrib4NubvARB_remap_index }, + { 19033, VertexAttrib4NuivARB_remap_index }, + { 3175, VertexAttrib4NusvARB_remap_index }, + { 10863, VertexAttrib4bvARB_remap_index }, + { 26879, VertexAttrib4dARB_remap_index }, + { 21272, VertexAttrib4dvARB_remap_index }, + { 11428, VertexAttrib4fARB_remap_index }, + { 11832, VertexAttrib4fvARB_remap_index }, + { 10239, VertexAttrib4ivARB_remap_index }, + { 17284, VertexAttrib4sARB_remap_index }, + { 31035, VertexAttrib4svARB_remap_index }, + { 16597, VertexAttrib4ubvARB_remap_index }, + { 30331, VertexAttrib4uivARB_remap_index }, + { 20061, VertexAttrib4usvARB_remap_index }, + { 22067, VertexAttribPointerARB_remap_index }, + { 32667, BindBufferARB_remap_index }, + { 6827, BufferDataARB_remap_index }, + { 1537, BufferSubDataARB_remap_index }, + { 30612, DeleteBuffersARB_remap_index }, + { 32950, GenBuffersARB_remap_index }, + { 17647, GetBufferParameterivARB_remap_index }, + { 16744, GetBufferPointervARB_remap_index }, + { 1490, GetBufferSubDataARB_remap_index }, + { 30279, IsBufferARB_remap_index }, + { 26321, MapBufferARB_remap_index }, + { 31250, UnmapBufferARB_remap_index }, + { 351, BeginQueryARB_remap_index }, + { 19717, DeleteQueriesARB_remap_index }, + { 12159, EndQueryARB_remap_index }, + { 29100, GenQueriesARB_remap_index }, + { 1981, GetQueryObjectivARB_remap_index }, + { 17328, GetQueryObjectuivARB_remap_index }, + { 1779, GetQueryivARB_remap_index }, + { 19968, IsQueryARB_remap_index }, + { 8212, AttachObjectARB_remap_index }, + { 18570, CompileShaderARB_remap_index }, + { 3244, CreateProgramObjectARB_remap_index }, + { 6772, CreateShaderObjectARB_remap_index }, + { 14459, DeleteObjectARB_remap_index }, + { 23971, DetachObjectARB_remap_index }, + { 11904, GetActiveUniformARB_remap_index }, + { 9410, GetAttachedObjectsARB_remap_index }, + { 9717, GetHandleARB_remap_index }, + { 32700, GetInfoLogARB_remap_index }, + { 31878, GetObjectParameterfvARB_remap_index }, + { 27380, GetObjectParameterivARB_remap_index }, + { 28858, GetShaderSourceARB_remap_index }, + { 28082, GetUniformLocationARB_remap_index }, + { 23754, GetUniformfvARB_remap_index }, + { 12672, GetUniformivARB_remap_index }, + { 20106, LinkProgramARB_remap_index }, + { 20164, ShaderSourceARB_remap_index }, + { 7494, Uniform1fARB_remap_index }, + { 29695, Uniform1fvARB_remap_index }, + { 22036, Uniform1iARB_remap_index }, + { 20961, Uniform1ivARB_remap_index }, + { 2212, Uniform2fARB_remap_index }, + { 14295, Uniform2fvARB_remap_index }, + { 26208, Uniform2iARB_remap_index }, + { 2332, Uniform2ivARB_remap_index }, + { 18680, Uniform3fARB_remap_index }, + { 9440, Uniform3fvARB_remap_index }, + { 6383, Uniform3iARB_remap_index }, + { 16850, Uniform3ivARB_remap_index }, + { 19178, Uniform4fARB_remap_index }, + { 23618, Uniform4fvARB_remap_index }, + { 24880, Uniform4iARB_remap_index }, + { 20474, Uniform4ivARB_remap_index }, + { 8264, UniformMatrix2fvARB_remap_index }, { 17, UniformMatrix3fvARB_remap_index }, - { 2690, UniformMatrix4fvARB_remap_index }, - { 25370, UseProgramObjectARB_remap_index }, - { 14890, ValidateProgramARB_remap_index }, - { 21372, BindAttribLocationARB_remap_index }, - { 4940, GetActiveAttribARB_remap_index }, - { 16592, GetAttribLocationARB_remap_index }, - { 29386, DrawBuffersARB_remap_index }, - { 17990, DrawArraysInstancedARB_remap_index }, - { 6457, DrawElementsInstancedARB_remap_index }, - { 13176, RenderbufferStorageMultisample_remap_index }, - { 13647, FramebufferTextureARB_remap_index }, - { 25796, FramebufferTextureFaceARB_remap_index }, - { 24177, ProgramParameteriARB_remap_index }, - { 23493, VertexAttribDivisorARB_remap_index }, - { 19283, FlushMappedBufferRange_remap_index }, - { 27822, MapBufferRange_remap_index }, - { 16420, BindVertexArray_remap_index }, - { 14713, GenVertexArrays_remap_index }, - { 30182, CopyBufferSubData_remap_index }, - { 31112, ClientWaitSync_remap_index }, - { 2609, DeleteSync_remap_index }, - { 7174, FenceSync_remap_index }, - { 15261, GetInteger64v_remap_index }, - { 22634, GetSynciv_remap_index }, - { 29325, IsSync_remap_index }, - { 9371, WaitSync_remap_index }, - { 3797, DrawElementsBaseVertex_remap_index }, - { 30517, DrawRangeElementsBaseVertex_remap_index }, - { 26409, MultiDrawElementsBaseVertex_remap_index }, - { 16658, BlendEquationSeparateiARB_remap_index }, - { 17834, BlendEquationiARB_remap_index }, - { 12615, BlendFuncSeparateiARB_remap_index }, - { 9796, BlendFunciARB_remap_index }, - { 5091, BindTransformFeedback_remap_index }, - { 3232, DeleteTransformFeedbacks_remap_index }, - { 6429, DrawTransformFeedback_remap_index }, - { 9590, GenTransformFeedbacks_remap_index }, - { 28238, IsTransformFeedback_remap_index }, - { 25989, PauseTransformFeedback_remap_index }, - { 5528, ResumeTransformFeedback_remap_index }, - { 21692, ClearDepthf_remap_index }, - { 6733, DepthRangef_remap_index }, - { 14525, GetShaderPrecisionFormat_remap_index }, - { 9976, ReleaseShaderCompiler_remap_index }, - { 10919, ShaderBinary_remap_index }, - { 5396, PolygonOffsetEXT_remap_index }, - { 23256, GetPixelTexGenParameterfvSGIS_remap_index }, - { 4417, GetPixelTexGenParameterivSGIS_remap_index }, - { 22989, PixelTexGenParameterfSGIS_remap_index }, - { 624, PixelTexGenParameterfvSGIS_remap_index }, - { 12684, PixelTexGenParameteriSGIS_remap_index }, - { 13821, PixelTexGenParameterivSGIS_remap_index }, - { 16508, SampleMaskSGIS_remap_index }, - { 19965, SamplePatternSGIS_remap_index }, - { 26338, ColorPointerEXT_remap_index }, - { 17628, EdgeFlagPointerEXT_remap_index }, - { 6050, IndexPointerEXT_remap_index }, - { 6130, NormalPointerEXT_remap_index }, - { 15855, TexCoordPointerEXT_remap_index }, - { 6963, VertexPointerEXT_remap_index }, - { 3599, PointParameterfEXT_remap_index }, - { 7814, PointParameterfvEXT_remap_index }, - { 31988, LockArraysEXT_remap_index }, - { 14954, UnlockArraysEXT_remap_index }, - { 1267, SecondaryColor3bEXT_remap_index }, - { 7973, SecondaryColor3bvEXT_remap_index }, - { 10429, SecondaryColor3dEXT_remap_index }, - { 25566, SecondaryColor3dvEXT_remap_index }, - { 28104, SecondaryColor3fEXT_remap_index }, - { 18318, SecondaryColor3fvEXT_remap_index }, - { 470, SecondaryColor3iEXT_remap_index }, - { 16165, SecondaryColor3ivEXT_remap_index }, - { 10064, SecondaryColor3sEXT_remap_index }, - { 30776, SecondaryColor3svEXT_remap_index }, - { 27241, SecondaryColor3ubEXT_remap_index }, - { 21263, SecondaryColor3ubvEXT_remap_index }, - { 12926, SecondaryColor3uiEXT_remap_index }, - { 22876, SecondaryColor3uivEXT_remap_index }, - { 25846, SecondaryColor3usEXT_remap_index }, - { 12999, SecondaryColor3usvEXT_remap_index }, - { 11788, SecondaryColorPointerEXT_remap_index }, - { 25660, MultiDrawArraysEXT_remap_index }, - { 20953, MultiDrawElementsEXT_remap_index }, - { 21148, FogCoordPointerEXT_remap_index }, - { 4566, FogCoorddEXT_remap_index }, - { 31389, FogCoorddvEXT_remap_index }, - { 4683, FogCoordfEXT_remap_index }, - { 27164, FogCoordfvEXT_remap_index }, - { 19187, PixelTexGenSGIX_remap_index }, - { 27749, BlendFuncSeparateEXT_remap_index }, - { 6875, FlushVertexArrayRangeNV_remap_index }, - { 5345, VertexArrayRangeNV_remap_index }, - { 28169, CombinerInputNV_remap_index }, - { 2116, CombinerOutputNV_remap_index }, - { 30929, CombinerParameterfNV_remap_index }, - { 5219, CombinerParameterfvNV_remap_index }, - { 22358, CombinerParameteriNV_remap_index }, - { 32404, CombinerParameterivNV_remap_index }, - { 7251, FinalCombinerInputNV_remap_index }, - { 9817, GetCombinerInputParameterfvNV_remap_index }, - { 32241, GetCombinerInputParameterivNV_remap_index }, - { 13922, GetCombinerOutputParameterfvNV_remap_index }, - { 13750, GetCombinerOutputParameterivNV_remap_index }, - { 6637, GetFinalCombinerInputParameterfvNV_remap_index }, - { 24809, GetFinalCombinerInputParameterivNV_remap_index }, - { 12593, ResizeBuffersMESA_remap_index }, - { 11114, WindowPos2dMESA_remap_index }, - { 1060, WindowPos2dvMESA_remap_index }, - { 33232, WindowPos2fMESA_remap_index }, - { 7918, WindowPos2fvMESA_remap_index }, - { 18265, WindowPos2iMESA_remap_index }, - { 20438, WindowPos2ivMESA_remap_index }, - { 21052, WindowPos2sMESA_remap_index }, - { 5748, WindowPos2svMESA_remap_index }, - { 7743, WindowPos3dMESA_remap_index }, - { 14068, WindowPos3dvMESA_remap_index }, - { 516, WindowPos3fMESA_remap_index }, - { 15015, WindowPos3fvMESA_remap_index }, - { 24070, WindowPos3iMESA_remap_index }, - { 30127, WindowPos3ivMESA_remap_index }, - { 18882, WindowPos3sMESA_remap_index }, - { 31645, WindowPos3svMESA_remap_index }, - { 11065, WindowPos4dMESA_remap_index }, - { 17082, WindowPos4dvMESA_remap_index }, - { 14027, WindowPos4fMESA_remap_index }, - { 30683, WindowPos4fvMESA_remap_index }, - { 30280, WindowPos4iMESA_remap_index }, - { 12396, WindowPos4ivMESA_remap_index }, - { 19066, WindowPos4sMESA_remap_index }, - { 3183, WindowPos4svMESA_remap_index }, - { 13789, MultiModeDrawArraysIBM_remap_index }, - { 28944, MultiModeDrawElementsIBM_remap_index }, - { 12200, DeleteFencesNV_remap_index }, - { 28016, FinishFenceNV_remap_index }, - { 3721, GenFencesNV_remap_index }, - { 17062, GetFenceivNV_remap_index }, - { 8210, IsFenceNV_remap_index }, - { 13677, SetFenceNV_remap_index }, - { 4178, TestFenceNV_remap_index }, - { 31616, AreProgramsResidentNV_remap_index }, - { 30971, BindProgramNV_remap_index }, - { 25929, DeleteProgramsNV_remap_index }, - { 21481, ExecuteProgramNV_remap_index }, - { 33125, GenProgramsNV_remap_index }, - { 23361, GetProgramParameterdvNV_remap_index }, - { 10491, GetProgramParameterfvNV_remap_index }, - { 26312, GetProgramStringNV_remap_index }, - { 24447, GetProgramivNV_remap_index }, - { 23624, GetTrackMatrixivNV_remap_index }, - { 26106, GetVertexAttribPointervNV_remap_index }, - { 24742, GetVertexAttribdvNV_remap_index }, - { 9266, GetVertexAttribfvNV_remap_index }, - { 18489, GetVertexAttribivNV_remap_index }, - { 19313, IsProgramNV_remap_index }, - { 9349, LoadProgramNV_remap_index }, - { 27845, ProgramParameters4dvNV_remap_index }, - { 24377, ProgramParameters4fvNV_remap_index }, - { 20742, RequestResidentProgramsNV_remap_index }, - { 22336, TrackMatrixNV_remap_index }, - { 32218, VertexAttrib1dNV_remap_index }, - { 13588, VertexAttrib1dvNV_remap_index }, - { 28450, VertexAttrib1fNV_remap_index }, - { 2415, VertexAttrib1fvNV_remap_index }, - { 30740, VertexAttrib1sNV_remap_index }, - { 15088, VertexAttrib1svNV_remap_index }, - { 4845, VertexAttrib2dNV_remap_index }, - { 13481, VertexAttrib2dvNV_remap_index }, - { 20197, VertexAttrib2fNV_remap_index }, - { 13047, VertexAttrib2fvNV_remap_index }, - { 5960, VertexAttrib2sNV_remap_index }, - { 18936, VertexAttrib2svNV_remap_index }, - { 11262, VertexAttrib3dNV_remap_index }, - { 31866, VertexAttrib3dvNV_remap_index }, - { 10303, VertexAttrib3fNV_remap_index }, - { 24769, VertexAttrib3fvNV_remap_index }, - { 22179, VertexAttrib3sNV_remap_index }, - { 23651, VertexAttrib3svNV_remap_index }, - { 28918, VertexAttrib4dNV_remap_index }, - { 33162, VertexAttrib4dvNV_remap_index }, - { 4467, VertexAttrib4fNV_remap_index }, - { 9399, VertexAttrib4fvNV_remap_index }, - { 26788, VertexAttrib4sNV_remap_index }, - { 1409, VertexAttrib4svNV_remap_index }, - { 5003, VertexAttrib4ubNV_remap_index }, - { 778, VertexAttrib4ubvNV_remap_index }, - { 21661, VertexAttribPointerNV_remap_index }, - { 2267, VertexAttribs1dvNV_remap_index }, - { 26194, VertexAttribs1fvNV_remap_index }, - { 32962, VertexAttribs1svNV_remap_index }, - { 10328, VertexAttribs2dvNV_remap_index }, - { 25331, VertexAttribs2fvNV_remap_index }, - { 17654, VertexAttribs2svNV_remap_index }, - { 5247, VertexAttribs3dvNV_remap_index }, - { 2147, VertexAttribs3fvNV_remap_index }, - { 29875, VertexAttribs3svNV_remap_index }, - { 26878, VertexAttribs4dvNV_remap_index }, - { 5319, VertexAttribs4fvNV_remap_index }, - { 32749, VertexAttribs4svNV_remap_index }, - { 29623, VertexAttribs4ubvNV_remap_index }, - { 26948, GetTexBumpParameterfvATI_remap_index }, - { 33003, GetTexBumpParameterivATI_remap_index }, - { 18599, TexBumpParameterfvATI_remap_index }, - { 20613, TexBumpParameterivATI_remap_index }, - { 15634, AlphaFragmentOp1ATI_remap_index }, - { 25612, AlphaFragmentOp2ATI_remap_index }, - { 24685, AlphaFragmentOp3ATI_remap_index }, - { 29802, BeginFragmentShaderATI_remap_index }, - { 31170, BindFragmentShaderATI_remap_index }, - { 23780, ColorFragmentOp1ATI_remap_index }, - { 4345, ColorFragmentOp2ATI_remap_index }, - { 31511, ColorFragmentOp3ATI_remap_index }, - { 5485, DeleteFragmentShaderATI_remap_index }, - { 33186, EndFragmentShaderATI_remap_index }, - { 32432, GenFragmentShadersATI_remap_index }, - { 25485, PassTexCoordATI_remap_index }, - { 6943, SampleMapATI_remap_index }, - { 27059, SetFragmentShaderConstantATI_remap_index }, - { 363, PointParameteriNV_remap_index }, - { 14229, PointParameterivNV_remap_index }, - { 28757, ActiveStencilFaceEXT_remap_index }, - { 27505, BindVertexArrayAPPLE_remap_index }, - { 2737, DeleteVertexArraysAPPLE_remap_index }, - { 18095, GenVertexArraysAPPLE_remap_index }, - { 23426, IsVertexArrayAPPLE_remap_index }, - { 819, GetProgramNamedParameterdvNV_remap_index }, - { 3562, GetProgramNamedParameterfvNV_remap_index }, - { 26979, ProgramNamedParameter4dNV_remap_index }, - { 14588, ProgramNamedParameter4dvNV_remap_index }, - { 8882, ProgramNamedParameter4fNV_remap_index }, - { 11753, ProgramNamedParameter4fvNV_remap_index }, - { 16993, PrimitiveRestartIndexNV_remap_index }, - { 30660, PrimitiveRestartNV_remap_index }, - { 24356, DepthBoundsEXT_remap_index }, - { 1159, BlendEquationSeparateEXT_remap_index }, - { 14789, BindFramebufferEXT_remap_index }, - { 25705, BindRenderbufferEXT_remap_index }, - { 9646, CheckFramebufferStatusEXT_remap_index }, - { 22677, DeleteFramebuffersEXT_remap_index }, - { 31768, DeleteRenderbuffersEXT_remap_index }, - { 13505, FramebufferRenderbufferEXT_remap_index }, - { 13694, FramebufferTexture1DEXT_remap_index }, - { 11547, FramebufferTexture2DEXT_remap_index }, - { 11167, FramebufferTexture3DEXT_remap_index }, - { 23292, GenFramebuffersEXT_remap_index }, - { 17519, GenRenderbuffersEXT_remap_index }, - { 6679, GenerateMipmapEXT_remap_index }, - { 21754, GetFramebufferAttachmentParameterivEXT_remap_index }, - { 32338, GetRenderbufferParameterivEXT_remap_index }, - { 20493, IsFramebufferEXT_remap_index }, - { 33085, IsRenderbufferEXT_remap_index }, - { 8157, RenderbufferStorageEXT_remap_index }, - { 695, BlitFramebufferEXT_remap_index }, - { 14374, BufferParameteriAPPLE_remap_index }, - { 19345, FlushMappedBufferRangeAPPLE_remap_index }, - { 1815, BindFragDataLocationEXT_remap_index }, - { 24469, GetFragDataLocationEXT_remap_index }, - { 10606, GetUniformuivEXT_remap_index }, - { 2933, GetVertexAttribIivEXT_remap_index }, - { 4195, GetVertexAttribIuivEXT_remap_index }, - { 12033, Uniform1uiEXT_remap_index }, - { 27930, Uniform1uivEXT_remap_index }, - { 22275, Uniform2uiEXT_remap_index }, - { 4309, Uniform2uivEXT_remap_index }, - { 29197, Uniform3uiEXT_remap_index }, - { 14735, Uniform3uivEXT_remap_index }, - { 3486, Uniform4uiEXT_remap_index }, - { 8658, Uniform4uivEXT_remap_index }, - { 18446, VertexAttribI1iEXT_remap_index }, - { 965, VertexAttribI1ivEXT_remap_index }, - { 2516, VertexAttribI1uiEXT_remap_index }, - { 12775, VertexAttribI1uivEXT_remap_index }, + { 2729, UniformMatrix4fvARB_remap_index }, + { 25313, UseProgramObjectARB_remap_index }, + { 14845, ValidateProgramARB_remap_index }, + { 21315, BindAttribLocationARB_remap_index }, + { 4927, GetActiveAttribARB_remap_index }, + { 16531, GetAttribLocationARB_remap_index }, + { 29413, DrawBuffersARB_remap_index }, + { 17896, DrawArraysInstancedARB_remap_index }, + { 6444, DrawElementsInstancedARB_remap_index }, + { 13202, RenderbufferStorageMultisample_remap_index }, + { 13673, FramebufferTextureARB_remap_index }, + { 25739, FramebufferTextureFaceARB_remap_index }, + { 24120, ProgramParameteriARB_remap_index }, + { 23436, VertexAttribDivisorARB_remap_index }, + { 19226, FlushMappedBufferRange_remap_index }, + { 27797, MapBufferRange_remap_index }, + { 16375, BindVertexArray_remap_index }, + { 14668, GenVertexArrays_remap_index }, + { 30209, CopyBufferSubData_remap_index }, + { 31139, ClientWaitSync_remap_index }, + { 2648, DeleteSync_remap_index }, + { 7161, FenceSync_remap_index }, + { 15216, GetInteger64v_remap_index }, + { 22577, GetSynciv_remap_index }, + { 29352, IsSync_remap_index }, + { 9358, WaitSync_remap_index }, + { 3836, DrawElementsBaseVertex_remap_index }, + { 30544, DrawRangeElementsBaseVertex_remap_index }, + { 26352, MultiDrawElementsBaseVertex_remap_index }, + { 32083, BlendEquationSeparateiARB_remap_index }, + { 17740, BlendEquationiARB_remap_index }, + { 12641, BlendFuncSeparateiARB_remap_index }, + { 9783, BlendFunciARB_remap_index }, + { 5078, BindTransformFeedback_remap_index }, + { 3271, DeleteTransformFeedbacks_remap_index }, + { 6416, DrawTransformFeedback_remap_index }, + { 9577, GenTransformFeedbacks_remap_index }, + { 28265, IsTransformFeedback_remap_index }, + { 25932, PauseTransformFeedback_remap_index }, + { 5557, ResumeTransformFeedback_remap_index }, + { 21635, ClearDepthf_remap_index }, + { 6720, DepthRangef_remap_index }, + { 14480, GetShaderPrecisionFormat_remap_index }, + { 9963, ReleaseShaderCompiler_remap_index }, + { 10906, ShaderBinary_remap_index }, + { 5425, PolygonOffsetEXT_remap_index }, + { 23199, GetPixelTexGenParameterfvSGIS_remap_index }, + { 4404, GetPixelTexGenParameterivSGIS_remap_index }, + { 22932, PixelTexGenParameterfSGIS_remap_index }, + { 663, PixelTexGenParameterfvSGIS_remap_index }, + { 12710, PixelTexGenParameteriSGIS_remap_index }, + { 13815, PixelTexGenParameterivSGIS_remap_index }, + { 18224, SampleMaskSGIS_remap_index }, + { 19908, SamplePatternSGIS_remap_index }, + { 26281, ColorPointerEXT_remap_index }, + { 17534, EdgeFlagPointerEXT_remap_index }, + { 6037, IndexPointerEXT_remap_index }, + { 6117, NormalPointerEXT_remap_index }, + { 15810, TexCoordPointerEXT_remap_index }, + { 6950, VertexPointerEXT_remap_index }, + { 3638, PointParameterfEXT_remap_index }, + { 7801, PointParameterfvEXT_remap_index }, + { 31976, LockArraysEXT_remap_index }, + { 14909, UnlockArraysEXT_remap_index }, + { 1306, SecondaryColor3bEXT_remap_index }, + { 7960, SecondaryColor3bvEXT_remap_index }, + { 10416, SecondaryColor3dEXT_remap_index }, + { 25509, SecondaryColor3dvEXT_remap_index }, + { 28131, SecondaryColor3fEXT_remap_index }, + { 18261, SecondaryColor3fvEXT_remap_index }, + { 509, SecondaryColor3iEXT_remap_index }, + { 16120, SecondaryColor3ivEXT_remap_index }, + { 10051, SecondaryColor3sEXT_remap_index }, + { 30803, SecondaryColor3svEXT_remap_index }, + { 27216, SecondaryColor3ubEXT_remap_index }, + { 21206, SecondaryColor3ubvEXT_remap_index }, + { 12952, SecondaryColor3uiEXT_remap_index }, + { 22819, SecondaryColor3uivEXT_remap_index }, + { 25789, SecondaryColor3usEXT_remap_index }, + { 13025, SecondaryColor3usvEXT_remap_index }, + { 11775, SecondaryColorPointerEXT_remap_index }, + { 25603, MultiDrawArraysEXT_remap_index }, + { 20896, MultiDrawElementsEXT_remap_index }, + { 21091, FogCoordPointerEXT_remap_index }, + { 4553, FogCoorddEXT_remap_index }, + { 31377, FogCoorddvEXT_remap_index }, + { 4670, FogCoordfEXT_remap_index }, + { 27139, FogCoordfvEXT_remap_index }, + { 19130, PixelTexGenSGIX_remap_index }, + { 27724, BlendFuncSeparateEXT_remap_index }, + { 6862, FlushVertexArrayRangeNV_remap_index }, + { 5374, VertexArrayRangeNV_remap_index }, + { 28196, CombinerInputNV_remap_index }, + { 2155, CombinerOutputNV_remap_index }, + { 30956, CombinerParameterfNV_remap_index }, + { 5248, CombinerParameterfvNV_remap_index }, + { 22301, CombinerParameteriNV_remap_index }, + { 32425, CombinerParameterivNV_remap_index }, + { 7238, FinalCombinerInputNV_remap_index }, + { 9804, GetCombinerInputParameterfvNV_remap_index }, + { 32262, GetCombinerInputParameterivNV_remap_index }, + { 216, GetCombinerOutputParameterfvNV_remap_index }, + { 13776, GetCombinerOutputParameterivNV_remap_index }, + { 6624, GetFinalCombinerInputParameterfvNV_remap_index }, + { 24752, GetFinalCombinerInputParameterivNV_remap_index }, + { 12619, ResizeBuffersMESA_remap_index }, + { 11101, WindowPos2dMESA_remap_index }, + { 1099, WindowPos2dvMESA_remap_index }, + { 33253, WindowPos2fMESA_remap_index }, + { 7905, WindowPos2fvMESA_remap_index }, + { 18171, WindowPos2iMESA_remap_index }, + { 20381, WindowPos2ivMESA_remap_index }, + { 20995, WindowPos2sMESA_remap_index }, + { 5735, WindowPos2svMESA_remap_index }, + { 7730, WindowPos3dMESA_remap_index }, + { 14023, WindowPos3dvMESA_remap_index }, + { 555, WindowPos3fMESA_remap_index }, + { 14970, WindowPos3fvMESA_remap_index }, + { 24013, WindowPos3iMESA_remap_index }, + { 30154, WindowPos3ivMESA_remap_index }, + { 18825, WindowPos3sMESA_remap_index }, + { 31633, WindowPos3svMESA_remap_index }, + { 11052, WindowPos4dMESA_remap_index }, + { 16988, WindowPos4dvMESA_remap_index }, + { 13982, WindowPos4fMESA_remap_index }, + { 30710, WindowPos4fvMESA_remap_index }, + { 30307, WindowPos4iMESA_remap_index }, + { 12422, WindowPos4ivMESA_remap_index }, + { 19009, WindowPos4sMESA_remap_index }, + { 3222, WindowPos4svMESA_remap_index }, + { 26847, MultiModeDrawArraysIBM_remap_index }, + { 28971, MultiModeDrawElementsIBM_remap_index }, + { 12187, DeleteFencesNV_remap_index }, + { 28043, FinishFenceNV_remap_index }, + { 3760, GenFencesNV_remap_index }, + { 16968, GetFenceivNV_remap_index }, + { 8197, IsFenceNV_remap_index }, + { 13703, SetFenceNV_remap_index }, + { 4217, TestFenceNV_remap_index }, + { 31604, AreProgramsResidentNV_remap_index }, + { 30998, BindProgramNV_remap_index }, + { 25872, DeleteProgramsNV_remap_index }, + { 21424, ExecuteProgramNV_remap_index }, + { 33146, GenProgramsNV_remap_index }, + { 23304, GetProgramParameterdvNV_remap_index }, + { 10478, GetProgramParameterfvNV_remap_index }, + { 26255, GetProgramStringNV_remap_index }, + { 24390, GetProgramivNV_remap_index }, + { 23567, GetTrackMatrixivNV_remap_index }, + { 26049, GetVertexAttribPointervNV_remap_index }, + { 24685, GetVertexAttribdvNV_remap_index }, + { 9253, GetVertexAttribfvNV_remap_index }, + { 18432, GetVertexAttribivNV_remap_index }, + { 19256, IsProgramNV_remap_index }, + { 9336, LoadProgramNV_remap_index }, + { 27820, ProgramParameters4dvNV_remap_index }, + { 24320, ProgramParameters4fvNV_remap_index }, + { 20685, RequestResidentProgramsNV_remap_index }, + { 22279, TrackMatrixNV_remap_index }, + { 32239, VertexAttrib1dNV_remap_index }, + { 13614, VertexAttrib1dvNV_remap_index }, + { 28477, VertexAttrib1fNV_remap_index }, + { 2454, VertexAttrib1fvNV_remap_index }, + { 30767, VertexAttrib1sNV_remap_index }, + { 15043, VertexAttrib1svNV_remap_index }, + { 4832, VertexAttrib2dNV_remap_index }, + { 13507, VertexAttrib2dvNV_remap_index }, + { 20140, VertexAttrib2fNV_remap_index }, + { 13073, VertexAttrib2fvNV_remap_index }, + { 5947, VertexAttrib2sNV_remap_index }, + { 18879, VertexAttrib2svNV_remap_index }, + { 11249, VertexAttrib3dNV_remap_index }, + { 31854, VertexAttrib3dvNV_remap_index }, + { 10290, VertexAttrib3fNV_remap_index }, + { 24712, VertexAttrib3fvNV_remap_index }, + { 22122, VertexAttrib3sNV_remap_index }, + { 23594, VertexAttrib3svNV_remap_index }, + { 28945, VertexAttrib4dNV_remap_index }, + { 33183, VertexAttrib4dvNV_remap_index }, + { 4454, VertexAttrib4fNV_remap_index }, + { 9386, VertexAttrib4fvNV_remap_index }, + { 26731, VertexAttrib4sNV_remap_index }, + { 1448, VertexAttrib4svNV_remap_index }, + { 4990, VertexAttrib4ubNV_remap_index }, + { 817, VertexAttrib4ubvNV_remap_index }, + { 21604, VertexAttribPointerNV_remap_index }, + { 2306, VertexAttribs1dvNV_remap_index }, + { 26137, VertexAttribs1fvNV_remap_index }, + { 32983, VertexAttribs1svNV_remap_index }, + { 10315, VertexAttribs2dvNV_remap_index }, + { 25274, VertexAttribs2fvNV_remap_index }, + { 17560, VertexAttribs2svNV_remap_index }, + { 5276, VertexAttribs3dvNV_remap_index }, + { 2186, VertexAttribs3fvNV_remap_index }, + { 29902, VertexAttribs3svNV_remap_index }, + { 26821, VertexAttribs4dvNV_remap_index }, + { 5348, VertexAttribs4fvNV_remap_index }, + { 32770, VertexAttribs4svNV_remap_index }, + { 29650, VertexAttribs4ubvNV_remap_index }, + { 26923, GetTexBumpParameterfvATI_remap_index }, + { 33024, GetTexBumpParameterivATI_remap_index }, + { 18542, TexBumpParameterfvATI_remap_index }, + { 20556, TexBumpParameterivATI_remap_index }, + { 15589, AlphaFragmentOp1ATI_remap_index }, + { 25555, AlphaFragmentOp2ATI_remap_index }, + { 24628, AlphaFragmentOp3ATI_remap_index }, + { 29829, BeginFragmentShaderATI_remap_index }, + { 31197, BindFragmentShaderATI_remap_index }, + { 23723, ColorFragmentOp1ATI_remap_index }, + { 4332, ColorFragmentOp2ATI_remap_index }, + { 31499, ColorFragmentOp3ATI_remap_index }, + { 5514, DeleteFragmentShaderATI_remap_index }, + { 33207, EndFragmentShaderATI_remap_index }, + { 32453, GenFragmentShadersATI_remap_index }, + { 25428, PassTexCoordATI_remap_index }, + { 6930, SampleMapATI_remap_index }, + { 27034, SetFragmentShaderConstantATI_remap_index }, + { 402, PointParameteriNV_remap_index }, + { 14184, PointParameterivNV_remap_index }, + { 28784, ActiveStencilFaceEXT_remap_index }, + { 27480, BindVertexArrayAPPLE_remap_index }, + { 2776, DeleteVertexArraysAPPLE_remap_index }, + { 18001, GenVertexArraysAPPLE_remap_index }, + { 23369, IsVertexArrayAPPLE_remap_index }, + { 858, GetProgramNamedParameterdvNV_remap_index }, + { 3601, GetProgramNamedParameterfvNV_remap_index }, + { 26954, ProgramNamedParameter4dNV_remap_index }, + { 14543, ProgramNamedParameter4dvNV_remap_index }, + { 8869, ProgramNamedParameter4fNV_remap_index }, + { 11740, ProgramNamedParameter4fvNV_remap_index }, + { 16899, PrimitiveRestartIndexNV_remap_index }, + { 30687, PrimitiveRestartNV_remap_index }, + { 24299, DepthBoundsEXT_remap_index }, + { 1198, BlendEquationSeparateEXT_remap_index }, + { 14744, BindFramebufferEXT_remap_index }, + { 25648, BindRenderbufferEXT_remap_index }, + { 9633, CheckFramebufferStatusEXT_remap_index }, + { 22620, DeleteFramebuffersEXT_remap_index }, + { 31756, DeleteRenderbuffersEXT_remap_index }, + { 13531, FramebufferRenderbufferEXT_remap_index }, + { 13720, FramebufferTexture1DEXT_remap_index }, + { 11534, FramebufferTexture2DEXT_remap_index }, + { 11154, FramebufferTexture3DEXT_remap_index }, + { 23235, GenFramebuffersEXT_remap_index }, + { 17425, GenRenderbuffersEXT_remap_index }, + { 6666, GenerateMipmapEXT_remap_index }, + { 21697, GetFramebufferAttachmentParameterivEXT_remap_index }, + { 32359, GetRenderbufferParameterivEXT_remap_index }, + { 20436, IsFramebufferEXT_remap_index }, + { 33106, IsRenderbufferEXT_remap_index }, + { 8144, RenderbufferStorageEXT_remap_index }, + { 734, BlitFramebufferEXT_remap_index }, + { 14329, BufferParameteriAPPLE_remap_index }, + { 19288, FlushMappedBufferRangeAPPLE_remap_index }, + { 1854, BindFragDataLocationEXT_remap_index }, + { 24412, GetFragDataLocationEXT_remap_index }, + { 10593, GetUniformuivEXT_remap_index }, + { 2972, GetVertexAttribIivEXT_remap_index }, + { 27991, GetVertexAttribIuivEXT_remap_index }, + { 12020, Uniform1uiEXT_remap_index }, + { 27905, Uniform1uivEXT_remap_index }, + { 22218, Uniform2uiEXT_remap_index }, + { 4296, Uniform2uivEXT_remap_index }, + { 29224, Uniform3uiEXT_remap_index }, + { 14690, Uniform3uivEXT_remap_index }, + { 3525, Uniform4uiEXT_remap_index }, + { 8645, Uniform4uivEXT_remap_index }, + { 18389, VertexAttribI1iEXT_remap_index }, + { 1004, VertexAttribI1ivEXT_remap_index }, + { 2555, VertexAttribI1uiEXT_remap_index }, + { 12801, VertexAttribI1uivEXT_remap_index }, { 81, VertexAttribI2iEXT_remap_index }, - { 23892, VertexAttribI2ivEXT_remap_index }, - { 5273, VertexAttribI2uiEXT_remap_index }, - { 4728, VertexAttribI2uivEXT_remap_index }, - { 26580, VertexAttribI3iEXT_remap_index }, - { 30472, VertexAttribI3ivEXT_remap_index }, - { 3340, VertexAttribI3uiEXT_remap_index }, - { 30368, VertexAttribI3uivEXT_remap_index }, - { 22005, VertexAttribI4bvEXT_remap_index }, - { 14667, VertexAttribI4iEXT_remap_index }, - { 32037, VertexAttribI4ivEXT_remap_index }, - { 13408, VertexAttribI4svEXT_remap_index }, - { 16545, VertexAttribI4ubvEXT_remap_index }, - { 16228, VertexAttribI4uiEXT_remap_index }, - { 5419, VertexAttribI4uivEXT_remap_index }, - { 11330, VertexAttribI4usvEXT_remap_index }, - { 18543, VertexAttribIPointerEXT_remap_index }, - { 3027, FramebufferTextureLayerEXT_remap_index }, - { 5660, ColorMaskIndexedEXT_remap_index }, - { 18960, DisableIndexedEXT_remap_index }, - { 26625, EnableIndexedEXT_remap_index }, - { 21709, GetBooleanIndexedvEXT_remap_index }, - { 10941, GetIntegerIndexedvEXT_remap_index }, - { 22753, IsEnabledIndexedEXT_remap_index }, - { 22653, ClearColorIiEXT_remap_index }, - { 3436, ClearColorIuiEXT_remap_index }, - { 9856, GetTexParameterIivEXT_remap_index }, - { 5908, GetTexParameterIuivEXT_remap_index }, - { 2983, TexParameterIivEXT_remap_index }, - { 26447, TexParameterIuivEXT_remap_index }, - { 4596, BeginConditionalRenderNV_remap_index }, - { 25435, EndConditionalRenderNV_remap_index }, - { 9293, BeginTransformFeedbackEXT_remap_index }, - { 18995, BindBufferBaseEXT_remap_index }, - { 18854, BindBufferOffsetEXT_remap_index }, - { 12221, BindBufferRangeEXT_remap_index }, - { 14289, EndTransformFeedbackEXT_remap_index }, - { 10804, GetTransformFeedbackVaryingEXT_remap_index }, - { 20798, TransformFeedbackVaryingsEXT_remap_index }, - { 29524, ProvokingVertexEXT_remap_index }, - { 10752, GetTexParameterPointervAPPLE_remap_index }, - { 5047, TextureRangeAPPLE_remap_index }, - { 11619, GetObjectParameterivAPPLE_remap_index }, - { 19920, ObjectPurgeableAPPLE_remap_index }, - { 5702, ObjectUnpurgeableAPPLE_remap_index }, - { 17341, ActiveProgramEXT_remap_index }, - { 17312, CreateShaderProgramEXT_remap_index }, - { 28542, UseShaderProgramEXT_remap_index }, - { 28783, StencilFuncSeparateATI_remap_index }, - { 18184, ProgramEnvParameters4fvEXT_remap_index }, - { 17206, ProgramLocalParameters4fvEXT_remap_index }, - { 14157, GetQueryObjecti64vEXT_remap_index }, - { 10354, GetQueryObjectui64vEXT_remap_index }, - { 23849, EGLImageTargetRenderbufferStorageOES_remap_index }, - { 12139, EGLImageTargetTexture2DOES_remap_index }, + { 23835, VertexAttribI2ivEXT_remap_index }, + { 5302, VertexAttribI2uiEXT_remap_index }, + { 4715, VertexAttribI2uivEXT_remap_index }, + { 26523, VertexAttribI3iEXT_remap_index }, + { 30499, VertexAttribI3ivEXT_remap_index }, + { 3379, VertexAttribI3uiEXT_remap_index }, + { 30395, VertexAttribI3uivEXT_remap_index }, + { 21948, VertexAttribI4bvEXT_remap_index }, + { 14622, VertexAttribI4iEXT_remap_index }, + { 32025, VertexAttribI4ivEXT_remap_index }, + { 13434, VertexAttribI4svEXT_remap_index }, + { 16484, VertexAttribI4ubvEXT_remap_index }, + { 16183, VertexAttribI4uiEXT_remap_index }, + { 5448, VertexAttribI4uivEXT_remap_index }, + { 11317, VertexAttribI4usvEXT_remap_index }, + { 18486, VertexAttribIPointerEXT_remap_index }, + { 3066, FramebufferTextureLayerEXT_remap_index }, + { 5172, ColorMaskIndexedEXT_remap_index }, + { 18903, DisableIndexedEXT_remap_index }, + { 26568, EnableIndexedEXT_remap_index }, + { 21652, GetBooleanIndexedvEXT_remap_index }, + { 10928, GetIntegerIndexedvEXT_remap_index }, + { 22696, IsEnabledIndexedEXT_remap_index }, + { 22596, ClearColorIiEXT_remap_index }, + { 3475, ClearColorIuiEXT_remap_index }, + { 9843, GetTexParameterIivEXT_remap_index }, + { 5895, GetTexParameterIuivEXT_remap_index }, + { 3022, TexParameterIivEXT_remap_index }, + { 26390, TexParameterIuivEXT_remap_index }, + { 4583, BeginConditionalRenderNV_remap_index }, + { 25378, EndConditionalRenderNV_remap_index }, + { 9280, BeginTransformFeedbackEXT_remap_index }, + { 18938, BindBufferBaseEXT_remap_index }, + { 18797, BindBufferOffsetEXT_remap_index }, + { 12247, BindBufferRangeEXT_remap_index }, + { 14244, EndTransformFeedbackEXT_remap_index }, + { 10791, GetTransformFeedbackVaryingEXT_remap_index }, + { 20741, TransformFeedbackVaryingsEXT_remap_index }, + { 29551, ProvokingVertexEXT_remap_index }, + { 10739, GetTexParameterPointervAPPLE_remap_index }, + { 5034, TextureRangeAPPLE_remap_index }, + { 11606, GetObjectParameterivAPPLE_remap_index }, + { 19863, ObjectPurgeableAPPLE_remap_index }, + { 5689, ObjectUnpurgeableAPPLE_remap_index }, + { 17247, ActiveProgramEXT_remap_index }, + { 17218, CreateShaderProgramEXT_remap_index }, + { 28569, UseShaderProgramEXT_remap_index }, + { 16463, TextureBarrierNV_remap_index }, + { 28810, StencilFuncSeparateATI_remap_index }, + { 18090, ProgramEnvParameters4fvEXT_remap_index }, + { 17112, ProgramLocalParameters4fvEXT_remap_index }, + { 14112, GetQueryObjecti64vEXT_remap_index }, + { 10341, GetQueryObjectui64vEXT_remap_index }, + { 23792, EGLImageTargetRenderbufferStorageOES_remap_index }, + { 12126, 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 */ - { 2655, _gloffset_BlendColor }, + { 2694, _gloffset_BlendColor }, /* from GL_EXT_blend_minmax */ - { 11224, _gloffset_BlendEquation }, + { 11211, _gloffset_BlendEquation }, /* from GL_EXT_color_subtable */ - { 17104, _gloffset_ColorSubTable }, - { 31700, _gloffset_CopyColorSubTable }, + { 17010, _gloffset_ColorSubTable }, + { 31688, _gloffset_CopyColorSubTable }, /* from GL_EXT_convolution */ - { 257, _gloffset_ConvolutionFilter1D }, - { 2454, _gloffset_CopyConvolutionFilter1D }, - { 4058, _gloffset_GetConvolutionParameteriv }, - { 8506, _gloffset_ConvolutionFilter2D }, - { 8708, _gloffset_ConvolutionParameteriv }, - { 9168, _gloffset_ConvolutionParameterfv }, - { 20641, _gloffset_GetSeparableFilter }, - { 24124, _gloffset_SeparableFilter2D }, - { 24987, _gloffset_ConvolutionParameteri }, - { 25110, _gloffset_ConvolutionParameterf }, - { 26814, _gloffset_GetConvolutionParameterfv }, - { 27671, _gloffset_GetConvolutionFilter }, - { 30064, _gloffset_CopyConvolutionFilter2D }, + { 296, _gloffset_ConvolutionFilter1D }, + { 2493, _gloffset_CopyConvolutionFilter1D }, + { 4097, _gloffset_GetConvolutionParameteriv }, + { 8493, _gloffset_ConvolutionFilter2D }, + { 8695, _gloffset_ConvolutionParameteriv }, + { 9155, _gloffset_ConvolutionParameterfv }, + { 20584, _gloffset_GetSeparableFilter }, + { 24067, _gloffset_SeparableFilter2D }, + { 24930, _gloffset_ConvolutionParameteri }, + { 25053, _gloffset_ConvolutionParameterf }, + { 26757, _gloffset_GetConvolutionParameterfv }, + { 27646, _gloffset_GetConvolutionFilter }, + { 30091, _gloffset_CopyConvolutionFilter2D }, /* from GL_EXT_copy_texture */ - { 15148, _gloffset_CopyTexSubImage3D }, - { 16791, _gloffset_CopyTexImage2D }, - { 24595, _gloffset_CopyTexImage1D }, - { 27352, _gloffset_CopyTexSubImage2D }, - { 29702, _gloffset_CopyTexSubImage1D }, + { 15103, _gloffset_CopyTexSubImage3D }, + { 16697, _gloffset_CopyTexImage2D }, + { 24538, _gloffset_CopyTexImage1D }, + { 27327, _gloffset_CopyTexSubImage2D }, + { 29729, _gloffset_CopyTexSubImage1D }, /* from GL_EXT_draw_range_elements */ - { 9505, _gloffset_DrawRangeElements }, + { 9492, _gloffset_DrawRangeElements }, /* from GL_EXT_histogram */ - { 856, _gloffset_Histogram }, - { 3522, _gloffset_ResetHistogram }, - { 10002, _gloffset_GetMinmax }, - { 15482, _gloffset_GetHistogramParameterfv }, - { 24520, _gloffset_GetMinmaxParameteriv }, - { 26704, _gloffset_ResetMinmax }, - { 27568, _gloffset_GetHistogramParameteriv }, - { 28717, _gloffset_GetHistogram }, - { 31286, _gloffset_Minmax }, - { 32832, _gloffset_GetMinmaxParameterfv }, + { 895, _gloffset_Histogram }, + { 3561, _gloffset_ResetHistogram }, + { 9989, _gloffset_GetMinmax }, + { 15437, _gloffset_GetHistogramParameterfv }, + { 24463, _gloffset_GetMinmaxParameteriv }, + { 26647, _gloffset_ResetMinmax }, + { 27543, _gloffset_GetHistogramParameteriv }, + { 28744, _gloffset_GetHistogram }, + { 31313, _gloffset_Minmax }, + { 32853, _gloffset_GetMinmaxParameterfv }, /* from GL_EXT_paletted_texture */ - { 8368, _gloffset_ColorTable }, - { 15328, _gloffset_GetColorTable }, - { 23039, _gloffset_GetColorTableParameterfv }, - { 25166, _gloffset_GetColorTableParameteriv }, + { 8355, _gloffset_ColorTable }, + { 15283, _gloffset_GetColorTable }, + { 22982, _gloffset_GetColorTableParameterfv }, + { 25109, _gloffset_GetColorTableParameteriv }, /* from GL_EXT_subtexture */ - { 7089, _gloffset_TexSubImage1D }, - { 10679, _gloffset_TexSubImage2D }, + { 7076, _gloffset_TexSubImage1D }, + { 10666, _gloffset_TexSubImage2D }, /* from GL_EXT_texture3D */ - { 1774, _gloffset_TexImage3D }, - { 22808, _gloffset_TexSubImage3D }, + { 1813, _gloffset_TexImage3D }, + { 22751, _gloffset_TexSubImage3D }, /* from GL_EXT_texture_object */ - { 3290, _gloffset_PrioritizeTextures }, - { 7538, _gloffset_AreTexturesResident }, - { 13612, _gloffset_GenTextures }, - { 15814, _gloffset_DeleteTextures }, - { 19626, _gloffset_IsTexture }, - { 29767, _gloffset_BindTexture }, + { 3329, _gloffset_PrioritizeTextures }, + { 7525, _gloffset_AreTexturesResident }, + { 13638, _gloffset_GenTextures }, + { 15769, _gloffset_DeleteTextures }, + { 19569, _gloffset_IsTexture }, + { 29794, _gloffset_BindTexture }, /* from GL_EXT_vertex_array */ - { 24296, _gloffset_ArrayElement }, - { 30874, _gloffset_GetPointerv }, - { 32459, _gloffset_DrawArrays }, + { 24239, _gloffset_ArrayElement }, + { 30901, _gloffset_GetPointerv }, + { 32480, _gloffset_DrawArrays }, /* from GL_SGI_color_table */ - { 7656, _gloffset_ColorTableParameteriv }, - { 8368, _gloffset_ColorTable }, - { 15328, _gloffset_GetColorTable }, - { 15438, _gloffset_CopyColorTable }, - { 19487, _gloffset_ColorTableParameterfv }, - { 23039, _gloffset_GetColorTableParameterfv }, - { 25166, _gloffset_GetColorTableParameteriv }, + { 7643, _gloffset_ColorTableParameteriv }, + { 8355, _gloffset_ColorTable }, + { 15283, _gloffset_GetColorTable }, + { 15393, _gloffset_CopyColorTable }, + { 19430, _gloffset_ColorTableParameterfv }, + { 22982, _gloffset_GetColorTableParameterfv }, + { 25109, _gloffset_GetColorTableParameteriv }, /* from GL_VERSION_1_3 */ - { 425, _gloffset_MultiTexCoord3sARB }, - { 657, _gloffset_ActiveTextureARB }, - { 4247, _gloffset_MultiTexCoord1fvARB }, - { 6155, _gloffset_MultiTexCoord3dARB }, - { 6200, _gloffset_MultiTexCoord2iARB }, - { 6324, _gloffset_MultiTexCoord2svARB }, - { 8324, _gloffset_MultiTexCoord2fARB }, - { 10384, _gloffset_MultiTexCoord3fvARB }, - { 10986, _gloffset_MultiTexCoord4sARB }, - { 11667, _gloffset_MultiTexCoord2dvARB }, - { 12082, _gloffset_MultiTexCoord1svARB }, - { 12454, _gloffset_MultiTexCoord3svARB }, - { 12515, _gloffset_MultiTexCoord4iARB }, - { 13316, _gloffset_MultiTexCoord3iARB }, - { 14186, _gloffset_MultiTexCoord1dARB }, - { 14403, _gloffset_MultiTexCoord3dvARB }, - { 15682, _gloffset_MultiTexCoord3ivARB }, - { 15727, _gloffset_MultiTexCoord2sARB }, - { 17161, _gloffset_MultiTexCoord4ivARB }, - { 19137, _gloffset_ClientActiveTextureARB }, - { 21437, _gloffset_MultiTexCoord2dARB }, - { 21874, _gloffset_MultiTexCoord4dvARB }, - { 22230, _gloffset_MultiTexCoord4fvARB }, - { 23180, _gloffset_MultiTexCoord3fARB }, - { 25750, _gloffset_MultiTexCoord4dARB }, - { 26016, _gloffset_MultiTexCoord1sARB }, - { 26220, _gloffset_MultiTexCoord1dvARB }, - { 27196, _gloffset_MultiTexCoord1ivARB }, - { 27289, _gloffset_MultiTexCoord2ivARB }, - { 27628, _gloffset_MultiTexCoord1iARB }, - { 28992, _gloffset_MultiTexCoord4svARB }, - { 29566, _gloffset_MultiTexCoord1fARB }, - { 29829, _gloffset_MultiTexCoord4fARB }, - { 32293, _gloffset_MultiTexCoord2fvARB }, + { 464, _gloffset_MultiTexCoord3sARB }, + { 696, _gloffset_ActiveTextureARB }, + { 4234, _gloffset_MultiTexCoord1fvARB }, + { 6142, _gloffset_MultiTexCoord3dARB }, + { 6187, _gloffset_MultiTexCoord2iARB }, + { 6311, _gloffset_MultiTexCoord2svARB }, + { 8311, _gloffset_MultiTexCoord2fARB }, + { 10371, _gloffset_MultiTexCoord3fvARB }, + { 10973, _gloffset_MultiTexCoord4sARB }, + { 11654, _gloffset_MultiTexCoord2dvARB }, + { 12069, _gloffset_MultiTexCoord1svARB }, + { 12480, _gloffset_MultiTexCoord3svARB }, + { 12541, _gloffset_MultiTexCoord4iARB }, + { 13342, _gloffset_MultiTexCoord3iARB }, + { 14141, _gloffset_MultiTexCoord1dARB }, + { 14358, _gloffset_MultiTexCoord3dvARB }, + { 15637, _gloffset_MultiTexCoord3ivARB }, + { 15682, _gloffset_MultiTexCoord2sARB }, + { 17067, _gloffset_MultiTexCoord4ivARB }, + { 19080, _gloffset_ClientActiveTextureARB }, + { 21380, _gloffset_MultiTexCoord2dARB }, + { 21817, _gloffset_MultiTexCoord4dvARB }, + { 22173, _gloffset_MultiTexCoord4fvARB }, + { 23123, _gloffset_MultiTexCoord3fARB }, + { 25693, _gloffset_MultiTexCoord4dARB }, + { 25959, _gloffset_MultiTexCoord1sARB }, + { 26163, _gloffset_MultiTexCoord1dvARB }, + { 27171, _gloffset_MultiTexCoord1ivARB }, + { 27264, _gloffset_MultiTexCoord2ivARB }, + { 27603, _gloffset_MultiTexCoord1iARB }, + { 29019, _gloffset_MultiTexCoord4svARB }, + { 29593, _gloffset_MultiTexCoord1fARB }, + { 29856, _gloffset_MultiTexCoord4fARB }, + { 32314, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; @@ -5379,7 +5384,7 @@ static const struct gl_function_remap MESA_alt_functions[] = { #if defined(need_GL_3DFX_tbuffer) static const struct gl_function_remap GL_3DFX_tbuffer_functions[] = { - { 9226, -1 }, /* TbufferMask3DFX */ + { 9213, -1 }, /* TbufferMask3DFX */ { -1, -1 } }; #endif @@ -5464,7 +5469,7 @@ static const struct gl_function_remap GL_ARB_framebuffer_object_functions[] = { #if defined(need_GL_ARB_geometry_shader4) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_ARB_geometry_shader4_functions[] = { - { 12418, -1 }, /* FramebufferTextureLayer */ + { 12444, -1 }, /* FramebufferTextureLayer */ { -1, -1 } }; #endif @@ -5485,11 +5490,11 @@ static const struct gl_function_remap GL_ARB_map_buffer_range_functions[] = { #if defined(need_GL_ARB_matrix_palette) static const struct gl_function_remap GL_ARB_matrix_palette_functions[] = { - { 3773, -1 }, /* MatrixIndexusvARB */ - { 13137, -1 }, /* MatrixIndexuivARB */ - { 14558, -1 }, /* MatrixIndexPointerARB */ - { 19875, -1 }, /* CurrentPaletteMatrixARB */ - { 22924, -1 }, /* MatrixIndexubvARB */ + { 3812, -1 }, /* MatrixIndexusvARB */ + { 13163, -1 }, /* MatrixIndexuivARB */ + { 14513, -1 }, /* MatrixIndexPointerARB */ + { 19818, -1 }, /* CurrentPaletteMatrixARB */ + { 22867, -1 }, /* MatrixIndexubvARB */ { -1, -1 } }; #endif @@ -5566,16 +5571,16 @@ static const struct gl_function_remap GL_ARB_vertex_array_object_functions[] = { #if defined(need_GL_ARB_vertex_blend) static const struct gl_function_remap GL_ARB_vertex_blend_functions[] = { - { 2396, -1 }, /* WeightubvARB */ - { 6567, -1 }, /* WeightivARB */ - { 11089, -1 }, /* WeightPointerARB */ - { 13904, -1 }, /* WeightfvARB */ - { 17680, -1 }, /* WeightbvARB */ - { 21105, -1 }, /* WeightusvARB */ - { 24050, -1 }, /* VertexBlendARB */ - { 29650, -1 }, /* WeightsvARB */ - { 31750, -1 }, /* WeightdvARB */ - { 32493, -1 }, /* WeightuivARB */ + { 2435, -1 }, /* WeightubvARB */ + { 6554, -1 }, /* WeightivARB */ + { 11076, -1 }, /* WeightPointerARB */ + { 13898, -1 }, /* WeightfvARB */ + { 17586, -1 }, /* WeightbvARB */ + { 21048, -1 }, /* WeightusvARB */ + { 23993, -1 }, /* VertexBlendARB */ + { 29677, -1 }, /* WeightsvARB */ + { 31738, -1 }, /* WeightdvARB */ + { 32514, -1 }, /* WeightuivARB */ { -1, -1 } }; #endif @@ -5645,7 +5650,7 @@ static const struct gl_function_remap GL_ATI_separate_stencil_functions[] = { #if defined(need_GL_EXT_blend_color) static const struct gl_function_remap GL_EXT_blend_color_functions[] = { - { 2655, _gloffset_BlendColor }, + { 2694, _gloffset_BlendColor }, { -1, -1 } }; #endif @@ -5666,15 +5671,15 @@ static const struct gl_function_remap GL_EXT_blend_func_separate_functions[] = { #if defined(need_GL_EXT_blend_minmax) static const struct gl_function_remap GL_EXT_blend_minmax_functions[] = { - { 11224, _gloffset_BlendEquation }, + { 11211, _gloffset_BlendEquation }, { -1, -1 } }; #endif #if defined(need_GL_EXT_color_subtable) static const struct gl_function_remap GL_EXT_color_subtable_functions[] = { - { 17104, _gloffset_ColorSubTable }, - { 31700, _gloffset_CopyColorSubTable }, + { 17010, _gloffset_ColorSubTable }, + { 31688, _gloffset_CopyColorSubTable }, { -1, -1 } }; #endif @@ -5688,66 +5693,66 @@ static const struct gl_function_remap GL_EXT_compiled_vertex_array_functions[] = #if defined(need_GL_EXT_convolution) static const struct gl_function_remap GL_EXT_convolution_functions[] = { - { 257, _gloffset_ConvolutionFilter1D }, - { 2454, _gloffset_CopyConvolutionFilter1D }, - { 4058, _gloffset_GetConvolutionParameteriv }, - { 8506, _gloffset_ConvolutionFilter2D }, - { 8708, _gloffset_ConvolutionParameteriv }, - { 9168, _gloffset_ConvolutionParameterfv }, - { 20641, _gloffset_GetSeparableFilter }, - { 24124, _gloffset_SeparableFilter2D }, - { 24987, _gloffset_ConvolutionParameteri }, - { 25110, _gloffset_ConvolutionParameterf }, - { 26814, _gloffset_GetConvolutionParameterfv }, - { 27671, _gloffset_GetConvolutionFilter }, - { 30064, _gloffset_CopyConvolutionFilter2D }, + { 296, _gloffset_ConvolutionFilter1D }, + { 2493, _gloffset_CopyConvolutionFilter1D }, + { 4097, _gloffset_GetConvolutionParameteriv }, + { 8493, _gloffset_ConvolutionFilter2D }, + { 8695, _gloffset_ConvolutionParameteriv }, + { 9155, _gloffset_ConvolutionParameterfv }, + { 20584, _gloffset_GetSeparableFilter }, + { 24067, _gloffset_SeparableFilter2D }, + { 24930, _gloffset_ConvolutionParameteri }, + { 25053, _gloffset_ConvolutionParameterf }, + { 26757, _gloffset_GetConvolutionParameterfv }, + { 27646, _gloffset_GetConvolutionFilter }, + { 30091, _gloffset_CopyConvolutionFilter2D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_coordinate_frame) static const struct gl_function_remap GL_EXT_coordinate_frame_functions[] = { - { 10523, -1 }, /* TangentPointerEXT */ - { 12573, -1 }, /* Binormal3ivEXT */ - { 13269, -1 }, /* Tangent3sEXT */ - { 14623, -1 }, /* Tangent3fvEXT */ - { 18835, -1 }, /* Tangent3dvEXT */ - { 19573, -1 }, /* Binormal3bvEXT */ - { 20694, -1 }, /* Binormal3dEXT */ - { 22856, -1 }, /* Tangent3fEXT */ - { 25059, -1 }, /* Binormal3sEXT */ - { 25527, -1 }, /* Tangent3ivEXT */ - { 25546, -1 }, /* Tangent3dEXT */ - { 26493, -1 }, /* Binormal3svEXT */ - { 27094, -1 }, /* Binormal3fEXT */ - { 27982, -1 }, /* Binormal3dvEXT */ - { 29249, -1 }, /* Tangent3iEXT */ - { 30349, -1 }, /* Tangent3bvEXT */ - { 30909, -1 }, /* Tangent3bEXT */ - { 31473, -1 }, /* Binormal3fvEXT */ - { 32192, -1 }, /* BinormalPointerEXT */ - { 32597, -1 }, /* Tangent3svEXT */ - { 33034, -1 }, /* Binormal3bEXT */ - { 33211, -1 }, /* Binormal3iEXT */ + { 10510, -1 }, /* TangentPointerEXT */ + { 12599, -1 }, /* Binormal3ivEXT */ + { 13295, -1 }, /* Tangent3sEXT */ + { 14578, -1 }, /* Tangent3fvEXT */ + { 18778, -1 }, /* Tangent3dvEXT */ + { 19516, -1 }, /* Binormal3bvEXT */ + { 20637, -1 }, /* Binormal3dEXT */ + { 22799, -1 }, /* Tangent3fEXT */ + { 25002, -1 }, /* Binormal3sEXT */ + { 25470, -1 }, /* Tangent3ivEXT */ + { 25489, -1 }, /* Tangent3dEXT */ + { 26436, -1 }, /* Binormal3svEXT */ + { 27069, -1 }, /* Binormal3fEXT */ + { 27957, -1 }, /* Binormal3dvEXT */ + { 29276, -1 }, /* Tangent3iEXT */ + { 30376, -1 }, /* Tangent3bvEXT */ + { 30936, -1 }, /* Tangent3bEXT */ + { 31461, -1 }, /* Binormal3fvEXT */ + { 32213, -1 }, /* BinormalPointerEXT */ + { 32618, -1 }, /* Tangent3svEXT */ + { 33055, -1 }, /* Binormal3bEXT */ + { 33232, -1 }, /* Binormal3iEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_copy_texture) static const struct gl_function_remap GL_EXT_copy_texture_functions[] = { - { 15148, _gloffset_CopyTexSubImage3D }, - { 16791, _gloffset_CopyTexImage2D }, - { 24595, _gloffset_CopyTexImage1D }, - { 27352, _gloffset_CopyTexSubImage2D }, - { 29702, _gloffset_CopyTexSubImage1D }, + { 15103, _gloffset_CopyTexSubImage3D }, + { 16697, _gloffset_CopyTexImage2D }, + { 24538, _gloffset_CopyTexImage1D }, + { 27327, _gloffset_CopyTexSubImage2D }, + { 29729, _gloffset_CopyTexSubImage1D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_cull_vertex) static const struct gl_function_remap GL_EXT_cull_vertex_functions[] = { - { 8857, -1 }, /* CullParameterdvEXT */ - { 11712, -1 }, /* CullParameterfvEXT */ + { 8844, -1 }, /* CullParameterdvEXT */ + { 11699, -1 }, /* CullParameterfvEXT */ { -1, -1 } }; #endif @@ -5775,7 +5780,7 @@ static const struct gl_function_remap GL_EXT_draw_instanced_functions[] = { #if defined(need_GL_EXT_draw_range_elements) static const struct gl_function_remap GL_EXT_draw_range_elements_functions[] = { - { 9505, _gloffset_DrawRangeElements }, + { 9492, _gloffset_DrawRangeElements }, { -1, -1 } }; #endif @@ -5824,39 +5829,39 @@ static const struct gl_function_remap GL_EXT_gpu_shader4_functions[] = { #if defined(need_GL_EXT_histogram) static const struct gl_function_remap GL_EXT_histogram_functions[] = { - { 856, _gloffset_Histogram }, - { 3522, _gloffset_ResetHistogram }, - { 10002, _gloffset_GetMinmax }, - { 15482, _gloffset_GetHistogramParameterfv }, - { 24520, _gloffset_GetMinmaxParameteriv }, - { 26704, _gloffset_ResetMinmax }, - { 27568, _gloffset_GetHistogramParameteriv }, - { 28717, _gloffset_GetHistogram }, - { 31286, _gloffset_Minmax }, - { 32832, _gloffset_GetMinmaxParameterfv }, + { 895, _gloffset_Histogram }, + { 3561, _gloffset_ResetHistogram }, + { 9989, _gloffset_GetMinmax }, + { 15437, _gloffset_GetHistogramParameterfv }, + { 24463, _gloffset_GetMinmaxParameteriv }, + { 26647, _gloffset_ResetMinmax }, + { 27543, _gloffset_GetHistogramParameteriv }, + { 28744, _gloffset_GetHistogram }, + { 31313, _gloffset_Minmax }, + { 32853, _gloffset_GetMinmaxParameterfv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_index_func) static const struct gl_function_remap GL_EXT_index_func_functions[] = { - { 11498, -1 }, /* IndexFuncEXT */ + { 11485, -1 }, /* IndexFuncEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_index_material) static const struct gl_function_remap GL_EXT_index_material_functions[] = { - { 21192, -1 }, /* IndexMaterialEXT */ + { 21135, -1 }, /* IndexMaterialEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_light_texture) static const struct gl_function_remap GL_EXT_light_texture_functions[] = { - { 26513, -1 }, /* ApplyTextureEXT */ - { 26658, -1 }, /* TextureMaterialEXT */ - { 26683, -1 }, /* TextureLightEXT */ + { 26456, -1 }, /* ApplyTextureEXT */ + { 26601, -1 }, /* TextureMaterialEXT */ + { 26626, -1 }, /* TextureLightEXT */ { -1, -1 } }; #endif @@ -5877,20 +5882,20 @@ static const struct gl_function_remap GL_EXT_multisample_functions[] = { #if defined(need_GL_EXT_paletted_texture) static const struct gl_function_remap GL_EXT_paletted_texture_functions[] = { - { 8368, _gloffset_ColorTable }, - { 15328, _gloffset_GetColorTable }, - { 23039, _gloffset_GetColorTableParameterfv }, - { 25166, _gloffset_GetColorTableParameteriv }, + { 8355, _gloffset_ColorTable }, + { 15283, _gloffset_GetColorTable }, + { 22982, _gloffset_GetColorTableParameterfv }, + { 25109, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_pixel_transform) static const struct gl_function_remap GL_EXT_pixel_transform_functions[] = { - { 21839, -1 }, /* PixelTransformParameterfEXT */ - { 21919, -1 }, /* PixelTransformParameteriEXT */ - { 30624, -1 }, /* PixelTransformParameterfvEXT */ - { 32156, -1 }, /* PixelTransformParameterivEXT */ + { 21782, -1 }, /* PixelTransformParameterfEXT */ + { 21862, -1 }, /* PixelTransformParameteriEXT */ + { 30651, -1 }, /* PixelTransformParameterfvEXT */ + { 32177, -1 }, /* PixelTransformParameterivEXT */ { -1, -1 } }; #endif @@ -5939,16 +5944,16 @@ static const struct gl_function_remap GL_EXT_stencil_two_side_functions[] = { #if defined(need_GL_EXT_subtexture) static const struct gl_function_remap GL_EXT_subtexture_functions[] = { - { 7089, _gloffset_TexSubImage1D }, - { 10679, _gloffset_TexSubImage2D }, + { 7076, _gloffset_TexSubImage1D }, + { 10666, _gloffset_TexSubImage2D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_texture3D) static const struct gl_function_remap GL_EXT_texture3D_functions[] = { - { 1774, _gloffset_TexImage3D }, - { 22808, _gloffset_TexSubImage3D }, + { 1813, _gloffset_TexImage3D }, + { 22751, _gloffset_TexSubImage3D }, { -1, -1 } }; #endif @@ -5969,19 +5974,19 @@ static const struct gl_function_remap GL_EXT_texture_integer_functions[] = { #if defined(need_GL_EXT_texture_object) static const struct gl_function_remap GL_EXT_texture_object_functions[] = { - { 3290, _gloffset_PrioritizeTextures }, - { 7538, _gloffset_AreTexturesResident }, - { 13612, _gloffset_GenTextures }, - { 15814, _gloffset_DeleteTextures }, - { 19626, _gloffset_IsTexture }, - { 29767, _gloffset_BindTexture }, + { 3329, _gloffset_PrioritizeTextures }, + { 7525, _gloffset_AreTexturesResident }, + { 13638, _gloffset_GenTextures }, + { 15769, _gloffset_DeleteTextures }, + { 19569, _gloffset_IsTexture }, + { 29794, _gloffset_BindTexture }, { -1, -1 } }; #endif #if defined(need_GL_EXT_texture_perturb_normal) static const struct gl_function_remap GL_EXT_texture_perturb_normal_functions[] = { - { 13854, -1 }, /* TextureNormalEXT */ + { 13848, -1 }, /* TextureNormalEXT */ { -1, -1 } }; #endif @@ -6003,30 +6008,30 @@ static const struct gl_function_remap GL_EXT_transform_feedback_functions[] = { #if defined(need_GL_EXT_vertex_array) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_EXT_vertex_array_functions[] = { - { 24296, _gloffset_ArrayElement }, - { 30874, _gloffset_GetPointerv }, - { 32459, _gloffset_DrawArrays }, + { 24239, _gloffset_ArrayElement }, + { 30901, _gloffset_GetPointerv }, + { 32480, _gloffset_DrawArrays }, { -1, -1 } }; #endif #if defined(need_GL_EXT_vertex_weighting) static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = { - { 19656, -1 }, /* VertexWeightfvEXT */ - { 27037, -1 }, /* VertexWeightfEXT */ - { 28686, -1 }, /* VertexWeightPointerEXT */ + { 19599, -1 }, /* VertexWeightfvEXT */ + { 27012, -1 }, /* VertexWeightfEXT */ + { 28713, -1 }, /* VertexWeightPointerEXT */ { -1, -1 } }; #endif #if defined(need_GL_HP_image_transform) static const struct gl_function_remap GL_HP_image_transform_functions[] = { - { 2327, -1 }, /* GetImageTransformParameterfvHP */ - { 3739, -1 }, /* ImageTransformParameterfHP */ - { 10217, -1 }, /* ImageTransformParameterfvHP */ - { 11967, -1 }, /* ImageTransformParameteriHP */ - { 12308, -1 }, /* GetImageTransformParameterivHP */ - { 19720, -1 }, /* ImageTransformParameterivHP */ + { 2366, -1 }, /* GetImageTransformParameterfvHP */ + { 3778, -1 }, /* ImageTransformParameterfHP */ + { 10204, -1 }, /* ImageTransformParameterfvHP */ + { 11954, -1 }, /* ImageTransformParameteriHP */ + { 12334, -1 }, /* GetImageTransformParameterivHP */ + { 19663, -1 }, /* ImageTransformParameterivHP */ { -1, -1 } }; #endif @@ -6040,14 +6045,14 @@ static const struct gl_function_remap GL_IBM_multimode_draw_arrays_functions[] = #if defined(need_GL_IBM_vertex_array_lists) static const struct gl_function_remap GL_IBM_vertex_array_lists_functions[] = { - { 4379, -1 }, /* SecondaryColorPointerListIBM */ - { 6021, -1 }, /* NormalPointerListIBM */ - { 7712, -1 }, /* FogCoordPointerListIBM */ - { 8019, -1 }, /* VertexPointerListIBM */ - { 11888, -1 }, /* ColorPointerListIBM */ - { 13376, -1 }, /* TexCoordPointerListIBM */ - { 13876, -1 }, /* IndexPointerListIBM */ - { 32775, -1 }, /* EdgeFlagPointerListIBM */ + { 4366, -1 }, /* SecondaryColorPointerListIBM */ + { 6008, -1 }, /* NormalPointerListIBM */ + { 7699, -1 }, /* FogCoordPointerListIBM */ + { 8006, -1 }, /* VertexPointerListIBM */ + { 11875, -1 }, /* ColorPointerListIBM */ + { 13402, -1 }, /* TexCoordPointerListIBM */ + { 13870, -1 }, /* IndexPointerListIBM */ + { 32796, -1 }, /* EdgeFlagPointerListIBM */ { -1, -1 } }; #endif @@ -6061,10 +6066,10 @@ static const struct gl_function_remap GL_INGR_blend_func_separate_functions[] = #if defined(need_GL_INTEL_parallel_arrays) static const struct gl_function_remap GL_INTEL_parallel_arrays_functions[] = { - { 12716, -1 }, /* VertexPointervINTEL */ - { 15575, -1 }, /* ColorPointervINTEL */ - { 30038, -1 }, /* NormalPointervINTEL */ - { 30556, -1 }, /* TexCoordPointervINTEL */ + { 12742, -1 }, /* VertexPointervINTEL */ + { 15530, -1 }, /* ColorPointervINTEL */ + { 30065, -1 }, /* NormalPointervINTEL */ + { 30583, -1 }, /* TexCoordPointervINTEL */ { -1, -1 } }; #endif @@ -6078,10 +6083,10 @@ static const struct gl_function_remap GL_MESA_resize_buffers_functions[] = { #if defined(need_GL_MESA_shader_debug) static const struct gl_function_remap GL_MESA_shader_debug_functions[] = { - { 1638, -1 }, /* GetDebugLogLengthMESA */ - { 3461, -1 }, /* ClearDebugLogMESA */ - { 4540, -1 }, /* GetDebugLogMESA */ - { 31067, -1 }, /* CreateDebugObjectMESA */ + { 1677, -1 }, /* GetDebugLogLengthMESA */ + { 3500, -1 }, /* ClearDebugLogMESA */ + { 4527, -1 }, /* GetDebugLogMESA */ + { 31094, -1 }, /* CreateDebugObjectMESA */ { -1, -1 } }; #endif @@ -6102,15 +6107,15 @@ static const struct gl_function_remap GL_NV_condtitional_render_functions[] = { #if defined(need_GL_NV_evaluators) static const struct gl_function_remap GL_NV_evaluators_functions[] = { - { 6751, -1 }, /* GetMapAttribParameterivNV */ - { 8474, -1 }, /* MapControlPointsNV */ - { 8573, -1 }, /* MapParameterfvNV */ - { 10662, -1 }, /* EvalMapsNV */ - { 17278, -1 }, /* GetMapAttribParameterfvNV */ - { 17495, -1 }, /* MapParameterivNV */ - { 24910, -1 }, /* GetMapParameterivNV */ - { 25408, -1 }, /* GetMapParameterfvNV */ - { 29353, -1 }, /* GetMapControlPointsNV */ + { 6738, -1 }, /* GetMapAttribParameterivNV */ + { 8461, -1 }, /* MapControlPointsNV */ + { 8560, -1 }, /* MapParameterfvNV */ + { 10649, -1 }, /* EvalMapsNV */ + { 17184, -1 }, /* GetMapAttribParameterfvNV */ + { 17401, -1 }, /* MapParameterivNV */ + { 24853, -1 }, /* GetMapParameterivNV */ + { 25351, -1 }, /* GetMapParameterfvNV */ + { 29380, -1 }, /* GetMapControlPointsNV */ { -1, -1 } }; #endif @@ -6152,8 +6157,15 @@ static const struct gl_function_remap GL_NV_register_combiners_functions[] = { #if defined(need_GL_NV_register_combiners2) static const struct gl_function_remap GL_NV_register_combiners2_functions[] = { - { 15967, -1 }, /* CombinerStageParameterfvNV */ - { 16363, -1 }, /* GetCombinerStageParameterfvNV */ + { 15922, -1 }, /* CombinerStageParameterfvNV */ + { 16318, -1 }, /* GetCombinerStageParameterfvNV */ + { -1, -1 } +}; +#endif + +#if defined(need_GL_NV_texture_barrier) +/* functions defined in MESA_remap_table_functions are excluded */ +static const struct gl_function_remap GL_NV_texture_barrier_functions[] = { { -1, -1 } }; #endif @@ -6181,23 +6193,23 @@ static const struct gl_function_remap GL_OES_EGL_image_functions[] = { #if defined(need_GL_PGI_misc_hints) static const struct gl_function_remap GL_PGI_misc_hints_functions[] = { - { 8694, -1 }, /* HintPGI */ + { 8681, -1 }, /* HintPGI */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_detail_texture) static const struct gl_function_remap GL_SGIS_detail_texture_functions[] = { - { 16336, -1 }, /* GetDetailTexFuncSGIS */ - { 16736, -1 }, /* DetailTexFuncSGIS */ + { 16291, -1 }, /* GetDetailTexFuncSGIS */ + { 16642, -1 }, /* DetailTexFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_fog_function) static const struct gl_function_remap GL_SGIS_fog_function_functions[] = { - { 27334, -1 }, /* FogFuncSGIS */ - { 28035, -1 }, /* GetFogFuncSGIS */ + { 27309, -1 }, /* FogFuncSGIS */ + { 28062, -1 }, /* GetFogFuncSGIS */ { -1, -1 } }; #endif @@ -6225,112 +6237,112 @@ static const struct gl_function_remap GL_SGIS_point_parameters_functions[] = { #if defined(need_GL_SGIS_sharpen_texture) static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = { - { 6812, -1 }, /* GetSharpenTexFuncSGIS */ - { 22204, -1 }, /* SharpenTexFuncSGIS */ + { 6799, -1 }, /* GetSharpenTexFuncSGIS */ + { 22147, -1 }, /* SharpenTexFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture4D) static const struct gl_function_remap GL_SGIS_texture4D_functions[] = { - { 1010, -1 }, /* TexImage4DSGIS */ - { 15883, -1 }, /* TexSubImage4DSGIS */ + { 1049, -1 }, /* TexImage4DSGIS */ + { 15838, -1 }, /* TexSubImage4DSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture_color_mask) static const struct gl_function_remap GL_SGIS_texture_color_mask_functions[] = { - { 15281, -1 }, /* TextureColorMaskSGIS */ + { 15236, -1 }, /* TextureColorMaskSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture_filter4) static const struct gl_function_remap GL_SGIS_texture_filter4_functions[] = { - { 6989, -1 }, /* GetTexFilterFuncSGIS */ - { 16482, -1 }, /* TexFilterFuncSGIS */ + { 6976, -1 }, /* GetTexFilterFuncSGIS */ + { 16437, -1 }, /* TexFilterFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_async) static const struct gl_function_remap GL_SGIX_async_functions[] = { - { 3387, -1 }, /* AsyncMarkerSGIX */ - { 4519, -1 }, /* FinishAsyncSGIX */ - { 5466, -1 }, /* PollAsyncSGIX */ - { 22385, -1 }, /* DeleteAsyncMarkersSGIX */ - { 22440, -1 }, /* IsAsyncMarkerSGIX */ - { 32572, -1 }, /* GenAsyncMarkersSGIX */ + { 3426, -1 }, /* AsyncMarkerSGIX */ + { 4506, -1 }, /* FinishAsyncSGIX */ + { 5495, -1 }, /* PollAsyncSGIX */ + { 22328, -1 }, /* DeleteAsyncMarkersSGIX */ + { 22383, -1 }, /* IsAsyncMarkerSGIX */ + { 32593, -1 }, /* GenAsyncMarkersSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_flush_raster) static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = { - { 7366, -1 }, /* FlushRasterSGIX */ + { 7353, -1 }, /* FlushRasterSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_fragment_lighting) static const struct gl_function_remap GL_SGIX_fragment_lighting_functions[] = { - { 2625, -1 }, /* FragmentMaterialfvSGIX */ - { 5370, -1 }, /* FragmentLightiSGIX */ - { 8086, -1 }, /* FragmentMaterialfSGIX */ - { 8247, -1 }, /* GetFragmentLightivSGIX */ - { 9120, -1 }, /* FragmentLightModeliSGIX */ - { 10725, -1 }, /* FragmentLightivSGIX */ - { 11032, -1 }, /* GetFragmentMaterialivSGIX */ - { 16276, -1 }, /* GetFragmentMaterialfvSGIX */ - { 19543, -1 }, /* FragmentLightModelfSGIX */ - { 19843, -1 }, /* FragmentColorMaterialSGIX */ - { 20260, -1 }, /* FragmentMaterialiSGIX */ - { 21520, -1 }, /* LightEnviSGIX */ - { 23131, -1 }, /* FragmentLightModelfvSGIX */ - { 23466, -1 }, /* FragmentLightfvSGIX */ - { 28419, -1 }, /* FragmentLightModelivSGIX */ - { 28568, -1 }, /* FragmentLightfSGIX */ - { 31443, -1 }, /* GetFragmentLightfvSGIX */ - { 33055, -1 }, /* FragmentMaterialivSGIX */ + { 2664, -1 }, /* FragmentMaterialfvSGIX */ + { 5399, -1 }, /* FragmentLightiSGIX */ + { 8073, -1 }, /* FragmentMaterialfSGIX */ + { 8234, -1 }, /* GetFragmentLightivSGIX */ + { 9107, -1 }, /* FragmentLightModeliSGIX */ + { 10712, -1 }, /* FragmentLightivSGIX */ + { 11019, -1 }, /* GetFragmentMaterialivSGIX */ + { 16231, -1 }, /* GetFragmentMaterialfvSGIX */ + { 19486, -1 }, /* FragmentLightModelfSGIX */ + { 19786, -1 }, /* FragmentColorMaterialSGIX */ + { 20203, -1 }, /* FragmentMaterialiSGIX */ + { 21463, -1 }, /* LightEnviSGIX */ + { 23074, -1 }, /* FragmentLightModelfvSGIX */ + { 23409, -1 }, /* FragmentLightfvSGIX */ + { 28446, -1 }, /* FragmentLightModelivSGIX */ + { 28595, -1 }, /* FragmentLightfSGIX */ + { 31431, -1 }, /* GetFragmentLightfvSGIX */ + { 33076, -1 }, /* FragmentMaterialivSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_framezoom) static const struct gl_function_remap GL_SGIX_framezoom_functions[] = { - { 22463, -1 }, /* FrameZoomSGIX */ + { 22406, -1 }, /* FrameZoomSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_igloo_interface) static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = { - { 28876, -1 }, /* IglooInterfaceSGIX */ + { 28903, -1 }, /* IglooInterfaceSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_instruments) static const struct gl_function_remap GL_SGIX_instruments_functions[] = { - { 2805, -1 }, /* ReadInstrumentsSGIX */ - { 6585, -1 }, /* PollInstrumentsSGIX */ - { 10583, -1 }, /* GetInstrumentsSGIX */ - { 12974, -1 }, /* StartInstrumentsSGIX */ - { 16001, -1 }, /* StopInstrumentsSGIX */ - { 17917, -1 }, /* InstrumentsBufferSGIX */ + { 2844, -1 }, /* ReadInstrumentsSGIX */ + { 6572, -1 }, /* PollInstrumentsSGIX */ + { 10570, -1 }, /* GetInstrumentsSGIX */ + { 13000, -1 }, /* StartInstrumentsSGIX */ + { 15956, -1 }, /* StopInstrumentsSGIX */ + { 17823, -1 }, /* InstrumentsBufferSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_list_priority) static const struct gl_function_remap GL_SGIX_list_priority_functions[] = { - { 1241, -1 }, /* ListParameterfSGIX */ - { 3089, -1 }, /* GetListParameterfvSGIX */ - { 17808, -1 }, /* ListParameteriSGIX */ - { 18785, -1 }, /* ListParameterfvSGIX */ - { 20926, -1 }, /* ListParameterivSGIX */ - { 32616, -1 }, /* GetListParameterivSGIX */ + { 1280, -1 }, /* ListParameterfSGIX */ + { 3128, -1 }, /* GetListParameterfvSGIX */ + { 17714, -1 }, /* ListParameteriSGIX */ + { 18728, -1 }, /* ListParameterfvSGIX */ + { 20869, -1 }, /* ListParameterivSGIX */ + { 32637, -1 }, /* GetListParameterivSGIX */ { -1, -1 } }; #endif @@ -6344,134 +6356,134 @@ static const struct gl_function_remap GL_SGIX_pixel_texture_functions[] = { #if defined(need_GL_SGIX_polynomial_ffd) static const struct gl_function_remap GL_SGIX_polynomial_ffd_functions[] = { - { 3685, -1 }, /* LoadIdentityDeformationMapSGIX */ - { 16101, -1 }, /* DeformSGIX */ - { 24408, -1 }, /* DeformationMap3fSGIX */ - { 31331, -1 }, /* DeformationMap3dSGIX */ + { 3724, -1 }, /* LoadIdentityDeformationMapSGIX */ + { 12208, -1 }, /* DeformationMap3dSGIX */ + { 16056, -1 }, /* DeformSGIX */ + { 24351, -1 }, /* DeformationMap3fSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_reference_plane) static const struct gl_function_remap GL_SGIX_reference_plane_functions[] = { - { 14832, -1 }, /* ReferencePlaneSGIX */ + { 14787, -1 }, /* ReferencePlaneSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_sprite) static const struct gl_function_remap GL_SGIX_sprite_functions[] = { - { 9618, -1 }, /* SpriteParameterfvSGIX */ - { 20715, -1 }, /* SpriteParameteriSGIX */ - { 26738, -1 }, /* SpriteParameterfSGIX */ - { 29496, -1 }, /* SpriteParameterivSGIX */ + { 9605, -1 }, /* SpriteParameterfvSGIX */ + { 20658, -1 }, /* SpriteParameteriSGIX */ + { 26681, -1 }, /* SpriteParameterfSGIX */ + { 29523, -1 }, /* SpriteParameterivSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_tag_sample_buffer) static const struct gl_function_remap GL_SGIX_tag_sample_buffer_functions[] = { - { 20774, -1 }, /* TagSampleBufferSGIX */ + { 20717, -1 }, /* TagSampleBufferSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGI_color_table) static const struct gl_function_remap GL_SGI_color_table_functions[] = { - { 7656, _gloffset_ColorTableParameteriv }, - { 8368, _gloffset_ColorTable }, - { 15328, _gloffset_GetColorTable }, - { 15438, _gloffset_CopyColorTable }, - { 19487, _gloffset_ColorTableParameterfv }, - { 23039, _gloffset_GetColorTableParameterfv }, - { 25166, _gloffset_GetColorTableParameteriv }, + { 7643, _gloffset_ColorTableParameteriv }, + { 8355, _gloffset_ColorTable }, + { 15283, _gloffset_GetColorTable }, + { 15393, _gloffset_CopyColorTable }, + { 19430, _gloffset_ColorTableParameterfv }, + { 22982, _gloffset_GetColorTableParameterfv }, + { 25109, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_SUNX_constant_data) static const struct gl_function_remap GL_SUNX_constant_data_functions[] = { - { 31421, -1 }, /* FinishTextureSUNX */ + { 31409, -1 }, /* FinishTextureSUNX */ { -1, -1 } }; #endif #if defined(need_GL_SUN_global_alpha) static const struct gl_function_remap GL_SUN_global_alpha_functions[] = { - { 3408, -1 }, /* GlobalAlphaFactorubSUN */ - { 4818, -1 }, /* GlobalAlphaFactoriSUN */ - { 6610, -1 }, /* GlobalAlphaFactordSUN */ - { 9702, -1 }, /* GlobalAlphaFactoruiSUN */ - { 10174, -1 }, /* GlobalAlphaFactorbSUN */ - { 13289, -1 }, /* GlobalAlphaFactorfSUN */ - { 13453, -1 }, /* GlobalAlphaFactorusSUN */ - { 22726, -1 }, /* GlobalAlphaFactorsSUN */ + { 3447, -1 }, /* GlobalAlphaFactorubSUN */ + { 4805, -1 }, /* GlobalAlphaFactoriSUN */ + { 6597, -1 }, /* GlobalAlphaFactordSUN */ + { 9689, -1 }, /* GlobalAlphaFactoruiSUN */ + { 10161, -1 }, /* GlobalAlphaFactorbSUN */ + { 13315, -1 }, /* GlobalAlphaFactorfSUN */ + { 13479, -1 }, /* GlobalAlphaFactorusSUN */ + { 22669, -1 }, /* GlobalAlphaFactorsSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_mesh_array) static const struct gl_function_remap GL_SUN_mesh_array_functions[] = { - { 29287, -1 }, /* DrawMeshArraysSUN */ + { 29314, -1 }, /* DrawMeshArraysSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_triangle_list) static const struct gl_function_remap GL_SUN_triangle_list_functions[] = { - { 4493, -1 }, /* ReplacementCodeubSUN */ - { 6369, -1 }, /* ReplacementCodeubvSUN */ - { 19208, -1 }, /* ReplacementCodeusvSUN */ - { 19396, -1 }, /* ReplacementCodePointerSUN */ - { 21584, -1 }, /* ReplacementCodeuiSUN */ - { 22414, -1 }, /* ReplacementCodeusSUN */ - { 29953, -1 }, /* ReplacementCodeuivSUN */ + { 4480, -1 }, /* ReplacementCodeubSUN */ + { 6356, -1 }, /* ReplacementCodeubvSUN */ + { 19151, -1 }, /* ReplacementCodeusvSUN */ + { 19339, -1 }, /* ReplacementCodePointerSUN */ + { 21527, -1 }, /* ReplacementCodeuiSUN */ + { 22357, -1 }, /* ReplacementCodeusSUN */ + { 29980, -1 }, /* ReplacementCodeuivSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_vertex) static const struct gl_function_remap GL_SUN_vertex_functions[] = { - { 1115, -1 }, /* ReplacementCodeuiColor3fVertex3fvSUN */ - { 1313, -1 }, /* TexCoord4fColor4fNormal3fVertex4fvSUN */ - { 1539, -1 }, /* TexCoord2fColor4ubVertex3fvSUN */ - { 1869, -1 }, /* ReplacementCodeuiVertex3fvSUN */ - { 2003, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */ - { 2561, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */ - { 2874, -1 }, /* Color4ubVertex3fvSUN */ - { 4652, -1 }, /* Color4ubVertex3fSUN */ - { 4775, -1 }, /* TexCoord2fVertex3fSUN */ - { 5119, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ - { 5570, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ - { 6264, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ - { 7044, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ - { 7403, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ - { 8115, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ - { 8919, -1 }, /* Color3fVertex3fSUN */ - { 10110, -1 }, /* Color3fVertex3fvSUN */ - { 10548, -1 }, /* Color4fNormal3fVertex3fvSUN */ - { 11377, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ - { 12837, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ - { 14448, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ - { 14974, -1 }, /* TexCoord2fColor3fVertex3fSUN */ - { 16026, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ - { 16441, -1 }, /* Color4ubVertex2fvSUN */ - { 16761, -1 }, /* Normal3fVertex3fSUN */ - { 17858, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ - { 18219, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ - { 19037, -1 }, /* TexCoord2fVertex3fvSUN */ - { 19813, -1 }, /* Color4ubVertex2fSUN */ - { 20051, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ - { 22050, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ - { 22482, -1 }, /* Normal3fVertex3fvSUN */ - { 22948, -1 }, /* Color4fNormal3fVertex3fSUN */ - { 23957, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ - { 26059, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ - { 27450, -1 }, /* TexCoord4fVertex4fSUN */ - { 27876, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ - { 28263, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ - { 28390, -1 }, /* TexCoord4fVertex4fvSUN */ - { 29124, -1 }, /* ReplacementCodeuiVertex3fSUN */ + { 1154, -1 }, /* ReplacementCodeuiColor3fVertex3fvSUN */ + { 1352, -1 }, /* TexCoord4fColor4fNormal3fVertex4fvSUN */ + { 1578, -1 }, /* TexCoord2fColor4ubVertex3fvSUN */ + { 1908, -1 }, /* ReplacementCodeuiVertex3fvSUN */ + { 2042, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */ + { 2600, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */ + { 2913, -1 }, /* Color4ubVertex3fvSUN */ + { 4639, -1 }, /* Color4ubVertex3fSUN */ + { 4762, -1 }, /* TexCoord2fVertex3fSUN */ + { 5106, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ + { 5599, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ + { 6251, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ + { 7031, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ + { 7390, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ + { 8102, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ + { 8906, -1 }, /* Color3fVertex3fSUN */ + { 10097, -1 }, /* Color3fVertex3fvSUN */ + { 10535, -1 }, /* Color4fNormal3fVertex3fvSUN */ + { 11364, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ + { 12863, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ + { 14403, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ + { 14929, -1 }, /* TexCoord2fColor3fVertex3fSUN */ + { 15981, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ + { 16396, -1 }, /* Color4ubVertex2fvSUN */ + { 16667, -1 }, /* Normal3fVertex3fSUN */ + { 17764, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ + { 18125, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ + { 18980, -1 }, /* TexCoord2fVertex3fvSUN */ + { 19756, -1 }, /* Color4ubVertex2fSUN */ + { 19994, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ + { 21993, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ + { 22425, -1 }, /* Normal3fVertex3fvSUN */ + { 22891, -1 }, /* Color4fNormal3fVertex3fSUN */ + { 23900, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ + { 26002, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ + { 27425, -1 }, /* TexCoord4fVertex4fSUN */ + { 27851, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ + { 28290, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ + { 28417, -1 }, /* TexCoord4fVertex4fvSUN */ + { 29151, -1 }, /* ReplacementCodeuiVertex3fSUN */ { -1, -1 } }; #endif @@ -6479,40 +6491,40 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = { #if defined(need_GL_VERSION_1_3) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_VERSION_1_3_functions[] = { - { 425, _gloffset_MultiTexCoord3sARB }, - { 657, _gloffset_ActiveTextureARB }, - { 4247, _gloffset_MultiTexCoord1fvARB }, - { 6155, _gloffset_MultiTexCoord3dARB }, - { 6200, _gloffset_MultiTexCoord2iARB }, - { 6324, _gloffset_MultiTexCoord2svARB }, - { 8324, _gloffset_MultiTexCoord2fARB }, - { 10384, _gloffset_MultiTexCoord3fvARB }, - { 10986, _gloffset_MultiTexCoord4sARB }, - { 11667, _gloffset_MultiTexCoord2dvARB }, - { 12082, _gloffset_MultiTexCoord1svARB }, - { 12454, _gloffset_MultiTexCoord3svARB }, - { 12515, _gloffset_MultiTexCoord4iARB }, - { 13316, _gloffset_MultiTexCoord3iARB }, - { 14186, _gloffset_MultiTexCoord1dARB }, - { 14403, _gloffset_MultiTexCoord3dvARB }, - { 15682, _gloffset_MultiTexCoord3ivARB }, - { 15727, _gloffset_MultiTexCoord2sARB }, - { 17161, _gloffset_MultiTexCoord4ivARB }, - { 19137, _gloffset_ClientActiveTextureARB }, - { 21437, _gloffset_MultiTexCoord2dARB }, - { 21874, _gloffset_MultiTexCoord4dvARB }, - { 22230, _gloffset_MultiTexCoord4fvARB }, - { 23180, _gloffset_MultiTexCoord3fARB }, - { 25750, _gloffset_MultiTexCoord4dARB }, - { 26016, _gloffset_MultiTexCoord1sARB }, - { 26220, _gloffset_MultiTexCoord1dvARB }, - { 27196, _gloffset_MultiTexCoord1ivARB }, - { 27289, _gloffset_MultiTexCoord2ivARB }, - { 27628, _gloffset_MultiTexCoord1iARB }, - { 28992, _gloffset_MultiTexCoord4svARB }, - { 29566, _gloffset_MultiTexCoord1fARB }, - { 29829, _gloffset_MultiTexCoord4fARB }, - { 32293, _gloffset_MultiTexCoord2fvARB }, + { 464, _gloffset_MultiTexCoord3sARB }, + { 696, _gloffset_ActiveTextureARB }, + { 4234, _gloffset_MultiTexCoord1fvARB }, + { 6142, _gloffset_MultiTexCoord3dARB }, + { 6187, _gloffset_MultiTexCoord2iARB }, + { 6311, _gloffset_MultiTexCoord2svARB }, + { 8311, _gloffset_MultiTexCoord2fARB }, + { 10371, _gloffset_MultiTexCoord3fvARB }, + { 10973, _gloffset_MultiTexCoord4sARB }, + { 11654, _gloffset_MultiTexCoord2dvARB }, + { 12069, _gloffset_MultiTexCoord1svARB }, + { 12480, _gloffset_MultiTexCoord3svARB }, + { 12541, _gloffset_MultiTexCoord4iARB }, + { 13342, _gloffset_MultiTexCoord3iARB }, + { 14141, _gloffset_MultiTexCoord1dARB }, + { 14358, _gloffset_MultiTexCoord3dvARB }, + { 15637, _gloffset_MultiTexCoord3ivARB }, + { 15682, _gloffset_MultiTexCoord2sARB }, + { 17067, _gloffset_MultiTexCoord4ivARB }, + { 19080, _gloffset_ClientActiveTextureARB }, + { 21380, _gloffset_MultiTexCoord2dARB }, + { 21817, _gloffset_MultiTexCoord4dvARB }, + { 22173, _gloffset_MultiTexCoord4fvARB }, + { 23123, _gloffset_MultiTexCoord3fARB }, + { 25693, _gloffset_MultiTexCoord4dARB }, + { 25959, _gloffset_MultiTexCoord1sARB }, + { 26163, _gloffset_MultiTexCoord1dvARB }, + { 27171, _gloffset_MultiTexCoord1ivARB }, + { 27264, _gloffset_MultiTexCoord2ivARB }, + { 27603, _gloffset_MultiTexCoord1iARB }, + { 29019, _gloffset_MultiTexCoord4svARB }, + { 29593, _gloffset_MultiTexCoord1fARB }, + { 29856, _gloffset_MultiTexCoord4fARB }, + { 32314, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; #endif diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 11b0f884fa4..2c5f2a147ce 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -1236,6 +1236,7 @@ _mesa_DeleteObjectARB(GLhandleARB obj) if (obj) { GET_CURRENT_CONTEXT(ctx); + FLUSH_VERTICES(ctx, 0); if (is_program(ctx, obj)) { delete_shader_program(ctx, obj); } @@ -1254,6 +1255,7 @@ _mesa_DeleteProgram(GLuint name) { if (name) { GET_CURRENT_CONTEXT(ctx); + FLUSH_VERTICES(ctx, 0); delete_shader_program(ctx, name); } } @@ -1264,6 +1266,7 @@ _mesa_DeleteShader(GLuint name) { if (name) { GET_CURRENT_CONTEXT(ctx); + FLUSH_VERTICES(ctx, 0); delete_shader(ctx, name); } } @@ -1729,7 +1732,7 @@ _mesa_ProgramParameteriARB(GLuint program, GLenum pname, switch (pname) { case GL_GEOMETRY_VERTICES_OUT_ARB: if (value < 1 || - (unsigned) value > ctx->Const.GeometryProgram.MaxGeometryOutputVertices) { + (unsigned) value > ctx->Const.MaxGeometryOutputVertices) { _mesa_error(ctx, GL_INVALID_VALUE, "glProgramParameteri(GL_GEOMETRY_VERTICES_OUT_ARB=%d", value); diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c index 1d75845590f..33d91ad594d 100644 --- a/src/mesa/main/shaderobj.c +++ b/src/mesa/main/shaderobj.c @@ -72,7 +72,8 @@ _mesa_reference_shader(struct gl_context *ctx, struct gl_shader **ptr, deleteFlag = (old->RefCount == 0); if (deleteFlag) { - _mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name); + if (old->Name != 0) + _mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name); ctx->Driver.DeleteShader(ctx, old); } @@ -213,7 +214,8 @@ _mesa_reference_shader_program(struct gl_context *ctx, deleteFlag = (old->RefCount == 0); if (deleteFlag) { - _mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name); + if (old->Name != 0) + _mesa_HashRemove(ctx->Shared->ShaderObjects, old->Name); ctx->Driver.DeleteShaderProgram(ctx, old); } @@ -408,6 +410,5 @@ _mesa_init_shader_object_functions(struct dd_function_table *driver) driver->DeleteShader = _mesa_delete_shader; driver->NewShaderProgram = _mesa_new_shader_program; driver->DeleteShaderProgram = _mesa_delete_shader_program; - driver->CompileShader = _mesa_ir_compile_shader; driver->LinkShader = _mesa_ir_link_shader; } diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 502c429294c..19c9bbabda2 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -53,7 +53,7 @@ static void update_separate_specular(struct gl_context *ctx) { - if (NEED_SECONDARY_COLOR(ctx)) + if (_mesa_need_secondary_color(ctx)) ctx->_TriangleCaps |= DD_SEPARATE_SPECULAR; else ctx->_TriangleCaps &= ~DD_SEPARATE_SPECULAR; @@ -442,7 +442,7 @@ update_color(struct gl_context *ctx) /* This is needed to support 1.1's RGB logic ops AND * 1.0's blending logicops. */ - ctx->Color._LogicOpEnabled = RGBA_LOGICOP_ENABLED(ctx); + ctx->Color._LogicOpEnabled = _mesa_rgba_logicop_enabled(ctx); } @@ -524,7 +524,7 @@ update_tricaps(struct gl_context *ctx, GLbitfield new_state) ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE; if (ctx->Light.ShadeModel == GL_FLAT) ctx->_TriangleCaps |= DD_FLATSHADE; - if (NEED_SECONDARY_COLOR(ctx)) + if (_mesa_need_secondary_color(ctx)) ctx->_TriangleCaps |= DD_SEPARATE_SPECULAR; /* diff --git a/src/mesa/main/state.h b/src/mesa/main/state.h index f0eb43d8ee3..a48c777567f 100644 --- a/src/mesa/main/state.h +++ b/src/mesa/main/state.h @@ -46,4 +46,43 @@ extern void _mesa_set_vp_override(struct gl_context *ctx, GLboolean flag); +/** + * Is the secondary color needed? + */ +static INLINE GLboolean +_mesa_need_secondary_color(const struct gl_context *ctx) +{ + if (ctx->Light.Enabled && + ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) + return GL_TRUE; + + if (ctx->Fog.ColorSumEnabled) + return GL_TRUE; + + if (ctx->VertexProgram._Current && + (ctx->VertexProgram._Current != ctx->VertexProgram._TnlProgram) && + (ctx->VertexProgram._Current->Base.InputsRead & VERT_BIT_COLOR1)) + return GL_TRUE; + + if (ctx->FragmentProgram._Current && + (ctx->FragmentProgram._Current != ctx->FragmentProgram._TexEnvProgram) && + (ctx->FragmentProgram._Current->Base.InputsRead & FRAG_BIT_COL1)) + return GL_TRUE; + + return GL_FALSE; +} + + +/** + * Is RGBA LogicOp enabled? + */ +static INLINE GLboolean +_mesa_rgba_logicop_enabled(const struct gl_context *ctx) +{ + return ctx->Color.ColorLogicOpEnabled || + (ctx->Color.BlendEnabled && ctx->Color.Blend[0].EquationRGB == GL_LOGIC_OP); +} + + + #endif diff --git a/src/mesa/main/texcompress.c b/src/mesa/main/texcompress.c index 82d02ed0ecf..d820ae92747 100644 --- a/src/mesa/main/texcompress.c +++ b/src/mesa/main/texcompress.c @@ -173,6 +173,16 @@ _mesa_glenum_to_compressed_format(GLenum format) case GL_COMPRESSED_SIGNED_RG_RGTC2: return MESA_FORMAT_SIGNED_RG_RGTC2; + case GL_COMPRESSED_LUMINANCE_LATC1_EXT: + return MESA_FORMAT_L_LATC1; + case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: + return MESA_FORMAT_SIGNED_L_LATC1; + case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: + case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: + return MESA_FORMAT_LA_LATC2; + case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: + return MESA_FORMAT_SIGNED_LA_LATC2; + default: return MESA_FORMAT_NONE; } @@ -229,6 +239,15 @@ _mesa_compressed_format_to_glenum(struct gl_context *ctx, GLuint mesaFormat) case MESA_FORMAT_SIGNED_RG_RGTC2: return GL_COMPRESSED_SIGNED_RG_RGTC2; + case MESA_FORMAT_L_LATC1: + return GL_COMPRESSED_LUMINANCE_LATC1_EXT; + case MESA_FORMAT_SIGNED_L_LATC1: + return GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT; + case MESA_FORMAT_LA_LATC2: + return GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT; + case MESA_FORMAT_SIGNED_LA_LATC2: + return GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT; + default: _mesa_problem(ctx, "Unexpected mesa texture format in" " _mesa_compressed_format_to_glenum()"); diff --git a/src/mesa/main/texcompress_rgtc.c b/src/mesa/main/texcompress_rgtc.c index 26dca2d760b..c50df19c5d8 100644 --- a/src/mesa/main/texcompress_rgtc.c +++ b/src/mesa/main/texcompress_rgtc.c @@ -98,7 +98,8 @@ _mesa_texstore_red_rgtc1(TEXSTORE_PARAMS) GLubyte srcpixels[4][4]; GLubyte *blkaddr; GLint dstRowDiff; - ASSERT(dstFormat == MESA_FORMAT_RED_RGTC1); + ASSERT(dstFormat == MESA_FORMAT_RED_RGTC1 || + dstFormat == MESA_FORMAT_L_LATC1); ASSERT(dstXoffset % 4 == 0); ASSERT(dstYoffset % 4 == 0); ASSERT(dstZoffset % 4 == 0); @@ -153,7 +154,8 @@ _mesa_texstore_signed_red_rgtc1(TEXSTORE_PARAMS) GLbyte srcpixels[4][4]; GLbyte *blkaddr; GLint dstRowDiff; - ASSERT(dstFormat == MESA_FORMAT_SIGNED_RED_RGTC1); + ASSERT(dstFormat == MESA_FORMAT_SIGNED_RED_RGTC1 || + dstFormat == MESA_FORMAT_SIGNED_L_LATC1); ASSERT(dstXoffset % 4 == 0); ASSERT(dstYoffset % 4 == 0); ASSERT(dstZoffset % 4 == 0); @@ -208,7 +210,8 @@ _mesa_texstore_rg_rgtc2(TEXSTORE_PARAMS) GLubyte *blkaddr; GLint dstRowDiff; - ASSERT(dstFormat == MESA_FORMAT_RG_RGTC2); + ASSERT(dstFormat == MESA_FORMAT_RG_RGTC2 || + dstFormat == MESA_FORMAT_LA_LATC2); ASSERT(dstXoffset % 4 == 0); ASSERT(dstYoffset % 4 == 0); ASSERT(dstZoffset % 4 == 0); @@ -269,7 +272,8 @@ _mesa_texstore_signed_rg_rgtc2(TEXSTORE_PARAMS) GLbyte *blkaddr; GLint dstRowDiff; - ASSERT(dstFormat == MESA_FORMAT_SIGNED_RG_RGTC2); + ASSERT(dstFormat == MESA_FORMAT_SIGNED_RG_RGTC2 || + dstFormat == MESA_FORMAT_SIGNED_LA_LATC2); ASSERT(dstXoffset % 4 == 0); ASSERT(dstYoffset % 4 == 0); ASSERT(dstZoffset % 4 == 0); @@ -374,6 +378,62 @@ _mesa_fetch_texel_2d_f_signed_rg_rgtc2(const struct gl_texture_image *texImage, texel[ACOMP] = 1.0; } +void +_mesa_fetch_texel_2d_f_l_latc1(const struct gl_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) +{ + GLubyte red; + unsigned_fetch_texel_rgtc(texImage->RowStride, (GLubyte *)(texImage->Data), + i, j, &red, 1); + texel[RCOMP] = + texel[GCOMP] = + texel[BCOMP] = UBYTE_TO_FLOAT(red); + texel[ACOMP] = 1.0; +} + +void +_mesa_fetch_texel_2d_f_signed_l_latc1(const struct gl_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) +{ + GLbyte red; + signed_fetch_texel_rgtc(texImage->RowStride, (GLbyte *)(texImage->Data), + i, j, &red, 1); + texel[RCOMP] = + texel[GCOMP] = + texel[BCOMP] = BYTE_TO_FLOAT_TEX(red); + texel[ACOMP] = 1.0; +} + +void +_mesa_fetch_texel_2d_f_la_latc2(const struct gl_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) +{ + GLubyte red, green; + unsigned_fetch_texel_rgtc(texImage->RowStride, (GLubyte *)(texImage->Data), + i, j, &red, 2); + unsigned_fetch_texel_rgtc(texImage->RowStride, (GLubyte *)(texImage->Data) + 8, + i, j, &green, 2); + texel[RCOMP] = + texel[GCOMP] = + texel[BCOMP] = UBYTE_TO_FLOAT(red); + texel[ACOMP] = UBYTE_TO_FLOAT(green); +} + +void +_mesa_fetch_texel_2d_f_signed_la_latc2(const struct gl_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) +{ + GLbyte red, green; + signed_fetch_texel_rgtc(texImage->RowStride, (GLbyte *)(texImage->Data), + i, j, &red, 2); + signed_fetch_texel_rgtc(texImage->RowStride, (GLbyte *)(texImage->Data) + 8, + i, j, &green, 2); + texel[RCOMP] = + texel[GCOMP] = + texel[BCOMP] = BYTE_TO_FLOAT_TEX(red); + texel[ACOMP] = BYTE_TO_FLOAT_TEX(green); +} + #define TAG(x) unsigned_##x #define TYPE GLubyte diff --git a/src/mesa/main/texcompress_rgtc.h b/src/mesa/main/texcompress_rgtc.h index 424edc4581c..18766770d74 100644 --- a/src/mesa/main/texcompress_rgtc.h +++ b/src/mesa/main/texcompress_rgtc.h @@ -57,4 +57,21 @@ _mesa_fetch_texel_2d_f_rg_rgtc2(const struct gl_texture_image *texImage, extern void _mesa_fetch_texel_2d_f_signed_rg_rgtc2(const struct gl_texture_image *texImage, GLint i, GLint j, GLint k, GLfloat *texel); + +extern void +_mesa_fetch_texel_2d_f_l_latc1(const struct gl_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel); + +extern void +_mesa_fetch_texel_2d_f_signed_l_latc1(const struct gl_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel); + +extern void +_mesa_fetch_texel_2d_f_la_latc2(const struct gl_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel); + +extern void +_mesa_fetch_texel_2d_f_signed_la_latc2(const struct gl_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel); + #endif diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c index 194bcbea983..45a2e195e98 100644 --- a/src/mesa/main/texenv.c +++ b/src/mesa/main/texenv.c @@ -411,9 +411,11 @@ set_combiner_scale(struct gl_context *ctx, void GLAPIENTRY _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) { + const GLint iparam0 = (GLint) param[0]; + struct gl_texture_unit *texUnit; GLuint maxUnit; + GET_CURRENT_CONTEXT(ctx); - struct gl_texture_unit *texUnit; ASSERT_OUTSIDE_BEGIN_END(ctx); maxUnit = (target == GL_POINT_SPRITE_NV && pname == GL_COORD_REPLACE_NV) @@ -428,14 +430,14 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) if (target == GL_TEXTURE_ENV) { switch (pname) { case GL_TEXTURE_ENV_MODE: - set_env_mode(ctx, texUnit, (GLenum) (GLint) param[0]); + set_env_mode(ctx, texUnit, (GLenum) iparam0); break; case GL_TEXTURE_ENV_COLOR: set_env_color(ctx, texUnit, param); break; case GL_COMBINE_RGB: case GL_COMBINE_ALPHA: - set_combiner_mode(ctx, texUnit, pname, (GLenum) (GLint) param[0]); + set_combiner_mode(ctx, texUnit, pname, (GLenum) iparam0); break; case GL_SOURCE0_RGB: case GL_SOURCE1_RGB: @@ -445,7 +447,7 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) case GL_SOURCE1_ALPHA: case GL_SOURCE2_ALPHA: case GL_SOURCE3_ALPHA_NV: - set_combiner_source(ctx, texUnit, pname, (GLenum) (GLint) param[0]); + set_combiner_source(ctx, texUnit, pname, (GLenum) iparam0); break; case GL_OPERAND0_RGB: case GL_OPERAND1_RGB: @@ -455,7 +457,7 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) case GL_OPERAND1_ALPHA: case GL_OPERAND2_ALPHA: case GL_OPERAND3_ALPHA_NV: - set_combiner_operand(ctx, texUnit, pname, (GLenum) (GLint) param[0]); + set_combiner_operand(ctx, texUnit, pname, (GLenum) iparam0); break; case GL_RGB_SCALE: case GL_ALPHA_SCALE: @@ -466,19 +468,19 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) _mesa_error( ctx, GL_INVALID_ENUM, "glTexEnv(pname=0x%x)", pname ); return; } - if (((GLenum) (GLint) param[0] < GL_TEXTURE0) || - ((GLenum) (GLint) param[0] > GL_TEXTURE31)) { + if ((iparam0 < GL_TEXTURE0) || + (iparam0 > GL_TEXTURE31)) { /* spec doesn't say this but it seems logical */ - _mesa_error( ctx, GL_INVALID_ENUM, "glTexEnv(param=0x%x)", (GLenum) (GLint) param[0]); + _mesa_error( ctx, GL_INVALID_ENUM, "glTexEnv(param=0x%x)", iparam0); return; } - if (!((1 << ((GLenum) (GLint) param[0] - GL_TEXTURE0)) & ctx->Const.SupportedBumpUnits)) { - _mesa_error( ctx, GL_INVALID_VALUE, "glTexEnv(param=0x%x)", (GLenum) (GLint) param[0]); + if (!((1 << (iparam0 - GL_TEXTURE0)) & ctx->Const.SupportedBumpUnits)) { + _mesa_error( ctx, GL_INVALID_VALUE, "glTexEnv(param=0x%x)", iparam0); return; } else { FLUSH_VERTICES(ctx, _NEW_TEXTURE); - texUnit->BumpTarget = (GLenum) (GLint) param[0]; + texUnit->BumpTarget = iparam0; } break; default: @@ -511,19 +513,18 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) return; } if (pname == GL_COORD_REPLACE_NV) { - const GLenum value = (GLenum) param[0]; - if (value == GL_TRUE || value == GL_FALSE) { + if (iparam0 == GL_TRUE || iparam0 == GL_FALSE) { /* It's kind of weird to set point state via glTexEnv, * but that's what the spec calls for. */ - const GLboolean state = (GLboolean) value; + const GLboolean state = (GLboolean) iparam0; if (ctx->Point.CoordReplace[ctx->Texture.CurrentUnit] == state) return; FLUSH_VERTICES(ctx, _NEW_POINT); ctx->Point.CoordReplace[ctx->Texture.CurrentUnit] = state; } else { - _mesa_error( ctx, GL_INVALID_VALUE, "glTexEnv(param=0x%x)", value); + _mesa_error( ctx, GL_INVALID_VALUE, "glTexEnv(param=0x%x)", iparam0); return; } } @@ -542,7 +543,7 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) _mesa_lookup_enum_by_nr(target), _mesa_lookup_enum_by_nr(pname), *param, - _mesa_lookup_enum_by_nr((GLenum) (GLint) *param)); + _mesa_lookup_enum_by_nr((GLenum) iparam0)); /* Tell device driver about the new texture environment */ if (ctx->Driver.TexEnv) { diff --git a/src/mesa/main/texfetch.c b/src/mesa/main/texfetch.c index 550597e1cdf..988a7e05468 100644 --- a/src/mesa/main/texfetch.c +++ b/src/mesa/main/texfetch.c @@ -786,6 +786,34 @@ texfetch_funcs[MESA_FORMAT_COUNT] = NULL, NULL }, + { + MESA_FORMAT_L_LATC1, + NULL, + _mesa_fetch_texel_2d_f_l_latc1, + NULL, + NULL + }, + { + MESA_FORMAT_SIGNED_L_LATC1, + NULL, + _mesa_fetch_texel_2d_f_signed_l_latc1, + NULL, + NULL + }, + { + MESA_FORMAT_LA_LATC2, + NULL, + _mesa_fetch_texel_2d_f_la_latc2, + NULL, + NULL + }, + { + MESA_FORMAT_SIGNED_LA_LATC2, + NULL, + _mesa_fetch_texel_2d_f_signed_la_latc2, + NULL, + NULL + }, }; diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c index 72025cf828e..5eabf2aa527 100644 --- a/src/mesa/main/texformat.c +++ b/src/mesa/main/texformat.c @@ -621,6 +621,35 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat, } } + if (ctx->Extensions.EXT_texture_compression_latc) { + switch (internalFormat) { + case GL_COMPRESSED_LUMINANCE_LATC1_EXT: + RETURN_IF_SUPPORTED(MESA_FORMAT_L_LATC1); + break; + case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: + RETURN_IF_SUPPORTED(MESA_FORMAT_SIGNED_L_LATC1); + break; + case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: + RETURN_IF_SUPPORTED(MESA_FORMAT_LA_LATC2); + break; + case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: + RETURN_IF_SUPPORTED(MESA_FORMAT_SIGNED_LA_LATC2); + break; + default: + ; /* fallthrough */ + } + } + + if (ctx->Extensions.ATI_texture_compression_3dc) { + switch (internalFormat) { + case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: + RETURN_IF_SUPPORTED(MESA_FORMAT_LA_LATC2); + break; + default: + ; /* fallthrough */ + } + } + _mesa_problem(ctx, "unexpected format in _mesa_choose_tex_format()"); return MESA_FORMAT_NONE; } diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index d4ae6dd69d8..2a3037f6189 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -509,6 +509,28 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat ) } } + if (ctx->Extensions.EXT_texture_compression_latc) { + switch (internalFormat) { + case GL_COMPRESSED_LUMINANCE_LATC1_EXT: + case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: + return GL_LUMINANCE; + case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: + case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: + return GL_LUMINANCE_ALPHA; + default: + ; /* fallthrough */ + } + } + + if (ctx->Extensions.ATI_texture_compression_3dc) { + switch (internalFormat) { + case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: + return GL_LUMINANCE_ALPHA; + default: + ; /* fallthrough */ + } + } + return -1; /* error */ } diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index 5be881ec45e..c1e3e4dec79 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -39,6 +39,7 @@ #include "macros.h" #include "teximage.h" #include "texobj.h" +#include "texstate.h" #include "mtypes.h" #include "program/prog_instruction.h" @@ -1013,11 +1014,9 @@ void GLAPIENTRY _mesa_BindTexture( GLenum target, GLuint texName ) { GET_CURRENT_CONTEXT(ctx); - const GLuint unit = ctx->Texture.CurrentUnit; - struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit]; - struct gl_texture_object *newTexObj = NULL, *defaultTexObj = NULL; + struct gl_texture_unit *texUnit = _mesa_get_current_tex_unit(ctx); + struct gl_texture_object *newTexObj = NULL; GLint targetIndex; - GLboolean early_out = GL_FALSE; ASSERT_OUTSIDE_BEGIN_END(ctx); if (MESA_VERBOSE & (VERBOSE_API|VERBOSE_TEXTURE)) @@ -1030,13 +1029,13 @@ _mesa_BindTexture( GLenum target, GLuint texName ) return; } assert(targetIndex < NUM_TEXTURE_TARGETS); - defaultTexObj = ctx->Shared->DefaultTex[targetIndex]; /* * Get pointer to new texture object (newTexObj) */ if (texName == 0) { - newTexObj = defaultTexObj; + /* Use a default texture object */ + newTexObj = ctx->Shared->DefaultTex[targetIndex]; } else { /* non-default texture object */ @@ -1071,15 +1070,18 @@ _mesa_BindTexture( GLenum target, GLuint texName ) assert(valid_texture_object(newTexObj)); - _glthread_LOCK_MUTEX(ctx->Shared->Mutex); - if ((ctx->Shared->RefCount == 1) - && (newTexObj == texUnit->CurrentTex[targetIndex])) { - early_out = GL_TRUE; - } - _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); - - if (early_out) { - return; + /* Check if this texture is only used by this context and is already bound. + * If so, just return. + */ + { + GLboolean early_out; + _glthread_LOCK_MUTEX(ctx->Shared->Mutex); + early_out = ((ctx->Shared->RefCount == 1) + && (newTexObj == texUnit->CurrentTex[targetIndex])); + _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); + if (early_out) { + return; + } } /* flush before changing binding */ diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index cd30fa02149..591759149ad 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -2621,7 +2621,7 @@ _mesa_texstore_rgb332(TEXSTORE_PARAMS) * Texstore for _mesa_texformat_a8, _mesa_texformat_l8, _mesa_texformat_i8. */ static GLboolean -_mesa_texstore_a8(TEXSTORE_PARAMS) +_mesa_texstore_unorm8(TEXSTORE_PARAMS) { const GLuint texelBytes = _mesa_get_format_bytes(dstFormat); const GLenum baseFormat = _mesa_get_format_base_format(dstFormat); @@ -3981,7 +3981,7 @@ _mesa_texstore_sl8(TEXSTORE_PARAMS) newDstFormat = MESA_FORMAT_L8; /* _mesa_textore_a8 handles luminance8 too */ - k = _mesa_texstore_a8(ctx, dims, baseInternalFormat, + k = _mesa_texstore_unorm8(ctx, dims, baseInternalFormat, newDstFormat, dstAddr, dstXoffset, dstYoffset, dstZoffset, dstRowStride, dstImageOffsets, @@ -4059,16 +4059,16 @@ texstore_funcs[MESA_FORMAT_COUNT] = { MESA_FORMAT_AL1616, _mesa_texstore_unorm1616 }, { MESA_FORMAT_AL1616_REV, _mesa_texstore_unorm1616 }, { MESA_FORMAT_RGB332, _mesa_texstore_rgb332 }, - { MESA_FORMAT_A8, _mesa_texstore_a8 }, + { MESA_FORMAT_A8, _mesa_texstore_unorm8 }, { MESA_FORMAT_A16, _mesa_texstore_unorm16 }, - { MESA_FORMAT_L8, _mesa_texstore_a8 }, + { MESA_FORMAT_L8, _mesa_texstore_unorm8 }, { MESA_FORMAT_L16, _mesa_texstore_unorm16 }, - { MESA_FORMAT_I8, _mesa_texstore_a8 }, + { MESA_FORMAT_I8, _mesa_texstore_unorm8 }, { MESA_FORMAT_I16, _mesa_texstore_unorm16 }, { MESA_FORMAT_CI8, _mesa_texstore_ci8 }, { MESA_FORMAT_YCBCR, _mesa_texstore_ycbcr }, { MESA_FORMAT_YCBCR_REV, _mesa_texstore_ycbcr }, - { MESA_FORMAT_R8, _mesa_texstore_a8 }, + { MESA_FORMAT_R8, _mesa_texstore_unorm8 }, { MESA_FORMAT_RG88, _mesa_texstore_unorm88 }, { MESA_FORMAT_RG88_REV, _mesa_texstore_unorm88 }, { MESA_FORMAT_R16, _mesa_texstore_unorm16 }, @@ -4135,7 +4135,14 @@ texstore_funcs[MESA_FORMAT_COUNT] = { MESA_FORMAT_RED_RGTC1, _mesa_texstore_red_rgtc1 }, { MESA_FORMAT_SIGNED_RED_RGTC1, _mesa_texstore_signed_red_rgtc1 }, { MESA_FORMAT_RG_RGTC2, _mesa_texstore_rg_rgtc2 }, - { MESA_FORMAT_SIGNED_RG_RGTC2, _mesa_texstore_signed_rg_rgtc2 } + { MESA_FORMAT_SIGNED_RG_RGTC2, _mesa_texstore_signed_rg_rgtc2 }, + + /* Re-use the R/RG texstore functions. + * The code is generic enough to handle LATC too. */ + { MESA_FORMAT_L_LATC1, _mesa_texstore_red_rgtc1 }, + { MESA_FORMAT_SIGNED_L_LATC1, _mesa_texstore_signed_red_rgtc1 }, + { MESA_FORMAT_LA_LATC2, _mesa_texstore_rg_rgtc2 }, + { MESA_FORMAT_SIGNED_LA_LATC2, _mesa_texstore_signed_rg_rgtc2 } }; diff --git a/src/mesa/main/texturebarrier.c b/src/mesa/main/texturebarrier.c new file mode 100644 index 00000000000..56cc8718ca3 --- /dev/null +++ b/src/mesa/main/texturebarrier.c @@ -0,0 +1,54 @@ +/* + * Copyright © 2011 Marek Olšák <[email protected]> + * + * 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 texturebarrier.c + * Implementation of glTextureBarrierNV. + * + * \author Marek Olšák <[email protected]> + */ + +#include "context.h" +#include "texturebarrier.h" + + +static void +_mesa_texture_barrier(struct gl_context *ctx) +{ + /* no-op */ +} + +void +_mesa_init_texture_barrier_functions(struct dd_function_table *driver) +{ + driver->TextureBarrier = _mesa_texture_barrier; +} + +void GLAPIENTRY +_mesa_TextureBarrierNV(void) +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_BEGIN_END(ctx); + + ctx->Driver.TextureBarrier(ctx); +} diff --git a/src/mesa/main/texturebarrier.h b/src/mesa/main/texturebarrier.h new file mode 100644 index 00000000000..a84a85b2176 --- /dev/null +++ b/src/mesa/main/texturebarrier.h @@ -0,0 +1,44 @@ +/* + * Copyright © 2011 Marek Olšák <[email protected]> + * + * 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 texturebarrier.h + * GL_NV_texture_barrier + * + * \author Marek Olšák <[email protected]> + */ + +#ifndef TEXTUREBARRIER_H +#define TEXTUREBARRIER_H + +#include "glheader.h" + +struct dd_function_table; + +extern void +_mesa_init_texture_barrier_functions(struct dd_function_table *driver); + +extern void GLAPIENTRY +_mesa_TextureBarrierNV(void); + +#endif /* TEXTUREBARRIER_H */ diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index eb289722d1a..1d74efafdf7 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -209,6 +209,18 @@ static struct gl_builtin_uniform_element gl_NormalScale_elements[] = { {NULL, {STATE_NORMAL_SCALE}, SWIZZLE_XXXX}, }; +static struct gl_builtin_uniform_element gl_MESABumpRotMatrix0_elements[] = { + {NULL, {STATE_INTERNAL, STATE_ROT_MATRIX_0}, SWIZZLE_XYZW}, +}; + +static struct gl_builtin_uniform_element gl_MESABumpRotMatrix1_elements[] = { + {NULL, {STATE_INTERNAL, STATE_ROT_MATRIX_1}, SWIZZLE_XYZW}, +}; + +static struct gl_builtin_uniform_element gl_MESAFogParamsOptimized_elements[] = { + {NULL, {STATE_INTERNAL, STATE_FOG_PARAMS_OPTIMIZED}, SWIZZLE_XYZW}, +}; + #define MATRIX(name, statevar, modifier) \ static struct gl_builtin_uniform_element name ## _elements[] = { \ { NULL, { statevar, 0, 0, 0, modifier}, SWIZZLE_XYZW }, \ @@ -312,6 +324,10 @@ const struct gl_builtin_uniform_desc _mesa_builtin_uniform_desc[] = { STATEVAR(gl_NormalMatrix), STATEVAR(gl_NormalScale), + STATEVAR(gl_MESABumpRotMatrix0), + STATEVAR(gl_MESABumpRotMatrix1), + STATEVAR(gl_MESAFogParamsOptimized), + {NULL, NULL, 0} }; diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 33c262f8ca4..17e0f9953f9 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -2406,6 +2406,11 @@ print_program(struct prog_instruction *mesa_instructions, } } + +/** + * Count resources used by the given gpu program (number of texture + * samplers, etc). + */ static void count_resources(struct gl_program *prog) { @@ -2429,6 +2434,55 @@ count_resources(struct gl_program *prog) _mesa_update_shader_textures_used(prog); } + +/** + * Check if the given vertex/fragment/shader program is within the + * resource limits of the context (number of texture units, etc). + * If any of those checks fail, record a linker error. + * + * XXX more checks are needed... + */ +static void +check_resources(const struct gl_context *ctx, + struct gl_shader_program *shader_program, + struct gl_program *prog) +{ + switch (prog->Target) { + case GL_VERTEX_PROGRAM_ARB: + if (_mesa_bitcount(prog->SamplersUsed) > + ctx->Const.MaxVertexTextureImageUnits) { + fail_link(shader_program, "Too many vertex shader texture samplers"); + } + if (prog->Parameters->NumParameters > MAX_UNIFORMS) { + fail_link(shader_program, "Too many vertex shader constants"); + } + break; + case MESA_GEOMETRY_PROGRAM: + if (_mesa_bitcount(prog->SamplersUsed) > + ctx->Const.MaxGeometryTextureImageUnits) { + fail_link(shader_program, "Too many geometry shader texture samplers"); + } + if (prog->Parameters->NumParameters > + MAX_GEOMETRY_UNIFORM_COMPONENTS / 4) { + fail_link(shader_program, "Too many geometry shader constants"); + } + break; + case GL_FRAGMENT_PROGRAM_ARB: + if (_mesa_bitcount(prog->SamplersUsed) > + ctx->Const.MaxTextureImageUnits) { + fail_link(shader_program, "Too many fragment shader texture samplers"); + } + if (prog->Parameters->NumParameters > MAX_UNIFORMS) { + fail_link(shader_program, "Too many fragment shader constants"); + } + break; + default: + _mesa_problem(ctx, "unexpected program type in check_resources()"); + } +} + + + struct uniform_sort { struct gl_uniform *u; int pos; @@ -3026,6 +3080,8 @@ get_mesa_program(struct gl_context *ctx, do_set_program_inouts(shader->ir, prog); count_resources(prog); + check_resources(ctx, shader_program, prog); + _mesa_reference_program(ctx, &shader->Program, prog); if ((ctx->Shader.Flags & GLSL_NO_OPT) == 0) { @@ -3038,21 +3094,6 @@ get_mesa_program(struct gl_context *ctx, extern "C" { /** - * Called via ctx->Driver.CompilerShader(). - * This is a no-op. - * XXX can we remove the ctx->Driver.CompileShader() hook? - */ -GLboolean -_mesa_ir_compile_shader(struct gl_context *ctx, struct gl_shader *shader) -{ - assert(shader->CompileStatus); - (void) ctx; - - return GL_TRUE; -} - - -/** * Link a shader. * Called via ctx->Driver.LinkShader() * This actually involves converting GLSL IR into Mesa gl_programs with @@ -3237,11 +3278,6 @@ _mesa_glsl_compile_shader(struct gl_context *ctx, struct gl_shader *shader) reparent_ir(shader->ir, shader->ir); ralloc_free(state); - - if (shader->CompileStatus) { - if (!ctx->Driver.CompileShader(ctx, shader)) - shader->CompileStatus = GL_FALSE; - } } diff --git a/src/mesa/program/prog_cache.c b/src/mesa/program/prog_cache.c index 56ca59890de..2ccedb5d7d0 100644 --- a/src/mesa/program/prog_cache.c +++ b/src/mesa/program/prog_cache.c @@ -29,6 +29,7 @@ #include "main/glheader.h" #include "main/mtypes.h" #include "main/imports.h" +#include "main/shaderobj.h" #include "program/prog_cache.h" #include "program/program.h" @@ -104,7 +105,8 @@ rehash(struct gl_program_cache *cache) static void -clear_cache(struct gl_context *ctx, struct gl_program_cache *cache) +clear_cache(struct gl_context *ctx, struct gl_program_cache *cache, + GLboolean shader) { struct cache_item *c, *next; GLuint i; @@ -115,7 +117,13 @@ clear_cache(struct gl_context *ctx, struct gl_program_cache *cache) for (c = cache->items[i]; c; c = next) { next = c->next; free(c->key); - _mesa_reference_program(ctx, &c->program, NULL); + if (shader) { + _mesa_reference_shader_program(ctx, + (struct gl_shader_program **)&c->program, + NULL); + } else { + _mesa_reference_program(ctx, &c->program, NULL); + } free(c); } cache->items[i] = NULL; @@ -147,7 +155,16 @@ _mesa_new_program_cache(void) void _mesa_delete_program_cache(struct gl_context *ctx, struct gl_program_cache *cache) { - clear_cache(ctx, cache); + clear_cache(ctx, cache, GL_FALSE); + free(cache->items); + free(cache); +} + +void +_mesa_delete_shader_cache(struct gl_context *ctx, + struct gl_program_cache *cache) +{ + clear_cache(ctx, cache, GL_TRUE); free(cache->items); free(cache); } @@ -197,7 +214,35 @@ _mesa_program_cache_insert(struct gl_context *ctx, if (cache->size < 1000) rehash(cache); else - clear_cache(ctx, cache); + clear_cache(ctx, cache, GL_FALSE); + } + + cache->n_items++; + c->next = cache->items[hash % cache->size]; + cache->items[hash % cache->size] = c; +} + +void +_mesa_shader_cache_insert(struct gl_context *ctx, + struct gl_program_cache *cache, + const void *key, GLuint keysize, + struct gl_shader_program *program) +{ + const GLuint hash = hash_key(key, keysize); + struct cache_item *c = CALLOC_STRUCT(cache_item); + + c->hash = hash; + + c->key = malloc(keysize); + memcpy(c->key, key, keysize); + + c->program = (struct gl_program *)program; /* no refcount change */ + + if (cache->n_items > cache->size * 1.5) { + if (cache->size < 1000) + rehash(cache); + else + clear_cache(ctx, cache, GL_TRUE); } cache->n_items++; diff --git a/src/mesa/program/prog_cache.h b/src/mesa/program/prog_cache.h index 01673348279..5d46bfc5cc9 100644 --- a/src/mesa/program/prog_cache.h +++ b/src/mesa/program/prog_cache.h @@ -44,6 +44,9 @@ _mesa_new_program_cache(void); extern void _mesa_delete_program_cache(struct gl_context *ctx, struct gl_program_cache *pc); +extern void +_mesa_delete_shader_cache(struct gl_context *ctx, + struct gl_program_cache *cache); extern struct gl_program * _mesa_search_program_cache(struct gl_program_cache *cache, @@ -55,5 +58,11 @@ _mesa_program_cache_insert(struct gl_context *ctx, const void *key, GLuint keysize, struct gl_program *program); +void +_mesa_shader_cache_insert(struct gl_context *ctx, + struct gl_program_cache *cache, + const void *key, GLuint keysize, + struct gl_shader_program *program); + #endif /* PROG_CACHE_H */ diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c index cfdd0da86d8..79034ab26f2 100644 --- a/src/mesa/program/program.c +++ b/src/mesa/program/program.c @@ -811,7 +811,7 @@ _mesa_combine_programs(struct gl_context *ctx, /* Connect color outputs of fprogA to color inputs of fprogB, via a * new temporary register. */ - if ((progA->OutputsWritten & (1 << FRAG_RESULT_COLOR)) && + if ((progA->OutputsWritten & BITFIELD64_BIT(FRAG_RESULT_COLOR)) && (progB_inputsRead & FRAG_BIT_COL0)) { GLint tempReg = _mesa_find_free_register(usedTemps, MAX_PROGRAM_TEMPS, firstTemp); @@ -834,7 +834,7 @@ _mesa_combine_programs(struct gl_context *ctx, /* compute combined program's InputsRead */ inputsB = progB_inputsRead; - if (progA->OutputsWritten & (1 << FRAG_RESULT_COLOR)) { + if (progA->OutputsWritten & BITFIELD64_BIT(FRAG_RESULT_COLOR)) { inputsB &= ~(1 << FRAG_ATTRIB_COL0); } newProg->InputsRead = progA->InputsRead | inputsB; diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak index ae92e4da940..fcf8ab2e794 100644 --- a/src/mesa/sources.mak +++ b/src/mesa/sources.mak @@ -83,7 +83,6 @@ MAIN_SOURCES = \ main/texcompress_s3tc.c \ main/texcompress_fxt1.c \ main/texenv.c \ - main/texenvprogram.c \ main/texfetch.c \ main/texformat.c \ main/texgen.c \ @@ -95,6 +94,7 @@ MAIN_SOURCES = \ main/texrender.c \ main/texstate.c \ main/texstore.c \ + main/texturebarrier.c \ main/transformfeedback.c \ main/uniforms.c \ main/varray.c \ @@ -103,6 +103,9 @@ MAIN_SOURCES = \ main/vtxfmt.c \ $(MAIN_ES_SOURCES) +MAIN_CXX_SOURCES = \ + main/ff_fragment_shader.cpp + MATH_SOURCES = \ math/m_debug_clip.c \ math/m_debug_norm.c \ @@ -215,8 +218,10 @@ STATETRACKER_SOURCES = \ state_tracker/st_cb_queryobj.c \ state_tracker/st_cb_rasterpos.c \ state_tracker/st_cb_readpixels.c \ + state_tracker/st_cb_syncobj.c \ state_tracker/st_cb_strings.c \ state_tracker/st_cb_texture.c \ + state_tracker/st_cb_texturebarrier.c \ state_tracker/st_cb_viewport.c \ state_tracker/st_cb_xformfb.c \ state_tracker/st_context.c \ @@ -315,7 +320,8 @@ MESA_SOURCES = \ $(ASM_C_SOURCES) MESA_CXX_SOURCES = \ - $(SHADER_CXX_SOURCES) + $(MAIN_CXX_SOURCES) \ + $(SHADER_CXX_SOURCES) # Sources for building Gallium drivers MESA_GALLIUM_SOURCES = \ @@ -328,7 +334,8 @@ MESA_GALLIUM_SOURCES = \ x86/common_x86.c MESA_GALLIUM_CXX_SOURCES = \ - $(SHADER_CXX_SOURCES) + $(MAIN_CXX_SOURCES) \ + $(SHADER_CXX_SOURCES) # All the core C sources, for dependency checking ALL_SOURCES = \ diff --git a/src/mesa/state_tracker/st_atom_pixeltransfer.c b/src/mesa/state_tracker/st_atom_pixeltransfer.c index 739a2eaab7e..9557adc2d8b 100644 --- a/src/mesa/state_tracker/st_atom_pixeltransfer.c +++ b/src/mesa/state_tracker/st_atom_pixeltransfer.c @@ -187,7 +187,7 @@ get_pixel_transfer_program(struct gl_context *ctx, const struct state_key *key) inst[ic].TexSrcTarget = TEXTURE_2D_INDEX; ic++; fp->Base.InputsRead = (1 << FRAG_ATTRIB_TEX0); - fp->Base.OutputsWritten = (1 << FRAG_RESULT_COLOR); + fp->Base.OutputsWritten = BITFIELD64_BIT(FRAG_RESULT_COLOR); fp->Base.SamplersUsed = 0x1; /* sampler 0 (bit 0) is used */ if (key->scaleAndBias) { diff --git a/src/mesa/state_tracker/st_cb_bitmap.c b/src/mesa/state_tracker/st_cb_bitmap.c index 149f1ca4450..49b196032b9 100644 --- a/src/mesa/state_tracker/st_cb_bitmap.c +++ b/src/mesa/state_tracker/st_cb_bitmap.c @@ -838,17 +838,17 @@ st_init_bitmap(struct st_context *st) /* find a usable texture format */ if (screen->is_format_supported(screen, PIPE_FORMAT_I8_UNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { st->bitmap.tex_format = PIPE_FORMAT_I8_UNORM; } else if (screen->is_format_supported(screen, PIPE_FORMAT_A8_UNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { st->bitmap.tex_format = PIPE_FORMAT_A8_UNORM; } else if (screen->is_format_supported(screen, PIPE_FORMAT_L8_UNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { st->bitmap.tex_format = PIPE_FORMAT_L8_UNORM; } else { diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c index 12528f49ff7..b9b606d539c 100644 --- a/src/mesa/state_tracker/st_cb_bufferobjects.c +++ b/src/mesa/state_tracker/st_cb_bufferobjects.c @@ -301,11 +301,15 @@ st_bufferobj_map_range(struct gl_context *ctx, GLenum target, if (access & GL_MAP_FLUSH_EXPLICIT_BIT) flags |= PIPE_TRANSFER_FLUSH_EXPLICIT; - if (access & GL_MAP_INVALIDATE_RANGE_BIT) - flags |= PIPE_TRANSFER_DISCARD; - - if (access & GL_MAP_INVALIDATE_BUFFER_BIT) - flags |= PIPE_TRANSFER_DISCARD; + if (access & GL_MAP_INVALIDATE_BUFFER_BIT) { + flags |= PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE; + } + else if (access & GL_MAP_INVALIDATE_RANGE_BIT) { + if (offset == 0 && length == obj->Size) + flags |= PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE; + else + flags |= PIPE_TRANSFER_DISCARD_RANGE; + } if (access & GL_MAP_UNSYNCHRONIZED_BIT) flags |= PIPE_TRANSFER_UNSYNCHRONIZED; diff --git a/src/mesa/state_tracker/st_cb_clear.c b/src/mesa/state_tracker/st_cb_clear.c index 0e0c4326ed7..1eb748e0d5d 100644 --- a/src/mesa/state_tracker/st_cb_clear.c +++ b/src/mesa/state_tracker/st_cb_clear.c @@ -63,26 +63,12 @@ void st_init_clear(struct st_context *st) { - struct pipe_context *pipe = st->pipe; struct pipe_screen *pscreen = st->pipe->screen; memset(&st->clear, 0, sizeof(st->clear)); st->clear.raster.gl_rasterization_rules = 1; st->clear.enable_ds_separate = pscreen->get_param(pscreen, PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE); - - /* fragment shader state: color pass-through program */ - st->clear.fs = util_make_fragment_passthrough_shader(pipe); - - /* vertex shader state: color/position pass-through */ - { - const uint semantic_names[] = { TGSI_SEMANTIC_POSITION, - TGSI_SEMANTIC_COLOR }; - const uint semantic_indexes[] = { 0, 0 }; - st->clear.vs = util_make_vertex_passthrough_shader(pipe, 2, - semantic_names, - semantic_indexes); - } } @@ -108,6 +94,42 @@ st_destroy_clear(struct st_context *st) /** + * Helper function to set the fragment shaders. + */ +static INLINE void +set_fragment_shader(struct st_context *st) +{ + if (!st->clear.fs) + st->clear.fs = util_make_fragment_passthrough_shader(st->pipe); + + cso_set_fragment_shader_handle(st->cso_context, st->clear.fs); +} + + +/** + * Helper function to set the vertex shader. + */ +static INLINE void +set_vertex_shader(struct st_context *st) +{ + /* vertex shader - still required to provide the linkage between + * fragment shader input semantics and vertex_element/buffers. + */ + if (!st->clear.vs) + { + const uint semantic_names[] = { TGSI_SEMANTIC_POSITION, + TGSI_SEMANTIC_COLOR }; + const uint semantic_indexes[] = { 0, 0 }; + st->clear.vs = util_make_vertex_passthrough_shader(st->pipe, 2, + semantic_names, + semantic_indexes); + } + + cso_set_vertex_shader_handle(st->cso_context, st->clear.vs); +} + + +/** * Draw a screen-aligned quadrilateral. * Coords are clip coords with y=0=bottom. */ @@ -297,8 +319,8 @@ clear_with_quad(struct gl_context *ctx, } cso_set_clip(st->cso_context, &st->clear.clip); - cso_set_fragment_shader_handle(st->cso_context, st->clear.fs); - cso_set_vertex_shader_handle(st->cso_context, st->clear.vs); + set_fragment_shader(st); + set_vertex_shader(st); if (ctx->DrawBuffer->_ColorDrawBuffers[0]) { st_translate_color(ctx->Color.ClearColor, diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index c2b4e1808f5..eccc207579b 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -213,9 +213,9 @@ st_make_drawpix_z_stencil_program(struct st_context *st, p->InputsRead = FRAG_BIT_TEX0 | FRAG_BIT_COL0; p->OutputsWritten = 0; if (write_depth) - p->OutputsWritten |= (1 << FRAG_RESULT_DEPTH); + p->OutputsWritten |= BITFIELD64_BIT(FRAG_RESULT_DEPTH); if (write_stencil) - p->OutputsWritten |= (1 << FRAG_RESULT_STENCIL); + p->OutputsWritten |= BITFIELD64_BIT(FRAG_RESULT_STENCIL); p->SamplersUsed = 0x1; /* sampler 0 (bit 0) is used */ if (write_stencil) @@ -1332,7 +1332,7 @@ st_CopyPixels(struct gl_context *ctx, GLint srcx, GLint srcy, if (screen->is_format_supported(screen, srcFormat, st->internal_target, sample_count, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { texFormat = srcFormat; } else { diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index 5eda2346c60..0df04287ae6 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -79,7 +79,11 @@ st_renderbuffer_alloc_storage(struct gl_context * ctx, else format = st_choose_renderbuffer_format(screen, internalFormat, rb->NumSamples); - + + if (format == PIPE_FORMAT_NONE) { + return FALSE; + } + /* init renderbuffer fields */ strb->Base.Width = width; strb->Base.Height = height; @@ -427,14 +431,11 @@ static void st_finish_render_texture(struct gl_context *ctx, struct gl_renderbuffer_attachment *att) { - struct st_context *st = st_context(ctx); struct st_renderbuffer *strb = st_renderbuffer(att->Renderbuffer); if (!strb) return; - st_flush(st, PIPE_FLUSH_RENDER_CACHE, NULL); - strb->rtt = NULL; /* @@ -484,7 +485,7 @@ st_validate_attachment(struct gl_context *ctx, return screen->is_format_supported(screen, format, PIPE_TEXTURE_2D, - stObj->pt->nr_samples, bindings, 0); + stObj->pt->nr_samples, bindings); } diff --git a/src/mesa/state_tracker/st_cb_flush.c b/src/mesa/state_tracker/st_cb_flush.c index 5a2343d3aec..0e27cb9a3fd 100644 --- a/src/mesa/state_tracker/st_cb_flush.c +++ b/src/mesa/state_tracker/st_cb_flush.c @@ -76,7 +76,7 @@ display_front_buffer(struct st_context *st) } -void st_flush( struct st_context *st, uint pipeFlushFlags, +void st_flush( struct st_context *st, struct pipe_fence_handle **fence ) { FLUSH_CURRENT(st->ctx, 0); @@ -89,7 +89,7 @@ void st_flush( struct st_context *st, uint pipeFlushFlags, util_blit_flush(st->blit); util_gen_mipmap_flush(st->gen_mipmap); - st->pipe->flush( st->pipe, pipeFlushFlags, fence ); + st->pipe->flush( st->pipe, fence ); } @@ -100,10 +100,11 @@ void st_finish( struct st_context *st ) { struct pipe_fence_handle *fence = NULL; - st_flush(st, PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, &fence); + st_flush(st, &fence); if(fence) { - st->pipe->screen->fence_finish(st->pipe->screen, fence, 0); + st->pipe->screen->fence_finish(st->pipe->screen, fence, + PIPE_TIMEOUT_INFINITE); st->pipe->screen->fence_reference(st->pipe->screen, &fence, NULL); } } @@ -122,7 +123,7 @@ static void st_glFlush(struct gl_context *ctx) * synchronization issues. Calling finish() here will just hide * problems that need to be fixed elsewhere. */ - st_flush(st, PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, NULL); + st_flush(st, NULL); if (is_front_buffer_dirty(st)) { display_front_buffer(st); diff --git a/src/mesa/state_tracker/st_cb_flush.h b/src/mesa/state_tracker/st_cb_flush.h index 7672b4cf1da..598536ba045 100644 --- a/src/mesa/state_tracker/st_cb_flush.h +++ b/src/mesa/state_tracker/st_cb_flush.h @@ -40,7 +40,7 @@ extern void st_init_flush_functions(struct dd_function_table *functions); extern void -st_flush(struct st_context *st, uint pipeFlushFlags, +st_flush(struct st_context *st, struct pipe_fence_handle **fence); extern void diff --git a/src/mesa/state_tracker/st_cb_syncobj.c b/src/mesa/state_tracker/st_cb_syncobj.c new file mode 100644 index 00000000000..d575a84974b --- /dev/null +++ b/src/mesa/state_tracker/st_cb_syncobj.c @@ -0,0 +1,122 @@ +/************************************************************************** + * + * Copyright 2011 Marek Olšák <[email protected]> + * 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 AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + + /* + * Authors: + * Marek Olšák <[email protected]> + */ + +#include "main/glheader.h" +#include "main/macros.h" +#include "pipe/p_context.h" +#include "pipe/p_screen.h" +#include "st_context.h" +#include "st_cb_syncobj.h" + +struct st_sync_object { + struct gl_sync_object b; + + struct pipe_fence_handle *fence; +}; + + +static struct gl_sync_object * st_new_sync_object(struct gl_context *ctx, + GLenum type) +{ + if (type == GL_SYNC_FENCE) + return (struct gl_sync_object*)CALLOC_STRUCT(st_sync_object); + else + return NULL; +} + +static void st_delete_sync_object(struct gl_context *ctx, + struct gl_sync_object *obj) +{ + struct pipe_screen *screen = st_context(ctx)->pipe->screen; + struct st_sync_object *so = (struct st_sync_object*)obj; + + screen->fence_reference(screen, &so->fence, NULL); + FREE(so); +} + +static void st_fence_sync(struct gl_context *ctx, struct gl_sync_object *obj, + GLenum condition, GLbitfield flags) +{ + struct pipe_context *pipe = st_context(ctx)->pipe; + struct st_sync_object *so = (struct st_sync_object*)obj; + + assert(condition == GL_SYNC_GPU_COMMANDS_COMPLETE && flags == 0); + assert(so->fence == NULL); + + pipe->flush(pipe, &so->fence); +} + +static void st_check_sync(struct gl_context *ctx, struct gl_sync_object *obj) +{ + struct pipe_screen *screen = st_context(ctx)->pipe->screen; + struct st_sync_object *so = (struct st_sync_object*)obj; + + if (so->fence && screen->fence_signalled(screen, so->fence)) { + screen->fence_reference(screen, &so->fence, NULL); + so->b.StatusFlag = GL_TRUE; + } +} + +static void st_client_wait_sync(struct gl_context *ctx, + struct gl_sync_object *obj, + GLbitfield flags, GLuint64 timeout) +{ + struct pipe_screen *screen = st_context(ctx)->pipe->screen; + struct st_sync_object *so = (struct st_sync_object*)obj; + + /* We don't care about GL_SYNC_FLUSH_COMMANDS_BIT, because flush is + * already called when creating a fence. */ + + if (so->fence && + screen->fence_finish(screen, so->fence, timeout)) { + screen->fence_reference(screen, &so->fence, NULL); + so->b.StatusFlag = GL_TRUE; + } +} + +static void st_server_wait_sync(struct gl_context *ctx, + struct gl_sync_object *obj, + GLbitfield flags, GLuint64 timeout) +{ + /* NO-OP. + * Neither Gallium nor DRM interfaces support blocking on the GPU. */ +} + +void st_init_syncobj_functions(struct dd_function_table *functions) +{ + functions->NewSyncObject = st_new_sync_object; + functions->FenceSync = st_fence_sync; + functions->DeleteSyncObject = st_delete_sync_object; + functions->CheckSync = st_check_sync; + functions->ClientWaitSync = st_client_wait_sync; + functions->ServerWaitSync = st_server_wait_sync; +} diff --git a/src/mesa/state_tracker/st_cb_syncobj.h b/src/mesa/state_tracker/st_cb_syncobj.h new file mode 100644 index 00000000000..c254684780c --- /dev/null +++ b/src/mesa/state_tracker/st_cb_syncobj.h @@ -0,0 +1,38 @@ +/************************************************************************** + * + * Copyright 2011 Marek Olšák <[email protected]> + * 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 AUTHORS AND/OR ITS 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. + * + **************************************************************************/ + +#ifndef ST_CB_SYNCOBJ_H +#define ST_CB_SYNCOBJ_H + + +struct dd_function_table; + +extern void +st_init_syncobj_functions(struct dd_function_table *functions); + + +#endif /* ST_CB_SYNCOBJ_H */ diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 3f98ffd3d6f..9d5eb113ff7 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -217,7 +217,6 @@ default_bindings(struct st_context *st, enum pipe_format format) { struct pipe_screen *screen = st->pipe->screen; const unsigned target = PIPE_TEXTURE_2D; - const unsigned geom = 0x0; unsigned bindings; if (util_format_is_depth_or_stencil(format)) @@ -225,13 +224,13 @@ default_bindings(struct st_context *st, enum pipe_format format) else bindings = PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_RENDER_TARGET; - if (screen->is_format_supported(screen, format, target, 0, bindings, geom)) + if (screen->is_format_supported(screen, format, target, 0, bindings)) return bindings; else { /* Try non-sRGB. */ format = util_format_linear(format); - if (screen->is_format_supported(screen, format, target, 0, bindings, geom)) + if (screen->is_format_supported(screen, format, target, 0, bindings)) return bindings; else return PIPE_BIND_SAMPLER_VIEW; @@ -1523,17 +1522,15 @@ st_copy_texsubimage(struct gl_context *ctx, texBaseFormat != GL_DEPTH_STENCIL && screen->is_format_supported(screen, src_format, PIPE_TEXTURE_2D, sample_count, - PIPE_BIND_SAMPLER_VIEW, - 0) && + PIPE_BIND_SAMPLER_VIEW) && screen->is_format_supported(screen, dest_format, PIPE_TEXTURE_2D, 0, - PIPE_BIND_RENDER_TARGET, - 0)) { + PIPE_BIND_RENDER_TARGET)) { /* draw textured quad to do the copy */ GLint srcY0, srcY1; struct pipe_surface surf_tmpl; memset(&surf_tmpl, 0, sizeof(surf_tmpl)); - surf_tmpl.format = stImage->pt->format; + surf_tmpl.format = util_format_linear(stImage->pt->format); surf_tmpl.usage = PIPE_BIND_RENDER_TARGET; surf_tmpl.u.tex.level = stImage->level; surf_tmpl.u.tex.first_layer = stImage->face + destZ; diff --git a/src/mesa/state_tracker/st_cb_texturebarrier.c b/src/mesa/state_tracker/st_cb_texturebarrier.c new file mode 100644 index 00000000000..2f1a22b5888 --- /dev/null +++ b/src/mesa/state_tracker/st_cb_texturebarrier.c @@ -0,0 +1,60 @@ +/************************************************************************** + * + * Copyright 2011 Marek Olšák <[email protected]> + * 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 THE AUTHORS AND/OR ITS 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. + * + **************************************************************************/ + + +/** + * glTextureBarrierNV function + * + * \author Marek Olšák + */ + + +#include "main/imports.h" +#include "main/context.h" + +#include "pipe/p_context.h" +#include "pipe/p_defines.h" +#include "st_context.h" +#include "st_cb_texturebarrier.h" + + +/** + * Called via ctx->Driver.TextureBarrier() + */ +static void +st_TextureBarrier(struct gl_context *ctx) +{ + struct pipe_context *pipe = st_context(ctx)->pipe; + + pipe->texture_barrier(pipe); +} + + +void st_init_texture_barrier_functions(struct dd_function_table *functions) +{ + functions->TextureBarrier = st_TextureBarrier; +} diff --git a/src/mesa/state_tracker/st_cb_texturebarrier.h b/src/mesa/state_tracker/st_cb_texturebarrier.h new file mode 100644 index 00000000000..3b7d3776fd5 --- /dev/null +++ b/src/mesa/state_tracker/st_cb_texturebarrier.h @@ -0,0 +1,37 @@ +/************************************************************************** + * + * Copyright 2011 Marek Olšák <[email protected]> + * 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 THE AUTHORS AND/OR ITS 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. + * + **************************************************************************/ + +#ifndef ST_CB_TEXTUREBARRIER_H +#define ST_CB_TEXTUREBARRIER_H + + +struct dd_function_table; + +extern void st_init_texture_barrier_functions(struct dd_function_table *functions); + + +#endif diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 7a19f35bbf5..5a39ab0a110 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -51,7 +51,9 @@ #include "st_cb_texture.h" #include "st_cb_xformfb.h" #include "st_cb_flush.h" +#include "st_cb_syncobj.h" #include "st_cb_strings.h" +#include "st_cb_texturebarrier.h" #include "st_cb_viewport.h" #include "st_atom.h" #include "st_draw.h" @@ -287,11 +289,13 @@ void st_init_driver_functions(struct dd_function_table *functions) st_init_cond_render_functions(functions); st_init_readpixels_functions(functions); st_init_texture_functions(functions); + st_init_texture_barrier_functions(functions); st_init_flush_functions(functions); st_init_string_functions(functions); st_init_viewport_functions(functions); st_init_xformfb_functions(functions); + st_init_syncobj_functions(functions); functions->UpdateState = st_invalidate_state; } diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index d6e67b7fb85..40afa436292 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -429,7 +429,7 @@ setup_non_interleaved_attribs(struct gl_context *ctx, vbuffer[attr].buffer_offset = 0; /* Track user vertex buffers. */ - pipe_resource_reference(&st->user_vb[attr], vbuffer->buffer); + pipe_resource_reference(&st->user_vb[attr], vbuffer[attr].buffer); st->user_vb_stride[attr] = stride; st->num_user_vbs = MAX2(st->num_user_vbs, attr+1); } @@ -632,10 +632,8 @@ st_draw_vbo(struct gl_context *ctx, struct pipe_index_buffer ibuffer; struct pipe_draw_info info; unsigned i, num_instances = 1; - GLboolean new_array = GL_TRUE; - /* Fix this (Bug 34378): GLboolean new_array = - st->dirty.st && (st->dirty.mesa & (_NEW_ARRAY | _NEW_PROGRAM)) != 0;*/ + st->dirty.st && (st->dirty.mesa & (_NEW_ARRAY | _NEW_PROGRAM)) != 0; /* Mesa core state should have been validated already */ assert(ctx->NewState == 0x0); diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index d2098987d1d..bbcae3b02e9 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -366,36 +366,36 @@ void st_init_extensions(struct st_context *st) */ if (screen->is_format_supported(screen, PIPE_FORMAT_S8_USCALED_Z24_UNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_DEPTH_STENCIL, 0) && + PIPE_BIND_DEPTH_STENCIL) && screen->is_format_supported(screen, PIPE_FORMAT_S8_USCALED_Z24_UNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE; } else if (screen->is_format_supported(screen, PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_TEXTURE_2D, 0, - PIPE_BIND_DEPTH_STENCIL, 0) && + PIPE_BIND_DEPTH_STENCIL) && screen->is_format_supported(screen, PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE; } /* sRGB support */ if (screen->is_format_supported(screen, PIPE_FORMAT_A8B8G8R8_SRGB, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0) || + PIPE_BIND_SAMPLER_VIEW) || screen->is_format_supported(screen, PIPE_FORMAT_B8G8R8A8_SRGB, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { ctx->Extensions.EXT_texture_sRGB = GL_TRUE; ctx->Extensions.EXT_texture_sRGB_decode = GL_TRUE; if (screen->is_format_supported(screen, PIPE_FORMAT_A8B8G8R8_SRGB, PIPE_TEXTURE_2D, 0, - PIPE_BIND_RENDER_TARGET, 0) || + PIPE_BIND_RENDER_TARGET) || screen->is_format_supported(screen, PIPE_FORMAT_B8G8R8A8_SRGB, PIPE_TEXTURE_2D, 0, - PIPE_BIND_RENDER_TARGET, 0)) { + PIPE_BIND_RENDER_TARGET)) { ctx->Extensions.EXT_framebuffer_sRGB = GL_TRUE; ctx->Const.sRGBCapable = GL_TRUE; } @@ -403,14 +403,14 @@ void st_init_extensions(struct st_context *st) if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8_UNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { ctx->Extensions.ARB_texture_rg = GL_TRUE; } /* s3tc support */ if (screen->is_format_supported(screen, PIPE_FORMAT_DXT5_RGBA, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0) && + PIPE_BIND_SAMPLER_VIEW) && ctx->Mesa_DXTn) { ctx->Extensions.EXT_texture_compression_s3tc = GL_TRUE; ctx->Extensions.S3_s3tc = GL_TRUE; @@ -418,27 +418,48 @@ void st_init_extensions(struct st_context *st) if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC1_UNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0) && + PIPE_BIND_SAMPLER_VIEW) && screen->is_format_supported(screen, PIPE_FORMAT_RGTC1_SNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0) && + PIPE_BIND_SAMPLER_VIEW) && screen->is_format_supported(screen, PIPE_FORMAT_RGTC2_UNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0) && + PIPE_BIND_SAMPLER_VIEW) && screen->is_format_supported(screen, PIPE_FORMAT_RGTC2_SNORM, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0) + PIPE_BIND_SAMPLER_VIEW) ) { ctx->Extensions.ARB_texture_compression_rgtc = GL_TRUE; } + if (screen->is_format_supported(screen, PIPE_FORMAT_LATC1_UNORM, + PIPE_TEXTURE_2D, 0, + PIPE_BIND_SAMPLER_VIEW) && + screen->is_format_supported(screen, PIPE_FORMAT_LATC1_SNORM, + PIPE_TEXTURE_2D, 0, + PIPE_BIND_SAMPLER_VIEW) && + screen->is_format_supported(screen, PIPE_FORMAT_LATC2_UNORM, + PIPE_TEXTURE_2D, 0, + PIPE_BIND_SAMPLER_VIEW) && + screen->is_format_supported(screen, PIPE_FORMAT_LATC2_SNORM, + PIPE_TEXTURE_2D, 0, + PIPE_BIND_SAMPLER_VIEW)) { + ctx->Extensions.EXT_texture_compression_latc = GL_TRUE; + } + + if (screen->is_format_supported(screen, PIPE_FORMAT_LATC2_UNORM, + PIPE_TEXTURE_2D, 0, + PIPE_BIND_SAMPLER_VIEW)) { + ctx->Extensions.ATI_texture_compression_3dc = GL_TRUE; + } + /* ycbcr support */ if (screen->is_format_supported(screen, PIPE_FORMAT_UYVY, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0) || + PIPE_BIND_SAMPLER_VIEW) || screen->is_format_supported(screen, PIPE_FORMAT_YUYV, PIPE_TEXTURE_2D, 0, - PIPE_BIND_SAMPLER_VIEW, 0)) { + PIPE_BIND_SAMPLER_VIEW)) { ctx->Extensions.MESA_ycbcr_texture = GL_TRUE; } @@ -469,7 +490,7 @@ void st_init_extensions(struct st_context *st) /* GL_ARB_half_float_vertex */ if (screen->is_format_supported(screen, PIPE_FORMAT_R16G16B16A16_FLOAT, PIPE_BUFFER, 0, - PIPE_BIND_VERTEX_BUFFER, 0)) { + PIPE_BIND_VERTEX_BUFFER)) { ctx->Extensions.ARB_half_float_vertex = GL_TRUE; } @@ -491,8 +512,18 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.ARB_shader_stencil_export = GL_TRUE; } - if (screen->get_param(screen, PIPE_CAP_INSTANCED_DRAWING)) { + if (screen->get_param(screen, PIPE_CAP_TGSI_INSTANCEID)) { ctx->Extensions.ARB_draw_instanced = GL_TRUE; + } + if (screen->get_param(screen, PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR)) { ctx->Extensions.ARB_instanced_arrays = GL_TRUE; } + + if (screen->fence_finish) { + ctx->Extensions.ARB_sync = GL_TRUE; + } + + if (st->pipe->texture_barrier) { + ctx->Extensions.NV_texture_barrier = GL_TRUE; + } } diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 22a1450cfe7..3d8637ab37e 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -249,6 +249,16 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) return PIPE_FORMAT_RGTC2_UNORM; case MESA_FORMAT_SIGNED_RG_RGTC2: return PIPE_FORMAT_RGTC2_SNORM; + + case MESA_FORMAT_L_LATC1: + return PIPE_FORMAT_LATC1_UNORM; + case MESA_FORMAT_SIGNED_L_LATC1: + return PIPE_FORMAT_LATC1_SNORM; + case MESA_FORMAT_LA_LATC2: + return PIPE_FORMAT_LATC2_UNORM; + case MESA_FORMAT_SIGNED_LA_LATC2: + return PIPE_FORMAT_LATC2_SNORM; + default: assert(0); return PIPE_FORMAT_NONE; @@ -397,6 +407,15 @@ st_pipe_format_to_mesa_format(enum pipe_format format) case PIPE_FORMAT_RGTC2_SNORM: return MESA_FORMAT_SIGNED_RG_RGTC2; + case PIPE_FORMAT_LATC1_UNORM: + return MESA_FORMAT_L_LATC1; + case PIPE_FORMAT_LATC1_SNORM: + return MESA_FORMAT_SIGNED_L_LATC1; + case PIPE_FORMAT_LATC2_UNORM: + return MESA_FORMAT_LA_LATC2; + //case PIPE_FORMAT_LATC2_SNORM: + // return MESA_FORMAT_SIGNED_LA_LATC2; + default: assert(0); return MESA_FORMAT_NONE; @@ -413,13 +432,12 @@ find_supported_format(struct pipe_screen *screen, uint num_formats, enum pipe_texture_target target, unsigned sample_count, - unsigned tex_usage, - unsigned geom_flags) + unsigned tex_usage) { uint i; for (i = 0; i < num_formats; i++) { if (screen->is_format_supported(screen, formats[i], target, - sample_count, tex_usage, geom_flags)) { + sample_count, tex_usage)) { return formats[i]; } } @@ -434,8 +452,7 @@ static enum pipe_format default_rgba_format(struct pipe_screen *screen, enum pipe_texture_target target, unsigned sample_count, - unsigned tex_usage, - unsigned geom_flags) + unsigned tex_usage) { static const enum pipe_format colorFormats[] = { PIPE_FORMAT_B8G8R8A8_UNORM, @@ -444,7 +461,7 @@ default_rgba_format(struct pipe_screen *screen, PIPE_FORMAT_B5G6R5_UNORM }; return find_supported_format(screen, colorFormats, Elements(colorFormats), - target, sample_count, tex_usage, geom_flags); + target, sample_count, tex_usage); } @@ -455,8 +472,7 @@ static enum pipe_format default_rgb_format(struct pipe_screen *screen, enum pipe_texture_target target, unsigned sample_count, - unsigned tex_usage, - unsigned geom_flags) + unsigned tex_usage) { static const enum pipe_format colorFormats[] = { PIPE_FORMAT_B8G8R8X8_UNORM, @@ -468,7 +484,7 @@ default_rgb_format(struct pipe_screen *screen, PIPE_FORMAT_B5G6R5_UNORM }; return find_supported_format(screen, colorFormats, Elements(colorFormats), - target, sample_count, tex_usage, geom_flags); + target, sample_count, tex_usage); } /** @@ -478,8 +494,7 @@ static enum pipe_format default_srgba_format(struct pipe_screen *screen, enum pipe_texture_target target, unsigned sample_count, - unsigned tex_usage, - unsigned geom_flags) + unsigned tex_usage) { static const enum pipe_format colorFormats[] = { PIPE_FORMAT_B8G8R8A8_SRGB, @@ -487,7 +502,7 @@ default_srgba_format(struct pipe_screen *screen, PIPE_FORMAT_A8B8G8R8_SRGB, }; return find_supported_format(screen, colorFormats, Elements(colorFormats), - target, sample_count, tex_usage, geom_flags); + target, sample_count, tex_usage); } @@ -509,87 +524,71 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, enum pipe_texture_target target, unsigned sample_count, unsigned bindings) { - unsigned geom_flags = 0; /* we don't care about POT vs. NPOT here, yet */ switch (internalFormat) { case GL_RGB10: case GL_RGB10_A2: if (screen->is_format_supported( screen, PIPE_FORMAT_B10G10R10A2_UNORM, - target, sample_count, bindings, - geom_flags )) + target, sample_count, bindings)) return PIPE_FORMAT_B10G10R10A2_UNORM; /* Pass through. */ case 4: case GL_RGBA: case GL_RGBA8: - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_BGRA: if (screen->is_format_supported( screen, PIPE_FORMAT_B8G8R8A8_UNORM, - target, sample_count, bindings, - geom_flags )) + target, sample_count, bindings)) return PIPE_FORMAT_B8G8R8A8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case 3: case GL_RGB: case GL_RGB8: - return default_rgb_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgb_format( screen, target, sample_count, bindings); case GL_RGB12: case GL_RGB16: case GL_RGBA12: case GL_RGBA16: if (screen->is_format_supported( screen, PIPE_FORMAT_R16G16B16A16_UNORM, - target, sample_count, bindings, - geom_flags )) + target, sample_count, bindings)) return PIPE_FORMAT_R16G16B16A16_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_RGBA4: case GL_RGBA2: if (screen->is_format_supported( screen, PIPE_FORMAT_B4G4R4A4_UNORM, - target, sample_count, bindings, - geom_flags )) + target, sample_count, bindings)) return PIPE_FORMAT_B4G4R4A4_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_RGB5_A1: if (screen->is_format_supported( screen, PIPE_FORMAT_B5G5R5A1_UNORM, - target, sample_count, bindings, - geom_flags )) + target, sample_count, bindings)) return PIPE_FORMAT_B5G5R5A1_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_R3_G3_B2: if (screen->is_format_supported( screen, PIPE_FORMAT_B2G3R3_UNORM, - target, sample_count, bindings, - geom_flags )) + target, sample_count, bindings)) return PIPE_FORMAT_B2G3R3_UNORM; /* Pass through. */ case GL_RGB5: case GL_RGB4: if (screen->is_format_supported( screen, PIPE_FORMAT_B5G6R5_UNORM, - target, sample_count, bindings, - geom_flags )) + target, sample_count, bindings)) return PIPE_FORMAT_B5G6R5_UNORM; if (screen->is_format_supported( screen, PIPE_FORMAT_B5G5R5A1_UNORM, - target, sample_count, bindings, - geom_flags )) + target, sample_count, bindings)) return PIPE_FORMAT_B5G5R5A1_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_ALPHA12: case GL_ALPHA16: if (screen->is_format_supported( screen, PIPE_FORMAT_A16_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_A16_UNORM; /* Pass through. */ case GL_ALPHA: @@ -597,60 +596,54 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_ALPHA8: case GL_COMPRESSED_ALPHA: if (screen->is_format_supported( screen, PIPE_FORMAT_A8_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_A8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_LUMINANCE12: case GL_LUMINANCE16: if (screen->is_format_supported( screen, PIPE_FORMAT_L16_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_L16_UNORM; /* Pass through. */ case 1: case GL_LUMINANCE: case GL_LUMINANCE4: case GL_LUMINANCE8: - case GL_COMPRESSED_LUMINANCE: if (screen->is_format_supported( screen, PIPE_FORMAT_L8_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_L8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_LUMINANCE12_ALPHA4: case GL_LUMINANCE12_ALPHA12: case GL_LUMINANCE16_ALPHA16: if (screen->is_format_supported( screen, PIPE_FORMAT_L16A16_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_L16A16_UNORM; /* Pass through. */ case 2: case GL_LUMINANCE_ALPHA: case GL_LUMINANCE6_ALPHA2: case GL_LUMINANCE8_ALPHA8: - case GL_COMPRESSED_LUMINANCE_ALPHA: if (screen->is_format_supported( screen, PIPE_FORMAT_L8A8_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_L8A8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_LUMINANCE4_ALPHA4: if (screen->is_format_supported( screen, PIPE_FORMAT_L4A4_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_L4A4_UNORM; if (screen->is_format_supported( screen, PIPE_FORMAT_L8A8_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_L8A8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_INTENSITY12: case GL_INTENSITY16: if (screen->is_format_supported( screen, PIPE_FORMAT_I16_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_I16_UNORM; /* Pass through. */ case GL_INTENSITY: @@ -658,18 +651,17 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_INTENSITY8: case GL_COMPRESSED_INTENSITY: if (screen->is_format_supported( screen, PIPE_FORMAT_I8_UNORM, target, - sample_count, bindings, geom_flags )) + sample_count, bindings)) return PIPE_FORMAT_I8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_rgba_format( screen, target, sample_count, bindings); case GL_YCBCR_MESA: if (screen->is_format_supported(screen, PIPE_FORMAT_UYVY, target, - sample_count, bindings, geom_flags)) { + sample_count, bindings)) { return PIPE_FORMAT_UYVY; } if (screen->is_format_supported(screen, PIPE_FORMAT_YUYV, target, - sample_count, bindings, geom_flags)) { + sample_count, bindings)) { return PIPE_FORMAT_YUYV; } return PIPE_FORMAT_NONE; @@ -679,39 +671,33 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, if (bindings & ~PIPE_BIND_SAMPLER_VIEW) return PIPE_FORMAT_NONE; else if (screen->is_format_supported(screen, PIPE_FORMAT_DXT1_RGB, - target, sample_count, bindings, - geom_flags)) + target, sample_count, bindings)) return PIPE_FORMAT_DXT1_RGB; else - return default_rgb_format(screen, target, sample_count, bindings, - geom_flags); + return default_rgb_format(screen, target, sample_count, bindings); case GL_COMPRESSED_RGBA: /* can only sample from compressed formats */ if (bindings & ~PIPE_BIND_SAMPLER_VIEW) return PIPE_FORMAT_NONE; else if (screen->is_format_supported(screen, PIPE_FORMAT_DXT3_RGBA, - target, sample_count, bindings, - geom_flags)) + target, sample_count, bindings)) return PIPE_FORMAT_DXT3_RGBA; else - return default_rgba_format(screen, target, sample_count, bindings, - geom_flags); + return default_rgba_format(screen, target, sample_count, bindings); case GL_RGB_S3TC: case GL_RGB4_S3TC: case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_DXT1_RGB, - target, sample_count, bindings, - geom_flags)) + target, sample_count, bindings)) return PIPE_FORMAT_DXT1_RGB; else return PIPE_FORMAT_NONE; case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_DXT1_RGBA, - target, sample_count, bindings, - geom_flags)) + target, sample_count, bindings)) return PIPE_FORMAT_DXT1_RGBA; else return PIPE_FORMAT_NONE; @@ -720,16 +706,14 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_RGBA4_S3TC: case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_DXT3_RGBA, - target, sample_count, bindings, - geom_flags)) + target, sample_count, bindings)) return PIPE_FORMAT_DXT3_RGBA; else return PIPE_FORMAT_NONE; case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_DXT5_RGBA, - target, sample_count, bindings, - geom_flags)) + target, sample_count, bindings)) return PIPE_FORMAT_DXT5_RGBA; else return PIPE_FORMAT_NONE; @@ -743,20 +727,20 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_DEPTH_COMPONENT16: if (screen->is_format_supported(screen, PIPE_FORMAT_Z16_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_Z16_UNORM; /* fall-through */ case GL_DEPTH_COMPONENT24: if (screen->is_format_supported(screen, PIPE_FORMAT_Z24_UNORM_S8_USCALED, - target, sample_count, bindings, geom_flags)) + target, sample_count, bindings)) return PIPE_FORMAT_Z24_UNORM_S8_USCALED; if (screen->is_format_supported(screen, PIPE_FORMAT_S8_USCALED_Z24_UNORM, - target, sample_count, bindings, geom_flags)) + target, sample_count, bindings)) return PIPE_FORMAT_S8_USCALED_Z24_UNORM; /* fall-through */ case GL_DEPTH_COMPONENT32: if (screen->is_format_supported(screen, PIPE_FORMAT_Z32_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_Z32_UNORM; /* fall-through */ case GL_DEPTH_COMPONENT: @@ -768,7 +752,7 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, PIPE_FORMAT_Z16_UNORM }; return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings, geom_flags); + target, sample_count, bindings); } case GL_STENCIL_INDEX: @@ -783,7 +767,7 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, PIPE_FORMAT_S8_USCALED_Z24_UNORM }; return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings, geom_flags); + target, sample_count, bindings); } case GL_DEPTH_STENCIL_EXT: @@ -794,23 +778,21 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, PIPE_FORMAT_S8_USCALED_Z24_UNORM }; return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings, geom_flags); + target, sample_count, bindings); } case GL_SRGB_EXT: case GL_SRGB8_EXT: case GL_SRGB_ALPHA_EXT: case GL_SRGB8_ALPHA8_EXT: - return default_srgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_srgba_format( screen, target, sample_count, bindings); case GL_COMPRESSED_SRGB_EXT: case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_DXT1_SRGB, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_DXT1_SRGB; - return default_srgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_srgba_format( screen, target, sample_count, bindings); case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: return PIPE_FORMAT_DXT1_SRGBA; @@ -818,10 +800,9 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_COMPRESSED_SRGB_ALPHA_EXT: case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_DXT3_SRGBA, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_DXT3_SRGBA; - return default_srgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_srgba_format( screen, target, sample_count, bindings); case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: return PIPE_FORMAT_DXT5_SRGBA; @@ -831,76 +812,107 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_COMPRESSED_SLUMINANCE_EXT: case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_L8A8_SRGB, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_L8A8_SRGB; - return default_srgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_srgba_format( screen, target, sample_count, bindings); case GL_SLUMINANCE_EXT: case GL_SLUMINANCE8_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_L8_SRGB, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_L8_SRGB; - return default_srgba_format( screen, target, sample_count, bindings, - geom_flags ); + return default_srgba_format( screen, target, sample_count, bindings); case GL_RED: case GL_R8: if (screen->is_format_supported(screen, PIPE_FORMAT_R8_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R8_UNORM; return PIPE_FORMAT_NONE; case GL_RG: case GL_RG8: if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R8G8_UNORM; return PIPE_FORMAT_NONE; case GL_R16: if (screen->is_format_supported(screen, PIPE_FORMAT_R16_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R16_UNORM; return PIPE_FORMAT_NONE; case GL_RG16: if (screen->is_format_supported(screen, PIPE_FORMAT_R16G16_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R16G16_UNORM; return PIPE_FORMAT_NONE; case GL_COMPRESSED_RED: case GL_COMPRESSED_RED_RGTC1: if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC1_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_RGTC1_UNORM; if (screen->is_format_supported(screen, PIPE_FORMAT_R8_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R8_UNORM; return PIPE_FORMAT_NONE; case GL_COMPRESSED_SIGNED_RED_RGTC1: if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC1_SNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_RGTC1_SNORM; return PIPE_FORMAT_NONE; case GL_COMPRESSED_RG: case GL_COMPRESSED_RG_RGTC2: if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC2_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_RGTC2_UNORM; if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8_UNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R8G8_UNORM; return PIPE_FORMAT_NONE; case GL_COMPRESSED_SIGNED_RG_RGTC2: if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC2_SNORM, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_RGTC2_SNORM; return PIPE_FORMAT_NONE; + case GL_COMPRESSED_LUMINANCE: + case GL_COMPRESSED_LUMINANCE_LATC1_EXT: + if (screen->is_format_supported(screen, PIPE_FORMAT_LATC1_UNORM, target, + sample_count, bindings)) + return PIPE_FORMAT_LATC1_UNORM; + if (screen->is_format_supported(screen, PIPE_FORMAT_L8_UNORM, target, + sample_count, bindings)) + return PIPE_FORMAT_L8_UNORM; + return PIPE_FORMAT_NONE; + + case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: + if (screen->is_format_supported(screen, PIPE_FORMAT_LATC1_SNORM, target, + sample_count, bindings)) + return PIPE_FORMAT_LATC1_SNORM; + return PIPE_FORMAT_NONE; + + case GL_COMPRESSED_LUMINANCE_ALPHA: + case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: + case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: + if (screen->is_format_supported(screen, PIPE_FORMAT_LATC2_UNORM, target, + sample_count, bindings)) + return PIPE_FORMAT_LATC2_UNORM; + if (screen->is_format_supported(screen, PIPE_FORMAT_L8A8_UNORM, target, + sample_count, bindings)) + return PIPE_FORMAT_L8A8_UNORM; + return PIPE_FORMAT_NONE; + + case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: + if (screen->is_format_supported(screen, PIPE_FORMAT_LATC2_SNORM, target, + sample_count, bindings)) + return PIPE_FORMAT_LATC2_SNORM; + return PIPE_FORMAT_NONE; + /* signed/unsigned integer formats. * XXX Mesa only has formats for RGBA signed/unsigned integer formats. * If/when new formats are added this code should be updated. @@ -924,7 +936,7 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_LUMINANCE_ALPHA8I_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_SSCALED, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R8G8B8A8_SSCALED; return PIPE_FORMAT_NONE; case GL_RGBA16I_EXT: @@ -935,7 +947,7 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_LUMINANCE_ALPHA16I_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_R16G16B16A16_SSCALED, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R16G16B16A16_SSCALED; return PIPE_FORMAT_NONE; case GL_RGBA32I_EXT: @@ -947,7 +959,7 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, /* xxx */ if (screen->is_format_supported(screen, PIPE_FORMAT_R32G32B32A32_SSCALED, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R32G32B32A32_SSCALED; return PIPE_FORMAT_NONE; @@ -959,7 +971,7 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_LUMINANCE_ALPHA8UI_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_USCALED, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R8G8B8A8_USCALED; return PIPE_FORMAT_NONE; @@ -971,7 +983,7 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_LUMINANCE_ALPHA16UI_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_R16G16B16A16_USCALED, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R16G16B16A16_USCALED; return PIPE_FORMAT_NONE; @@ -983,7 +995,7 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, case GL_LUMINANCE_ALPHA32UI_EXT: if (screen->is_format_supported(screen, PIPE_FORMAT_R32G32B32A32_USCALED, target, - sample_count, bindings, geom_flags)) + sample_count, bindings)) return PIPE_FORMAT_R32G32B32A32_USCALED; return PIPE_FORMAT_NONE; diff --git a/src/mesa/state_tracker/st_gen_mipmap.c b/src/mesa/state_tracker/st_gen_mipmap.c index a12a32e1148..aea69c1b434 100644 --- a/src/mesa/state_tracker/st_gen_mipmap.c +++ b/src/mesa/state_tracker/st_gen_mipmap.c @@ -87,7 +87,7 @@ st_render_mipmap(struct st_context *st, /* XXX should probably kill this and always use util_gen_mipmap since this implements a sw fallback as well */ if (!screen->is_format_supported(screen, psv->format, psv->texture->target, - 0, PIPE_BIND_RENDER_TARGET, 0)) { + 0, PIPE_BIND_RENDER_TARGET)) { return FALSE; } @@ -204,12 +204,10 @@ fallback_generate_mipmap(struct gl_context *ctx, GLenum target, _mesa_is_format_compressed(texObj->Image[face][baseLevel]->TexFormat); if (compressed) { - if (texObj->Image[face][baseLevel]->TexFormat == MESA_FORMAT_SIGNED_RED_RGTC1 || - texObj->Image[face][baseLevel]->TexFormat == MESA_FORMAT_SIGNED_RG_RGTC2) - datatype = GL_FLOAT; - else - datatype = GL_UNSIGNED_BYTE; - + GLenum type = + _mesa_get_format_datatype(texObj->Image[face][baseLevel]->TexFormat); + + datatype = type == GL_UNSIGNED_NORMALIZED ? GL_UNSIGNED_BYTE : GL_FLOAT; comps = 4; } else { diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index 5c8853cfadb..a68544ddac7 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -502,8 +502,8 @@ st_context_flush(struct st_context_iface *stctxi, unsigned flags, struct pipe_fence_handle **fence) { struct st_context *st = (struct st_context *) stctxi; - st_flush(st, flags, fence); - if (flags & PIPE_FLUSH_RENDER_CACHE) + st_flush(st, fence); + if (flags & ST_FLUSH_FRONT) st_manager_flush_frontbuffer(st); } @@ -684,8 +684,9 @@ st_api_create_context(struct st_api *stapi, struct st_manager *smapi, if (attribs->major > 1 || attribs->minor > 0) { _mesa_compute_version(st->ctx); - if (st->ctx->VersionMajor < attribs->major || - st->ctx->VersionMajor < attribs->minor) { + /* is the actual version less than the requested version? */ + if (st->ctx->VersionMajor * 10 + st->ctx->VersionMinor < + attribs->major * 10 + attribs->minor) { st_destroy_context(st); return NULL; } diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index fc1dfb3ef9e..0b1ad63afeb 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -798,7 +798,7 @@ st_translate_geometry_program(struct st_context *st, * mapping and the semantic information for each output. */ for (attr = 0; attr < GEOM_RESULT_MAX; attr++) { - if (stgp->Base.Base.OutputsWritten & (1 << attr)) { + if (stgp->Base.Base.OutputsWritten & BITFIELD64_BIT(attr)) { GLuint slot; slot = gs_num_outputs; diff --git a/src/mesa/state_tracker/st_texture.c b/src/mesa/state_tracker/st_texture.c index 1e0a8323ab8..ffe7e256a56 100644 --- a/src/mesa/state_tracker/st_texture.c +++ b/src/mesa/state_tracker/st_texture.c @@ -78,7 +78,7 @@ st_texture_create(struct st_context *st, assert(format); assert(screen->is_format_supported(screen, format, target, 0, - PIPE_BIND_SAMPLER_VIEW, 0)); + PIPE_BIND_SAMPLER_VIEW)); memset(&pt, 0, sizeof(pt)); pt.target = target; diff --git a/src/mesa/swrast/s_aatriangle.c b/src/mesa/swrast/s_aatriangle.c index c597808e40e..2c02a01327f 100644 --- a/src/mesa/swrast/s_aatriangle.c +++ b/src/mesa/swrast/s_aatriangle.c @@ -33,6 +33,7 @@ #include "main/colormac.h" #include "main/macros.h" #include "main/imports.h" +#include "main/state.h" #include "s_aatriangle.h" #include "s_context.h" #include "s_span.h" @@ -305,7 +306,7 @@ _swrast_set_aa_triangle_function(struct gl_context *ctx) if (ctx->Texture._EnabledCoordUnits != 0 || ctx->FragmentProgram._Current || swrast->_FogEnabled - || NEED_SECONDARY_COLOR(ctx)) { + || _mesa_need_secondary_color(ctx)) { SWRAST_CONTEXT(ctx)->Triangle = general_aa_tri; } else { diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c index 3240b135774..ef38a6b22b8 100644 --- a/src/mesa/swrast/s_span.c +++ b/src/mesa/swrast/s_span.c @@ -299,7 +299,8 @@ interpolate_int_colors(struct gl_context *ctx, SWspan *span) interpolate_active_attribs(ctx, span, FRAG_BIT_COL0); break; default: - _mesa_problem(NULL, "bad datatype in interpolate_int_colors"); + _mesa_problem(ctx, "bad datatype 0x%x in interpolate_int_colors", + span->array->ChanType); } span->arrayMask |= SPAN_RGBA; } diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c index ecc09e095fd..42785400c0e 100644 --- a/src/mesa/swrast/s_texfilter.c +++ b/src/mesa/swrast/s_texfilter.c @@ -2918,51 +2918,51 @@ shadow_compare4(GLenum function, GLfloat coord, switch (function) { case GL_LEQUAL: - if (depth00 <= coord) luminance -= d; - if (depth01 <= coord) luminance -= d; - if (depth10 <= coord) luminance -= d; - if (depth11 <= coord) luminance -= d; + if (coord > depth00) luminance -= d; + if (coord > depth01) luminance -= d; + if (coord > depth10) luminance -= d; + if (coord > depth11) luminance -= d; return luminance; case GL_GEQUAL: - if (depth00 >= coord) luminance -= d; - if (depth01 >= coord) luminance -= d; - if (depth10 >= coord) luminance -= d; - if (depth11 >= coord) luminance -= d; + if (coord < depth00) luminance -= d; + if (coord < depth01) luminance -= d; + if (coord < depth10) luminance -= d; + if (coord < depth11) luminance -= d; return luminance; case GL_LESS: - if (depth00 < coord) luminance -= d; - if (depth01 < coord) luminance -= d; - if (depth10 < coord) luminance -= d; - if (depth11 < coord) luminance -= d; + if (coord >= depth00) luminance -= d; + if (coord >= depth01) luminance -= d; + if (coord >= depth10) luminance -= d; + if (coord >= depth11) luminance -= d; return luminance; case GL_GREATER: - if (depth00 > coord) luminance -= d; - if (depth01 > coord) luminance -= d; - if (depth10 > coord) luminance -= d; - if (depth11 > coord) luminance -= d; + if (coord <= depth00) luminance -= d; + if (coord <= depth01) luminance -= d; + if (coord <= depth10) luminance -= d; + if (coord <= depth11) luminance -= d; return luminance; case GL_EQUAL: - if (depth00 == coord) luminance -= d; - if (depth01 == coord) luminance -= d; - if (depth10 == coord) luminance -= d; - if (depth11 == coord) luminance -= d; + if (coord != depth00) luminance -= d; + if (coord != depth01) luminance -= d; + if (coord != depth10) luminance -= d; + if (coord != depth11) luminance -= d; return luminance; case GL_NOTEQUAL: - if (depth00 != coord) luminance -= d; - if (depth01 != coord) luminance -= d; - if (depth10 != coord) luminance -= d; - if (depth11 != coord) luminance -= d; + if (coord == depth00) luminance -= d; + if (coord == depth01) luminance -= d; + if (coord == depth10) luminance -= d; + if (coord == depth11) luminance -= d; return luminance; case GL_ALWAYS: - return 0.0; + return 1.0F; case GL_NEVER: return ambient; case GL_NONE: /* ordinary bilinear filtering */ return lerp_2d(wi, wj, depth00, depth10, depth01, depth11); default: - _mesa_problem(NULL, "Bad compare func in sample_depth_texture"); - return 0.0F; + _mesa_problem(NULL, "Bad compare func in sample_compare4"); + return ambient; } } @@ -3030,7 +3030,7 @@ sample_depth_texture( struct gl_context *ctx, if (tObj->MagFilter == GL_NEAREST) { GLuint i; for (i = 0; i < n; i++) { - GLfloat depthSample; + GLfloat depthSample, depthRef; GLint col, row, slice; nearest_texcoord(tObj, level, texcoords[i], &col, &row, &slice); @@ -3043,8 +3043,9 @@ sample_depth_texture( struct gl_context *ctx, depthSample = tObj->BorderColor.f[0]; } - result = shadow_compare(function, texcoords[i][compare_coord], - depthSample, ambient); + depthRef = CLAMP(texcoords[i][compare_coord], 0.0F, 1.0F); + + result = shadow_compare(function, depthRef, depthSample, ambient); switch (tObj->DepthMode) { case GL_LUMINANCE: @@ -3068,7 +3069,7 @@ sample_depth_texture( struct gl_context *ctx, GLuint i; ASSERT(tObj->MagFilter == GL_LINEAR); for (i = 0; i < n; i++) { - GLfloat depth00, depth01, depth10, depth11; + GLfloat depth00, depth01, depth10, depth11, depthRef; GLint i0, i1, j0, j1; GLint slice; GLfloat wi, wj; @@ -3134,7 +3135,9 @@ sample_depth_texture( struct gl_context *ctx, } } - result = shadow_compare4(function, texcoords[i][compare_coord], + depthRef = CLAMP(texcoords[i][compare_coord], 0.0F, 1.0F); + + result = shadow_compare4(function, depthRef, depth00, depth01, depth10, depth11, ambient, wi, wj); diff --git a/src/mesa/swrast/s_triangle.c b/src/mesa/swrast/s_triangle.c index 066f18203f1..d07a4ef7513 100644 --- a/src/mesa/swrast/s_triangle.c +++ b/src/mesa/swrast/s_triangle.c @@ -35,6 +35,7 @@ #include "main/imports.h" #include "main/macros.h" #include "main/mtypes.h" +#include "main/state.h" #include "program/prog_instruction.h" #include "s_aatriangle.h" @@ -1032,7 +1033,7 @@ _swrast_choose_triangle( struct gl_context *ctx ) if (ctx->Texture._EnabledCoordUnits || ctx->FragmentProgram._Current || ctx->ATIFragmentShader._Enabled || - NEED_SECONDARY_COLOR(ctx) || + _mesa_need_secondary_color(ctx) || swrast->_FogEnabled) { /* Ugh, we do a _lot_ of tests to pick the best textured tri func */ const struct gl_texture_object *texObj2D; @@ -1113,7 +1114,7 @@ _swrast_choose_triangle( struct gl_context *ctx ) } else { ASSERT(!swrast->_FogEnabled); - ASSERT(!NEED_SECONDARY_COLOR(ctx)); + ASSERT(!_mesa_need_secondary_color(ctx)); if (ctx->Light.ShadeModel==GL_SMOOTH) { /* smooth shaded, no texturing, stippled or some raster ops */ #if CHAN_BITS != 8 diff --git a/src/mesa/tnl/t_context.c b/src/mesa/tnl/t_context.c index 47aeeb88594..5f5e2663b5f 100644 --- a/src/mesa/tnl/t_context.c +++ b/src/mesa/tnl/t_context.c @@ -34,6 +34,7 @@ #include "main/light.h" #include "math/m_translate.h" #include "math/m_xform.h" +#include "main/state.h" #include "tnl.h" #include "t_context.h" @@ -127,7 +128,7 @@ _tnl_InvalidateState( struct gl_context *ctx, GLuint new_state ) RENDERINPUTS_SET( tnl->render_inputs_bitset, _TNL_ATTRIB_COLOR0 ); } - if (NEED_SECONDARY_COLOR(ctx)) + if (_mesa_need_secondary_color(ctx)) RENDERINPUTS_SET( tnl->render_inputs_bitset, _TNL_ATTRIB_COLOR1 ); for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) { diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c index 5818b134d33..98d6badc47a 100644 --- a/src/mesa/vbo/vbo_exec_array.c +++ b/src/mesa/vbo/vbo_exec_array.c @@ -461,6 +461,14 @@ recalculate_input_bindings(struct gl_context *ctx) inputs[VERT_ATTRIB_GENERIC0 + i] = &vbo->generic_currval[i]; const_inputs |= 1 << (VERT_ATTRIB_GENERIC0 + i); } + + /* There is no need to make _NEW_ARRAY dirty here for the TnL program, + * because it already takes care of invalidating the state necessary + * to revalidate vertex arrays. Not marking the state as dirty also + * improves performance (quite significantly in some apps). + */ + if (!ctx->VertexProgram._MaintainTnlProgram) + ctx->NewState |= _NEW_ARRAY; break; case VP_NV: @@ -486,6 +494,8 @@ recalculate_input_bindings(struct gl_context *ctx) inputs[i] = &vbo->generic_currval[i - VERT_ATTRIB_GENERIC0]; const_inputs |= 1 << i; } + + ctx->NewState |= _NEW_ARRAY; break; case VP_ARB: @@ -521,8 +531,9 @@ recalculate_input_bindings(struct gl_context *ctx) inputs[VERT_ATTRIB_GENERIC0 + i] = &vbo->generic_currval[i]; const_inputs |= 1 << (VERT_ATTRIB_GENERIC0 + i); } - } + + ctx->NewState |= _NEW_ARRAY; break; } |