From a48ee529a256611676884262ced218ad6c05f961 Mon Sep 17 00:00:00 2001 From: Marc Dietrich Date: Mon, 31 Aug 2009 08:56:33 -0700 Subject: mesa: fix 32bit cross compilation on a 64bit machine When cross compiling on a 64bit machine, gen_matypes.c is build for the host machine (64bit) but must generates code for the target machine (32bit). This causes wrong offsets all over the place and crashes googleearth on my machine. Solution is to add -m32 when cross compiling. Attached patch is compatible with linux-x86-32 and autoconf based builds. --- src/mesa/x86/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/x86/Makefile b/src/mesa/x86/Makefile index aa49a9134a..69122c114b 100644 --- a/src/mesa/x86/Makefile +++ b/src/mesa/x86/Makefile @@ -21,7 +21,7 @@ clean: gen_matypes: gen_matypes.c - $(HOST_CC) $(INCLUDE_DIRS) $(HOST_CFLAGS) gen_matypes.c -o gen_matypes + $(HOST_CC) $(ARCH_FLAGS) $(INCLUDE_DIRS) $(HOST_CFLAGS) gen_matypes.c -o gen_matypes # need some special rules here, unfortunately matypes.h: ../main/mtypes.h ../tnl/t_context.h gen_matypes -- cgit v1.2.3 From 2241665dc6d77a992edfc49a9d9d9ed8d1b52e60 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 11:14:16 -0600 Subject: mesa: fix saturation logic in emit_texenv() We need to clamp/saturate after each texenv stage, not just the last one. Fixes glean texEnv failure for softpipe (and probably other fragment program- based drivers). --- src/mesa/main/texenvprogram.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 3ff30058ec..050a3a99fe 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -1097,7 +1097,7 @@ static struct ureg emit_texenv(struct texenv_fragment_program *p, GLuint unit) { struct state_key *key = p->state; - GLboolean saturate = (unit < p->last_tex_stage); + GLboolean saturate; GLuint rgb_shift, alpha_shift; struct ureg out, shift; struct ureg dest; @@ -1125,6 +1125,11 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) break; } + /* If we'll do rgb/alpha shifting don't saturate in emit_combine(). + * We don't want to clamp twice. + */ + saturate = !(rgb_shift || alpha_shift); + /* If this is the very last calculation, emit direct to output reg: */ if (key->separate_specular || @@ -1173,6 +1178,7 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) /* Deal with the final shift: */ if (alpha_shift || rgb_shift) { + saturate = GL_TRUE; /* always saturate at this point */ if (rgb_shift == alpha_shift) { shift = register_scalar_const(p, (GLfloat)(1< Date: Mon, 31 Aug 2009 11:17:59 -0600 Subject: mesa: added const qualifiers, move local var --- src/mesa/main/texenvprogram.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 050a3a99fe..454d97506e 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -936,7 +936,7 @@ static struct ureg emit_combine_source( struct texenv_fragment_program *p, } } -static GLboolean args_match( struct state_key *key, GLuint unit ) +static GLboolean args_match( const struct state_key *key, GLuint unit ) { GLuint i, nr = key->unit[unit].NumArgsRGB; @@ -1096,11 +1096,10 @@ static struct ureg emit_combine( struct texenv_fragment_program *p, static struct ureg emit_texenv(struct texenv_fragment_program *p, GLuint unit) { - struct state_key *key = p->state; + const struct state_key *key = p->state; GLboolean saturate; GLuint rgb_shift, alpha_shift; - struct ureg out, shift; - struct ureg dest; + struct ureg out, dest; if (!key->unit[unit].enabled) { return get_source(p, SRC_PREVIOUS, 0); @@ -1152,7 +1151,6 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) } else if (key->unit[unit].ModeRGB == MODE_DOT3_RGBA_EXT || key->unit[unit].ModeRGB == MODE_DOT3_RGBA) { - out = emit_combine( p, dest, WRITEMASK_XYZW, saturate, unit, key->unit[unit].NumArgsRGB, @@ -1178,7 +1176,10 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) /* Deal with the final shift: */ if (alpha_shift || rgb_shift) { + struct ureg shift; + saturate = GL_TRUE; /* always saturate at this point */ + if (rgb_shift == alpha_shift) { shift = register_scalar_const(p, (GLfloat)(1<state; + const struct state_key *key = p->state; GLuint i; for (i = 0; i < key->unit[unit].NumArgsRGB; i++) { @@ -1298,7 +1299,7 @@ load_texunit_sources( struct texenv_fragment_program *p, int unit ) static GLboolean load_texunit_bumpmap( struct texenv_fragment_program *p, int unit ) { - struct state_key *key = p->state; + const struct state_key *key = p->state; GLuint bumpedUnitNr = key->unit[unit].OptRGB[1].Source - SRC_TEXTURE0; struct ureg texcDst, bumpMapRes; struct ureg constdudvcolor = register_const4f(p, 0.0, 0.0, 0.0, 1.0); -- cgit v1.2.3 From fcf0804c05faefd196ed5525c068ee4cd30c5312 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 13:28:31 -0600 Subject: swrast: can't use deferred texture/shading if using KIL instruction If the fragment program uses KIL, we have to execute it before z/stencil testing. Otherwise, deferred texture/shading lets us skip shading for pixels that fail z/stencil testing. --- src/mesa/swrast/s_context.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/mesa/swrast/s_context.c b/src/mesa/swrast/s_context.c index e7c2ace32c..abf0008565 100644 --- a/src/mesa/swrast/s_context.c +++ b/src/mesa/swrast/s_context.c @@ -220,6 +220,9 @@ _swrast_update_deferred_texture(GLcontext *ctx) /* Z comes from fragment program/shader */ swrast->_DeferredTexture = GL_FALSE; } + else if (fprog && fprog->UsesKill) { + swrast->_DeferredTexture = GL_FALSE; + } else if (ctx->Query.CurrentOcclusionObject) { /* occlusion query depends on shader discard/kill results */ swrast->_DeferredTexture = GL_FALSE; -- cgit v1.2.3 From 3f785080db33d437893564dded325452770699be Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 17:54:46 -0600 Subject: swrast: fix selection/feedback regression This fixes a conform selection/feedback regression introduced by commit 8f4d66c5f893b49eb3973aa3b31a856314c045c7 --- src/mesa/swrast/s_triangle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/swrast/s_triangle.c b/src/mesa/swrast/s_triangle.c index 1d2fed7169..1ab0e19f92 100644 --- a/src/mesa/swrast/s_triangle.c +++ b/src/mesa/swrast/s_triangle.c @@ -61,7 +61,7 @@ _swrast_culltriangle( GLcontext *ctx, GLfloat fy = v2->attrib[FRAG_ATTRIB_WPOS][1] - v0->attrib[FRAG_ATTRIB_WPOS][1]; GLfloat c = ex*fy-ey*fx; - if (c * swrast->_BackfaceSign * swrast->_BackfaceCullSign < 0.0F) + if (c * swrast->_BackfaceSign * swrast->_BackfaceCullSign <= 0.0F) return GL_FALSE; return GL_TRUE; -- cgit v1.2.3 From e3a17904ddf5af6425efaa926a17813e59e7ce83 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 1 Sep 2009 10:12:20 +1000 Subject: r200: emit max vtx info for index buffer. We need this for the CS bounds checking. --- src/mesa/drivers/dri/r200/r200_cmdbuf.c | 10 ++++++++++ src/mesa/drivers/dri/r200/r200_ioctl.h | 1 + src/mesa/drivers/dri/r200/r200_tcl.c | 1 + 3 files changed, 12 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/r200/r200_cmdbuf.c b/src/mesa/drivers/dri/r200/r200_cmdbuf.c index 7d0df5519d..1d1bea6f5f 100644 --- a/src/mesa/drivers/dri/r200/r200_cmdbuf.c +++ b/src/mesa/drivers/dri/r200/r200_cmdbuf.c @@ -225,7 +225,17 @@ GLushort *r200AllocEltsOpenEnded( r200ContextPtr rmesa, return retval; } +void r200EmitMaxVtxIndex(r200ContextPtr rmesa, int count) +{ + BATCH_LOCALS(&rmesa->radeon); + if (rmesa->radeon.radeonScreen->kernel_mm) { + BEGIN_BATCH_NO_AUTOSTATE(2); + OUT_BATCH(CP_PACKET0(R200_SE_VF_MAX_VTX_INDX, 0)); + OUT_BATCH(count); + END_BATCH(); + } +} void r200EmitVertexAOS( r200ContextPtr rmesa, GLuint vertex_size, diff --git a/src/mesa/drivers/dri/r200/r200_ioctl.h b/src/mesa/drivers/dri/r200/r200_ioctl.h index 9f06d23b38..8d51aefa04 100644 --- a/src/mesa/drivers/dri/r200/r200_ioctl.h +++ b/src/mesa/drivers/dri/r200/r200_ioctl.h @@ -44,6 +44,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "drm.h" #include "radeon_drm.h" +extern void r200EmitMaxVtxIndex(r200ContextPtr rmesa, int count); extern void r200EmitVertexAOS( r200ContextPtr rmesa, GLuint vertex_size, struct radeon_bo *bo, diff --git a/src/mesa/drivers/dri/r200/r200_tcl.c b/src/mesa/drivers/dri/r200/r200_tcl.c index 348294cefc..c702910ef2 100644 --- a/src/mesa/drivers/dri/r200/r200_tcl.c +++ b/src/mesa/drivers/dri/r200/r200_tcl.c @@ -161,6 +161,7 @@ static GLushort *r200AllocElts( r200ContextPtr rmesa, GLuint nr ) r200EmitAOS( rmesa, rmesa->radeon.tcl.aos_count, 0 ); + r200EmitMaxVtxIndex(rmesa, rmesa->radeon.tcl.aos[0].count); return r200AllocEltsOpenEnded( rmesa, rmesa->tcl.hw_primitive, nr ); } } -- cgit v1.2.3 From 31a5a9e9cc943ae38077658302e43c05b80983d7 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 1 Sep 2009 10:50:40 +1000 Subject: r300/compiler: fix warning due to no newline --- src/mesa/drivers/dri/r300/compiler/radeon_code.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_code.h b/src/mesa/drivers/dri/r300/compiler/radeon_code.h index 0806fb1b5c..3e88554ba1 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_code.h +++ b/src/mesa/drivers/dri/r300/compiler/radeon_code.h @@ -203,4 +203,5 @@ struct r300_vertex_program_code { void r300_vertex_program_dump(struct r300_vertex_program_code * vs); -#endif /* RADEON_CODE_H */ \ No newline at end of file +#endif /* RADEON_CODE_H */ + -- cgit v1.2.3 From 18656201ef62da1892d66e0899001ae82e2555c2 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 13:28:31 -0600 Subject: swrast: can't use deferred texture/shading if using KIL instruction If the fragment program uses KIL, we have to execute it before z/stencil testing. Otherwise, deferred texture/shading lets us skip shading for pixels that fail z/stencil testing. --- src/mesa/swrast/s_context.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/mesa/swrast/s_context.c b/src/mesa/swrast/s_context.c index e7c2ace32c..abf0008565 100644 --- a/src/mesa/swrast/s_context.c +++ b/src/mesa/swrast/s_context.c @@ -220,6 +220,9 @@ _swrast_update_deferred_texture(GLcontext *ctx) /* Z comes from fragment program/shader */ swrast->_DeferredTexture = GL_FALSE; } + else if (fprog && fprog->UsesKill) { + swrast->_DeferredTexture = GL_FALSE; + } else if (ctx->Query.CurrentOcclusionObject) { /* occlusion query depends on shader discard/kill results */ swrast->_DeferredTexture = GL_FALSE; -- cgit v1.2.3 From c0633ddabbcc91dcf06fd4452eb7516c624752c0 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 14:57:59 -0600 Subject: mesa: debug printf for KIL --- src/mesa/shader/prog_execute.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/mesa/shader/prog_execute.c b/src/mesa/shader/prog_execute.c index f4beb9a78b..c8a762f8ff 100644 --- a/src/mesa/shader/prog_execute.c +++ b/src/mesa/shader/prog_execute.c @@ -922,6 +922,11 @@ _mesa_execute_program(GLcontext * ctx, { GLfloat a[4]; fetch_vector4(&inst->SrcReg[0], machine, a); + if (DEBUG_PROG) { + printf("KIL if (%g %g %g %g) <= 0.0\n", + a[0], a[1], a[2], a[3]); + } + if (a[0] < 0.0F || a[1] < 0.0F || a[2] < 0.0F || a[3] < 0.0F) { return GL_FALSE; } -- cgit v1.2.3 From a1d3855fb0c3969a32825d0b899076917d5ccce6 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 17:54:46 -0600 Subject: swrast: fix selection/feedback regression This fixes a conform selection/feedback regression introduced by commit 8f4d66c5f893b49eb3973aa3b31a856314c045c7 --- src/mesa/swrast/s_triangle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/swrast/s_triangle.c b/src/mesa/swrast/s_triangle.c index 1d2fed7169..1ab0e19f92 100644 --- a/src/mesa/swrast/s_triangle.c +++ b/src/mesa/swrast/s_triangle.c @@ -61,7 +61,7 @@ _swrast_culltriangle( GLcontext *ctx, GLfloat fy = v2->attrib[FRAG_ATTRIB_WPOS][1] - v0->attrib[FRAG_ATTRIB_WPOS][1]; GLfloat c = ex*fy-ey*fx; - if (c * swrast->_BackfaceSign * swrast->_BackfaceCullSign < 0.0F) + if (c * swrast->_BackfaceSign * swrast->_BackfaceCullSign <= 0.0F) return GL_FALSE; return GL_TRUE; -- cgit v1.2.3 From 10d81f466794c61c11225c94b2125bf2dd23748e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 19:26:00 -0600 Subject: mesa: added _mesa_is_stencil_format() --- src/mesa/main/image.c | 16 ++++++++++++++++ src/mesa/main/image.h | 3 +++ 2 files changed, 19 insertions(+) (limited to 'src') diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c index d77c593ac7..006a55116b 100644 --- a/src/mesa/main/image.c +++ b/src/mesa/main/image.c @@ -688,6 +688,22 @@ _mesa_is_depth_format(GLenum format) } +/** + * Test if the given image format is a stencil format. + */ +GLboolean +_mesa_is_stencil_format(GLenum format) +{ + switch (format) { + case GL_STENCIL_INDEX: + case GL_DEPTH_STENCIL: + return GL_TRUE; + default: + return GL_FALSE; + } +} + + /** * Test if the given image format is a YCbCr format. */ diff --git a/src/mesa/main/image.h b/src/mesa/main/image.h index 20459a5f1e..a082f37457 100644 --- a/src/mesa/main/image.h +++ b/src/mesa/main/image.h @@ -63,6 +63,9 @@ _mesa_is_index_format(GLenum format); extern GLboolean _mesa_is_depth_format(GLenum format); +extern GLboolean +_mesa_is_stencil_format(GLenum format); + extern GLboolean _mesa_is_ycbcr_format(GLenum format); -- cgit v1.2.3 From 9c41931c0fbfc108eeba0af18db29a24b394d091 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 19:27:42 -0600 Subject: mesa: remove accidentally commited debug/disabled code --- src/mesa/drivers/common/meta.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 02194a39b4..5aa1301ae7 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -694,7 +694,7 @@ get_temp_texture(GLcontext *ctx) /* do one-time init */ /* prefer texture rectangle */ - if (0*ctx->Extensions.NV_texture_rectangle) { + if (ctx->Extensions.NV_texture_rectangle) { tex->Target = GL_TEXTURE_RECTANGLE; tex->MaxSize = ctx->Const.MaxTextureRectSize; tex->NPOT = GL_TRUE; @@ -703,7 +703,7 @@ get_temp_texture(GLcontext *ctx) /* use 2D texture, NPOT if possible */ tex->Target = GL_TEXTURE_2D; tex->MaxSize = 1 << (ctx->Const.MaxTextureLevels - 1); - tex->NPOT = 0*ctx->Extensions.ARB_texture_non_power_of_two; + tex->NPOT = ctx->Extensions.ARB_texture_non_power_of_two; } assert(tex->MaxSize > 0); -- cgit v1.2.3 From 1fc713a1e78278e7b62bd5d8e11ac5c0093677bf Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 19:28:11 -0600 Subject: mesa: implement depth/stencil formats for meta glDrawPixels --- src/mesa/drivers/common/meta.c | 263 +++++++++++++++++++++++++++++++++++------ 1 file changed, 229 insertions(+), 34 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 5aa1301ae7..7be7d13b1b 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -54,6 +54,7 @@ #include "main/varray.h" #include "main/viewport.h" #include "shader/program.h" +#include "shader/arbprogram.h" #include "swrast/swrast.h" #include "drivers/common/meta.h" @@ -142,7 +143,7 @@ struct blit_state { GLuint ArrayObj; GLuint VBO; - GLfloat verts[4][4]; /** four verts of X,Y,S,T */ + GLfloat verts[4][4]; /**< four verts of X,Y,S,T */ }; @@ -153,7 +154,7 @@ struct clear_state { GLuint ArrayObj; GLuint VBO; - GLfloat verts[4][7]; /** four verts of X,Y,Z,R,G,B,A */ + GLfloat verts[4][7]; /**< four verts of X,Y,Z,R,G,B,A */ }; @@ -164,7 +165,7 @@ struct copypix_state { GLuint ArrayObj; GLuint VBO; - GLfloat verts[4][5]; /** four verts of X,Y,Z,S,T */ + GLfloat verts[4][5]; /**< four verts of X,Y,Z,S,T */ }; @@ -175,7 +176,10 @@ struct drawpix_state { GLuint ArrayObj; GLuint VBO; - GLfloat verts[4][5]; /** four verts of X,Y,Z,S,T */ + GLfloat verts[4][5]; /**< four verts of X,Y,Z,S,T */ + + GLuint StencilFP; /**< Fragment program for drawing stencil images */ + GLuint DepthFP; /**< Fragment program for drawing depth images */ }; @@ -239,28 +243,34 @@ _mesa_meta_free(GLcontext *ctx) { struct gl_meta_state *meta = ctx->Meta; - if (meta->TempTex.TexObj) { - _mesa_DeleteTextures(1, &meta->TempTex.TexObj); - } + if (_mesa_get_current_context()) { + /* if there's no current context, these textures, buffers, etc should + * still get freed by _mesa_free_context_data(). + */ - if (meta->Blit.VBO) { - _mesa_DeleteBuffersARB(1, & meta->Blit.VBO); - _mesa_DeleteVertexArraysAPPLE(1, &meta->Blit.ArrayObj); - } + if (meta->TempTex.TexObj) { + _mesa_DeleteTextures(1, &meta->TempTex.TexObj); + } - if (meta->Clear.VBO) { - _mesa_DeleteBuffersARB(1, & meta->Clear.VBO); - _mesa_DeleteVertexArraysAPPLE(1, &meta->Clear.ArrayObj); - } + if (meta->Blit.VBO) { + _mesa_DeleteBuffersARB(1, & meta->Blit.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->Blit.ArrayObj); + } - if (meta->CopyPix.VBO) { - _mesa_DeleteBuffersARB(1, & meta->CopyPix.VBO); - _mesa_DeleteVertexArraysAPPLE(1, &meta->CopyPix.ArrayObj); - } + if (meta->Clear.VBO) { + _mesa_DeleteBuffersARB(1, & meta->Clear.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->Clear.ArrayObj); + } + + if (meta->CopyPix.VBO) { + _mesa_DeleteBuffersARB(1, & meta->CopyPix.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->CopyPix.ArrayObj); + } - if (meta->DrawPix.VBO) { - _mesa_DeleteBuffersARB(1, & meta->DrawPix.VBO); - _mesa_DeleteVertexArraysAPPLE(1, &meta->DrawPix.ArrayObj); + if (meta->DrawPix.VBO) { + _mesa_DeleteBuffersARB(1, & meta->DrawPix.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->DrawPix.ArrayObj); + } } _mesa_free(ctx->Meta); @@ -730,7 +740,7 @@ alloc_texture(struct temp_texture *tex, { GLboolean newTex = GL_FALSE; - if (width > tex->Width || + if (1|| width > tex->Width || height > tex->Height || intFormat != tex->IntFormat) { /* alloc new texture (larger or different format) */ @@ -984,9 +994,14 @@ void _mesa_meta_clear(GLcontext *ctx, GLbitfield buffers) { struct clear_state *clear = &ctx->Meta->Clear; + GLbitfield metaSave = META_ALL - META_SCISSOR; /* all but scissor */ + + if (buffers & BUFFER_BITS_COLOR) { + /* if clearing color buffers, don't save/restore colormask */ + metaSave -= META_COLOR_MASK; + } - /* only scissor and color mask effects clearing */ - _mesa_meta_begin(ctx, ~(META_SCISSOR | META_COLOR_MASK)); + _mesa_meta_begin(ctx, metaSave); if (clear->ArrayObj == 0) { /* one-time setup */ @@ -1018,6 +1033,7 @@ _mesa_meta_clear(GLcontext *ctx, GLbitfield buffers) /* leave colormask, glDrawBuffer state as-is */ } else { + ASSERT(metaSave & META_COLOR_MASK); _mesa_ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); } @@ -1234,6 +1250,104 @@ tiled_draw_pixels(GLcontext *ctx, } +/** + * One-time init for drawing stencil pixels. + */ +static void +init_draw_stencil_pixels(GLcontext *ctx) +{ + /* This program is run eight times, once for each stencil bit. + * The stencil values to draw are found in an 8-bit alpha texture. + * We read the texture/stencil value and test if bit 'b' is set. + * If the bit is not set, use KIL to kill the fragment. + * Finally, we use the stencil test to update the stencil buffer. + * + * The basic algorithm for checking if a bit is set is: + * if (is_odd(value / (1 << bit))) + * result is one (or non-zero). + * else + * result is zero. + * The program parameter contains three values: + * parm.x = 255 / (1 << bit) + * parm.y = 0.5 + * parm.z = 0.0 + */ + static const char *program = + "!!ARBfp1.0\n" + "PARAM parm = program.local[0]; \n" + "TEMP t; \n" + "TEX t, fragment.texcoord[0], texture[0], %s; \n" /* NOTE %s here! */ + "# t = t * 255 / bit \n" + "MUL t.x, t.a, parm.x; \n" + "# t = (int) t \n" + "FRC t.y, t.x; \n" + "SUB t.x, t.x, t.y; \n" + "# t = t * 0.5 \n" + "MUL t.x, t.x, parm.y; \n" + "# t = fract(t.x) \n" + "FRC t.x, t.x; # if t.x != 0, then the bit is set \n" + "# t.x = (t.x == 0 ? 1 : 0) \n" + "SGE t.x, -t.x, parm.z; \n" + "KIL -t.x; \n" + "# for debug only \n" + "#MOV result.color, t.x; \n" + "END \n"; + char program2[1000]; + struct drawpix_state *drawpix = &ctx->Meta->DrawPix; + struct temp_texture *tex = get_temp_texture(ctx); + const char *texTarget; + + assert(drawpix->StencilFP == 0); + + /* replace %s with "RECT" or "2D" */ + assert(strlen(program) + 4 < sizeof(program2)); + if (tex->Target == GL_TEXTURE_RECTANGLE) + texTarget = "RECT"; + else + texTarget = "2D"; + _mesa_snprintf(program2, sizeof(program2), program, texTarget); + + _mesa_GenPrograms(1, &drawpix->StencilFP); + _mesa_BindProgram(GL_FRAGMENT_PROGRAM_ARB, drawpix->StencilFP); + _mesa_ProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, + strlen(program2), (const GLubyte *) program2); +} + + +/** + * One-time init for drawing depth pixels. + */ +static void +init_draw_depth_pixels(GLcontext *ctx) +{ + static const char *program = + "!!ARBfp1.0\n" + "PARAM color = program.local[0]; \n" + "TEX result.depth, fragment.texcoord[0], texture[0], %s; \n" + "MOV result.color, color; \n" + "END \n"; + char program2[200]; + struct drawpix_state *drawpix = &ctx->Meta->DrawPix; + struct temp_texture *tex = get_temp_texture(ctx); + const char *texTarget; + + assert(drawpix->DepthFP == 0); + + /* replace %s with "RECT" or "2D" */ + assert(strlen(program) + 4 < sizeof(program2)); + if (tex->Target == GL_TEXTURE_RECTANGLE) + texTarget = "RECT"; + else + texTarget = "2D"; + _mesa_snprintf(program2, sizeof(program2), program, texTarget); + + _mesa_GenPrograms(1, &drawpix->DepthFP); + _mesa_BindProgram(GL_FRAGMENT_PROGRAM_ARB, drawpix->DepthFP); + _mesa_ProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, + strlen(program2), (const GLubyte *) program2); +} + + /** * Meta implementation of ctx->Driver.DrawPixels() in terms * of texture mapping and polygon rendering. @@ -1250,6 +1364,7 @@ _mesa_meta_draw_pixels(GLcontext *ctx, const struct gl_pixelstore_attrib unpackSave = ctx->Unpack; GLenum texIntFormat; GLboolean fallback, newTex; + GLbitfield metaExtraSave = 0x0; /* * Determine if we can do the glDrawPixels with texture mapping. @@ -1261,7 +1376,38 @@ _mesa_meta_draw_pixels(GLcontext *ctx, } if (_mesa_is_color_format(format)) { - texIntFormat = GL_RGBA; + /* use more compact format when possible */ + if (format == GL_LUMINANCE || format == GL_LUMINANCE_ALPHA) + texIntFormat = format; + else + texIntFormat = GL_RGBA; + } + else if (_mesa_is_stencil_format(format)) { + if (ctx->Extensions.ARB_fragment_program && + type == GL_UNSIGNED_BYTE) { + /* We'll store stencil as alpha. This only works for GLubyte + * image data because of how incoming values are mapped to alpha + * in [0,1]. + */ + texIntFormat = GL_ALPHA; + metaExtraSave = (META_COLOR_MASK | + META_DEPTH_TEST | + META_SHADER | + META_STENCIL_TEST); + } + else { + fallback = GL_TRUE; + } + } + else if (_mesa_is_depth_format(format)) { + if (ctx->Extensions.ARB_depth_texture && + ctx->Extensions.ARB_fragment_program) { + texIntFormat = GL_DEPTH_COMPONENT; + metaExtraSave = (META_SHADER); + } + else { + fallback = GL_TRUE; + } } else { fallback = GL_TRUE; @@ -1290,7 +1436,8 @@ _mesa_meta_draw_pixels(GLcontext *ctx, META_TEXTURE | META_TRANSFORM | META_VERTEX | - META_VIEWPORT)); + META_VIEWPORT | + metaExtraSave)); if (drawpix->ArrayObj == 0) { /* one-time setup */ @@ -1357,18 +1504,66 @@ _mesa_meta_draw_pixels(GLcontext *ctx, /* set given unpack params */ ctx->Unpack = *unpack; - setup_drawpix_texture(tex, newTex, texIntFormat, width, height, - format, type, pixels); + _mesa_Enable(tex->Target); - /* restore unpack params */ - ctx->Unpack = unpackSave; + if (_mesa_is_stencil_format(format)) { + /* Drawing stencil */ + GLint bit; - _mesa_Enable(tex->Target); + if (!drawpix->StencilFP) + init_draw_stencil_pixels(ctx); - /* draw textured quad */ - _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + setup_drawpix_texture(tex, newTex, texIntFormat, width, height, + GL_ALPHA, type, pixels); + + _mesa_ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); + + _mesa_set_enable(ctx, GL_STENCIL_TEST, GL_TRUE); + _mesa_StencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); + + _mesa_BindProgram(GL_FRAGMENT_PROGRAM_ARB, drawpix->StencilFP); + _mesa_set_enable(ctx, GL_FRAGMENT_PROGRAM_ARB, GL_TRUE); + + for (bit = 0; bit < ctx->Visual.stencilBits; bit++) { + const GLuint mask = 1 << bit; + + _mesa_StencilFunc(GL_ALWAYS, mask, mask); + _mesa_StencilMask(mask); + + _mesa_ProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 0, + 255.0 / mask, 0.5, 0.0, 0.0); + + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + } + } + else if (_mesa_is_depth_format(format)) { + /* Drawing depth */ + if (!drawpix->DepthFP) + init_draw_depth_pixels(ctx); + + _mesa_BindProgram(GL_FRAGMENT_PROGRAM_ARB, drawpix->DepthFP); + _mesa_set_enable(ctx, GL_FRAGMENT_PROGRAM_ARB, GL_TRUE); + + /* polygon color = current raster color */ + _mesa_ProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 0, + ctx->Current.RasterColor); + + setup_drawpix_texture(tex, newTex, texIntFormat, width, height, + format, type, pixels); + + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + } + else { + /* Drawing RGBA */ + setup_drawpix_texture(tex, newTex, texIntFormat, width, height, + format, type, pixels); + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + } _mesa_Disable(tex->Target); + /* restore unpack params */ + ctx->Unpack = unpackSave; + _mesa_meta_end(ctx); } -- cgit v1.2.3 From 8126dfa9c24c972794193bf652d6d09a1d01b376 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 19:29:24 -0600 Subject: xlib: option to enable/test meta functions (disabled) --- src/mesa/drivers/x11/xm_api.c | 7 +++++++ src/mesa/drivers/x11/xm_dd.c | 15 +++++++++++---- src/mesa/drivers/x11/xmesaP.h | 4 ++++ 3 files changed, 22 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c index 6ae5b6fd58..1eb31b9d4c 100644 --- a/src/mesa/drivers/x11/xm_api.c +++ b/src/mesa/drivers/x11/xm_api.c @@ -79,6 +79,7 @@ #include "tnl/t_context.h" #include "tnl/t_pipeline.h" #include "drivers/common/driverfuncs.h" +#include "drivers/common/meta.h" /** * Global X driver lock @@ -1641,6 +1642,9 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list ) xmesa_register_swrast_functions( mesaCtx ); _swsetup_Wakeup(mesaCtx); + if (TEST_META_FUNCS) + _mesa_meta_init(mesaCtx); + return c; } @@ -1655,6 +1659,9 @@ void XMesaDestroyContext( XMesaContext c ) FXdestroyContext( XMESA_BUFFER(mesaCtx->DrawBuffer) ); #endif + if (TEST_META_FUNCS) + _mesa_meta_free( mesaCtx ); + _swsetup_DestroyContext( mesaCtx ); _swrast_DestroyContext( mesaCtx ); _tnl_DestroyContext( mesaCtx ); diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c index 9a01465bdf..7ee88e8058 100644 --- a/src/mesa/drivers/x11/xm_dd.c +++ b/src/mesa/drivers/x11/xm_dd.c @@ -51,6 +51,7 @@ #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" #include "tnl/t_context.h" +#include "drivers/common/meta.h" #include "xmesaP.h" @@ -1147,13 +1148,19 @@ xmesa_init_driver_functions( XMesaVisual xmvisual, driver->IndexMask = index_mask; driver->ColorMask = color_mask; driver->Enable = enable; - driver->Clear = clear_buffers; + if (TEST_META_FUNCS) + driver->Clear = _mesa_meta_clear; + else + driver->Clear = clear_buffers; driver->Viewport = xmesa_viewport; #ifndef XFree86Server driver->CopyPixels = xmesa_CopyPixels; - if (xmvisual->undithered_pf == PF_8R8G8B && - xmvisual->dithered_pf == PF_8R8G8B && - xmvisual->BitsPerPixel == 32) { + if (TEST_META_FUNCS) { + driver->DrawPixels = _mesa_meta_draw_pixels; + } + else if (xmvisual->undithered_pf == PF_8R8G8B && + xmvisual->dithered_pf == PF_8R8G8B && + xmvisual->BitsPerPixel == 32) { driver->DrawPixels = xmesa_DrawPixels_8R8G8B; } else if (xmvisual->undithered_pf == PF_5R6G5B) { diff --git a/src/mesa/drivers/x11/xmesaP.h b/src/mesa/drivers/x11/xmesaP.h index 65e747d7b9..25db55862e 100644 --- a/src/mesa/drivers/x11/xmesaP.h +++ b/src/mesa/drivers/x11/xmesaP.h @@ -581,4 +581,8 @@ extern void xmesa_register_swrast_functions( GLcontext *ctx ); #define ENABLE_EXT_timer_query 0 /* may not have 64-bit GLuint64EXT */ #endif + +#define TEST_META_FUNCS 0 + + #endif -- cgit v1.2.3 From 97aa3d553f73d955a5c3eced33384348158307a7 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 1 Sep 2009 12:15:32 +1000 Subject: r200: emit cube for kms correctly + fix tex emit reset CS checker found some issues. --- src/mesa/drivers/dri/r200/r200_state_init.c | 4 ++-- src/mesa/drivers/dri/r200/r200_texstate.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r200/r200_state_init.c b/src/mesa/drivers/dri/r200/r200_state_init.c index 4c484d067e..3e0cebaa07 100644 --- a/src/mesa/drivers/dri/r200/r200_state_init.c +++ b/src/mesa/drivers/dri/r200/r200_state_init.c @@ -271,7 +271,7 @@ CHECK( pix_zero, !ctx->ATIFragmentShader._Enabled, 0 ) CHECK( afs_pass1, (ctx->ATIFragmentShader._Enabled && (ctx->ATIFragmentShader.Current->NumPasses > 1)), 0 ) CHECK( afs, ctx->ATIFragmentShader._Enabled, 0 ) CHECK( tex_cube, rmesa->state.texture.unit[atom->idx].unitneeded & TEXTURE_CUBE_BIT, 3 + 3*5 - CUBE_STATE_SIZE ) -CHECK( tex_cube_cs, rmesa->state.texture.unit[atom->idx].unitneeded & TEXTURE_CUBE_BIT, 2 + 2*5 - CUBE_STATE_SIZE ) +CHECK( tex_cube_cs, rmesa->state.texture.unit[atom->idx].unitneeded & TEXTURE_CUBE_BIT, 2 + 4*5 - CUBE_STATE_SIZE ) TCL_CHECK( tcl_fog, ctx->Fog.Enabled, 0 ) TCL_CHECK( tcl_fog_add4, ctx->Fog.Enabled, 4 ) TCL_CHECK( tcl, GL_TRUE, 0 ) @@ -764,7 +764,7 @@ static void cube_emit_cs(GLcontext *ctx, struct radeon_state_atom *atom) for (j = 1; j <= 5; j++) { OUT_BATCH(CP_PACKET0(R200_PP_CUBIC_OFFSET_F1_0 + (24*i) + (4 * (j-1)), 0)); OUT_BATCH_RELOC(lvl->faces[j].offset, t->mt->bo, lvl->faces[j].offset, - RADEON_GEM_DOMAIN_VRAM, 0, 0); + RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0); } } END_BATCH(); diff --git a/src/mesa/drivers/dri/r200/r200_texstate.c b/src/mesa/drivers/dri/r200/r200_texstate.c index 90da44bc01..c94834752e 100644 --- a/src/mesa/drivers/dri/r200/r200_texstate.c +++ b/src/mesa/drivers/dri/r200/r200_texstate.c @@ -1084,6 +1084,8 @@ static void disable_tex_obj_state( r200ContextPtr rmesa, R200_STATECHANGE( rmesa, vtx ); rmesa->hw.vtx.cmd[VTX_TCL_OUTPUT_VTXFMT_1] &= ~(7 << (unit * 3)); + R200_STATECHANGE( rmesa, ctx ); + rmesa->hw.ctx.cmd[CTX_PP_CNTL] &= ~(R200_TEX_0_ENABLE << unit); if (rmesa->radeon.TclFallback & (R200_TCL_FALLBACK_TEXGEN_0<radeon.glCtx, (R200_TCL_FALLBACK_TEXGEN_0< Date: Mon, 31 Aug 2009 19:49:40 -0600 Subject: mesa: make verts[] arrays local vars --- src/mesa/drivers/common/meta.c | 199 ++++++++++++++++++++--------------------- 1 file changed, 98 insertions(+), 101 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 7be7d13b1b..09c5779c2a 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -143,7 +143,6 @@ struct blit_state { GLuint ArrayObj; GLuint VBO; - GLfloat verts[4][4]; /**< four verts of X,Y,S,T */ }; @@ -154,7 +153,6 @@ struct clear_state { GLuint ArrayObj; GLuint VBO; - GLfloat verts[4][7]; /**< four verts of X,Y,Z,R,G,B,A */ }; @@ -165,7 +163,6 @@ struct copypix_state { GLuint ArrayObj; GLuint VBO; - GLfloat verts[4][5]; /**< four verts of X,Y,Z,S,T */ }; @@ -176,7 +173,6 @@ struct drawpix_state { GLuint ArrayObj; GLuint VBO; - GLfloat verts[4][5]; /**< four verts of X,Y,Z,S,T */ GLuint StencilFP; /**< Fragment program for drawing stencil images */ GLuint DepthFP; /**< Fragment program for drawing depth images */ @@ -883,6 +879,7 @@ _mesa_meta_blit_framebuffer(GLcontext *ctx, const GLint srcH = abs(srcY1 - srcY0); const GLboolean srcFlipX = srcX1 < srcX0; const GLboolean srcFlipY = srcY1 < srcY0; + GLfloat verts[4][4]; /* four verts of X,Y,S,T */ GLboolean newTex; if (srcW > maxTexSize || srcH > maxTexSize) { @@ -917,13 +914,13 @@ _mesa_meta_blit_framebuffer(GLcontext *ctx, /* create vertex array buffer */ _mesa_GenBuffersARB(1, &blit->VBO); _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, blit->VBO); - _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(blit->verts), - blit->verts, GL_STREAM_DRAW_ARB); + _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), + NULL, GL_DYNAMIC_DRAW_ARB); /* setup vertex arrays */ - _mesa_VertexPointer(2, GL_FLOAT, 4 * sizeof(GLfloat), - (void*) (0 * sizeof(GLfloat))); - _mesa_TexCoordPointer(2, GL_FLOAT, 4 * sizeof(GLfloat), + _mesa_VertexPointer(2, GL_FLOAT, sizeof(verts[0]), + (void *) (0 * sizeof(GLfloat))); + _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(verts[0]), (void *) (2 * sizeof(GLfloat))); _mesa_EnableClientState(GL_VERTEX_ARRAY); _mesa_EnableClientState(GL_TEXTURE_COORD_ARRAY); @@ -937,27 +934,26 @@ _mesa_meta_blit_framebuffer(GLcontext *ctx, /* vertex positions/texcoords (after texture allocation!) */ { - blit->verts[0][0] = (GLfloat) dstX0; - blit->verts[0][1] = (GLfloat) dstY0; - blit->verts[1][0] = (GLfloat) dstX1; - blit->verts[1][1] = (GLfloat) dstY0; - blit->verts[2][0] = (GLfloat) dstX1; - blit->verts[2][1] = (GLfloat) dstY1; - blit->verts[3][0] = (GLfloat) dstX0; - blit->verts[3][1] = (GLfloat) dstY1; - - blit->verts[0][2] = 0.0F; - blit->verts[0][3] = 0.0F; - blit->verts[1][2] = tex->Sright; - blit->verts[1][3] = 0.0F; - blit->verts[2][2] = tex->Sright; - blit->verts[2][3] = tex->Ttop; - blit->verts[3][2] = 0.0F; - blit->verts[3][3] = tex->Ttop; + verts[0][0] = (GLfloat) dstX0; + verts[0][1] = (GLfloat) dstY0; + verts[1][0] = (GLfloat) dstX1; + verts[1][1] = (GLfloat) dstY0; + verts[2][0] = (GLfloat) dstX1; + verts[2][1] = (GLfloat) dstY1; + verts[3][0] = (GLfloat) dstX0; + verts[3][1] = (GLfloat) dstY1; + + verts[0][2] = 0.0F; + verts[0][3] = 0.0F; + verts[1][2] = tex->Sright; + verts[1][3] = 0.0F; + verts[2][2] = tex->Sright; + verts[2][3] = tex->Ttop; + verts[3][2] = 0.0F; + verts[3][3] = tex->Ttop; /* upload new vertex data */ - _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, - sizeof(blit->verts), blit->verts); + _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); } _mesa_Enable(tex->Target); @@ -994,6 +990,7 @@ void _mesa_meta_clear(GLcontext *ctx, GLbitfield buffers) { struct clear_state *clear = &ctx->Meta->Clear; + GLfloat verts[4][7]; /* four verts of X,Y,Z,R,G,B,A */ GLbitfield metaSave = META_ALL - META_SCISSOR; /* all but scissor */ if (buffers & BUFFER_BITS_COLOR) { @@ -1013,12 +1010,13 @@ _mesa_meta_clear(GLcontext *ctx, GLbitfield buffers) /* create vertex array buffer */ _mesa_GenBuffersARB(1, &clear->VBO); _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, clear->VBO); - _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(clear->verts), - clear->verts, GL_STREAM_DRAW_ARB); + _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), + NULL, GL_DYNAMIC_DRAW_ARB); /* setup vertex arrays */ - _mesa_VertexPointer(3, GL_FLOAT, 7 * sizeof(GLfloat), (void *) 0); - _mesa_ColorPointer(4, GL_FLOAT, 7 * sizeof(GLfloat), + _mesa_VertexPointer(3, GL_FLOAT, sizeof(verts[0]), + (void *) (0 * sizeof(GLfloat))); + _mesa_ColorPointer(4, GL_FLOAT, sizeof(verts[0]), (void *) (3 * sizeof(GLfloat))); _mesa_EnableClientState(GL_VERTEX_ARRAY); _mesa_EnableClientState(GL_COLOR_ARRAY); @@ -1069,27 +1067,26 @@ _mesa_meta_clear(GLcontext *ctx, GLbitfield buffers) const GLfloat z = 1.0 - 2.0 * ctx->Depth.Clear; GLuint i; - clear->verts[0][0] = x0; - clear->verts[0][1] = y0; - clear->verts[0][2] = z; - clear->verts[1][0] = x1; - clear->verts[1][1] = y0; - clear->verts[1][2] = z; - clear->verts[2][0] = x1; - clear->verts[2][1] = y1; - clear->verts[2][2] = z; - clear->verts[3][0] = x0; - clear->verts[3][1] = y1; - clear->verts[3][2] = z; + verts[0][0] = x0; + verts[0][1] = y0; + verts[0][2] = z; + verts[1][0] = x1; + verts[1][1] = y0; + verts[1][2] = z; + verts[2][0] = x1; + verts[2][1] = y1; + verts[2][2] = z; + verts[3][0] = x0; + verts[3][1] = y1; + verts[3][2] = z; /* vertex colors */ for (i = 0; i < 4; i++) { - COPY_4FV(&clear->verts[i][3], ctx->Color.ClearColor); + COPY_4FV(&verts[i][3], ctx->Color.ClearColor); } /* upload new vertex data */ - _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, - sizeof(clear->verts), clear->verts); + _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); } /* draw quad */ @@ -1110,6 +1107,7 @@ _mesa_meta_copy_pixels(GLcontext *ctx, GLint srcX, GLint srcY, { struct copypix_state *copypix = &ctx->Meta->CopyPix; struct temp_texture *tex = get_temp_texture(ctx); + GLfloat verts[4][5]; /* four verts of X,Y,Z,S,T */ GLboolean newTex; GLenum intFormat = GL_RGBA; @@ -1143,13 +1141,13 @@ _mesa_meta_copy_pixels(GLcontext *ctx, GLint srcX, GLint srcY, /* create vertex array buffer */ _mesa_GenBuffersARB(1, ©pix->VBO); _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, copypix->VBO); - _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(copypix->verts), - copypix->verts, GL_STREAM_DRAW_ARB); + _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), + NULL, GL_DYNAMIC_DRAW_ARB); /* setup vertex arrays */ - _mesa_VertexPointer(3, GL_FLOAT, sizeof(copypix->verts[0]), - (void*) (0 * sizeof(GLfloat))); - _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(copypix->verts[0]), + _mesa_VertexPointer(3, GL_FLOAT, sizeof(verts[0]), + (void *) (0 * sizeof(GLfloat))); + _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(verts[0]), (void *) (3 * sizeof(GLfloat))); _mesa_EnableClientState(GL_VERTEX_ARRAY); _mesa_EnableClientState(GL_TEXTURE_COORD_ARRAY); @@ -1169,30 +1167,29 @@ _mesa_meta_copy_pixels(GLcontext *ctx, GLint srcX, GLint srcY, const GLfloat dstY1 = dstY + height * ctx->Pixel.ZoomY; const GLfloat z = ctx->Current.RasterPos[2]; - copypix->verts[0][0] = dstX0; - copypix->verts[0][1] = dstY0; - copypix->verts[0][2] = z; - copypix->verts[0][3] = 0.0F; - copypix->verts[0][4] = 0.0F; - copypix->verts[1][0] = dstX1; - copypix->verts[1][1] = dstY0; - copypix->verts[1][2] = z; - copypix->verts[1][3] = tex->Sright; - copypix->verts[1][4] = 0.0F; - copypix->verts[2][0] = dstX1; - copypix->verts[2][1] = dstY1; - copypix->verts[2][2] = z; - copypix->verts[2][3] = tex->Sright; - copypix->verts[2][4] = tex->Ttop; - copypix->verts[3][0] = dstX0; - copypix->verts[3][1] = dstY1; - copypix->verts[3][2] = z; - copypix->verts[3][3] = 0.0F; - copypix->verts[3][4] = tex->Ttop; + verts[0][0] = dstX0; + verts[0][1] = dstY0; + verts[0][2] = z; + verts[0][3] = 0.0F; + verts[0][4] = 0.0F; + verts[1][0] = dstX1; + verts[1][1] = dstY0; + verts[1][2] = z; + verts[1][3] = tex->Sright; + verts[1][4] = 0.0F; + verts[2][0] = dstX1; + verts[2][1] = dstY1; + verts[2][2] = z; + verts[2][3] = tex->Sright; + verts[2][4] = tex->Ttop; + verts[3][0] = dstX0; + verts[3][1] = dstY1; + verts[3][2] = z; + verts[3][3] = 0.0F; + verts[3][4] = tex->Ttop; /* upload new vertex data */ - _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, - sizeof(copypix->verts), copypix->verts); + _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); } /* Alloc/setup texture */ @@ -1362,6 +1359,7 @@ _mesa_meta_draw_pixels(GLcontext *ctx, struct drawpix_state *drawpix = &ctx->Meta->DrawPix; struct temp_texture *tex = get_temp_texture(ctx); const struct gl_pixelstore_attrib unpackSave = ctx->Unpack; + GLfloat verts[4][5]; /* four verts of X,Y,Z,S,T */ GLenum texIntFormat; GLboolean fallback, newTex; GLbitfield metaExtraSave = 0x0; @@ -1449,13 +1447,13 @@ _mesa_meta_draw_pixels(GLcontext *ctx, /* create vertex array buffer */ _mesa_GenBuffersARB(1, &drawpix->VBO); _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, drawpix->VBO); - _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(drawpix->verts), - drawpix->verts, GL_STREAM_DRAW_ARB); + _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), + NULL, GL_DYNAMIC_DRAW_ARB); /* setup vertex arrays */ - _mesa_VertexPointer(3, GL_FLOAT, sizeof(drawpix->verts[0]), - (void*) (0 * sizeof(GLfloat))); - _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(drawpix->verts[0]), + _mesa_VertexPointer(3, GL_FLOAT, sizeof(verts[0]), + (void *) (0 * sizeof(GLfloat))); + _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(verts[0]), (void *) (3 * sizeof(GLfloat))); _mesa_EnableClientState(GL_VERTEX_ARRAY); _mesa_EnableClientState(GL_TEXTURE_COORD_ARRAY); @@ -1475,30 +1473,29 @@ _mesa_meta_draw_pixels(GLcontext *ctx, const GLfloat y1 = y + height * ctx->Pixel.ZoomY; const GLfloat z = ctx->Current.RasterPos[2]; - drawpix->verts[0][0] = x0; - drawpix->verts[0][1] = y0; - drawpix->verts[0][2] = z; - drawpix->verts[0][3] = 0.0F; - drawpix->verts[0][4] = 0.0F; - drawpix->verts[1][0] = x1; - drawpix->verts[1][1] = y0; - drawpix->verts[1][2] = z; - drawpix->verts[1][3] = tex->Sright; - drawpix->verts[1][4] = 0.0F; - drawpix->verts[2][0] = x1; - drawpix->verts[2][1] = y1; - drawpix->verts[2][2] = z; - drawpix->verts[2][3] = tex->Sright; - drawpix->verts[2][4] = tex->Ttop; - drawpix->verts[3][0] = x0; - drawpix->verts[3][1] = y1; - drawpix->verts[3][2] = z; - drawpix->verts[3][3] = 0.0F; - drawpix->verts[3][4] = tex->Ttop; + verts[0][0] = x0; + verts[0][1] = y0; + verts[0][2] = z; + verts[0][3] = 0.0F; + verts[0][4] = 0.0F; + verts[1][0] = x1; + verts[1][1] = y0; + verts[1][2] = z; + verts[1][3] = tex->Sright; + verts[1][4] = 0.0F; + verts[2][0] = x1; + verts[2][1] = y1; + verts[2][2] = z; + verts[2][3] = tex->Sright; + verts[2][4] = tex->Ttop; + verts[3][0] = x0; + verts[3][1] = y1; + verts[3][2] = z; + verts[3][3] = 0.0F; + verts[3][4] = tex->Ttop; /* upload new vertex data */ - _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, - sizeof(drawpix->verts), drawpix->verts); + _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); } /* set given unpack params */ -- cgit v1.2.3 From 7a78e6e8af50f1254a6d9d1d8746a7b10add9668 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 20:25:10 -0600 Subject: mesa: disable another debug test --- src/mesa/drivers/common/meta.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 09c5779c2a..8ed6479e34 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -736,7 +736,7 @@ alloc_texture(struct temp_texture *tex, { GLboolean newTex = GL_FALSE; - if (1|| width > tex->Width || + if (width > tex->Width || height > tex->Height || intFormat != tex->IntFormat) { /* alloc new texture (larger or different format) */ -- cgit v1.2.3 From 056612241ae8f8bc836ab78705a154a6d6477e0f Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 21:13:41 -0600 Subject: mesa: implement GL_DEPTH_BUFFER_BIT for _mesa_meta_blit_framebuffer() --- src/mesa/drivers/common/meta.c | 120 ++++++++++++++++++++++++++++++++--------- src/mesa/drivers/common/meta.h | 1 + 2 files changed, 96 insertions(+), 25 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 8ed6479e34..ec0da71fb9 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -43,6 +43,7 @@ #include "main/macros.h" #include "main/matrix.h" #include "main/polygon.h" +#include "main/readpix.h" #include "main/scissor.h" #include "main/shaders.h" #include "main/stencil.h" @@ -83,8 +84,8 @@ struct save_state /** META_FOG */ GLboolean Fog; - /** META_PIXELSTORE */ - /* XXX / TO-DO */ + /** META_PIXEL_STORE */ + struct gl_pixelstore_attrib Pack, Unpack; /** META_RASTERIZATION */ GLenum FrontPolygonMode, BackPolygonMode; @@ -143,6 +144,7 @@ struct blit_state { GLuint ArrayObj; GLuint VBO; + GLuint DepthFP; }; @@ -244,29 +246,26 @@ _mesa_meta_free(GLcontext *ctx) * still get freed by _mesa_free_context_data(). */ - if (meta->TempTex.TexObj) { - _mesa_DeleteTextures(1, &meta->TempTex.TexObj); - } + _mesa_DeleteTextures(1, &meta->TempTex.TexObj); - if (meta->Blit.VBO) { - _mesa_DeleteBuffersARB(1, & meta->Blit.VBO); - _mesa_DeleteVertexArraysAPPLE(1, &meta->Blit.ArrayObj); - } + /* glBlitFramebuffer */ + _mesa_DeleteBuffersARB(1, & meta->Blit.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->Blit.ArrayObj); + _mesa_DeletePrograms(1, &meta->Blit.DepthFP); - if (meta->Clear.VBO) { - _mesa_DeleteBuffersARB(1, & meta->Clear.VBO); - _mesa_DeleteVertexArraysAPPLE(1, &meta->Clear.ArrayObj); - } + /* glClear */ + _mesa_DeleteBuffersARB(1, & meta->Clear.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->Clear.ArrayObj); - if (meta->CopyPix.VBO) { - _mesa_DeleteBuffersARB(1, & meta->CopyPix.VBO); - _mesa_DeleteVertexArraysAPPLE(1, &meta->CopyPix.ArrayObj); - } + /* glCopyPixels */ + _mesa_DeleteBuffersARB(1, & meta->CopyPix.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->CopyPix.ArrayObj); - if (meta->DrawPix.VBO) { - _mesa_DeleteBuffersARB(1, & meta->DrawPix.VBO); - _mesa_DeleteVertexArraysAPPLE(1, &meta->DrawPix.ArrayObj); - } + /* glDrawPixels */ + _mesa_DeleteBuffersARB(1, & meta->DrawPix.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->DrawPix.ArrayObj); + _mesa_DeletePrograms(1, &meta->DrawPix.DepthFP); + _mesa_DeletePrograms(1, &meta->DrawPix.StencilFP); } _mesa_free(ctx->Meta); @@ -324,6 +323,13 @@ _mesa_meta_begin(GLcontext *ctx, GLbitfield state) _mesa_set_enable(ctx, GL_FOG, GL_FALSE); } + if (state & META_PIXEL_STORE) { + save->Pack = ctx->Pack; + save->Unpack = ctx->Unpack; + ctx->Pack = ctx->DefaultPacking; + ctx->Unpack = ctx->DefaultPacking; + } + if (state & META_RASTERIZATION) { save->FrontPolygonMode = ctx->Polygon.FrontMode; save->BackPolygonMode = ctx->Polygon.BackMode; @@ -514,6 +520,11 @@ _mesa_meta_end(GLcontext *ctx) _mesa_set_enable(ctx, GL_FOG, save->Fog); } + if (state & META_PIXEL_STORE) { + ctx->Pack = save->Pack; + ctx->Unpack = save->Unpack; + } + if (state & META_RASTERIZATION) { _mesa_PolygonMode(GL_FRONT, save->FrontPolygonMode); _mesa_PolygonMode(GL_BACK, save->BackPolygonMode); @@ -860,6 +871,38 @@ setup_drawpix_texture(struct temp_texture *tex, +/** + * One-time init for drawing depth pixels. + */ +static void +init_blit_depth_pixels(GLcontext *ctx) +{ + static const char *program = + "!!ARBfp1.0\n" + "TEX result.depth, fragment.texcoord[0], texture[0], %s; \n" + "END \n"; + char program2[200]; + struct blit_state *blit = &ctx->Meta->Blit; + struct temp_texture *tex = get_temp_texture(ctx); + const char *texTarget; + + assert(blit->DepthFP == 0); + + /* replace %s with "RECT" or "2D" */ + assert(strlen(program) + 4 < sizeof(program2)); + if (tex->Target == GL_TEXTURE_RECTANGLE) + texTarget = "RECT"; + else + texTarget = "2D"; + _mesa_snprintf(program2, sizeof(program2), program, texTarget); + + _mesa_GenPrograms(1, &blit->DepthFP); + _mesa_BindProgram(GL_FRAGMENT_PROGRAM_ARB, blit->DepthFP); + _mesa_ProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, + strlen(program2), (const GLubyte *) program2); +} + + /** * Meta implementation of ctx->Driver.BlitFramebuffer() in terms * of texture mapping and polygon rendering. @@ -964,9 +1007,36 @@ _mesa_meta_blit_framebuffer(GLcontext *ctx, _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); mask &= ~GL_COLOR_BUFFER_BIT; } + if (mask & GL_DEPTH_BUFFER_BIT) { - /* XXX todo (need fragment shader) */ + GLuint *tmp = (GLuint *) _mesa_malloc(srcW * srcH * sizeof(GLuint)); + if (tmp) { + if (!blit->DepthFP) + init_blit_depth_pixels(ctx); + + /* maybe change tex format here */ + newTex = alloc_texture(tex, srcW, srcH, GL_DEPTH_COMPONENT); + + _mesa_ReadPixels(srcX, srcY, srcW, srcH, + GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, tmp); + + setup_drawpix_texture(tex, newTex, GL_DEPTH_COMPONENT, srcW, srcH, + GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, tmp); + + _mesa_BindProgram(GL_FRAGMENT_PROGRAM_ARB, blit->DepthFP); + _mesa_set_enable(ctx, GL_FRAGMENT_PROGRAM_ARB, GL_TRUE); + _mesa_ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); + _mesa_set_enable(ctx, GL_DEPTH_TEST, GL_TRUE); + _mesa_DepthFunc(GL_ALWAYS); + _mesa_DepthMask(GL_TRUE); + + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + mask &= ~GL_DEPTH_BUFFER_BIT; + + _mesa_free(tmp); + } } + if (mask & GL_STENCIL_BUFFER_BIT) { /* XXX can't easily do stencil */ } @@ -975,8 +1045,7 @@ _mesa_meta_blit_framebuffer(GLcontext *ctx, _mesa_meta_end(ctx); - /* XXX, TO-DO: try to handle these cases above! */ - if (mask & (GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT)) { + if (mask) { _swrast_BlitFramebuffer(ctx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } @@ -991,7 +1060,8 @@ _mesa_meta_clear(GLcontext *ctx, GLbitfield buffers) { struct clear_state *clear = &ctx->Meta->Clear; GLfloat verts[4][7]; /* four verts of X,Y,Z,R,G,B,A */ - GLbitfield metaSave = META_ALL - META_SCISSOR; /* all but scissor */ + /* save all state but scissor, pixel pack/unpack */ + GLbitfield metaSave = META_ALL - META_SCISSOR - META_PIXEL_STORE; if (buffers & BUFFER_BITS_COLOR) { /* if clearing color buffers, don't save/restore colormask */ diff --git a/src/mesa/drivers/common/meta.h b/src/mesa/drivers/common/meta.h index a9c5f98043..b03b64c48a 100644 --- a/src/mesa/drivers/common/meta.h +++ b/src/mesa/drivers/common/meta.h @@ -45,6 +45,7 @@ #define META_TEXTURE 0x400 #define META_VERTEX 0x800 #define META_VIEWPORT 0x1000 +#define META_PIXEL_STORE 0x2000 #define META_ALL ~0x0 /*@}*/ -- cgit v1.2.3 From ae5d78198f35941046b238712d70091cb94be44e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 31 Aug 2009 21:14:50 -0600 Subject: xlib: plug in more meta functions, if TEST_META_FUNCS is set --- src/mesa/drivers/x11/xm_dd.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c index 7ee88e8058..465a40ac8d 100644 --- a/src/mesa/drivers/x11/xm_dd.c +++ b/src/mesa/drivers/x11/xm_dd.c @@ -1148,23 +1148,25 @@ xmesa_init_driver_functions( XMesaVisual xmvisual, driver->IndexMask = index_mask; driver->ColorMask = color_mask; driver->Enable = enable; - if (TEST_META_FUNCS) - driver->Clear = _mesa_meta_clear; - else - driver->Clear = clear_buffers; driver->Viewport = xmesa_viewport; -#ifndef XFree86Server - driver->CopyPixels = xmesa_CopyPixels; if (TEST_META_FUNCS) { + driver->Clear = _mesa_meta_clear; + driver->CopyPixels = _mesa_meta_copy_pixels; + driver->BlitFramebuffer = _mesa_meta_blit_framebuffer; driver->DrawPixels = _mesa_meta_draw_pixels; } - else if (xmvisual->undithered_pf == PF_8R8G8B && - xmvisual->dithered_pf == PF_8R8G8B && - xmvisual->BitsPerPixel == 32) { - driver->DrawPixels = xmesa_DrawPixels_8R8G8B; - } - else if (xmvisual->undithered_pf == PF_5R6G5B) { - driver->DrawPixels = xmesa_DrawPixels_5R6G5B; + else { + driver->Clear = clear_buffers; +#ifndef XFree86Server + driver->CopyPixels = xmesa_CopyPixels; + if (xmvisual->undithered_pf == PF_8R8G8B && + xmvisual->dithered_pf == PF_8R8G8B && + xmvisual->BitsPerPixel == 32) { + driver->DrawPixels = xmesa_DrawPixels_8R8G8B; + } + else if (xmvisual->undithered_pf == PF_5R6G5B) { + driver->DrawPixels = xmesa_DrawPixels_5R6G5B; + } } #endif driver->TestProxyTexImage = test_proxy_teximage; -- cgit v1.2.3 From a2bd13fec9ac2bd77ee21cb85a636fde80ce0368 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 1 Sep 2009 15:18:17 +1000 Subject: r100: fixup cubemap domains --- src/mesa/drivers/dri/radeon/radeon_state_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_state_init.c b/src/mesa/drivers/dri/radeon/radeon_state_init.c index d014fb5c06..8236199b9b 100644 --- a/src/mesa/drivers/dri/radeon/radeon_state_init.c +++ b/src/mesa/drivers/dri/radeon/radeon_state_init.c @@ -573,7 +573,7 @@ static void cube_emit_cs(GLcontext *ctx, struct radeon_state_atom *atom) for (j = 0; j < 5; j++) { OUT_BATCH(CP_PACKET0(base_reg + (4 * j), 0)); OUT_BATCH_RELOC(lvl->faces[j].offset, t->mt->bo, lvl->faces[j].offset, - RADEON_GEM_DOMAIN_VRAM, 0, 0); + RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0); } END_BATCH(); } -- cgit v1.2.3 From 7d361537661b93a501c9533271458a41b965ea79 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 1 Sep 2009 16:04:39 +1000 Subject: radeon: fix r100/r200 polygon stipple under kms There really need to use state emits under kms, otherwise we end up with some dwords in the command buffer before we've ever emitted any useful state. Signed-off-by: Dave Airlie --- src/mesa/drivers/dri/r200/r200_context.h | 6 ++++++ src/mesa/drivers/dri/r200/r200_state.c | 17 ++++++++++++++++- src/mesa/drivers/dri/r200/r200_state_init.c | 9 +++++++++ src/mesa/drivers/dri/radeon/radeon_common.c | 25 ------------------------- src/mesa/drivers/dri/radeon/radeon_common.h | 1 - src/mesa/drivers/dri/radeon/radeon_context.h | 7 ++++++- src/mesa/drivers/dri/radeon/radeon_state.c | 16 ++++++++++++++++ src/mesa/drivers/dri/radeon/radeon_state_init.c | 10 +++++++++- 8 files changed, 62 insertions(+), 29 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r200/r200_context.h b/src/mesa/drivers/dri/r200/r200_context.h index c5dccf0a75..246f98c6dc 100644 --- a/src/mesa/drivers/dri/r200/r200_context.h +++ b/src/mesa/drivers/dri/r200/r200_context.h @@ -479,6 +479,11 @@ struct r200_texture_state { #define R200_QUERYOBJ_DATA_0 1 #define R200_QUERYOBJ_CMDSIZE 2 +#define STP_CMD_0 0 +#define STP_DATA_0 1 +#define STP_CMD_1 2 +#define STP_STATE_SIZE 35 + struct r200_hw_state { /* Hardware state, stored as cmdbuf commands: * -- Need to doublebuffer for @@ -521,6 +526,7 @@ struct r200_hw_state { struct radeon_state_atom atf; struct radeon_state_atom spr; struct radeon_state_atom ptp; + struct radeon_state_atom stp; }; struct r200_state { diff --git a/src/mesa/drivers/dri/r200/r200_state.c b/src/mesa/drivers/dri/r200/r200_state.c index fea7681c8a..76852e315c 100644 --- a/src/mesa/drivers/dri/r200/r200_state.c +++ b/src/mesa/drivers/dri/r200/r200_state.c @@ -2466,6 +2466,21 @@ static void r200WrapRunPipeline( GLcontext *ctx ) } +static void r200PolygonStipple( GLcontext *ctx, const GLubyte *mask ) +{ + r200ContextPtr r200 = R200_CONTEXT(ctx); + GLint i; + + radeon_firevertices(&r200->radeon); + + R200_STATECHANGE(r200, stp); + + /* Must flip pattern upside down. + */ + for ( i = 31 ; i >= 0; i--) { + r200->hw.stp.cmd[3 + i] = ((GLuint *) mask)[i]; + } +} /* Initialize the driver's state functions. */ void r200InitStateFuncs( struct dd_function_table *functions, GLboolean dri2 ) @@ -2503,7 +2518,7 @@ void r200InitStateFuncs( struct dd_function_table *functions, GLboolean dri2 ) functions->PolygonMode = r200PolygonMode; functions->PolygonOffset = r200PolygonOffset; if (dri2) - functions->PolygonStipple = radeonPolygonStipple; + functions->PolygonStipple = r200PolygonStipple; else functions->PolygonStipple = radeonPolygonStipplePreKMS; functions->PointParameterfv = r200PointParameter; diff --git a/src/mesa/drivers/dri/r200/r200_state_init.c b/src/mesa/drivers/dri/r200/r200_state_init.c index 3e0cebaa07..7697306d88 100644 --- a/src/mesa/drivers/dri/r200/r200_state_init.c +++ b/src/mesa/drivers/dri/r200/r200_state_init.c @@ -885,6 +885,10 @@ void r200InitState( r200ContextPtr rmesa ) } } } + /* polygon stipple is done with irq for non-kms */ + if (rmesa->radeon.radeonScreen->kernel_mm) { + ALLOC_STATE( stp, always, STP_STATE_SIZE, "STP/stp", 0 ); + } for (i = 0; i < 6; i++) if (rmesa->radeon.radeonScreen->kernel_mm) @@ -1117,6 +1121,11 @@ void r200InitState( r200ContextPtr rmesa ) rmesa->hw.sci.cmd[SCI_CMD_2] = CP_PACKET0(R200_RE_WIDTH_HEIGHT, 0); if (rmesa->radeon.radeonScreen->kernel_mm) { + + rmesa->hw.stp.cmd[STP_CMD_0] = CP_PACKET0(RADEON_RE_STIPPLE_ADDR, 0); + rmesa->hw.stp.cmd[STP_DATA_0] = 0; + rmesa->hw.stp.cmd[STP_CMD_1] = CP_PACKET0_ONE(RADEON_RE_STIPPLE_DATA, 31); + rmesa->hw.mtl[0].emit = mtl_emit; rmesa->hw.mtl[1].emit = mtl_emit; diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index aaa5165bc8..1836dbc79a 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.c +++ b/src/mesa/drivers/dri/radeon/radeon_common.c @@ -312,31 +312,6 @@ void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask ) UNLOCK_HARDWARE( radeon ); } -void radeonPolygonStipple( GLcontext *ctx, const GLubyte *mask ) -{ - radeonContextPtr radeon = RADEON_CONTEXT(ctx); - GLint i; - BATCH_LOCALS(radeon); - - radeon_firevertices(radeon); - - BEGIN_BATCH_NO_AUTOSTATE(35); - - OUT_BATCH(CP_PACKET0(RADEON_RE_STIPPLE_ADDR, 0)); - OUT_BATCH(0x00000000); - - OUT_BATCH(CP_PACKET0_ONE(RADEON_RE_STIPPLE_DATA, 31)); - - /* Must flip pattern upside down. - */ - for ( i = 31 ; i >= 0; i--) { - OUT_BATCH(((GLuint *) mask)[i]); - } - - END_BATCH(); -} - - /* ================================================================ * SwapBuffers with client-side throttling diff --git a/src/mesa/drivers/dri/radeon/radeon_common.h b/src/mesa/drivers/dri/radeon/radeon_common.h index ba983e5ab6..f3201911ac 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.h +++ b/src/mesa/drivers/dri/radeon/radeon_common.h @@ -10,7 +10,6 @@ void radeonRecalcScissorRects(radeonContextPtr radeon); void radeonSetCliprects(radeonContextPtr radeon); void radeonUpdateScissor( GLcontext *ctx ); void radeonScissor(GLcontext* ctx, GLint x, GLint y, GLsizei w, GLsizei h); -void radeonPolygonStipple( GLcontext *ctx, const GLubyte *mask ); void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask ); void radeonWaitForIdleLocked(radeonContextPtr radeon); diff --git a/src/mesa/drivers/dri/radeon/radeon_context.h b/src/mesa/drivers/dri/radeon/radeon_context.h index 572acbb006..4e2c52c835 100644 --- a/src/mesa/drivers/dri/radeon/radeon_context.h +++ b/src/mesa/drivers/dri/radeon/radeon_context.h @@ -299,6 +299,11 @@ struct radeon_texture_state { #define R100_QUERYOBJ_DATA_0 1 #define R100_QUERYOBJ_CMDSIZE 2 +#define STP_CMD_0 0 +#define STP_DATA_0 1 +#define STP_CMD_1 2 +#define STP_STATE_SIZE 35 + struct r100_hw_state { /* Hardware state, stored as cmdbuf commands: * -- Need to doublebuffer for @@ -323,7 +328,7 @@ struct r100_hw_state { struct radeon_state_atom fog; struct radeon_state_atom glt; struct radeon_state_atom txr[3]; /* for NPOT */ - + struct radeon_state_atom stp; }; diff --git a/src/mesa/drivers/dri/radeon/radeon_state.c b/src/mesa/drivers/dri/radeon/radeon_state.c index c8cc7f9bcf..4d0d35ee0c 100644 --- a/src/mesa/drivers/dri/radeon/radeon_state.c +++ b/src/mesa/drivers/dri/radeon/radeon_state.c @@ -2197,6 +2197,22 @@ static void radeonWrapRunPipeline( GLcontext *ctx ) } } +static void radeonPolygonStipple( GLcontext *ctx, const GLubyte *mask ) +{ + r100ContextPtr r100 = R100_CONTEXT(ctx); + GLint i; + + radeon_firevertices(&r100->radeon); + + RADEON_STATECHANGE(r100, stp); + + /* Must flip pattern upside down. + */ + for ( i = 31 ; i >= 0; i--) { + r100->hw.stp.cmd[3 + i] = ((GLuint *) mask)[i]; + } +} + /* Initialize the driver's state functions. * Many of the ctx->Driver functions might have been initialized to diff --git a/src/mesa/drivers/dri/radeon/radeon_state_init.c b/src/mesa/drivers/dri/radeon/radeon_state_init.c index 8236199b9b..f3ad0dd17a 100644 --- a/src/mesa/drivers/dri/radeon/radeon_state_init.c +++ b/src/mesa/drivers/dri/radeon/radeon_state_init.c @@ -781,6 +781,10 @@ void radeonInitState( r100ContextPtr rmesa ) ALLOC_STATE( ucp[5], tcl_ucp5, UCP_STATE_SIZE, "UCP/userclip-5", 1 ); } + if (rmesa->radeon.radeonScreen->kernel_mm) { + ALLOC_STATE( stp, always, STP_STATE_SIZE, "STP/stp", 0 ); + } + for (i = 0; i < 3; i++) { if (rmesa->radeon.radeonScreen->kernel_mm) rmesa->hw.tex[i].emit = tex_emit_cs; @@ -873,6 +877,10 @@ void radeonInitState( r100ContextPtr rmesa ) } if (rmesa->radeon.radeonScreen->kernel_mm) { + rmesa->hw.stp.cmd[STP_CMD_0] = CP_PACKET0(RADEON_RE_STIPPLE_ADDR, 0); + rmesa->hw.stp.cmd[STP_DATA_0] = 0; + rmesa->hw.stp.cmd[STP_CMD_1] = CP_PACKET0_ONE(RADEON_RE_STIPPLE_DATA, 31); + rmesa->hw.grd.emit = scl_emit; rmesa->hw.fog.emit = vec_emit; rmesa->hw.glt.emit = vec_emit; @@ -1143,7 +1151,7 @@ void radeonInitState( r100ContextPtr rmesa ) rmesa->hw.eye.cmd[EYE_Y] = 0; rmesa->hw.eye.cmd[EYE_Z] = IEEE_ONE; rmesa->hw.eye.cmd[EYE_RESCALE_FACTOR] = IEEE_ONE; - + if (rmesa->radeon.radeonScreen->kernel_mm) { radeon_init_query_stateobj(&rmesa->radeon, R100_QUERYOBJ_CMDSIZE); rmesa->radeon.query.queryobj.cmd[R100_QUERYOBJ_CMD_0] = CP_PACKET0(RADEON_RB3D_ZPASS_DATA, 0); -- cgit v1.2.3 From 165e87c49180380b67b096211b4c5f9670e3020a Mon Sep 17 00:00:00 2001 From: Cooper Yuan Date: Tue, 1 Sep 2009 17:59:03 +0800 Subject: r300g: Fix clear issue on r300 --- src/gallium/drivers/r300/r300_surface.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/r300/r300_surface.h b/src/gallium/drivers/r300/r300_surface.h index d01f0b143f..f9e98b2ec9 100644 --- a/src/gallium/drivers/r300/r300_surface.h +++ b/src/gallium/drivers/r300/r300_surface.h @@ -73,9 +73,9 @@ static struct r300_rs_state rs_clear_state = { }; static struct r300_rs_block r3xx_rs_block_clear_state = { - .ip[0] = R500_RS_SEL_S(R300_RS_SEL_K0) | - R500_RS_SEL_T(R300_RS_SEL_K0) | - R500_RS_SEL_R(R300_RS_SEL_K0) | + .ip[0] = R500_RS_SEL_S(R300_RS_SEL_C0) | + R500_RS_SEL_T(R300_RS_SEL_C0) | + R500_RS_SEL_R(R300_RS_SEL_C0) | R500_RS_SEL_Q(R300_RS_SEL_K1), .inst[0] = R300_RS_INST_COL_CN_WRITE, .count = R300_IT_COUNT(0) | R300_IC_COUNT(1) | R300_HIRES_EN, -- cgit v1.2.3 From 8c3f622a34fd9ecebbe3562aa803780bf1c82c9f Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 1 Sep 2009 11:56:14 +0200 Subject: trace: Don't set surface_[fill|copy] if not set on pipe --- src/gallium/drivers/trace/tr_context.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 4ab718f233..ae0af4d055 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -1277,8 +1277,10 @@ trace_context_create(struct pipe_screen *_screen, tr_ctx->base.set_sampler_textures = trace_context_set_sampler_textures; tr_ctx->base.set_vertex_buffers = trace_context_set_vertex_buffers; tr_ctx->base.set_vertex_elements = trace_context_set_vertex_elements; - tr_ctx->base.surface_copy = trace_context_surface_copy; - tr_ctx->base.surface_fill = trace_context_surface_fill; + if (pipe->surface_copy) + tr_ctx->base.surface_copy = trace_context_surface_copy; + if (pipe->surface_fill) + tr_ctx->base.surface_fill = trace_context_surface_fill; tr_ctx->base.clear = trace_context_clear; tr_ctx->base.flush = trace_context_flush; tr_ctx->base.is_texture_referenced = trace_is_texture_referenced; -- cgit v1.2.3 From 836a9f0ae6e03d2f92dc024703015c25a5b3c353 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Tue, 1 Sep 2009 12:22:52 +0100 Subject: scons: Tool for LLVM. Gracefully disable llvmpipe if LLVM not found. --- scons/llvm.py | 81 +++++++++++++++++++++++++++++++++ src/gallium/drivers/llvmpipe/SConscript | 8 ++-- src/gallium/winsys/xlib/SConscript | 12 ++--- 3 files changed, 92 insertions(+), 9 deletions(-) create mode 100644 scons/llvm.py (limited to 'src') diff --git a/scons/llvm.py b/scons/llvm.py new file mode 100644 index 0000000000..14306bc0fe --- /dev/null +++ b/scons/llvm.py @@ -0,0 +1,81 @@ +"""llvm + +Tool-specific initialization for LLVM + +""" + +# +# Copyright (c) 2009 VMware, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +import os +import os.path +import subprocess + +import SCons.Action +import SCons.Errors +import SCons.Util + + +def generate(env): + try: + llvm_dir = os.environ['LLVM'] + except KeyError: + # Do nothing -- use the system headers/libs + pass + else: + if not os.path.isdir(llvm_dir): + raise SCons.Errors.InternalError, "Specified LLVM directory not found" + + if env['debug']: + llvm_subdir = 'Debug' + else: + llvm_subdir = 'Release' + + llvm_bin_dir = os.path.join(llvm_dir, llvm_subdir, 'bin') + if not os.path.isdir(llvm_bin_dir): + raise SCons.Errors.InternalError, "LLVM build directory not found" + + env.PrependENVPath('PATH', llvm_bin_dir) + + if env.Detect('llvm-config'): + pipe = SCons.Action._subproc(env, + ['llvm-config', '--version'], + stdin = 'devnull', + stderr = 'devnull', + stdout = subprocess.PIPE) + if pipe.wait() != 0: + return + line = pipe.stdout.read().strip() + if not line: + return + env['LLVM_VERSION'] = line + + env.ParseConfig('llvm-config --cppflags') + env.ParseConfig('llvm-config --libs jit interpreter nativecodegen bitwriter') + env.ParseConfig('llvm-config --ldflags') + env['LINK'] = env['CXX'] + +def exists(env): + return True + +# vim:set ts=4 sw=4 et: diff --git a/src/gallium/drivers/llvmpipe/SConscript b/src/gallium/drivers/llvmpipe/SConscript index 6bceb84da4..5c29bdac56 100644 --- a/src/gallium/drivers/llvmpipe/SConscript +++ b/src/gallium/drivers/llvmpipe/SConscript @@ -2,8 +2,12 @@ Import('*') env = env.Clone() +env.Tool('llvm') +if 'LLVM_VERSION' not in env: + print 'warning: LLVM not found: not building llvmpipe' + Return() + env.Tool('udis86') -env.ParseConfig('llvm-config --cppflags') llvmpipe = env.ConvenienceLibrary( target = 'llvmpipe', @@ -57,8 +61,6 @@ llvmpipe = env.ConvenienceLibrary( env = env.Clone() -env['LINK'] = env['CXX'] -env.ParseConfig('llvm-config --libs jit interpreter nativecodegen bitwriter') env.Prepend(LIBS = [llvmpipe] + auxiliaries) env.Program( diff --git a/src/gallium/winsys/xlib/SConscript b/src/gallium/winsys/xlib/SConscript index 518fd2b5a8..467d595d33 100644 --- a/src/gallium/winsys/xlib/SConscript +++ b/src/gallium/winsys/xlib/SConscript @@ -30,12 +30,12 @@ if env['platform'] == 'linux' \ drivers += [softpipe] if 'llvmpipe' in env['drivers']: - env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') - env.Tool('udis86') - env.ParseConfig('llvm-config --libs jit interpreter nativecodegen') - env['LINK'] = env['CXX'] - sources += ['xlib_llvmpipe.c'] - drivers += [llvmpipe] + env.Tool('llvm') + if 'LLVM_VERSION' in env: + env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') + env.Tool('udis86') + sources += ['xlib_llvmpipe.c'] + drivers += [llvmpipe] if 'i965simple' in env['drivers']: env.Append(CPPDEFINES = 'GALLIUM_I965SIMPLE') -- cgit v1.2.3 From b3f4b56a3b7f979c631358caefed635c6ec56453 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Tue, 1 Sep 2009 17:29:24 +0100 Subject: tgsi: remove redundant CND0 opcode Can be implemented with CMP src2, src1, src0 --- src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt | 6 +----- src/gallium/auxiliary/tgsi/tgsi_exec.c | 10 ---------- src/gallium/auxiliary/tgsi/tgsi_info.c | 2 +- src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h | 1 - src/gallium/auxiliary/tgsi/tgsi_sse2.c | 4 ---- src/gallium/drivers/cell/spu/spu_exec.c | 4 ---- src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c | 4 ---- src/gallium/drivers/r300/r300_tgsi_to_rc.c | 1 - src/gallium/include/pipe/p_shader_tokens.h | 2 +- 9 files changed, 3 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt b/src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt index 802ec37118..a989514b75 100644 --- a/src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt +++ b/src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt @@ -187,11 +187,7 @@ TGSI Instruction Specification 1.2.6 CND0 - Condition Zero - dst.x = (src2.x >= 0.0) ? src0.x : src1.x - dst.y = (src2.y >= 0.0) ? src0.y : src1.y - dst.z = (src2.z >= 0.0) ? src0.z : src1.z - dst.w = (src2.w >= 0.0) ? src0.w : src1.w - + Removed. Use (CMP src2, src1, src0) instead. 1.2.7 DOT2ADD - 2-component Dot Product And Add diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 711e86d6ed..d3ffd4a85f 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -2329,16 +2329,6 @@ exec_instruction( } break; - case TGSI_OPCODE_CND0: - FOR_EACH_ENABLED_CHANNEL(*inst, chan_index) { - FETCH(&r[0], 0, chan_index); - FETCH(&r[1], 1, chan_index); - FETCH(&r[2], 2, chan_index); - micro_le(&r[0], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C], &r[2], &r[0], &r[1]); - STORE(&r[0], 0, chan_index); - } - break; - case TGSI_OPCODE_DP2A: FETCH( &r[0], 0, CHAN_X ); FETCH( &r[1], 1, CHAN_X ); diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c index ccf4b205ff..e69cd05213 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.c +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c @@ -51,7 +51,7 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] = { 1, 2, 0, 0, "SUB", TGSI_OPCODE_SUB }, { 1, 3, 0, 0, "LRP", TGSI_OPCODE_LRP }, { 1, 3, 0, 0, "CND", TGSI_OPCODE_CND }, - { 1, 3, 0, 0, "CND0", TGSI_OPCODE_CND0 }, + { 0, 0, 0, 0, "", 20 }, /* removed */ { 1, 3, 0, 0, "DP2A", TGSI_OPCODE_DP2A }, { 0, 0, 0, 0, "", 22 }, /* removed */ { 0, 0, 0, 0, "", 23 }, /* removed */ diff --git a/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h b/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h index ed594a3e2c..e7bcf4bf75 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h +++ b/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h @@ -60,7 +60,6 @@ OP13(MAD) OP12(SUB) OP13(LRP) OP13(CND) -OP13(CND0) OP13(DP2A) OP11(FRC) OP13(CLAMP) diff --git a/src/gallium/auxiliary/tgsi/tgsi_sse2.c b/src/gallium/auxiliary/tgsi/tgsi_sse2.c index 46f2387c15..3cdf8b9f35 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_sse2.c +++ b/src/gallium/auxiliary/tgsi/tgsi_sse2.c @@ -2089,10 +2089,6 @@ emit_instruction( return 0; break; - case TGSI_OPCODE_CND0: - return 0; - break; - case TGSI_OPCODE_DP2A: FETCH( func, *inst, 0, 0, CHAN_X ); /* xmm0 = src[0].x */ FETCH( func, *inst, 1, 1, CHAN_X ); /* xmm1 = src[1].x */ diff --git a/src/gallium/drivers/cell/spu/spu_exec.c b/src/gallium/drivers/cell/spu/spu_exec.c index 6db9501128..0eaae2e451 100644 --- a/src/gallium/drivers/cell/spu/spu_exec.c +++ b/src/gallium/drivers/cell/spu/spu_exec.c @@ -1150,10 +1150,6 @@ exec_instruction( ASSERT (0); break; - case TGSI_OPCODE_CND0: - ASSERT (0); - break; - case TGSI_OPCODE_DP2A: ASSERT (0); break; diff --git a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c index bce26607f9..d4d18febec 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c @@ -687,10 +687,6 @@ emit_instruction( return 0; break; - case TGSI_OPCODE_CND0: - return 0; - break; - case TGSI_OPCODE_DP2A: tmp0 = emit_fetch( bld, inst, 0, CHAN_X ); /* xmm0 = src[0].x */ tmp1 = emit_fetch( bld, inst, 1, CHAN_X ); /* xmm1 = src[1].x */ diff --git a/src/gallium/drivers/r300/r300_tgsi_to_rc.c b/src/gallium/drivers/r300/r300_tgsi_to_rc.c index 3adbb715f3..d68a104106 100644 --- a/src/gallium/drivers/r300/r300_tgsi_to_rc.c +++ b/src/gallium/drivers/r300/r300_tgsi_to_rc.c @@ -53,7 +53,6 @@ static unsigned translate_opcode(unsigned opcode) case TGSI_OPCODE_SUB: return OPCODE_SUB; case TGSI_OPCODE_LRP: return OPCODE_LRP; /* case TGSI_OPCODE_CND: return OPCODE_CND; */ - /* case TGSI_OPCODE_CND0: return OPCODE_CND0; */ case TGSI_OPCODE_DP2A: return OPCODE_DP2A; /* gap */ case TGSI_OPCODE_FRC: return OPCODE_FRC; diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index f0ba4fb308..5fa6c9af30 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -184,7 +184,7 @@ union tgsi_immediate_data #define TGSI_OPCODE_SUB 17 #define TGSI_OPCODE_LRP 18 #define TGSI_OPCODE_CND 19 -#define TGSI_OPCODE_CND0 20 + /* gap */ #define TGSI_OPCODE_DP2A 21 /* gap */ #define TGSI_OPCODE_FRC 24 -- cgit v1.2.3 From 847bc5c852214a344b6b39c619d182cb1058ecbc Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 1 Sep 2009 11:10:05 -0700 Subject: ARB prog parser: Fix handling of stateOptModMatNum The optional array index should clearly be enclosed in square brackets. This helps the oglconform test vp_binding.c get a bit farther, but it still fails. --- src/mesa/shader/program_parse.tab.c | 402 ++++++++++++++++++------------------ src/mesa/shader/program_parse.y | 4 +- 2 files changed, 203 insertions(+), 203 deletions(-) (limited to 'src') diff --git a/src/mesa/shader/program_parse.tab.c b/src/mesa/shader/program_parse.tab.c index 5c604c2fd1..979e574921 100644 --- a/src/mesa/shader/program_parse.tab.c +++ b/src/mesa/shader/program_parse.tab.c @@ -587,7 +587,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 340 +#define YYLAST 342 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 115 @@ -596,7 +596,7 @@ union yyalloc /* YYNRULES -- Number of rules. */ #define YYNRULES 264 /* YYNRULES -- Number of states. */ -#define YYNSTATES 434 +#define YYNSTATES 436 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -671,14 +671,14 @@ static const yytype_uint16 yyprhs[] = 440, 442, 447, 449, 451, 453, 455, 457, 459, 462, 464, 466, 472, 474, 477, 479, 481, 487, 490, 491, 498, 502, 503, 505, 507, 509, 511, 513, 516, 518, - 520, 523, 528, 533, 534, 536, 538, 540, 542, 545, - 547, 549, 551, 553, 559, 561, 565, 571, 577, 579, - 583, 589, 591, 593, 595, 597, 599, 601, 603, 605, - 607, 611, 617, 625, 635, 638, 641, 643, 645, 646, - 647, 651, 652, 656, 660, 662, 667, 670, 673, 676, - 679, 683, 686, 690, 691, 693, 695, 696, 698, 700, - 701, 703, 705, 706, 708, 710, 711, 715, 716, 720, - 721, 725, 727, 729, 731 + 520, 523, 528, 533, 534, 538, 540, 542, 544, 547, + 549, 551, 553, 555, 561, 563, 567, 573, 579, 581, + 585, 591, 593, 595, 597, 599, 601, 603, 605, 607, + 609, 613, 619, 627, 637, 640, 643, 645, 647, 648, + 649, 653, 654, 658, 662, 664, 669, 672, 675, 678, + 681, 685, 688, 692, 693, 695, 697, 698, 700, 702, + 703, 705, 707, 708, 710, 712, 713, 717, 718, 722, + 723, 727, 729, 731, 733 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -737,27 +737,27 @@ static const yytype_int16 yyrhs[] = 204, -1, -1, 205, -1, 40, -1, 81, -1, 41, -1, 22, -1, 50, 208, -1, 62, -1, 51, -1, 80, 242, -1, 54, 108, 210, 109, -1, 47, 108, - 211, 109, -1, -1, 209, -1, 22, -1, 22, -1, - 22, -1, 29, 63, -1, 217, -1, 220, -1, 215, - -1, 218, -1, 61, 33, 108, 216, 109, -1, 221, - -1, 221, 104, 221, -1, 61, 33, 108, 221, 109, - -1, 61, 45, 108, 219, 109, -1, 222, -1, 222, - 104, 222, -1, 61, 45, 108, 222, 109, -1, 22, - -1, 22, -1, 225, -1, 227, -1, 226, -1, 227, - -1, 228, -1, 23, -1, 22, -1, 113, 228, 114, - -1, 113, 228, 107, 228, 114, -1, 113, 228, 107, - 228, 107, 228, 114, -1, 113, 228, 107, 228, 107, - 228, 107, 228, 114, -1, 229, 23, -1, 229, 22, - -1, 110, -1, 111, -1, -1, -1, 11, 231, 234, - -1, -1, 5, 233, 234, -1, 234, 107, 98, -1, - 98, -1, 9, 98, 112, 236, -1, 64, 59, -1, - 64, 36, -1, 64, 237, -1, 64, 58, -1, 64, - 73, 242, -1, 64, 29, -1, 28, 238, 239, -1, - -1, 38, -1, 26, -1, -1, 60, -1, 67, -1, - -1, 38, -1, 26, -1, -1, 60, -1, 67, -1, - -1, 108, 245, 109, -1, -1, 108, 246, 109, -1, - -1, 108, 247, 109, -1, 22, -1, 22, -1, 22, - -1, 6, 98, 112, 98, -1 + 211, 109, -1, -1, 108, 209, 109, -1, 22, -1, + 22, -1, 22, -1, 29, 63, -1, 217, -1, 220, + -1, 215, -1, 218, -1, 61, 33, 108, 216, 109, + -1, 221, -1, 221, 104, 221, -1, 61, 33, 108, + 221, 109, -1, 61, 45, 108, 219, 109, -1, 222, + -1, 222, 104, 222, -1, 61, 45, 108, 222, 109, + -1, 22, -1, 22, -1, 225, -1, 227, -1, 226, + -1, 227, -1, 228, -1, 23, -1, 22, -1, 113, + 228, 114, -1, 113, 228, 107, 228, 114, -1, 113, + 228, 107, 228, 107, 228, 114, -1, 113, 228, 107, + 228, 107, 228, 107, 228, 114, -1, 229, 23, -1, + 229, 22, -1, 110, -1, 111, -1, -1, -1, 11, + 231, 234, -1, -1, 5, 233, 234, -1, 234, 107, + 98, -1, 98, -1, 9, 98, 112, 236, -1, 64, + 59, -1, 64, 36, -1, 64, 237, -1, 64, 58, + -1, 64, 73, 242, -1, 64, 29, -1, 28, 238, + 239, -1, -1, 38, -1, 26, -1, -1, 60, -1, + 67, -1, -1, 38, -1, 26, -1, -1, 60, -1, + 67, -1, -1, 108, 245, 109, -1, -1, 108, 246, + 109, -1, -1, 108, 247, 109, -1, 22, -1, 22, + -1, 22, -1, 6, 98, 112, 98, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -934,7 +934,7 @@ static const yytype_uint8 yyr2[] = 1, 4, 1, 1, 1, 1, 1, 1, 2, 1, 1, 5, 1, 2, 1, 1, 5, 2, 0, 6, 3, 0, 1, 1, 1, 1, 1, 2, 1, 1, - 2, 4, 4, 0, 1, 1, 1, 1, 2, 1, + 2, 4, 4, 0, 3, 1, 1, 1, 2, 1, 1, 1, 1, 5, 1, 3, 5, 5, 1, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 7, 9, 2, 2, 1, 1, 0, 0, @@ -977,111 +977,111 @@ static const yytype_uint16 yydefact[] = 0, 92, 228, 220, 62, 0, 60, 61, 0, 228, 0, 110, 256, 27, 26, 72, 45, 257, 0, 0, 211, 0, 212, 0, 172, 0, 160, 0, 152, 0, - 157, 158, 141, 142, 159, 139, 140, 0, 195, 187, - 194, 0, 190, 183, 185, 184, 180, 182, 263, 0, - 156, 155, 162, 163, 0, 0, 102, 0, 99, 0, - 0, 0, 55, 70, 64, 44, 0, 0, 228, 0, - 31, 0, 228, 206, 210, 0, 0, 249, 197, 0, - 196, 0, 260, 167, 166, 164, 165, 161, 186, 0, - 97, 98, 101, 228, 221, 0, 0, 63, 228, 51, - 52, 50, 0, 0, 0, 115, 123, 126, 124, 201, - 202, 125, 262, 0, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 29, 28, 171, 146, - 148, 145, 0, 143, 144, 0, 192, 191, 176, 0, - 67, 65, 68, 66, 0, 0, 0, 127, 178, 228, - 114, 258, 149, 147, 153, 154, 228, 222, 228, 0, - 0, 0, 177, 116, 0, 0, 0, 204, 0, 208, - 0, 223, 228, 203, 0, 207, 0, 0, 49, 205, - 209, 0, 0, 179 + 157, 158, 141, 142, 159, 139, 140, 0, 0, 187, + 0, 190, 183, 185, 184, 180, 182, 263, 0, 156, + 155, 162, 163, 0, 0, 102, 0, 99, 0, 0, + 0, 55, 70, 64, 44, 0, 0, 228, 0, 31, + 0, 228, 206, 210, 0, 0, 249, 197, 0, 195, + 0, 196, 0, 260, 167, 166, 164, 165, 161, 186, + 0, 97, 98, 101, 228, 221, 0, 0, 63, 228, + 51, 52, 50, 0, 0, 0, 115, 123, 126, 124, + 201, 202, 125, 262, 0, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 29, 28, 171, + 146, 148, 145, 0, 143, 144, 0, 192, 194, 191, + 176, 0, 67, 65, 68, 66, 0, 0, 0, 127, + 178, 228, 114, 258, 149, 147, 153, 154, 228, 222, + 228, 0, 0, 0, 177, 116, 0, 0, 0, 204, + 0, 208, 0, 223, 228, 203, 0, 207, 0, 0, + 49, 205, 209, 0, 0, 179 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 3, 4, 6, 8, 9, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 268, 376, - 39, 146, 71, 58, 67, 315, 316, 351, 114, 59, - 115, 255, 256, 257, 347, 391, 393, 68, 314, 105, - 266, 196, 97, 40, 41, 116, 191, 309, 251, 307, - 157, 42, 43, 44, 131, 83, 261, 354, 132, 117, - 355, 356, 118, 171, 285, 172, 383, 403, 173, 228, - 174, 404, 175, 301, 286, 277, 176, 304, 337, 177, - 223, 178, 275, 179, 241, 180, 397, 412, 181, 296, - 297, 339, 238, 289, 290, 331, 329, 182, 119, 358, - 359, 416, 120, 360, 418, 121, 271, 273, 361, 122, + 31, 32, 33, 34, 35, 36, 37, 38, 268, 377, + 39, 146, 71, 58, 67, 314, 315, 352, 114, 59, + 115, 255, 256, 257, 348, 393, 395, 68, 313, 105, + 266, 196, 97, 40, 41, 116, 191, 308, 251, 306, + 157, 42, 43, 44, 131, 83, 261, 355, 132, 117, + 356, 357, 118, 171, 285, 172, 384, 405, 173, 228, + 174, 406, 175, 300, 286, 277, 176, 303, 338, 177, + 223, 178, 275, 179, 241, 180, 399, 414, 181, 295, + 296, 340, 238, 289, 330, 332, 328, 182, 119, 359, + 360, 418, 120, 361, 420, 121, 271, 273, 362, 122, 136, 123, 124, 138, 72, 45, 55, 46, 50, 77, - 47, 60, 91, 142, 205, 229, 215, 144, 320, 243, - 207, 363, 299, 48 + 47, 60, 91, 142, 205, 229, 215, 144, 319, 243, + 207, 364, 298, 48 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -334 +#define YYPACT_NINF -369 static const yytype_int16 yypact[] = { - 134, -334, -334, 41, -334, -334, 47, -49, -334, 169, - 20, -334, 34, 61, 75, 115, -334, -334, -19, -19, - -19, -19, -19, -19, 116, 44, -19, -334, 109, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - 110, -334, -334, -334, -334, -334, -334, -334, -334, -334, - 119, 106, 107, 111, -22, 119, 4, -334, 5, 104, - -334, 113, 114, 117, 118, 120, -334, 121, 124, -334, - -334, -334, -15, 122, -334, -334, -334, 123, 133, -14, - 158, 210, -11, -334, 123, 21, -334, -334, -334, -334, - 127, -334, 44, -334, -334, -334, -334, -334, 44, 44, - 44, 44, 44, 44, -334, -334, -334, -334, 1, 68, - 87, -1, 132, 44, 65, 135, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -15, 141, -334, -334, -334, - -334, 136, -334, -334, -334, -334, -334, -334, -334, 149, - -334, -334, 58, 219, -334, 137, 139, -15, 140, -334, - 142, -334, -334, 74, -334, -334, 127, -334, 143, 144, - 145, 179, 15, 146, 81, 147, 83, 89, 0, 148, - 127, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, 183, -334, 74, -334, 150, -334, -334, 127, 151, - 152, -334, 43, -334, -334, -334, -334, -10, 155, -334, - 138, -334, -334, -334, -334, -334, -334, 154, 44, 44, - 162, 175, 44, -334, -334, -334, -334, 243, 245, 246, - -334, -334, -334, -334, 247, -334, -334, -334, -334, 204, - 247, -4, 163, 250, -334, 165, -334, 127, 27, -334, - -334, -334, 252, 248, 18, 167, -334, 255, -334, 256, - 255, -334, 44, -334, -334, 170, -334, -334, 178, 44, - 168, -334, -334, -334, -334, -334, -334, 174, 176, 177, - -334, 180, -334, 181, -334, 182, -334, 184, -334, 185, - -334, -334, -334, -334, -334, -334, -334, 263, -334, -334, - -334, 264, -334, -334, -334, -334, -334, -334, -334, 186, - -334, -334, -334, -334, 131, 265, -334, 188, -334, 189, - 190, 46, -334, -334, 101, -334, 193, -5, -7, 266, - -334, 108, 44, -334, -334, 236, 14, 83, -334, 192, - -334, 194, -334, -334, -334, -334, -334, -334, -334, 195, - -334, -334, -334, 44, -334, 280, 283, -334, 44, -334, - -334, -334, 78, 87, 49, -334, -334, -334, -334, -334, - -334, -334, -334, 197, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, 276, -334, -334, 6, -334, -334, -334, 51, - -334, -334, -334, -334, 201, 202, 203, -334, 244, -7, - -334, -334, -334, -334, -334, -334, 44, -334, 44, 243, - 245, 205, -334, -334, 198, 207, 206, 212, 211, 217, - 265, -334, 44, -334, 243, -334, 245, -17, -334, -334, - -334, 265, 213, -334 + 143, -369, -369, 36, -369, -369, 45, -39, -369, 169, + -33, -369, -19, -6, -4, 12, -369, -369, -34, -34, + -34, -34, -34, -34, 15, 62, -34, -369, 26, -369, + -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, + 60, -369, -369, -369, -369, -369, -369, -369, -369, -369, + 20, 56, 107, 110, 37, 20, -3, -369, 111, 109, + -369, 113, 114, 116, 117, 118, -369, 119, 125, -369, + -369, -369, -15, 121, -369, -369, -369, 122, 132, -18, + 167, 210, -11, -369, 122, 63, -369, -369, -369, -369, + 130, -369, 62, -369, -369, -369, -369, -369, 62, 62, + 62, 62, 62, 62, -369, -369, -369, -369, 9, 72, + 87, -1, 131, 62, 104, 134, -369, -369, -369, -369, + -369, -369, -369, -369, -369, -15, 142, -369, -369, -369, + -369, 135, -369, -369, -369, -369, -369, -369, -369, 182, + -369, -369, 52, 219, -369, 138, 139, -15, 140, -369, + 141, -369, -369, 61, -369, -369, 130, -369, 144, 145, + 146, 180, 11, 147, 85, 148, 99, 89, -2, 149, + 130, -369, -369, -369, -369, -369, -369, -369, -369, -369, + -369, 184, -369, 61, -369, 150, -369, -369, 130, 151, + 152, -369, 27, -369, -369, -369, -369, -10, 154, -369, + 153, -369, -369, -369, -369, -369, -369, 155, 62, 62, + 161, 168, 62, -369, -369, -369, -369, 229, 244, 246, + -369, -369, -369, -369, 247, -369, -369, -369, -369, 204, + 247, 17, 163, 164, -369, 165, -369, 130, 67, -369, + -369, -369, 252, 248, 18, 170, -369, 253, -369, 255, + 253, -369, 62, -369, -369, 171, -369, -369, 177, 62, + 172, -369, -369, -369, -369, -369, -369, 173, 175, 176, + -369, 178, -369, 179, -369, 181, -369, 183, -369, 185, + -369, -369, -369, -369, -369, -369, -369, 262, 264, -369, + 267, -369, -369, -369, -369, -369, -369, -369, 186, -369, + -369, -369, -369, 136, 269, -369, 187, -369, 188, 190, + 43, -369, -369, 106, -369, 193, -5, -7, 271, -369, + 108, 62, -369, -369, 245, 4, 99, -369, 194, -369, + 195, -369, 196, -369, -369, -369, -369, -369, -369, -369, + 197, -369, -369, -369, 62, -369, 280, 285, -369, 62, + -369, -369, -369, 93, 87, 53, -369, -369, -369, -369, + -369, -369, -369, -369, 199, -369, -369, -369, -369, -369, + -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, + -369, -369, -369, 278, -369, -369, 8, -369, -369, -369, + -369, 57, -369, -369, -369, -369, 203, 205, 206, -369, + 250, -7, -369, -369, -369, -369, -369, -369, 62, -369, + 62, 229, 244, 208, -369, -369, 198, 211, 202, 213, + 214, 218, 269, -369, 62, -369, 229, -369, 244, 54, + -369, -369, -369, 269, 215, -369 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -94, -88, 126, -334, -334, -333, -334, -91, -334, - -334, -334, -334, -334, -334, -334, -334, 128, -334, -334, - -334, -334, -334, -334, -334, 249, -334, -334, -334, 73, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -72, -334, -81, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -307, 99, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -23, -334, - -334, -303, -334, -334, -334, -334, -334, -334, 251, -334, - -334, -334, -334, -334, -334, -334, -327, -316, 253, -334, - -334, -334, -80, -110, -82, -334, -334, -334, -334, 277, - -334, 254, -334, -334, -334, -161, 153, -146, -334, -334, - -334, -334, -334, -334 + -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, + -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, + -369, -94, -88, 133, -369, -369, -334, -369, -85, -369, + -369, -369, -369, -369, -369, -369, -369, 128, -369, -369, + -369, -369, -369, -369, -369, 251, -369, -369, -369, 77, + -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, + -72, -369, -81, -369, -369, -369, -369, -369, -369, -369, + -369, -369, -369, -369, -305, 101, -369, -369, -369, -369, + -369, -369, -369, -369, -369, -369, -369, -369, -22, -369, + -369, -336, -369, -369, -369, -369, -369, -369, 254, -369, + -369, -369, -369, -369, -369, -369, -342, -368, 256, -369, + -369, -369, -80, -110, -82, -369, -369, -369, -369, 279, + -369, 257, -369, -369, -369, -161, 156, -146, -369, -369, + -369, -369, -369, -369 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1092,79 +1092,79 @@ static const yytype_int16 yypgoto[] = static const yytype_int16 yytable[] = { 139, 133, 137, 192, 145, 231, 149, 106, 107, 152, - 216, 148, 254, 150, 151, 394, 147, 349, 147, 384, - 280, 147, 108, 108, 244, 239, 281, 183, 282, 153, - 280, 139, 85, 86, 198, 184, 281, 154, 280, 379, - 87, 5, 248, 221, 281, 56, 109, 140, 185, 10, - 109, 186, 302, 380, 352, 7, 210, 110, 187, 141, - 155, 110, 88, 89, 283, 353, 284, 293, 294, 240, - 222, 303, 188, 381, 156, 415, 284, 90, 405, 57, - 111, 111, 417, 112, 284, 382, 81, 431, 66, 428, - 82, 292, 388, 350, 419, 189, 190, 429, 113, 69, - 70, 158, 113, 69, 70, 225, 113, 226, 295, 226, - 430, 395, 92, 159, 160, 264, 161, 427, 203, 227, - 263, 227, 162, 396, 269, 204, 49, 147, 432, 163, - 164, 165, 51, 166, 213, 167, 232, 1, 2, 233, - 234, 214, 311, 235, 168, 61, 62, 63, 64, 65, - 252, 236, 73, 343, 69, 70, 399, 253, 406, 52, - 344, 169, 170, 400, 193, 407, 385, 194, 195, 237, - 139, 201, 202, 53, 11, 12, 13, 317, 14, 15, + 216, 148, 254, 150, 151, 396, 147, 350, 147, 108, + 385, 147, 108, 239, 244, 85, 86, 183, 280, 380, + 56, 139, 280, 87, 281, 184, 5, 153, 281, 221, + 198, 280, 248, 381, 421, 154, 109, 281, 185, 282, + 109, 186, 301, 7, 353, 88, 89, 110, 187, 10, + 432, 110, 210, 382, 57, 354, 222, 240, 155, 419, + 90, 302, 188, 49, 284, 383, 417, 111, 284, 51, + 111, 407, 156, 112, 431, 283, 429, 284, 66, 140, + 430, 291, 52, 351, 53, 189, 190, 434, 113, 69, + 70, 141, 113, 69, 70, 158, 113, 292, 293, 225, + 54, 226, 203, 66, 160, 264, 161, 159, 76, 204, + 263, 213, 162, 227, 269, 226, 397, 147, 214, 163, + 164, 165, 74, 166, 252, 167, 232, 227, 398, 233, + 234, 253, 310, 235, 168, 81, 1, 2, 294, 82, + 344, 236, 61, 62, 63, 64, 65, 345, 433, 73, + 401, 169, 170, 390, 408, 386, 75, 402, 78, 237, + 139, 409, 69, 70, 11, 12, 13, 316, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 93, 94, 95, 96, 333, 334, 335, - 336, 345, 346, 54, 66, 74, 75, 76, 78, 79, - 98, 99, 56, 80, 100, 101, 104, 102, 103, 125, - 126, 127, 130, 389, 377, 143, 139, 357, 137, 199, - -59, 206, 220, 197, 208, 200, 209, 211, 245, 212, - 260, 217, 218, 219, 224, 230, 242, 267, 247, 249, - 250, 139, 259, 262, 265, 270, 317, 272, 274, 276, - 278, 287, 288, 291, 298, 305, 300, 306, 308, 312, - 313, 318, 319, 321, 322, 328, 330, 338, 362, 323, - 324, 325, 378, 326, 327, 332, 414, 340, 341, 342, - 348, 386, 390, 387, 388, 392, 401, 402, 408, 411, - 409, 410, 421, 420, 422, 423, 424, 139, 357, 137, - 425, 426, 433, 310, 139, 258, 317, 413, 128, 279, - 398, 0, 84, 134, 129, 135, 246, 0, 0, 0, - 317 + 26, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 193, 201, 202, 194, 195, 93, 94, + 95, 96, 334, 335, 336, 337, 346, 347, 92, 79, + 98, 99, 80, 100, 101, 102, 103, 104, 125, 126, + 127, 56, 130, 378, 391, 139, 358, 137, 143, -59, + 199, 206, 197, 220, 200, 208, 209, 211, 212, 245, + 267, 270, 217, 218, 219, 224, 230, 242, 247, 249, + 250, 259, 139, 265, 262, 260, 272, 316, 274, 276, + 278, 287, 288, 290, 297, 305, 299, 307, 304, 312, + 311, 318, 320, 321, 327, 317, 329, 322, 323, 331, + 324, 339, 325, 363, 326, 333, 341, 342, 416, 343, + 349, 379, 392, 387, 388, 389, 390, 394, 403, 404, + 410, 425, 423, 411, 412, 413, 422, 426, 424, 139, + 358, 137, 428, 427, 435, 258, 139, 309, 316, 415, + 128, 279, 400, 0, 84, 0, 134, 129, 135, 246, + 0, 0, 316 }; static const yytype_int16 yycheck[] = { 82, 82, 82, 113, 92, 166, 100, 22, 23, 103, - 156, 99, 22, 101, 102, 348, 98, 22, 100, 326, - 24, 103, 37, 37, 170, 25, 30, 28, 32, 28, - 24, 113, 28, 29, 125, 36, 30, 36, 24, 25, - 36, 0, 188, 28, 30, 64, 61, 26, 49, 98, - 61, 52, 34, 39, 61, 8, 147, 72, 59, 38, - 59, 72, 58, 59, 68, 72, 70, 40, 41, 69, - 55, 53, 73, 59, 73, 408, 70, 73, 385, 98, - 95, 95, 409, 98, 70, 71, 108, 104, 98, 422, - 112, 237, 109, 98, 410, 96, 97, 424, 113, 110, - 111, 33, 113, 110, 111, 24, 113, 26, 81, 26, - 426, 33, 107, 45, 27, 209, 29, 420, 60, 38, - 208, 38, 35, 45, 212, 67, 106, 209, 431, 42, - 43, 44, 98, 46, 60, 48, 47, 3, 4, 50, - 51, 67, 252, 54, 57, 19, 20, 21, 22, 23, - 107, 62, 26, 107, 110, 111, 107, 114, 107, 98, - 114, 74, 75, 114, 99, 114, 327, 102, 103, 80, - 252, 22, 23, 98, 5, 6, 7, 259, 9, 10, + 156, 99, 22, 101, 102, 349, 98, 22, 100, 37, + 325, 103, 37, 25, 170, 28, 29, 28, 24, 25, + 64, 113, 24, 36, 30, 36, 0, 28, 30, 28, + 125, 24, 188, 39, 412, 36, 61, 30, 49, 32, + 61, 52, 34, 8, 61, 58, 59, 72, 59, 98, + 428, 72, 147, 59, 98, 72, 55, 69, 59, 411, + 73, 53, 73, 106, 70, 71, 410, 95, 70, 98, + 95, 386, 73, 98, 426, 68, 422, 70, 98, 26, + 424, 237, 98, 98, 98, 96, 97, 433, 113, 110, + 111, 38, 113, 110, 111, 33, 113, 40, 41, 24, + 98, 26, 60, 98, 27, 209, 29, 45, 98, 67, + 208, 60, 35, 38, 212, 26, 33, 209, 67, 42, + 43, 44, 106, 46, 107, 48, 47, 38, 45, 50, + 51, 114, 252, 54, 57, 108, 3, 4, 81, 112, + 107, 62, 19, 20, 21, 22, 23, 114, 104, 26, + 107, 74, 75, 109, 107, 326, 106, 114, 112, 80, + 252, 114, 110, 111, 5, 6, 7, 259, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 99, 100, 101, 102, 76, 77, 78, - 79, 110, 111, 98, 98, 106, 106, 98, 112, 112, - 107, 107, 64, 112, 107, 107, 102, 107, 107, 107, - 107, 98, 22, 343, 322, 108, 318, 318, 318, 98, - 108, 22, 63, 108, 107, 109, 107, 107, 65, 107, - 112, 108, 108, 108, 108, 108, 108, 82, 108, 108, - 108, 343, 107, 109, 102, 22, 348, 22, 22, 22, - 66, 108, 22, 108, 22, 108, 28, 22, 22, 109, - 102, 113, 108, 107, 107, 22, 22, 22, 22, 109, - 109, 109, 56, 109, 109, 109, 406, 109, 109, 109, - 107, 109, 22, 109, 109, 22, 109, 31, 107, 65, - 108, 108, 114, 108, 107, 109, 104, 399, 399, 399, - 109, 104, 109, 250, 406, 197, 408, 399, 79, 230, - 353, -1, 55, 82, 80, 82, 183, -1, -1, -1, - 422 + 92, 93, 94, 99, 22, 23, 102, 103, 99, 100, + 101, 102, 76, 77, 78, 79, 110, 111, 107, 112, + 107, 107, 112, 107, 107, 107, 107, 102, 107, 107, + 98, 64, 22, 321, 344, 317, 317, 317, 108, 108, + 98, 22, 108, 63, 109, 107, 107, 107, 107, 65, + 82, 22, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 107, 344, 102, 109, 112, 22, 349, 22, 22, + 66, 108, 108, 108, 22, 22, 28, 22, 108, 102, + 109, 108, 107, 107, 22, 113, 22, 109, 109, 22, + 109, 22, 109, 22, 109, 109, 109, 109, 408, 109, + 107, 56, 22, 109, 109, 109, 109, 22, 109, 31, + 107, 109, 114, 108, 108, 65, 108, 104, 107, 401, + 401, 401, 104, 109, 109, 197, 408, 250, 410, 401, + 79, 230, 354, -1, 55, -1, 82, 80, 82, 183, + -1, -1, 424 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1199,22 +1199,22 @@ static const yytype_uint8 yystos[] = 108, 163, 107, 114, 22, 146, 147, 148, 152, 107, 112, 171, 109, 137, 136, 102, 155, 82, 133, 137, 22, 221, 22, 222, 22, 197, 22, 190, 66, 190, - 24, 30, 32, 68, 70, 179, 189, 108, 22, 208, - 209, 108, 242, 40, 41, 81, 204, 205, 22, 247, - 28, 188, 34, 53, 192, 108, 22, 164, 22, 162, - 164, 228, 109, 102, 153, 140, 141, 229, 113, 108, - 243, 107, 107, 109, 109, 109, 109, 109, 22, 211, - 22, 210, 109, 76, 77, 78, 79, 193, 22, 206, - 109, 109, 109, 107, 114, 110, 111, 149, 107, 22, - 98, 142, 61, 72, 172, 175, 176, 177, 214, 215, - 218, 223, 22, 246, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 134, 137, 56, 25, - 39, 59, 71, 181, 189, 240, 109, 109, 109, 228, - 22, 150, 22, 151, 141, 33, 45, 201, 203, 107, - 114, 109, 31, 182, 186, 189, 107, 114, 107, 108, - 108, 65, 202, 175, 228, 141, 216, 221, 219, 222, - 108, 114, 107, 109, 104, 109, 104, 206, 141, 221, - 222, 104, 206, 109 + 24, 30, 32, 68, 70, 179, 189, 108, 108, 208, + 108, 242, 40, 41, 81, 204, 205, 22, 247, 28, + 188, 34, 53, 192, 108, 22, 164, 22, 162, 164, + 228, 109, 102, 153, 140, 141, 229, 113, 108, 243, + 107, 107, 109, 109, 109, 109, 109, 22, 211, 22, + 209, 22, 210, 109, 76, 77, 78, 79, 193, 22, + 206, 109, 109, 109, 107, 114, 110, 111, 149, 107, + 22, 98, 142, 61, 72, 172, 175, 176, 177, 214, + 215, 218, 223, 22, 246, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 134, 137, 56, + 25, 39, 59, 71, 181, 189, 240, 109, 109, 109, + 109, 228, 22, 150, 22, 151, 141, 33, 45, 201, + 203, 107, 114, 109, 31, 182, 186, 189, 107, 114, + 107, 108, 108, 65, 202, 175, 228, 141, 216, 221, + 219, 222, 108, 114, 107, 109, 104, 109, 104, 206, + 141, 221, 222, 104, 206, 109 }; #define yyerrok (yyerrstatus = 0) @@ -3899,7 +3899,7 @@ yyreduce: /* Line 1455 of yacc.c */ #line 1496 "program_parse.y" { - (yyval.integer) = (yyvsp[(1) - (1)].integer); + (yyval.integer) = (yyvsp[(2) - (3)].integer); ;} break; diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y index e2e83e484f..46f300408b 100644 --- a/src/mesa/shader/program_parse.y +++ b/src/mesa/shader/program_parse.y @@ -1492,9 +1492,9 @@ stateOptModMatNum: { $$ = 0; } - | stateModMatNum + | '[' stateModMatNum ']' { - $$ = $1; + $$ = $2; } ; stateModMatNum: INTEGER -- cgit v1.2.3 From 91c366359ce0bf5f450fd1d774b771c95ed2f651 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Tue, 1 Sep 2009 14:43:04 -0400 Subject: st/xorg: start rendering and compositing pictures --- src/gallium/state_trackers/xorg/xorg_composite.c | 240 +++++++++++++++++------ src/gallium/state_trackers/xorg/xorg_exa.c | 8 - src/gallium/state_trackers/xorg/xorg_exa.h | 8 +- 3 files changed, 185 insertions(+), 71 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index 86402a0d13..8a12c03267 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -77,79 +77,189 @@ blend_for_op(int op) } +static INLINE void +setup_vertex0(float vertex[2][4], float x, float y, + float color[4]) +{ + vertex[0][0] = x; + vertex[0][1] = y; + vertex[0][2] = 0.f; /*z*/ + vertex[0][3] = 1.f; /*w*/ + + vertex[1][0] = color[0]; /*r*/ + vertex[1][1] = color[1]; /*g*/ + vertex[1][2] = color[2]; /*b*/ + vertex[1][3] = color[3]; /*a*/ +} + static struct pipe_buffer * -setup_vertex_data_tex(struct exa_context *ctx, - float x0, float y0, float x1, float y1, - float x2, float y2, float x3, float y3, - float s0, float t0, float s1, float t1, - float z) +setup_vertex_data0(struct exa_context *ctx, + int srcX, int srcY, int maskX, int maskY, + int dstX, int dstY, int width, int height) { - ctx->vertices[0][0][0] = x0; - ctx->vertices[0][0][1] = y0; - ctx->vertices[0][0][2] = z; - ctx->vertices[0][1][0] = s0; /*s*/ - ctx->vertices[0][1][1] = t0; /*t*/ - - ctx->vertices[1][0][0] = x1; - ctx->vertices[1][0][1] = y1; - ctx->vertices[1][0][2] = z; - ctx->vertices[1][1][0] = s1; /*s*/ - ctx->vertices[1][1][1] = t0; /*t*/ - - ctx->vertices[2][0][0] = x2; - ctx->vertices[2][0][1] = y2; - ctx->vertices[2][0][2] = z; - ctx->vertices[2][1][0] = s1; - ctx->vertices[2][1][1] = t1; - - ctx->vertices[3][0][0] = x3; - ctx->vertices[3][0][1] = y3; - ctx->vertices[3][0][2] = z; - ctx->vertices[3][1][0] = s0; - ctx->vertices[3][1][1] = t1; + float vertices[4][2][4]; + + /* 1st vertex */ + setup_vertex0(vertices[0], dstX, dstY, + ctx->solid_color); + /* 2nd vertex */ + setup_vertex0(vertices[1], dstX + width, dstY, + ctx->solid_color); + /* 3rd vertex */ + setup_vertex0(vertices[2], dstX + width, dstY + height, + ctx->solid_color); + /* 4th vertex */ + setup_vertex0(vertices[3], dstX, dstY + height, + ctx->solid_color); return pipe_user_buffer_create(ctx->ctx->screen, - ctx->vertices, - sizeof(ctx->vertices)); + vertices, + sizeof(vertices)); } -static void -draw_texture(struct exa_context *exa, - struct pipe_texture *tex, - float x1offset, float y1offset, - float x2offset, float y2offset, - float x1, float y1, - float x2, float y2, - float x3, float y3, - float x4, float y4) +static INLINE void +setup_vertex1(float vertex[2][4], float x, float y, float s, float t) { - struct pipe_context *pipe = exa->ctx; - struct pipe_buffer *buf; + vertex[0][0] = x; + vertex[0][1] = y; + vertex[0][2] = 0.f; /*z*/ + vertex[0][3] = 1.f; /*w*/ + + vertex[1][0] = s; /*s*/ + vertex[1][1] = t; /*t*/ + vertex[1][2] = 0.f; /*r*/ + vertex[1][3] = 1.f; /*q*/ +} + +static struct pipe_buffer * +setup_vertex_data1(struct exa_context *ctx, + int srcX, int srcY, int maskX, int maskY, + int dstX, int dstY, int width, int height) +{ + float vertices[4][2][4]; float s0, t0, s1, t1; + struct pipe_texture *src = ctx->bound_textures[0]; + + s0 = srcX / src->width[0]; + s1 = srcX + width / src->width[0]; + t0 = srcY / src->height[0]; + t1 = srcY + height / src->height[0]; + + /* 1st vertex */ + setup_vertex1(vertices[0], dstX, dstY, + s0, t0); + /* 2nd vertex */ + setup_vertex1(vertices[1], dstX + width, dstY, + s1, t0); + /* 3rd vertex */ + setup_vertex1(vertices[2], dstX + width, dstY + height, + s1, t1); + /* 4th vertex */ + setup_vertex1(vertices[3], dstX, dstY + height, + s0, t1); - assert(tex->width[0] != 0); - assert(tex->height[0] != 0); + return pipe_user_buffer_create(ctx->ctx->screen, + vertices, + sizeof(vertices)); +} - s0 = x1offset / tex->width[0]; - s1 = x2offset / tex->width[0]; - t0 = y1offset / tex->height[0]; - t1 = y2offset / tex->height[0]; - /* draw quad */ - buf = setup_vertex_data_tex(exa, x1, y1, x2, y2, x3, y3, x4, y4, - s0, t0, s1, t1, 0.0f); +static INLINE void +setup_vertex2(float vertex[3][4], float x, float y, + float s0, float t0, float s1, float t1) +{ + vertex[0][0] = x; + vertex[0][1] = y; + vertex[0][2] = 0.f; /*z*/ + vertex[0][3] = 1.f; /*w*/ + + vertex[1][0] = s0; /*s*/ + vertex[1][1] = t0; /*t*/ + vertex[1][2] = 0.f; /*r*/ + vertex[1][3] = 1.f; /*q*/ + + vertex[2][0] = s1; /*s*/ + vertex[2][1] = t1; /*t*/ + vertex[2][2] = 0.f; /*r*/ + vertex[2][3] = 1.f; /*q*/ +} + +static struct pipe_buffer * +setup_vertex_data2(struct exa_context *ctx, + int srcX, int srcY, int maskX, int maskY, + int dstX, int dstY, int width, int height) +{ + float vertices[4][3][4]; + float st0[4], st1[4]; + struct pipe_texture *src = ctx->bound_textures[0]; + struct pipe_texture *mask = ctx->bound_textures[0]; + + st0[0] = srcX / src->width[0]; + st0[1] = srcY / src->height[0]; + st0[2] = srcX + width / src->width[0]; + st0[3] = srcY + height / src->height[0]; + + st1[0] = maskX / mask->width[0]; + st1[1] = maskY / mask->height[0]; + st1[2] = maskX + width / mask->width[0]; + st1[3] = maskY + height / mask->height[0]; + + /* 1st vertex */ + setup_vertex2(vertices[0], dstX, dstY, + st0[0], st0[1], st1[0], st1[1]); + /* 2nd vertex */ + setup_vertex2(vertices[1], dstX + width, dstY, + st0[2], st0[1], st1[2], st1[1]); + /* 3rd vertex */ + setup_vertex2(vertices[2], dstX + width, dstY + height, + st0[2], st0[3], st1[2], st1[3]); + /* 4th vertex */ + setup_vertex2(vertices[3], dstX, dstY + height, + st0[0], st0[3], st1[0], st1[3]); + + return pipe_user_buffer_create(ctx->ctx->screen, + vertices, + sizeof(vertices)); +} + + +static void +draw_pictures(struct exa_context *exa, + int srcX, int srcY, int maskX, int maskY, + int dstX, int dstY, int width, int height) +{ + struct pipe_context *pipe = exa->ctx; + struct pipe_buffer *buf = 0; + + if (exa->num_bound_samplers == 0 ) { /* solid fill */ + buf = setup_vertex_data0(exa, + srcX, srcY, maskX, maskY, + dstX, dstY, width, height); + } else if (exa->num_bound_samplers == 1 ) /* src */ + buf = setup_vertex_data1(exa, + srcX, srcY, maskX, maskY, + dstX, dstY, width, height); + else if (exa->num_bound_samplers == 2) /* src + mask */ + buf = setup_vertex_data2(exa, + srcX, srcY, maskX, maskY, + dstX, dstY, width, height); + else if (exa->num_bound_samplers == 3) { /* src + mask + dst */ + debug_assert(!"src/mask/dst not handled right now"); +#if 0 + buf = setup_vertex_data2(exa, + srcX, srcY, maskX, maskY, + dstX, dstY, width, height); +#endif + } if (buf) { util_draw_vertex_buffer(pipe, buf, 0, PIPE_PRIM_TRIANGLE_FAN, 4, /* verts */ - 2); /* attribs/vert */ + 1 + exa->num_bound_samplers); /* attribs/vert */ - pipe_buffer_reference(&buf, - NULL); + pipe_buffer_reference(&buf, NULL); } - - cso_restore_vertex_shader(exa->cso); } boolean xorg_composite_accelerated(int op, @@ -309,9 +419,10 @@ bind_samplers(struct exa_context *exa, int op, struct exa_pixmap_priv *pDst) { struct pipe_sampler_state *samplers[PIPE_MAX_SAMPLERS]; - struct pipe_texture *textures[PIPE_MAX_SAMPLERS]; struct pipe_sampler_state src_sampler, mask_sampler; + exa->num_bound_samplers = 0; + memset(&src_sampler, 0, sizeof(struct pipe_sampler_state)); memset(&mask_sampler, 0, sizeof(struct pipe_sampler_state)); @@ -322,7 +433,8 @@ bind_samplers(struct exa_context *exa, int op, src_sampler.mag_img_filter = PIPE_TEX_MIPFILTER_NEAREST; src_sampler.normalized_coords = 1; samplers[0] = &src_sampler; - textures[0] = pSrc->tex; + exa->bound_textures[0] = pSrc->tex; + ++exa->num_bound_samplers; } if (pMaskPicture && pMask) { @@ -332,12 +444,14 @@ bind_samplers(struct exa_context *exa, int op, mask_sampler.mag_img_filter = PIPE_TEX_MIPFILTER_NEAREST; mask_sampler.normalized_coords = 1; samplers[1] = &mask_sampler; - textures[1] = pMask->tex; + exa->bound_textures[1] = pMask->tex; + ++exa->num_bound_samplers; } - cso_set_samplers(exa->cso, 3, + cso_set_samplers(exa->cso, exa->num_bound_samplers, (const struct pipe_sampler_state **)samplers); - cso_set_sampler_textures(exa->cso, 3, textures); + cso_set_sampler_textures(exa->cso, exa->num_bound_samplers, + exa->bound_textures); } static void @@ -409,8 +523,8 @@ boolean xorg_composite_bind_state(struct exa_context *exa, bind_blend_state(exa, op, pSrcPicture, pMaskPicture); bind_rasterizer_state(exa); bind_shaders(exa, op, pSrcPicture, pMaskPicture); - bind_samplers(exa, op, pSrcPicture, pMaskPicture, pDstPicture, - pSrc, pMask, pDst); + bind_samplers(exa, op, pSrcPicture, pMaskPicture, + pDstPicture, pSrc, pMask, pDst); setup_constant_buffers(exa, pDstPicture); @@ -422,5 +536,7 @@ void xorg_composite(struct exa_context *exa, int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, int width, int height) { + draw_pictures(exa, srcX, srcY, maskX, maskY, + dstX, dstY, width, height); } diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index 3697d26363..1ed807de93 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -563,7 +563,6 @@ xorg_exa_init(ScrnInfoPtr pScrn) modesettingPtr ms = modesettingPTR(pScrn); struct exa_context *exa; ExaDriverPtr pExa; - int i; exa = xcalloc(1, sizeof(struct exa_context)); if (!exa) @@ -615,13 +614,6 @@ xorg_exa_init(ScrnInfoPtr pScrn) /* Share context with DRI */ ms->ctx = exa->ctx; - /* common vertex data setup */ - for (i = 0; i < 4; ++i) { - exa->vertices[i][0][3] = 1.0f; /* w */ - exa->vertices[i][1][2] = 0.0f; /* r */ - exa->vertices[i][1][3] = 1.0f; /* q */ - } - exa->cso = cso_create_context(exa->ctx); exa->shaders = xorg_shaders_create(exa); diff --git a/src/gallium/state_trackers/xorg/xorg_exa.h b/src/gallium/state_trackers/xorg/xorg_exa.h index 90ad8400ff..d4ffe5ce2e 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.h +++ b/src/gallium/state_trackers/xorg/xorg_exa.h @@ -8,6 +8,9 @@ struct cso_context; struct xorg_shaders; +/* src + mask + dst */ +#define MAX_EXA_SAMPLERS 3 + struct exa_context { ExaDriverPtr pExa; @@ -19,7 +22,10 @@ struct exa_context struct pipe_constant_buffer vs_const_buffer; struct pipe_constant_buffer fs_const_buffer; - float vertices[4][2][4]; + struct pipe_texture *bound_textures[MAX_EXA_SAMPLERS]; + int num_bound_samplers; + + float solid_color[4]; }; -- cgit v1.2.3 From 811aa02c7a0f4804189a8978395f07d27fb726ec Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Tue, 1 Sep 2009 14:43:59 -0400 Subject: st/xorg: fold back the helper function into core --- src/gallium/state_trackers/xorg/xorg_composite.c | 74 ++++++++++-------------- 1 file changed, 32 insertions(+), 42 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index 8a12c03267..132c05e4ac 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -222,46 +222,6 @@ setup_vertex_data2(struct exa_context *ctx, sizeof(vertices)); } - -static void -draw_pictures(struct exa_context *exa, - int srcX, int srcY, int maskX, int maskY, - int dstX, int dstY, int width, int height) -{ - struct pipe_context *pipe = exa->ctx; - struct pipe_buffer *buf = 0; - - if (exa->num_bound_samplers == 0 ) { /* solid fill */ - buf = setup_vertex_data0(exa, - srcX, srcY, maskX, maskY, - dstX, dstY, width, height); - } else if (exa->num_bound_samplers == 1 ) /* src */ - buf = setup_vertex_data1(exa, - srcX, srcY, maskX, maskY, - dstX, dstY, width, height); - else if (exa->num_bound_samplers == 2) /* src + mask */ - buf = setup_vertex_data2(exa, - srcX, srcY, maskX, maskY, - dstX, dstY, width, height); - else if (exa->num_bound_samplers == 3) { /* src + mask + dst */ - debug_assert(!"src/mask/dst not handled right now"); -#if 0 - buf = setup_vertex_data2(exa, - srcX, srcY, maskX, maskY, - dstX, dstY, width, height); -#endif - } - - if (buf) { - util_draw_vertex_buffer(pipe, buf, 0, - PIPE_PRIM_TRIANGLE_FAN, - 4, /* verts */ - 1 + exa->num_bound_samplers); /* attribs/vert */ - - pipe_buffer_reference(&buf, NULL); - } -} - boolean xorg_composite_accelerated(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, @@ -536,7 +496,37 @@ void xorg_composite(struct exa_context *exa, int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, int width, int height) { - draw_pictures(exa, srcX, srcY, maskX, maskY, - dstX, dstY, width, height); + struct pipe_context *pipe = exa->ctx; + struct pipe_buffer *buf = 0; + + if (exa->num_bound_samplers == 0 ) { /* solid fill */ + buf = setup_vertex_data0(exa, + srcX, srcY, maskX, maskY, + dstX, dstY, width, height); + } else if (exa->num_bound_samplers == 1 ) /* src */ + buf = setup_vertex_data1(exa, + srcX, srcY, maskX, maskY, + dstX, dstY, width, height); + else if (exa->num_bound_samplers == 2) /* src + mask */ + buf = setup_vertex_data2(exa, + srcX, srcY, maskX, maskY, + dstX, dstY, width, height); + else if (exa->num_bound_samplers == 3) { /* src + mask + dst */ + debug_assert(!"src/mask/dst not handled right now"); +#if 0 + buf = setup_vertex_data2(exa, + srcX, srcY, maskX, maskY, + dstX, dstY, width, height); +#endif + } + + if (buf) { + util_draw_vertex_buffer(pipe, buf, 0, + PIPE_PRIM_TRIANGLE_FAN, + 4, /* verts */ + 1 + exa->num_bound_samplers); /* attribs/vert */ + + pipe_buffer_reference(&buf, NULL); + } } -- cgit v1.2.3 From a8cbb1563213086f58d3b82b6d0755a59eb43c79 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Tue, 1 Sep 2009 17:49:32 -0400 Subject: st/xorg: setup solid fills --- src/gallium/state_trackers/xorg/xorg_composite.c | 34 ++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index 132c05e4ac..fafd77f052 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -40,6 +40,24 @@ static const struct xorg_composite_blend xorg_blends[] = { PIPE_BLENDFACTOR_INV_SRC_ALPHA, PIPE_BLENDFACTOR_INV_SRC_ALPHA }, }; +static INLINE void +pixel_to_float4(PictFormatPtr format, + CARD32 pixel, float *color) +{ + CARD32 r, g, b, a; + + debug_assert(format->type == PictTypeDirect); + + r = (pixel >> format->direct.red) & format->direct.redMask; + g = (pixel >> format->direct.green) & format->direct.greenMask; + b = (pixel >> format->direct.blue) & format->direct.blueMask; + a = (pixel >> format->direct.alpha) & format->direct.alphaMask; + color[0] = ((float)r) / ((float)format->direct.redMask); + color[1] = ((float)g) / ((float)format->direct.greenMask); + color[2] = ((float)b) / ((float)format->direct.blueMask); + color[3] = ((float)a) / ((float)format->direct.alphaMask); +} + struct acceleration_info { int op : 16; int with_mask : 1; @@ -355,8 +373,20 @@ bind_shaders(struct exa_context *exa, int op, struct xorg_shader shader; if (pSrcPicture) { - vs_traits |= VS_COMPOSITE; - fs_traits |= FS_COMPOSITE; + if (pSrcPicture->pSourcePict) { + if (pSrcPicture->pSourcePict->type == SourcePictTypeSolidFill) { + fs_traits |= FS_FILL; + vs_traits |= VS_FILL; + pixel_to_float4(pSrcPicture->pFormat, + pSrcPicture->pSourcePict->solidFill.color, + exa->solid_color); + } else { + debug_assert("!gradients not supported"); + } + } else { + fs_traits |= FS_COMPOSITE; + vs_traits |= VS_COMPOSITE; + } } if (pMaskPicture) { -- cgit v1.2.3 From 5c746d9214b72c181aa80f09aa527542e5b2f213 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Tue, 1 Sep 2009 18:59:01 -0400 Subject: st/xorg: redo the vertex shader --- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 49 ++++++++++++++++++------- 1 file changed, 35 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index b5288bde4f..8e26b6f4a4 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -18,22 +18,24 @@ #include "cso_cache/cso_hash.h" /* Vertex shader: - * IN[0] = src_pos - * IN[1] = mask_pos - * IN[2] = dst_pos + * IN[0] = vertex pos + * IN[1] = src tex coord | solid fill color + * IN[2] = mask tex coord + * IN[3] = dst tex coord * CONST[0] = (2/dst_width, 2/dst_height, 1, 1) * CONST[1] = (-1, -1, 0, 0) * - * OUT[0] = src_pos - * OUT[1] = mask_pos - * OUT[2] = dst_pos + * OUT[0] = vertex pos + * OUT[1] = src tex coord | solid fill color + * OUT[2] = mask tex coord + * OUT[3] = dst tex coord */ /* Fragment shader: * SAMP[0] = src * SAMP[1] = mask * SAMP[2] = dst - * IN[0] = pos src + * IN[0] = pos src | solid fill color * IN[1] = pos mask * IN[2] = pos dst * CONST[0] = (0, 0, 0, 1) @@ -92,6 +94,9 @@ create_vs(struct pipe_context *pipe, struct ureg_src src; struct ureg_dst dst; struct ureg_src const0, const1; + boolean is_fill = vs_traits & VS_FILL; + boolean is_composite = vs_traits & VS_COMPOSITE; + boolean has_mask = vs_traits & VS_MASK; ureg = ureg_create(TGSI_PROCESSOR_VERTEX); if (ureg == NULL) @@ -100,17 +105,33 @@ create_vs(struct pipe_context *pipe, const0 = ureg_DECL_constant(ureg); const1 = ureg_DECL_constant(ureg); - if ((vs_traits & VS_COMPOSITE)) { + /* it has to be either a fill or a composite op */ + debug_assert(is_fill ^ is_composite); + + src = ureg_DECL_vs_input(ureg, + TGSI_SEMANTIC_POSITION, 0); + dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_POSITION, 0); + src = vs_normalize_coords(ureg, src, + const0, const1); + ureg_MOV(ureg, dst, src); + + + if (is_composite) { src = ureg_DECL_vs_input(ureg, - TGSI_SEMANTIC_POSITION, 0); - dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_POSITION, 0); - src = vs_normalize_coords(ureg, src, - const0, const1); + TGSI_SEMANTIC_GENERIC, 1); + dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_GENERIC, 0); ureg_MOV(ureg, dst, src); } - if ((vs_traits & VS_MASK)) { + if (is_fill) { + src = ureg_DECL_vs_input(ureg, + TGSI_SEMANTIC_COLOR, 1); + dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_COLOR, 0); + ureg_MOV(ureg, dst, src); + } + + if (has_mask) { src = ureg_DECL_vs_input(ureg, - TGSI_SEMANTIC_POSITION, 1); + TGSI_SEMANTIC_GENERIC, 2); dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_POSITION, 1); ureg_MOV(ureg, dst, src); } -- cgit v1.2.3 From 7e4487ad5c1dcaa77df980bd6ef598ee880dc1c4 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Tue, 1 Sep 2009 19:01:05 -0400 Subject: st/xorg: getting indexes right tends to be helpful --- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index 8e26b6f4a4..8876482ba1 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -119,20 +119,20 @@ create_vs(struct pipe_context *pipe, if (is_composite) { src = ureg_DECL_vs_input(ureg, TGSI_SEMANTIC_GENERIC, 1); - dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_GENERIC, 0); + dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_GENERIC, 1); ureg_MOV(ureg, dst, src); } if (is_fill) { src = ureg_DECL_vs_input(ureg, TGSI_SEMANTIC_COLOR, 1); - dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_COLOR, 0); + dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_COLOR, 1); ureg_MOV(ureg, dst, src); } if (has_mask) { src = ureg_DECL_vs_input(ureg, TGSI_SEMANTIC_GENERIC, 2); - dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_POSITION, 1); + dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_POSITION, 2); ureg_MOV(ureg, dst, src); } -- cgit v1.2.3 From 9f650e19dda3809e87c838b50b39669ea844a3b1 Mon Sep 17 00:00:00 2001 From: Pauli Nieminen Date: Wed, 2 Sep 2009 01:28:46 +0300 Subject: radeon: Fix debug output to filter out less critical messages instead of more critical. --- src/mesa/drivers/dri/radeon/radeon_debug.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_debug.h b/src/mesa/drivers/dri/radeon/radeon_debug.h index 3e1481dfa1..132e27351d 100644 --- a/src/mesa/drivers/dri/radeon/radeon_debug.h +++ b/src/mesa/drivers/dri/radeon/radeon_debug.h @@ -88,7 +88,7 @@ extern radeon_debug_type_t radeon_enabled_debug_types; static inline int radeon_is_debug_enabled(const radeon_debug_type_t type, const radeon_debug_level_t level) { - return RADEON_DEBUG_LEVEL <= level + return RADEON_DEBUG_LEVEL >= level && (type & radeon_enabled_debug_types); } /* -- cgit v1.2.3 From 06bf6628aabd6744ebf4268319eba4a1d377ffe2 Mon Sep 17 00:00:00 2001 From: Pauli Nieminen Date: Wed, 2 Sep 2009 02:03:13 +0300 Subject: radeon: Fix OQ to set ful lstate as dirty too. --- src/mesa/drivers/dri/radeon/radeon_queryobj.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_queryobj.c b/src/mesa/drivers/dri/radeon/radeon_queryobj.c index ed5ebd18e4..b79d864ba2 100644 --- a/src/mesa/drivers/dri/radeon/radeon_queryobj.c +++ b/src/mesa/drivers/dri/radeon/radeon_queryobj.c @@ -133,6 +133,7 @@ static void radeonBeginQuery(GLcontext *ctx, struct gl_query_object *q) radeon->query.current = query; radeon->query.queryobj.dirty = GL_TRUE; + radeon->hw.is_dirty = GL_TRUE; insert_at_tail(&radeon->query.not_flushed_head, query); } -- cgit v1.2.3 From 50d8b295f6c950da3b8783ff6e1803bdfbb5c7cc Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:05:41 -0600 Subject: intel: use _mesa_meta_clear(), it's a bit faster --- src/mesa/drivers/dri/intel/intel_clear.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_clear.c b/src/mesa/drivers/dri/intel/intel_clear.c index 630d2adab8..117a46f71e 100644 --- a/src/mesa/drivers/dri/intel/intel_clear.c +++ b/src/mesa/drivers/dri/intel/intel_clear.c @@ -46,6 +46,7 @@ #include "main/varray.h" #include "glapi/dispatch.h" #include "swrast/swrast.h" +#include "drivers/common/meta.h" #include "intel_context.h" #include "intel_blit.h" @@ -186,7 +187,7 @@ intelClear(GLcontext *ctx, GLbitfield mask) } DBG("\n"); } - meta_clear_tris(&intel->meta, tri_mask); + _mesa_meta_clear(&intel->ctx, tri_mask); } if (swrast_mask) { -- cgit v1.2.3 From 90cba4a8398bd0eacf4d17573732bec760cbd7c3 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:07:52 -0600 Subject: intel: trim down #includes --- src/mesa/drivers/dri/intel/intel_clear.c | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_clear.c b/src/mesa/drivers/dri/intel/intel_clear.c index 117a46f71e..d1e7cb5361 100644 --- a/src/mesa/drivers/dri/intel/intel_clear.c +++ b/src/mesa/drivers/dri/intel/intel_clear.c @@ -27,24 +27,7 @@ **************************************************************************/ #include "main/glheader.h" -#include "main/enums.h" -#include "main/image.h" #include "main/mtypes.h" -#include "main/arrayobj.h" -#include "main/attrib.h" -#include "main/blend.h" -#include "main/bufferobj.h" -#include "main/buffers.h" -#include "main/depth.h" -#include "main/enable.h" -#include "main/macros.h" -#include "main/matrix.h" -#include "main/polygon.h" -#include "main/texstate.h" -#include "main/shaders.h" -#include "main/stencil.h" -#include "main/varray.h" -#include "glapi/dispatch.h" #include "swrast/swrast.h" #include "drivers/common/meta.h" -- cgit v1.2.3 From 886a0a715076213266b4f96118d15de5be2bff27 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:16:13 -0600 Subject: intel: use _mesa_meta_draw_pixels() The textured quad path is slightly faster and will work with POT textures on i945. --- src/mesa/drivers/dri/intel/intel_pixel_draw.c | 151 +------------------------- 1 file changed, 4 insertions(+), 147 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_draw.c b/src/mesa/drivers/dri/intel/intel_pixel_draw.c index a6b6824164..f94c6e4bc4 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_draw.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_draw.c @@ -48,6 +48,7 @@ #include "main/viewport.h" #include "glapi/dispatch.h" #include "swrast/swrast.h" +#include "drivers/common/meta.h" #include "intel_screen.h" #include "intel_context.h" @@ -59,145 +60,8 @@ #include "intel_buffer_objects.h" #include "intel_fbo.h" -static GLboolean -intel_texture_drawpixels(GLcontext * ctx, - GLint x, GLint y, - GLsizei width, GLsizei height, - GLenum format, - GLenum type, - const struct gl_pixelstore_attrib *unpack, - const GLvoid *pixels) -{ - struct intel_context *intel = intel_context(ctx); - GLuint texname; - GLfloat vertices[4][4]; - GLfloat z; - GLint old_active_texture; - GLenum internalFormat; - - /* We're going to mess with texturing with no regard to existing texture - * state, so if there is some set up we have to bail. - */ - if (ctx->Texture._EnabledUnits != 0) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "glDrawPixels() fallback: texturing enabled\n"); - return GL_FALSE; - } - - /* Can't do textured DrawPixels with a fragment program, unless we were - * to generate a new program that sampled our texture and put the results - * in the fragment color before the user's program started. - */ - if (ctx->FragmentProgram.Enabled) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "glDrawPixels() fallback: fragment program enabled\n"); - return GL_FALSE; - } - - /* We don't have a way to generate fragments with stencil values which - * will set the resulting stencil value. - */ - if (format == GL_STENCIL_INDEX || format == GL_DEPTH_STENCIL) - return GL_FALSE; - - /* Check that we can load in a texture this big. */ - if (width > (1 << (ctx->Const.MaxTextureLevels - 1)) || - height > (1 << (ctx->Const.MaxTextureLevels - 1))) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "glDrawPixels() fallback: bitmap too large (%dx%d)\n", - width, height); - return GL_FALSE; - } - - /* To do DEPTH_COMPONENT, we would need to change our setup to not draw to - * the color buffer, and sample the texture values into the fragment depth - * in a program. - */ - if (format == GL_DEPTH_COMPONENT) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, - "glDrawPixels() fallback: format == GL_DEPTH_COMPONENT\n"); - return GL_FALSE; - } - - if (!ctx->Extensions.ARB_texture_non_power_of_two && - (!is_power_of_two(width) || !is_power_of_two(height))) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, - "glDrawPixels() fallback: NPOT texture\n"); - return GL_FALSE; - } - - _mesa_PushAttrib(GL_ENABLE_BIT | GL_TEXTURE_BIT | - GL_CURRENT_BIT | GL_VIEWPORT_BIT); - _mesa_PushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT); - - /* XXX: pixel store stuff */ - _mesa_Disable(GL_POLYGON_STIPPLE); - - old_active_texture = ctx->Texture.CurrentUnit; - _mesa_ActiveTextureARB(GL_TEXTURE0_ARB); - _mesa_Enable(GL_TEXTURE_2D); - _mesa_GenTextures(1, &texname); - _mesa_BindTexture(GL_TEXTURE_2D, texname); - _mesa_TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - _mesa_TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - _mesa_TexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - if (type == GL_ALPHA) - internalFormat = GL_ALPHA; - else - internalFormat = GL_RGBA; - _mesa_TexImage2D(GL_TEXTURE_2D, 0, internalFormat, width, height, 0, format, - type, pixels); - - meta_set_passthrough_transform(&intel->meta); - - /* convert rasterpos Z from [0,1] to NDC coord in [-1,1] */ - z = -1.0 + 2.0 * ctx->Current.RasterPos[2]; - - /* RasterPos[2] already takes into account the DepthRange mapping. */ - _mesa_DepthRange(0.0, 1.0); - - /* Create the vertex buffer based on the current raster pos. The x and y - * we're handed are ctx->Current.RasterPos[0,1] rounded to integers. - * We also apply the depth. However, the W component is already multiplied - * into ctx->Current.RasterPos[0,1,2] and we can ignore it at this point. - */ - vertices[0][0] = x; - vertices[0][1] = y; - vertices[0][2] = z; - vertices[0][3] = 1.0; - vertices[1][0] = x + width * ctx->Pixel.ZoomX; - vertices[1][1] = y; - vertices[1][2] = z; - vertices[1][3] = 1.0; - vertices[2][0] = x + width * ctx->Pixel.ZoomX; - vertices[2][1] = y + height * ctx->Pixel.ZoomY; - vertices[2][2] = z; - vertices[2][3] = 1.0; - vertices[3][0] = x; - vertices[3][1] = y + height * ctx->Pixel.ZoomY; - vertices[3][2] = z; - vertices[3][3] = 1.0; - - _mesa_VertexPointer(4, GL_FLOAT, 4 * sizeof(GLfloat), &vertices); - _mesa_Enable(GL_VERTEX_ARRAY); - meta_set_default_texrect(&intel->meta); - - _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); - - meta_restore_texcoords(&intel->meta); - meta_restore_transform(&intel->meta); - - _mesa_ActiveTextureARB(GL_TEXTURE0_ARB + old_active_texture); - _mesa_PopClientAttrib(); - _mesa_PopAttrib(); - - _mesa_DeleteTextures(1, &texname); - - return GL_TRUE; -} +/** XXX compare perf of this vs. _mesa_meta_draw_pixels(STENCIL) */ static GLboolean intel_stencil_drawpixels(GLcontext * ctx, GLint x, GLint y, @@ -404,17 +268,10 @@ intelDrawPixels(GLcontext * ctx, const struct gl_pixelstore_attrib *unpack, const GLvoid * pixels) { - if (intel_texture_drawpixels(ctx, x, y, width, height, format, type, - unpack, pixels)) - return; - if (intel_stencil_drawpixels(ctx, x, y, width, height, format, type, unpack, pixels)) return; - if (INTEL_DEBUG & DEBUG_PIXEL) - _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); - - _swrast_DrawPixels(ctx, x, y, width, height, format, type, - unpack, pixels); + _mesa_meta_draw_pixels(ctx, x, y, width, height, format, type, + unpack, pixels); } -- cgit v1.2.3 From be229d24c4902b42b22e4533ad58c92a4fb11b05 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:18:55 -0600 Subject: intel: trim down #includes --- src/mesa/drivers/dri/intel/intel_pixel_draw.c | 8 -------- 1 file changed, 8 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_draw.c b/src/mesa/drivers/dri/intel/intel_pixel_draw.c index f94c6e4bc4..8c113881d6 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_draw.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_draw.c @@ -29,8 +29,6 @@ #include "main/enums.h" #include "main/image.h" #include "main/mtypes.h" -#include "main/macros.h" -#include "main/bufferobj.h" #include "main/teximage.h" #include "main/texenv.h" #include "main/texobj.h" @@ -41,23 +39,17 @@ #include "main/enable.h" #include "main/buffers.h" #include "main/fbobject.h" -#include "main/renderbuffer.h" #include "main/depth.h" #include "main/hash.h" #include "main/blend.h" -#include "main/viewport.h" -#include "glapi/dispatch.h" -#include "swrast/swrast.h" #include "drivers/common/meta.h" -#include "intel_screen.h" #include "intel_context.h" #include "intel_batchbuffer.h" #include "intel_blit.h" #include "intel_buffers.h" #include "intel_regions.h" #include "intel_pixel.h" -#include "intel_buffer_objects.h" #include "intel_fbo.h" -- cgit v1.2.3 From 15e6d08670eeaf843ae3d6e557d595da750a5e99 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:23:01 -0600 Subject: intel: use _mesa_meta_copy_pixels() when do_blit_copypixels() fails Also, trim down #includes. --- src/mesa/drivers/dri/intel/intel_pixel_copy.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_copy.c b/src/mesa/drivers/dri/intel/intel_pixel_copy.c index ca796b3655..07ca8f7ddb 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_copy.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_copy.c @@ -26,18 +26,13 @@ **************************************************************************/ #include "main/glheader.h" -#include "main/enums.h" #include "main/image.h" #include "main/state.h" #include "main/mtypes.h" -#include "main/macros.h" #include "drivers/common/meta.h" -#include "intel_screen.h" #include "intel_context.h" -#include "intel_batchbuffer.h" #include "intel_buffers.h" -#include "intel_blit.h" #include "intel_regions.h" #include "intel_pixel.h" @@ -244,5 +239,6 @@ intelCopyPixels(GLcontext * ctx, if (do_blit_copypixels(ctx, srcx, srcy, width, height, destx, desty, type)) return; + /* this will use swrast if needed */ _mesa_meta_copy_pixels(ctx, srcx, srcy, width, height, destx, desty, type); } -- cgit v1.2.3 From a1e869b417745175e82377934619231363b1caba Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:23:52 -0600 Subject: intel: set Length/Offset fields in intel_bufferobj_map() --- src/mesa/drivers/dri/intel/intel_buffer_objects.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c index 6f7077e17f..a3aabe9f37 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c @@ -267,6 +267,9 @@ intel_bufferobj_map(GLcontext * ctx, } obj->Pointer = intel_obj->buffer->virtual; + obj->Length = obj->Size; + obj->Offset = 0; + return obj->Pointer; } -- cgit v1.2.3 From 92d63931e2c42ececaec33f68e1bc388764dd62e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:24:30 -0600 Subject: mesa: obey stencil write mask in _mesa_meta_draw_pixels() --- src/mesa/drivers/common/meta.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index ec0da71fb9..965fb8697e 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -1429,6 +1429,7 @@ _mesa_meta_draw_pixels(GLcontext *ctx, struct drawpix_state *drawpix = &ctx->Meta->DrawPix; struct temp_texture *tex = get_temp_texture(ctx); const struct gl_pixelstore_attrib unpackSave = ctx->Unpack; + const GLuint origStencilMask = ctx->Stencil.WriteMask[0]; GLfloat verts[4][5]; /* four verts of X,Y,Z,S,T */ GLenum texIntFormat; GLboolean fallback, newTex; @@ -1593,14 +1594,15 @@ _mesa_meta_draw_pixels(GLcontext *ctx, for (bit = 0; bit < ctx->Visual.stencilBits; bit++) { const GLuint mask = 1 << bit; + if (mask & origStencilMask) { + _mesa_StencilFunc(GL_ALWAYS, mask, mask); + _mesa_StencilMask(mask); - _mesa_StencilFunc(GL_ALWAYS, mask, mask); - _mesa_StencilMask(mask); + _mesa_ProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 0, + 255.0 / mask, 0.5, 0.0, 0.0); - _mesa_ProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 0, - 255.0 / mask, 0.5, 0.0, 0.0); - - _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + } } } else if (_mesa_is_depth_format(format)) { -- cgit v1.2.3 From 18916986b4a7155e3cba2efb5dfd79dc561cfa41 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:28:48 -0600 Subject: radeon: use _mesa_meta_clear() --- src/mesa/drivers/dri/radeon/radeon_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index 1836dbc79a..fa7cf3c42b 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.c +++ b/src/mesa/drivers/dri/radeon/radeon_common.c @@ -58,6 +58,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "tnl/tnl.h" #include "tnl/t_pipeline.h" #include "swrast_setup/swrast_setup.h" +#include "drivers/common/meta.h" #include "main/blend.h" #include "main/bufferobj.h" @@ -1370,6 +1371,5 @@ void rcommonBeginBatch(radeonContextPtr rmesa, int n, void radeonUserClear(GLcontext *ctx, GLuint mask) { - radeonContextPtr rmesa = RADEON_CONTEXT(ctx); - meta_clear_tris(&rmesa->meta, mask); + _mesa_meta_clear(ctx, mask); } -- cgit v1.2.3 From 85d35623859135fa6c6875be52b5c13a8d3263ba Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:32:01 -0600 Subject: radeon: trim down #includes --- src/mesa/drivers/dri/radeon/radeon_common.c | 28 ---------------------------- 1 file changed, 28 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index fa7cf3c42b..e53eb0904d 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.c +++ b/src/mesa/drivers/dri/radeon/radeon_common.c @@ -45,45 +45,17 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "main/glheader.h" #include "main/imports.h" #include "main/context.h" -#include "main/arrayobj.h" -#include "main/api_arrayelt.h" #include "main/enums.h" -#include "main/colormac.h" -#include "main/light.h" #include "main/framebuffer.h" -#include "main/simple_list.h" #include "main/renderbuffer.h" -#include "swrast/swrast.h" -#include "vbo/vbo.h" -#include "tnl/tnl.h" -#include "tnl/t_pipeline.h" -#include "swrast_setup/swrast_setup.h" #include "drivers/common/meta.h" -#include "main/blend.h" -#include "main/bufferobj.h" -#include "main/buffers.h" -#include "main/depth.h" -#include "main/polygon.h" -#include "main/shaders.h" -#include "main/texstate.h" -#include "main/varray.h" -#include "glapi/dispatch.h" -#include "swrast/swrast.h" -#include "main/stencil.h" -#include "main/matrix.h" -#include "main/attrib.h" -#include "main/enable.h" -#include "main/viewport.h" - -#include "dri_util.h" #include "vblank.h" #include "radeon_common.h" #include "radeon_bocs_wrapper.h" #include "radeon_lock.h" #include "radeon_drm.h" -#include "radeon_mipmap_tree.h" #include "radeon_queryobj.h" /** -- cgit v1.2.3 From 5353961344dd75f839cfee50f226497171725cce Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:39:30 -0600 Subject: intel: fix incorrect parameter type for intel_bufferobj_map_range() --- src/mesa/drivers/dri/intel/intel_buffer_objects.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c index a3aabe9f37..920da1f4e0 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c @@ -291,7 +291,7 @@ intel_bufferobj_map(GLcontext * ctx, */ static void * intel_bufferobj_map_range(GLcontext * ctx, - GLenum target, GLsizei offset, GLsizeiptr length, + GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, struct gl_buffer_object *obj) { struct intel_context *intel = intel_context(ctx); -- cgit v1.2.3 From c2542cdaffbd9b77ce0a710553d78834c04c4820 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:41:32 -0600 Subject: intel: use BUFFER_BITS_COLOR --- src/mesa/drivers/dri/intel/intel_clear.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_clear.c b/src/mesa/drivers/dri/intel/intel_clear.c index d1e7cb5361..bce23724b3 100644 --- a/src/mesa/drivers/dri/intel/intel_clear.c +++ b/src/mesa/drivers/dri/intel/intel_clear.c @@ -124,7 +124,7 @@ intelClear(GLcontext *ctx, GLbitfield mask) * buffer with it. */ if (mask & (BUFFER_BIT_DEPTH | BUFFER_BIT_STENCIL)) { - int color_bit = _mesa_ffs(mask & TRI_CLEAR_COLOR_BITS); + int color_bit = _mesa_ffs(mask & BUFFER_BITS_COLOR); if (color_bit != 0) { tri_mask |= blit_mask & (1 << (color_bit - 1)); blit_mask &= ~(1 << (color_bit - 1)); -- cgit v1.2.3 From 51334d840112557d7351b53be1208cb228add2cf Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 12:43:23 -0600 Subject: dri: remove unused meta_clear_tris() --- src/mesa/drivers/dri/common/dri_metaops.c | 246 ------------------------------ src/mesa/drivers/dri/common/dri_metaops.h | 22 +-- 2 files changed, 2 insertions(+), 266 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/common/dri_metaops.c b/src/mesa/drivers/dri/common/dri_metaops.c index cdbea34495..c7bea07dc9 100644 --- a/src/mesa/drivers/dri/common/dri_metaops.c +++ b/src/mesa/drivers/dri/common/dri_metaops.c @@ -287,250 +287,6 @@ meta_restore_texcoords(struct dri_metaops *meta) } -/** - * Perform glClear where mask contains only color, depth, and/or stencil. - * - * The implementation is based on calling into Mesa to set GL state and - * performing normal triangle rendering. The intent of this path is to - * have as generic a path as possible, so that any driver could make use of - * it. - */ - -/** - * Per-context one-time init of things for intl_clear_tris(). - * Basically set up a private array object for vertex/color arrays. - */ -static void -meta_init_clear(struct dri_metaops *meta) -{ - GLcontext *ctx = meta->ctx; - struct gl_array_object *arraySave = NULL; - const GLuint arrayBuffer = ctx->Array.ArrayBufferObj->Name; - const GLuint elementBuffer = ctx->Array.ElementArrayBufferObj->Name; - - /* create new array object */ - meta->clear.arrayObj = _mesa_new_array_object(ctx, ~0); - - /* save current array object, bind new one */ - _mesa_reference_array_object(ctx, &arraySave, ctx->Array.ArrayObj); - ctx->NewState |= _NEW_ARRAY; - ctx->Array.NewState |= _NEW_ARRAY_ALL; - _mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, meta->clear.arrayObj); - - /* one-time setup of vertex arrays (pos, color) */ - _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, 0); - _mesa_BindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0); - _mesa_ColorPointer(4, GL_FLOAT, 4 * sizeof(GLfloat), meta->clear.color); - _mesa_VertexPointer(3, GL_FLOAT, 3 * sizeof(GLfloat), meta->clear.vertices); - _mesa_Enable(GL_COLOR_ARRAY); - _mesa_Enable(GL_VERTEX_ARRAY); - - /* restore original array object */ - ctx->NewState |= _NEW_ARRAY; - ctx->Array.NewState |= _NEW_ARRAY_ALL; - _mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, arraySave); - _mesa_reference_array_object(ctx, &arraySave, NULL); - - /* restore original buffer objects */ - _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, arrayBuffer); - _mesa_BindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, elementBuffer); -} - - - -/** - * Perform glClear where mask contains only color, depth, and/or stencil. - * - * The implementation is based on calling into Mesa to set GL state and - * performing normal triangle rendering. The intent of this path is to - * have as generic a path as possible, so that any driver could make use of - * it. - */ -void -meta_clear_tris(struct dri_metaops *meta, GLbitfield mask) -{ - GLcontext *ctx = meta->ctx; - GLfloat dst_z; - struct gl_framebuffer *fb = ctx->DrawBuffer; - int i; - GLboolean saved_fp_enable = GL_FALSE, saved_vp_enable = GL_FALSE; - GLuint saved_shader_program = 0; - unsigned int saved_active_texture; - struct gl_array_object *arraySave = NULL; - GLfloat saved_near, saved_far; - - if (!meta->clear.arrayObj) - meta_init_clear(meta); - - assert((mask & ~(TRI_CLEAR_COLOR_BITS | BUFFER_BIT_DEPTH | - BUFFER_BIT_STENCIL)) == 0); - - _mesa_PushAttrib(GL_COLOR_BUFFER_BIT | - GL_DEPTH_BUFFER_BIT | - GL_ENABLE_BIT | - GL_POLYGON_BIT | - GL_STENCIL_BUFFER_BIT | - GL_TRANSFORM_BIT | - GL_CURRENT_BIT); - saved_active_texture = ctx->Texture.CurrentUnit; - - /* Disable existing GL state we don't want to apply to a clear. */ - _mesa_Disable(GL_ALPHA_TEST); - _mesa_Disable(GL_BLEND); - _mesa_Disable(GL_CULL_FACE); - _mesa_Disable(GL_FOG); - _mesa_Disable(GL_POLYGON_SMOOTH); - _mesa_Disable(GL_POLYGON_STIPPLE); - _mesa_Disable(GL_POLYGON_OFFSET_FILL); - _mesa_Disable(GL_LIGHTING); - _mesa_Disable(GL_CLIP_PLANE0); - _mesa_Disable(GL_CLIP_PLANE1); - _mesa_Disable(GL_CLIP_PLANE2); - _mesa_Disable(GL_CLIP_PLANE3); - _mesa_Disable(GL_CLIP_PLANE4); - _mesa_Disable(GL_CLIP_PLANE5); - _mesa_PolygonMode(GL_FRONT_AND_BACK, GL_FILL); - if (ctx->Extensions.ARB_fragment_program && ctx->FragmentProgram.Enabled) { - saved_fp_enable = GL_TRUE; - _mesa_Disable(GL_FRAGMENT_PROGRAM_ARB); - } - if (ctx->Extensions.ARB_vertex_program && ctx->VertexProgram.Enabled) { - saved_vp_enable = GL_TRUE; - _mesa_Disable(GL_VERTEX_PROGRAM_ARB); - } - if (ctx->Extensions.ARB_shader_objects && ctx->Shader.CurrentProgram) { - saved_shader_program = ctx->Shader.CurrentProgram->Name; - _mesa_UseProgramObjectARB(0); - } - - if (ctx->Texture._EnabledUnits != 0) { - int i; - - for (i = 0; i < ctx->Const.MaxTextureUnits; i++) { - _mesa_ActiveTextureARB(GL_TEXTURE0 + i); - _mesa_Disable(GL_TEXTURE_1D); - _mesa_Disable(GL_TEXTURE_2D); - _mesa_Disable(GL_TEXTURE_3D); - if (ctx->Extensions.ARB_texture_cube_map) - _mesa_Disable(GL_TEXTURE_CUBE_MAP_ARB); - if (ctx->Extensions.NV_texture_rectangle) - _mesa_Disable(GL_TEXTURE_RECTANGLE_NV); - if (ctx->Extensions.MESA_texture_array) { - _mesa_Disable(GL_TEXTURE_1D_ARRAY_EXT); - _mesa_Disable(GL_TEXTURE_2D_ARRAY_EXT); - } - } - } - - /* save current array object, bind our private one */ - _mesa_reference_array_object(ctx, &arraySave, ctx->Array.ArrayObj); - ctx->NewState |= _NEW_ARRAY; - ctx->Array.NewState |= _NEW_ARRAY_ALL; - _mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, meta->clear.arrayObj); - - meta_set_passthrough_transform(meta); - - for (i = 0; i < 4; i++) { - COPY_4FV(meta->clear.color[i], ctx->Color.ClearColor); - } - - /* convert clear Z from [0,1] to NDC coord in [-1,1] */ - dst_z = -1.0 + 2.0 * ctx->Depth.Clear; - - /* The ClearDepth value is unaffected by DepthRange, so do a default - * mapping. - */ - saved_near = ctx->Viewport.Near; - saved_far = ctx->Viewport.Far; - _mesa_DepthRange(0.0, 1.0); - - /* Prepare the vertices, which are the same regardless of which buffer we're - * drawing to. - */ - meta->clear.vertices[0][0] = fb->_Xmin; - meta->clear.vertices[0][1] = fb->_Ymin; - meta->clear.vertices[0][2] = dst_z; - meta->clear.vertices[1][0] = fb->_Xmax; - meta->clear.vertices[1][1] = fb->_Ymin; - meta->clear.vertices[1][2] = dst_z; - meta->clear.vertices[2][0] = fb->_Xmax; - meta->clear.vertices[2][1] = fb->_Ymax; - meta->clear.vertices[2][2] = dst_z; - meta->clear.vertices[3][0] = fb->_Xmin; - meta->clear.vertices[3][1] = fb->_Ymax; - meta->clear.vertices[3][2] = dst_z; - - while (mask != 0) { - GLuint this_mask = 0; - GLuint color_bit; - - color_bit = _mesa_ffs(mask & TRI_CLEAR_COLOR_BITS); - if (color_bit != 0) - this_mask |= (1 << (color_bit - 1)); - - /* Clear depth/stencil in the same pass as color. */ - this_mask |= (mask & (BUFFER_BIT_DEPTH | BUFFER_BIT_STENCIL)); - - /* Select the current color buffer and use the color write mask if - * we have one, otherwise don't write any color channels. - */ - if (this_mask & BUFFER_BIT_FRONT_LEFT) - _mesa_DrawBuffer(GL_FRONT_LEFT); - else if (this_mask & BUFFER_BIT_BACK_LEFT) - _mesa_DrawBuffer(GL_BACK_LEFT); - else if (color_bit != 0) - _mesa_DrawBuffer(GL_COLOR_ATTACHMENT0 + - (color_bit - BUFFER_COLOR0 - 1)); - else - _mesa_ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); - - /* Control writing of the depth clear value to depth. */ - if (this_mask & BUFFER_BIT_DEPTH) { - _mesa_DepthFunc(GL_ALWAYS); - _mesa_Enable(GL_DEPTH_TEST); - } else { - _mesa_Disable(GL_DEPTH_TEST); - _mesa_DepthMask(GL_FALSE); - } - - /* Control writing of the stencil clear value to stencil. */ - if (this_mask & BUFFER_BIT_STENCIL) { - _mesa_Enable(GL_STENCIL_TEST); - _mesa_StencilOpSeparate(GL_FRONT_AND_BACK, - GL_REPLACE, GL_REPLACE, GL_REPLACE); - _mesa_StencilFuncSeparate(GL_FRONT_AND_BACK, GL_ALWAYS, - ctx->Stencil.Clear & 0x7fffffff, - ctx->Stencil.WriteMask[0]); - } else { - _mesa_Disable(GL_STENCIL_TEST); - } - - _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); - - mask &= ~this_mask; - } - - meta_restore_transform(meta); - - _mesa_ActiveTextureARB(GL_TEXTURE0 + saved_active_texture); - if (saved_fp_enable) - _mesa_Enable(GL_FRAGMENT_PROGRAM_ARB); - if (saved_vp_enable) - _mesa_Enable(GL_VERTEX_PROGRAM_ARB); - - if (saved_shader_program) - _mesa_UseProgramObjectARB(saved_shader_program); - - _mesa_DepthRange(saved_near, saved_far); - _mesa_PopAttrib(); - - /* restore current array object */ - ctx->NewState |= _NEW_ARRAY; - ctx->Array.NewState |= _NEW_ARRAY_ALL; - _mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, arraySave); - _mesa_reference_array_object(ctx, &arraySave, NULL); -} - void meta_init_metaops(GLcontext *ctx, struct dri_metaops *meta) { meta->ctx = ctx; @@ -538,7 +294,5 @@ void meta_init_metaops(GLcontext *ctx, struct dri_metaops *meta) void meta_destroy_metaops(struct dri_metaops *meta) { - if (meta->clear.arrayObj) - _mesa_delete_array_object(meta->ctx, meta->clear.arrayObj); } diff --git a/src/mesa/drivers/dri/common/dri_metaops.h b/src/mesa/drivers/dri/common/dri_metaops.h index bb4079d535..2487145326 100644 --- a/src/mesa/drivers/dri/common/dri_metaops.h +++ b/src/mesa/drivers/dri/common/dri_metaops.h @@ -25,25 +25,10 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * **************************************************************************/ + #ifndef DRI_METAOPS_H #define DRI_METAOPS_H -#define TRI_CLEAR_COLOR_BITS (BUFFER_BIT_BACK_LEFT | \ - BUFFER_BIT_FRONT_LEFT | \ - BUFFER_BIT_COLOR0 | \ - BUFFER_BIT_COLOR1 | \ - BUFFER_BIT_COLOR2 | \ - BUFFER_BIT_COLOR3 | \ - BUFFER_BIT_COLOR4 | \ - BUFFER_BIT_COLOR5 | \ - BUFFER_BIT_COLOR6 | \ - BUFFER_BIT_COLOR7) - -struct dri_meta_clear { - struct gl_array_object *arrayObj; - GLfloat vertices[4][3]; - GLfloat color[4][4]; -}; struct dri_metaops { GLcontext *ctx; @@ -69,8 +54,6 @@ struct dri_metaops { GLint saved_vp_x, saved_vp_y; GLsizei saved_vp_width, saved_vp_height; GLenum saved_matrix_mode; - - struct dri_meta_clear clear; }; @@ -91,9 +74,8 @@ void meta_restore_fragment_program(struct dri_metaops *meta); void meta_set_default_texrect(struct dri_metaops *meta); void meta_restore_texcoords(struct dri_metaops *meta); -void meta_clear_tris(struct dri_metaops *meta, GLbitfield mask); void meta_init_metaops(GLcontext *ctx, struct dri_metaops *meta); void meta_destroy_metaops(struct dri_metaops *meta); -#endif +#endif -- cgit v1.2.3 From d55a28e3dc712342e4a2f25aa9b661add7461e82 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 15:34:16 -0600 Subject: mesa: replace 8 with MAX_TEXTURE_UNITS --- src/mesa/main/texenvprogram.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 3e5d65c875..f19bb99300 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -109,7 +109,7 @@ struct state_key { GLuint NumArgsA:3; GLuint ModeA:5; struct mode_opt OptA[MAX_COMBINER_TERMS]; - } unit[8]; + } unit[MAX_TEXTURE_UNITS]; }; #define FOG_LINEAR 0 -- cgit v1.2.3 From f337e2c4954b4779dcf2c2b4e0e068cb3ed7b841 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 15:49:55 -0600 Subject: mesa: minor code clean-ups, comments --- src/mesa/main/texenvprogram.c | 58 +++++++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index f19bb99300..0898581485 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -83,8 +83,8 @@ texenv_doing_secondary_color(GLcontext *ctx) #define DISASSEM (MESA_VERBOSE & VERBOSE_DISASSEM) struct mode_opt { - GLuint Source:4; - GLuint Operand:3; + GLuint Source:4; /**< SRC_x */ + GLuint Operand:3; /**< OPR_x */ }; struct state_key { @@ -103,11 +103,11 @@ struct state_key { GLuint ScaleShiftA:2; GLuint NumArgsRGB:3; - GLuint ModeRGB:5; + GLuint ModeRGB:5; /**< MODE_x */ struct mode_opt OptRGB[MAX_COMBINER_TERMS]; GLuint NumArgsA:3; - GLuint ModeA:5; + GLuint ModeA:5; /**< MODE_x */ struct mode_opt OptA[MAX_COMBINER_TERMS]; } unit[MAX_TEXTURE_UNITS]; }; @@ -240,7 +240,12 @@ static GLuint translate_mode( GLenum envMode, GLenum mode ) } } + #define TEXTURE_UNKNOWN_INDEX 7 + +/** + * Translate TEXTURE_x_BIT to TEXTURE_x_INDEX. + */ static GLuint translate_tex_src_bit( GLbitfield bit ) { /* make sure number of switch cases is correct */ @@ -259,6 +264,7 @@ static GLuint translate_tex_src_bit( GLbitfield bit ) } } + #define VERT_BIT_TEX_ANY (0xff << VERT_ATTRIB_TEX0) #define VERT_RESULT_TEX_ANY (0xff << VERT_RESULT_TEX0) @@ -375,51 +381,50 @@ static void make_state_key( GLcontext *ctx, struct state_key *key ) { GLuint i, j; GLbitfield inputs_referenced = FRAG_BIT_COL0; - GLbitfield inputs_available = get_fp_input_mask( ctx ); + const GLbitfield inputs_available = get_fp_input_mask( ctx ); memset(key, 0, sizeof(*key)); /* _NEW_TEXTURE */ for (i = 0; i < ctx->Const.MaxTextureUnits; i++) { const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i]; + const struct gl_texture_object *texObj = texUnit->_Current; + const struct gl_tex_env_combine_state *comb = texUnit->_CurrentCombine; GLenum format; if (!texUnit->_ReallyEnabled || !texUnit->Enabled) continue; - format = texUnit->_Current->Image[0][texUnit->_Current->BaseLevel]->_BaseFormat; + format = texObj->Image[0][texObj->BaseLevel]->_BaseFormat; key->unit[i].enabled = 1; key->enabled_units |= (1<nr_enabled_units = i+1; inputs_referenced |= FRAG_BIT_TEX(i); - key->unit[i].source_index = - translate_tex_src_bit(texUnit->_ReallyEnabled); - key->unit[i].shadow = ((texUnit->_Current->CompareMode == GL_COMPARE_R_TO_TEXTURE) && + key->unit[i].source_index = + translate_tex_src_bit(texUnit->_ReallyEnabled); + + key->unit[i].shadow = ((texObj->CompareMode == GL_COMPARE_R_TO_TEXTURE) && ((format == GL_DEPTH_COMPONENT) || (format == GL_DEPTH_STENCIL_EXT))); - key->unit[i].NumArgsRGB = texUnit->_CurrentCombine->_NumArgsRGB; - key->unit[i].NumArgsA = texUnit->_CurrentCombine->_NumArgsA; + key->unit[i].NumArgsRGB = comb->_NumArgsRGB; + key->unit[i].NumArgsA = comb->_NumArgsA; key->unit[i].ModeRGB = - translate_mode(texUnit->EnvMode, texUnit->_CurrentCombine->ModeRGB); + translate_mode(texUnit->EnvMode, comb->ModeRGB); key->unit[i].ModeA = - translate_mode(texUnit->EnvMode, texUnit->_CurrentCombine->ModeA); + translate_mode(texUnit->EnvMode, comb->ModeA); - key->unit[i].ScaleShiftRGB = texUnit->_CurrentCombine->ScaleShiftRGB; - key->unit[i].ScaleShiftA = texUnit->_CurrentCombine->ScaleShiftA; + key->unit[i].ScaleShiftRGB = comb->ScaleShiftRGB; + key->unit[i].ScaleShiftA = comb->ScaleShiftA; for (j = 0; j < MAX_COMBINER_TERMS; j++) { - key->unit[i].OptRGB[j].Operand = - translate_operand(texUnit->_CurrentCombine->OperandRGB[j]); - key->unit[i].OptA[j].Operand = - translate_operand(texUnit->_CurrentCombine->OperandA[j]); - key->unit[i].OptRGB[j].Source = - translate_source(texUnit->_CurrentCombine->SourceRGB[j]); - key->unit[i].OptA[j].Source = - translate_source(texUnit->_CurrentCombine->SourceA[j]); + key->unit[i].OptRGB[j].Operand = translate_operand(comb->OperandRGB[j]); + key->unit[i].OptA[j].Operand = translate_operand(comb->OperandA[j]); + key->unit[i].OptRGB[j].Source = translate_source(comb->SourceRGB[j]); + key->unit[i].OptA[j].Source = translate_source(comb->SourceA[j]); } if (key->unit[i].ModeRGB == MODE_BUMP_ENVMAP_ATI) { @@ -952,6 +957,11 @@ static struct ureg emit_combine_source( struct texenv_fragment_program *p, } } +/** + * Check if the RGB and Alpha sources and operands match for the given + * texture unit's combinder state. When the RGB and A sources and + * operands match, we can emit fewer instructions. + */ static GLboolean args_match( const struct state_key *key, GLuint unit ) { GLuint i, nr = key->unit[unit].NumArgsRGB; @@ -1234,7 +1244,7 @@ static void load_texture( struct texenv_fragment_program *p, GLuint unit ) if (texTarget == TEXTURE_UNKNOWN_INDEX) program_error(p, "TexSrcBit"); - + /* TODO: Use D0_MASK_XY where possible. */ if (p->state->unit[unit].enabled) { -- cgit v1.2.3 From b5ec0a68589c5d8f0d4be2556ea6d6b01fd4e37d Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 15:51:23 -0600 Subject: mesa: simplify translate_tex_src_bit() --- src/mesa/main/texenvprogram.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 0898581485..ea0aa448e1 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -241,27 +241,13 @@ static GLuint translate_mode( GLenum envMode, GLenum mode ) } -#define TEXTURE_UNKNOWN_INDEX 7 - /** * Translate TEXTURE_x_BIT to TEXTURE_x_INDEX. */ static GLuint translate_tex_src_bit( GLbitfield bit ) { - /* make sure number of switch cases is correct */ - assert(NUM_TEXTURE_TARGETS == 7); - switch (bit) { - case TEXTURE_1D_BIT: return TEXTURE_1D_INDEX; - case TEXTURE_2D_BIT: return TEXTURE_2D_INDEX; - case TEXTURE_RECT_BIT: return TEXTURE_RECT_INDEX; - case TEXTURE_3D_BIT: return TEXTURE_3D_INDEX; - case TEXTURE_CUBE_BIT: return TEXTURE_CUBE_INDEX; - case TEXTURE_1D_ARRAY_BIT: return TEXTURE_1D_ARRAY_INDEX; - case TEXTURE_2D_ARRAY_BIT: return TEXTURE_2D_ARRAY_INDEX; - default: - assert(0); - return TEXTURE_UNKNOWN_INDEX; - } + ASSERT(bit); + return _mesa_ffs(bit) - 1; } @@ -1230,7 +1216,7 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) static void load_texture( struct texenv_fragment_program *p, GLuint unit ) { if (is_undef(p->src_texture[unit])) { - GLuint texTarget = p->state->unit[unit].source_index; + const GLuint texTarget = p->state->unit[unit].source_index; struct ureg texcoord; struct ureg tmp = get_tex_temp( p ); @@ -1242,9 +1228,6 @@ static void load_texture( struct texenv_fragment_program *p, GLuint unit ) texcoord = p->texcoord_tex[unit]; } - if (texTarget == TEXTURE_UNKNOWN_INDEX) - program_error(p, "TexSrcBit"); - /* TODO: Use D0_MASK_XY where possible. */ if (p->state->unit[unit].enabled) { -- cgit v1.2.3 From 9ed0315271c38f5fe9cdd65020a54cbb7f61ed2b Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 15:57:36 -0600 Subject: mesa: more comments, clean-ups --- src/mesa/main/texenvprogram.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index ea0aa448e1..54960a1fa1 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -92,21 +92,21 @@ struct state_key { GLuint enabled_units:8; GLuint separate_specular:1; GLuint fog_enabled:1; - GLuint fog_mode:2; + GLuint fog_mode:2; /**< FOG_x */ GLuint inputs_available:12; struct { GLuint enabled:1; - GLuint source_index:3; /* one of TEXTURE_1D/2D/3D/CUBE/RECT_INDEX */ + GLuint source_index:3; /**< TEXTURE_x_INDEX */ GLuint shadow:1; GLuint ScaleShiftRGB:2; GLuint ScaleShiftA:2; - GLuint NumArgsRGB:3; + GLuint NumArgsRGB:3; /**< up to MAX_COMBINER_TERMS */ GLuint ModeRGB:5; /**< MODE_x */ struct mode_opt OptRGB[MAX_COMBINER_TERMS]; - GLuint NumArgsA:3; + GLuint NumArgsA:3; /**< up to MAX_COMBINER_TERMS */ GLuint ModeA:5; /**< MODE_x */ struct mode_opt OptA[MAX_COMBINER_TERMS]; } unit[MAX_TEXTURE_UNITS]; @@ -705,7 +705,7 @@ emit_op(struct texenv_fragment_program *p, struct ureg src1, struct ureg src2 ) { - GLuint nr = p->program->Base.NumInstructions++; + const GLuint nr = p->program->Base.NumInstructions++; struct prog_instruction *inst = &p->program->Base.Instructions[nr]; assert(nr < MAX_INSTRUCTIONS); @@ -950,15 +950,15 @@ static struct ureg emit_combine_source( struct texenv_fragment_program *p, */ static GLboolean args_match( const struct state_key *key, GLuint unit ) { - GLuint i, nr = key->unit[unit].NumArgsRGB; + GLuint i, numArgs = key->unit[unit].NumArgsRGB; - for (i = 0 ; i < nr ; i++) { + for (i = 0 ; i < numArgs ; i++) { if (key->unit[unit].OptA[i].Source != key->unit[unit].OptRGB[i].Source) return GL_FALSE; - switch(key->unit[unit].OptA[i].Operand) { + switch (key->unit[unit].OptA[i].Operand) { case OPR_SRC_ALPHA: - switch(key->unit[unit].OptRGB[i].Operand) { + switch (key->unit[unit].OptRGB[i].Operand) { case OPR_SRC_COLOR: case OPR_SRC_ALPHA: break; @@ -967,7 +967,7 @@ static GLboolean args_match( const struct state_key *key, GLuint unit ) } break; case OPR_ONE_MINUS_SRC_ALPHA: - switch(key->unit[unit].OptRGB[i].Operand) { + switch (key->unit[unit].OptRGB[i].Operand) { case OPR_ONE_MINUS_SRC_COLOR: case OPR_ONE_MINUS_SRC_ALPHA: break; -- cgit v1.2.3 From c7ba2b8622d8a924b3ac4c7d94a3c19d12e88e03 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 15:58:49 -0600 Subject: mesa: remove unused ureg:negateabs field --- src/mesa/main/texenvprogram.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 54960a1fa1..869d8d026b 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -458,9 +458,8 @@ struct ureg { GLuint idx:8; GLuint negatebase:1; GLuint abs:1; - GLuint negateabs:1; GLuint swz:12; - GLuint pad:5; + GLuint pad:6; }; static const struct ureg undef = { @@ -469,7 +468,6 @@ static const struct ureg undef = { 0, 0, 0, - 0, 0 }; @@ -516,7 +514,6 @@ static struct ureg make_ureg(GLuint file, GLuint idx) reg.idx = idx; reg.negatebase = 0; reg.abs = 0; - reg.negateabs = 0; reg.swz = SWIZZLE_NOOP; reg.pad = 0; return reg; -- cgit v1.2.3 From 1480bcacfec8f215c5827278a5f984c6bf68ba69 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 16:01:12 -0600 Subject: mesa: remove unused ureg::abs field --- src/mesa/main/texenvprogram.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 869d8d026b..8c588538b1 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -457,9 +457,8 @@ struct ureg { GLuint file:4; GLuint idx:8; GLuint negatebase:1; - GLuint abs:1; GLuint swz:12; - GLuint pad:6; + GLuint pad:7; }; static const struct ureg undef = { @@ -467,7 +466,6 @@ static const struct ureg undef = { ~0, 0, 0, - 0, 0 }; @@ -513,7 +511,6 @@ static struct ureg make_ureg(GLuint file, GLuint idx) reg.file = file; reg.idx = idx; reg.negatebase = 0; - reg.abs = 0; reg.swz = SWIZZLE_NOOP; reg.pad = 0; return reg; @@ -679,7 +676,7 @@ static void emit_arg( struct prog_src_register *reg, reg->Index = ureg.idx; reg->Swizzle = ureg.swz; reg->Negate = ureg.negatebase ? NEGATE_XYZW : NEGATE_NONE; - reg->Abs = ureg.abs; + reg->Abs = GL_FALSE; } static void emit_dst( struct prog_dst_register *dst, -- cgit v1.2.3 From 95136694ab28829f75c0a9f955a79836a0c433c7 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 16:03:28 -0600 Subject: mesa: remove unused texenv_fragment_program::ctx field --- src/mesa/main/texenvprogram.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 8c588538b1..5c61c97354 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -474,7 +474,6 @@ static const struct ureg undef = { */ struct texenv_fragment_program { struct gl_fragment_program *program; - GLcontext *ctx; struct state_key *state; GLbitfield alu_temps; /**< Track texture indirections, see spec. */ @@ -1345,7 +1344,6 @@ create_new_program(GLcontext *ctx, struct state_key *key, struct ureg cf, out; _mesa_memset(&p, 0, sizeof(p)); - p.ctx = ctx; p.state = key; p.program = program; -- cgit v1.2.3 From 25e5a6f279cec0863dcc341805aa7ca71189b626 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 16:05:07 -0600 Subject: mesa: updated #includes --- src/mesa/main/texenvprogram.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 5c61c97354..7efb10c5a0 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -27,8 +27,7 @@ **************************************************************************/ #include "glheader.h" -#include "macros.h" -#include "enums.h" +#include "imports.h" #include "shader/program.h" #include "shader/prog_parameter.h" #include "shader/prog_cache.h" -- cgit v1.2.3 From 84d6bed4d6844110af23a995e2fad0280a92d46c Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 16:10:57 -0600 Subject: mesa: change conditional to match the previous one --- src/mesa/main/texenvprogram.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 7efb10c5a0..b316c25809 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -1401,7 +1401,7 @@ create_new_program(GLcontext *ctx, struct state_key *key, /* Second pass - emit combine instructions to build final color: */ for (unit = 0 ; unit < ctx->Const.MaxTextureUnits; unit++) - if (key->enabled_units & (1<unit[unit].enabled) { p.src_previous = emit_texenv( &p, unit ); reserve_temp(&p, p.src_previous); /* don't re-use this temp reg */ release_temps(ctx, &p); /* release all temps */ -- cgit v1.2.3 From 457e427e32324884acb064b756e327dc131ff135 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 16:22:02 -0600 Subject: mesa: more clean-ups --- src/mesa/main/texenvprogram.c | 55 ++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index b316c25809..5913957969 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -944,7 +944,7 @@ static GLboolean args_match( const struct state_key *key, GLuint unit ) { GLuint i, numArgs = key->unit[unit].NumArgsRGB; - for (i = 0 ; i < numArgs ; i++) { + for (i = 0; i < numArgs; i++) { if (key->unit[unit].OptA[i].Source != key->unit[unit].OptRGB[i].Source) return GL_FALSE; @@ -1278,7 +1278,7 @@ static GLboolean load_texenv_source( struct texenv_fragment_program *p, * Generate instructions for loading all texture source terms. */ static GLboolean -load_texunit_sources( struct texenv_fragment_program *p, int unit ) +load_texunit_sources( struct texenv_fragment_program *p, GLuint unit ) { const struct state_key *key = p->state; GLuint i; @@ -1298,7 +1298,7 @@ load_texunit_sources( struct texenv_fragment_program *p, int unit ) * Generate instructions for loading bump map textures. */ static GLboolean -load_texunit_bumpmap( struct texenv_fragment_program *p, int unit ) +load_texunit_bumpmap( struct texenv_fragment_program *p, GLuint unit ) { const struct state_key *key = p->state; GLuint bumpedUnitNr = key->unit[unit].OptRGB[1].Source - SRC_TEXTURE0; @@ -1314,17 +1314,20 @@ load_texunit_bumpmap( struct texenv_fragment_program *p, int unit ) texcDst = get_tex_temp( p ); p->texcoord_tex[bumpedUnitNr] = texcDst; - /* apply rot matrix and add coords to be available in next phase */ - /* dest = (Arg0.xxxx * rotMat0 + Arg1) + (Arg0.yyyy * rotMat1) */ - /* note only 2 coords are affected the rest are left unchanged (mul by 0) */ + /* Apply rot matrix and add coords to be available in next phase. + * dest = (Arg0.xxxx * rotMat0 + Arg1) + (Arg0.yyyy * rotMat1) + * note only 2 coords are affected the rest are left unchanged (mul by 0) + */ emit_arith( p, OPCODE_MAD, texcDst, WRITEMASK_XYZW, 0, swizzle1(bumpMapRes, SWIZZLE_X), rotMat0, texcSrc ); emit_arith( p, OPCODE_MAD, texcDst, WRITEMASK_XYZW, 0, swizzle1(bumpMapRes, SWIZZLE_Y), rotMat1, texcDst ); - /* move 0,0,0,1 into bumpmap src if someone (crossbar) is foolish - enough to access this later, should optimize away */ - emit_arith( p, OPCODE_MOV, bumpMapRes, WRITEMASK_XYZW, 0, constdudvcolor, undef, undef ); + /* Move 0,0,0,1 into bumpmap src if someone (crossbar) is foolish + * enough to access this later, should optimize away. + */ + emit_arith( p, OPCODE_MOV, bumpMapRes, WRITEMASK_XYZW, 0, + constdudvcolor, undef, undef ); return GL_TRUE; } @@ -1351,17 +1354,17 @@ create_new_program(GLcontext *ctx, struct state_key *key, */ p.program->Base.Instructions = instBuffer; p.program->Base.Target = GL_FRAGMENT_PROGRAM_ARB; - p.program->Base.NumTexIndirections = 1; + p.program->Base.String = NULL; + p.program->Base.NumTexIndirections = 1; /* is this right? */ p.program->Base.NumTexInstructions = 0; p.program->Base.NumAluInstructions = 0; - p.program->Base.String = NULL; - p.program->Base.NumInstructions = - p.program->Base.NumTemporaries = - p.program->Base.NumParameters = - p.program->Base.NumAttributes = p.program->Base.NumAddressRegs = 0; + p.program->Base.NumInstructions = 0; + p.program->Base.NumTemporaries = 0; + p.program->Base.NumParameters = 0; + p.program->Base.NumAttributes = 0; + p.program->Base.NumAddressRegs = 0; p.program->Base.Parameters = _mesa_new_parameter_list(); - - p.program->Base.InputsRead = 0; + p.program->Base.InputsRead = 0x0; p.program->Base.OutputsWritten = 1 << FRAG_RESULT_COLOR; for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) { @@ -1378,10 +1381,12 @@ create_new_program(GLcontext *ctx, struct state_key *key, release_temps(ctx, &p); if (key->enabled_units) { - GLboolean needbumpstage = GL_FALSE; + GLboolean needbumpstage = GL_FALSE; + /* Zeroth pass - bump map textures first */ - for (unit = 0 ; unit < ctx->Const.MaxTextureUnits ; unit++) - if (key->unit[unit].enabled && key->unit[unit].ModeRGB == MODE_BUMP_ENVMAP_ATI) { + for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) + if (key->unit[unit].enabled && + key->unit[unit].ModeRGB == MODE_BUMP_ENVMAP_ATI) { needbumpstage = GL_TRUE; load_texunit_bumpmap( &p, unit ); } @@ -1392,7 +1397,7 @@ create_new_program(GLcontext *ctx, struct state_key *key, * all referenced texture sources and emit texld instructions * for each: */ - for (unit = 0 ; unit < ctx->Const.MaxTextureUnits ; unit++) + for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) if (key->unit[unit].enabled) { load_texunit_sources( &p, unit ); p.last_tex_stage = unit; @@ -1400,7 +1405,7 @@ create_new_program(GLcontext *ctx, struct state_key *key, /* Second pass - emit combine instructions to build final color: */ - for (unit = 0 ; unit < ctx->Const.MaxTextureUnits; unit++) + for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) if (key->unit[unit].enabled) { p.src_previous = emit_texenv( &p, unit ); reserve_temp(&p, p.src_previous); /* don't re-use this temp reg */ @@ -1434,9 +1439,11 @@ create_new_program(GLcontext *ctx, struct state_key *key, * a reduced value and not what is expected in FogOption */ p.program->FogOption = ctx->Fog.Mode; - p.program->Base.InputsRead |= FRAG_BIT_FOGC; /* XXX new */ - } else + p.program->Base.InputsRead |= FRAG_BIT_FOGC; + } + else { p.program->FogOption = GL_NONE; + } if (p.program->Base.NumTexIndirections > ctx->Const.FragmentProgram.MaxTexIndirections) program_error(&p, "Exceeded max nr indirect texture lookups"); -- cgit v1.2.3 From 921bbfc94278d6897d44d1b6ae230315e2ab6e8c Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 16:26:03 -0600 Subject: mesa: remove redundant assignments --- src/mesa/main/texstate.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index 6e0c0c688a..861c5f37c4 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -729,14 +729,7 @@ init_texture_unit( GLcontext *ctx, GLuint unit ) ASSIGN_4V( texUnit->GenT.EyePlane, 0.0, 1.0, 0.0, 0.0 ); ASSIGN_4V( texUnit->GenR.EyePlane, 0.0, 0.0, 0.0, 0.0 ); ASSIGN_4V( texUnit->GenQ.EyePlane, 0.0, 0.0, 0.0, 0.0 ); - ASSIGN_4V( texUnit->GenS.ObjectPlane, 1.0, 0.0, 0.0, 0.0 ); - ASSIGN_4V( texUnit->GenT.ObjectPlane, 0.0, 1.0, 0.0, 0.0 ); - ASSIGN_4V( texUnit->GenR.ObjectPlane, 0.0, 0.0, 0.0, 0.0 ); - ASSIGN_4V( texUnit->GenQ.ObjectPlane, 0.0, 0.0, 0.0, 0.0 ); - ASSIGN_4V( texUnit->GenS.EyePlane, 1.0, 0.0, 0.0, 0.0 ); - ASSIGN_4V( texUnit->GenT.EyePlane, 0.0, 1.0, 0.0, 0.0 ); - ASSIGN_4V( texUnit->GenR.EyePlane, 0.0, 0.0, 0.0, 0.0 ); - ASSIGN_4V( texUnit->GenQ.EyePlane, 0.0, 0.0, 0.0, 0.0 ); + /* no mention of this in spec, but maybe id matrix expected? */ ASSIGN_4V( texUnit->RotMatrix, 1.0, 0.0, 0.0, 1.0 ); -- cgit v1.2.3 From 278e76832fc26678592368b7b89bfddc137e0e93 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 17:11:35 -0600 Subject: mesa: new _mesa_expand_bitmap() function --- src/mesa/main/image.c | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/mesa/main/image.h | 7 +++++ 2 files changed, 92 insertions(+) (limited to 'src') diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c index 006a55116b..baecbab0a3 100644 --- a/src/mesa/main/image.c +++ b/src/mesa/main/image.c @@ -1259,6 +1259,91 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, } +/** + * "Expand" a bitmap from 1-bit per pixel to 8-bits per pixel. + * This is typically used to convert a bitmap into a GLubyte/pixel texture. + * "On" bits will set texels to \p onValue. + * "Off" bits will not modify texels. + * \param width src bitmap width in pixels + * \param height src bitmap height in pixels + * \param unpack bitmap unpacking state + * \param bitmap the src bitmap data + * \param destBuffer start of dest buffer + * \param destStride row stride in dest buffer + * \param onValue if bit is 1, set destBuffer pixel to this value + */ +void +_mesa_expand_bitmap(GLsizei width, GLsizei height, + const struct gl_pixelstore_attrib *unpack, + const GLubyte *bitmap, + GLubyte *destBuffer, GLint destStride, + GLubyte onValue) +{ + const GLubyte *srcRow = (const GLubyte *) + _mesa_image_address2d(unpack, bitmap, width, height, + GL_COLOR_INDEX, GL_BITMAP, 0, 0); + const GLint srcStride = _mesa_image_row_stride(unpack, width, + GL_COLOR_INDEX, GL_BITMAP); + GLint row, col; + +#define SET_PIXEL(COL, ROW) \ + destBuffer[(ROW) * destStride + (COL)] = onValue; + + for (row = 0; row < height; row++) { + const GLubyte *src = srcRow; + + if (unpack->LsbFirst) { + /* Lsb first */ + GLubyte mask = 1U << (unpack->SkipPixels & 0x7); + for (col = 0; col < width; col++) { + + if (*src & mask) { + SET_PIXEL(col, row); + } + + if (mask == 128U) { + src++; + mask = 1U; + } + else { + mask = mask << 1; + } + } + + /* get ready for next row */ + if (mask != 1) + src++; + } + else { + /* Msb first */ + GLubyte mask = 128U >> (unpack->SkipPixels & 0x7); + for (col = 0; col < width; col++) { + + if (*src & mask) { + SET_PIXEL(col, row); + } + + if (mask == 1U) { + src++; + mask = 128U; + } + else { + mask = mask >> 1; + } + } + + /* get ready for next row */ + if (mask != 128) + src++; + } + + srcRow += srcStride; + } /* row */ + +#undef SET_PIXEL +} + + /**********************************************************************/ /***** Pixel processing functions ******/ /**********************************************************************/ diff --git a/src/mesa/main/image.h b/src/mesa/main/image.h index a082f37457..72717d6787 100644 --- a/src/mesa/main/image.h +++ b/src/mesa/main/image.h @@ -134,6 +134,13 @@ extern void _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, GLubyte *dest, const struct gl_pixelstore_attrib *packing ); +extern void +_mesa_expand_bitmap(GLsizei width, GLsizei height, + const struct gl_pixelstore_attrib *unpack, + const GLubyte *bitmap, + GLubyte *destBuffer, GLint destStride, + GLubyte onValue); + /** \name Pixel processing functions */ /*@{*/ -- cgit v1.2.3 From d5b6dd0001c90b896400e69067d21297d7601f32 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 17:11:59 -0600 Subject: st/mesa: use new _mesa_expand_bitmap() function --- src/mesa/state_tracker/st_cb_bitmap.c | 61 +++-------------------------------- 1 file changed, 4 insertions(+), 57 deletions(-) (limited to 'src') diff --git a/src/mesa/state_tracker/st_cb_bitmap.c b/src/mesa/state_tracker/st_cb_bitmap.c index ccf972f805..3171b67376 100644 --- a/src/mesa/state_tracker/st_cb_bitmap.c +++ b/src/mesa/state_tracker/st_cb_bitmap.c @@ -241,7 +241,7 @@ combined_bitmap_fragment_program(GLcontext *ctx) /** * Copy user-provide bitmap bits into texture buffer, expanding * bits into texels. - * "On" bits will set texels to 0xff. + * "On" bits will set texels to 0x0. * "Off" bits will not modify texels. * Note that the image is actually going to be upside down in * the texture. We deal with that with texcoords. @@ -253,63 +253,10 @@ unpack_bitmap(struct st_context *st, const GLubyte *bitmap, ubyte *destBuffer, uint destStride) { - GLint row, col; - -#define SET_PIXEL(COL, ROW) \ - destBuffer[(py + (ROW)) * destStride + px + (COL)] = 0x0; - - for (row = 0; row < height; row++) { - const GLubyte *src = (const GLubyte *) _mesa_image_address2d(unpack, - bitmap, width, height, GL_COLOR_INDEX, GL_BITMAP, row, 0); - - if (unpack->LsbFirst) { - /* Lsb first */ - GLubyte mask = 1U << (unpack->SkipPixels & 0x7); - for (col = 0; col < width; col++) { - - if (*src & mask) { - SET_PIXEL(col, row); - } - - if (mask == 128U) { - src++; - mask = 1U; - } - else { - mask = mask << 1; - } - } - - /* get ready for next row */ - if (mask != 1) - src++; - } - else { - /* Msb first */ - GLubyte mask = 128U >> (unpack->SkipPixels & 0x7); - for (col = 0; col < width; col++) { - - if (*src & mask) { - SET_PIXEL(col, row); - } - - if (mask == 1U) { - src++; - mask = 128U; - } - else { - mask = mask >> 1; - } - } - - /* get ready for next row */ - if (mask != 128) - src++; - } - - } /* row */ + destBuffer += py * destStride + px; -#undef SET_PIXEL + _mesa_expand_bitmap(width, height, unpack, bitmap, + destBuffer, destStride, 0x0); } -- cgit v1.2.3 From 29e22059a927a6279d035cdb149b053f8a3e0bf4 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 17:12:47 -0600 Subject: intel: use _mesa_expand_bitmap() to skip an intermediate buffer --- src/mesa/drivers/dri/intel/intel_pixel_bitmap.c | 27 ++++++------------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c index 540e7620a9..b543a0bbc3 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c @@ -93,19 +93,12 @@ static const GLubyte *map_pbo( GLcontext *ctx, return ADD_POINTERS(buf, bitmap); } -static GLboolean test_bit( const GLubyte *src, - GLuint bit ) +static GLboolean test_bit( const GLubyte *src, GLuint bit ) { return (src[bit/8] & (1<<(bit % 8))) ? 1 : 0; } -static GLboolean test_msb_bit(const GLubyte *src, GLuint bit) -{ - return (src[bit/8] & (1<<(7 - (bit % 8)))) ? 1 : 0; -} - -static void set_bit( GLubyte *dest, - GLuint bit ) +static void set_bit( GLubyte *dest, GLuint bit ) { dest[bit/8] |= 1 << (bit % 8); } @@ -365,9 +358,7 @@ intel_texture_bitmap(GLcontext * ctx, GLuint texname; GLfloat vertices[4][4]; GLint old_active_texture; - GLubyte *unpacked_bitmap; GLubyte *a8_bitmap; - int x, y; GLfloat dst_z; /* We need a fragment program for the KIL effect */ @@ -427,22 +418,16 @@ intel_texture_bitmap(GLcontext * ctx, return GL_FALSE; } - /* Convert the A1 bitmap to an A8 format suitable for glTexImage */ if (unpack->BufferObj->Name) { bitmap = map_pbo(ctx, width, height, unpack, bitmap); if (bitmap == NULL) return GL_TRUE; /* even though this is an error, we're done */ } - unpacked_bitmap = _mesa_unpack_bitmap(width, height, bitmap, - unpack); + + /* Convert the A1 bitmap to an A8 format suitable for glTexImage */ a8_bitmap = _mesa_calloc(width * height); - for (y = 0; y < height; y++) { - for (x = 0; x < width; x++) { - if (test_msb_bit(unpacked_bitmap, ALIGN(width, 8) * y + x)) - a8_bitmap[y * width + x] = 0xff; - } - } - _mesa_free(unpacked_bitmap); + _mesa_expand_bitmap(width, height, unpack, bitmap, a8_bitmap, width, 0xff); + if (unpack->BufferObj->Name) { /* done with PBO so unmap it now */ ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, -- cgit v1.2.3 From 282f578dbd790d7e5d7f371c51b72f116cda3934 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 1 Sep 2009 17:40:07 -0600 Subject: mesa: skip bitmap drawing code if width==0 or height==0 --- src/mesa/main/drawpix.c | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c index 67311f71a2..aef6585641 100644 --- a/src/mesa/main/drawpix.c +++ b/src/mesa/main/drawpix.c @@ -264,27 +264,30 @@ _mesa_Bitmap( GLsizei width, GLsizei height, if (ctx->RenderMode == GL_RENDER) { /* Truncate, to satisfy conformance tests (matches SGI's OpenGL). */ - const GLfloat epsilon = 0.0001F; - GLint x = IFLOOR(ctx->Current.RasterPos[0] + epsilon - xorig); - GLint y = IFLOOR(ctx->Current.RasterPos[1] + epsilon - yorig); - - if (ctx->Unpack.BufferObj->Name) { - /* unpack from PBO */ - if (!_mesa_validate_pbo_access(2, &ctx->Unpack, width, height, 1, - GL_COLOR_INDEX, GL_BITMAP, - (GLvoid *) bitmap)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glBitmap(invalid PBO access)"); - return; - } - if (_mesa_bufferobj_mapped(ctx->Unpack.BufferObj)) { - /* buffer is mapped - that's an error */ - _mesa_error(ctx, GL_INVALID_OPERATION, "glBitmap(PBO is mapped)"); - return; + if (width > 0 && height > 0) { + const GLfloat epsilon = 0.0001F; + GLint x = IFLOOR(ctx->Current.RasterPos[0] + epsilon - xorig); + GLint y = IFLOOR(ctx->Current.RasterPos[1] + epsilon - yorig); + + if (ctx->Unpack.BufferObj->Name) { + /* unpack from PBO */ + if (!_mesa_validate_pbo_access(2, &ctx->Unpack, width, height, 1, + GL_COLOR_INDEX, GL_BITMAP, + (GLvoid *) bitmap)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glBitmap(invalid PBO access)"); + return; + } + if (_mesa_bufferobj_mapped(ctx->Unpack.BufferObj)) { + /* buffer is mapped - that's an error */ + _mesa_error(ctx, GL_INVALID_OPERATION, + "glBitmap(PBO is mapped)"); + return; + } } - } - ctx->Driver.Bitmap( ctx, x, y, width, height, &ctx->Unpack, bitmap ); + ctx->Driver.Bitmap( ctx, x, y, width, height, &ctx->Unpack, bitmap ); + } } #if _HAVE_FULL_GL else if (ctx->RenderMode == GL_FEEDBACK) { -- cgit v1.2.3 From a82cd55a5cb1ad617960551560b107edffad1e9a Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Wed, 2 Sep 2009 12:03:42 +1000 Subject: nv50: SWZ is the same as MOV from our perspective --- src/gallium/drivers/nv50/nv50_program.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c index 289c3485e0..1cb1ce74bd 100644 --- a/src/gallium/drivers/nv50/nv50_program.c +++ b/src/gallium/drivers/nv50/nv50_program.c @@ -1495,6 +1495,7 @@ nv50_program_tx_insn(struct nv50_pc *pc, const union tgsi_full_token *tok) } break; case TGSI_OPCODE_MOV: + case TGSI_OPCODE_SWZ: for (c = 0; c < 4; c++) { if (!(mask & (1 << c))) continue; -- cgit v1.2.3 From 60b08eb1fdf287d28ec66b9282513ab35a61aee0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 31 Aug 2009 10:13:22 -0700 Subject: mesa: Make MultiDrawElements submit multiple primitives at once. Previously, MultiDrawElements just called DrawElements a bunch of times. By sending several primitives down the pipeline at once, we avoid a bunch of validation. On my GL demo, this improves fps by 2.5% (+/- .41%) and reduces CPU usage by 70.5% (+/- 2.9%) (n=3). Reviewed by: Ian Romanick --- src/mesa/main/api_exec.c | 1 - src/mesa/main/api_noop.c | 15 ++++ src/mesa/main/api_noop.h | 4 ++ src/mesa/main/dd.h | 6 +- src/mesa/main/dlist.c | 14 +--- src/mesa/main/varray.c | 18 ----- src/mesa/main/vtxfmt.c | 1 + src/mesa/main/vtxfmt_tmp.h | 12 ++++ src/mesa/vbo/vbo_exec_array.c | 157 ++++++++++++++++++++++++++++++++++++++++++ src/mesa/vbo/vbo_save_api.c | 5 ++ 10 files changed, 200 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index 199550b35d..cbf48615bf 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -529,7 +529,6 @@ _mesa_init_exec_table(struct _glapi_table *exec) /* 148. GL_EXT_multi_draw_arrays */ #if _HAVE_FULL_GL SET_MultiDrawArraysEXT(exec, _mesa_MultiDrawArraysEXT); - SET_MultiDrawElementsEXT(exec, _mesa_MultiDrawElementsEXT); #endif /* 173. GL_INGR_blend_func_separate */ diff --git a/src/mesa/main/api_noop.c b/src/mesa/main/api_noop.c index 66f9c4e6bd..09ba7e5062 100644 --- a/src/mesa/main/api_noop.c +++ b/src/mesa/main/api_noop.c @@ -772,6 +772,20 @@ _mesa_noop_DrawRangeElements(GLenum mode, CALL_DrawElements(GET_DISPATCH(), (mode, count, type, indices)); } +/* GL_EXT_multi_draw_arrays */ +void GLAPIENTRY +_mesa_noop_MultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, + const GLvoid **indices, GLsizei primcount) +{ + GLsizei i; + + for (i = 0; i < primcount; i++) { + if (count[i] > 0) { + CALL_DrawElements(GET_DISPATCH(), (mode, count[i], type, indices[i])); + } + } +} + /* * Eval Mesh */ @@ -980,6 +994,7 @@ _mesa_noop_vtxfmt_init( GLvertexformat *vfmt ) vfmt->DrawArrays = _mesa_noop_DrawArrays; vfmt->DrawElements = _mesa_noop_DrawElements; vfmt->DrawRangeElements = _mesa_noop_DrawRangeElements; + vfmt->MultiDrawElementsEXT = _mesa_noop_MultiDrawElements; vfmt->EvalMesh1 = _mesa_noop_EvalMesh1; vfmt->EvalMesh2 = _mesa_noop_EvalMesh2; } diff --git a/src/mesa/main/api_noop.h b/src/mesa/main/api_noop.h index 8bf4660800..a7956d00b3 100644 --- a/src/mesa/main/api_noop.h +++ b/src/mesa/main/api_noop.h @@ -40,6 +40,10 @@ _mesa_noop_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); extern void GLAPIENTRY _mesa_noop_Materialfv(GLenum face, GLenum pname, const GLfloat *param); +extern void GLAPIENTRY +_mesa_noop_MultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, + const GLvoid **indices, GLsizei primcount); + extern void _mesa_noop_vtxfmt_init(GLvertexformat *vfmt); diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 1d92e510a4..f02e868d4a 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -1150,7 +1150,11 @@ typedef struct { void (GLAPIENTRYP DrawRangeElements)( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices ); - /*@}*/ + void (GLAPIENTRYP MultiDrawElementsEXT)( GLenum mode, const GLsizei *count, + GLenum type, + const GLvoid **indices, + GLsizei primcount); + /*@}*/ /** * \name Eval diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 9b68b3e116..8cff9ea64a 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -7751,18 +7751,6 @@ exec_MultiDrawArraysEXT(GLenum mode, GLint * first, CALL_MultiDrawArraysEXT(ctx->Exec, (mode, first, count, primcount)); } -/* GL_EXT_multi_draw_arrays */ -static void GLAPIENTRY -exec_MultiDrawElementsEXT(GLenum mode, const GLsizei * count, - GLenum type, const GLvoid ** indices, - GLsizei primcount) -{ - GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, 0); - CALL_MultiDrawElementsEXT(ctx->Exec, - (mode, count, type, indices, primcount)); -} - /* GL_IBM_multimode_draw_arrays */ static void GLAPIENTRY exec_MultiModeDrawArraysIBM(const GLenum * mode, const GLint * first, @@ -8108,7 +8096,6 @@ _mesa_init_dlist_table(struct _glapi_table *table) /* 148. GL_EXT_multi_draw_arrays */ SET_MultiDrawArraysEXT(table, exec_MultiDrawArraysEXT); - SET_MultiDrawElementsEXT(table, exec_MultiDrawElementsEXT); /* 149. GL_EXT_fog_coord */ SET_FogCoordPointerEXT(table, exec_FogCoordPointerEXT); @@ -8723,6 +8710,7 @@ _mesa_save_vtxfmt_init(GLvertexformat * vfmt) vfmt->DrawArrays = 0; vfmt->DrawElements = 0; vfmt->DrawRangeElements = 0; + vfmt->MultiDrawElemementsEXT = 0; #endif } diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index be1c03cec2..6cd2a2f4f6 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -1038,24 +1038,6 @@ _mesa_MultiDrawArraysEXT( GLenum mode, GLint *first, } -/* GL_EXT_multi_draw_arrays */ -void GLAPIENTRY -_mesa_MultiDrawElementsEXT( GLenum mode, const GLsizei *count, GLenum type, - const GLvoid **indices, GLsizei primcount ) -{ - GET_CURRENT_CONTEXT(ctx); - GLint i; - - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - - for (i = 0; i < primcount; i++) { - if (count[i] > 0) { - CALL_DrawElements(ctx->Exec, (mode, count[i], type, indices[i])); - } - } -} - - /* GL_IBM_multimode_draw_arrays */ void GLAPIENTRY _mesa_MultiModeDrawArraysIBM( const GLenum * mode, const GLint * first, diff --git a/src/mesa/main/vtxfmt.c b/src/mesa/main/vtxfmt.c index 1f807dc3dc..8d6f560a80 100644 --- a/src/mesa/main/vtxfmt.c +++ b/src/mesa/main/vtxfmt.c @@ -133,6 +133,7 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt ) SET_DrawArrays(tab, vfmt->DrawArrays); SET_DrawElements(tab, vfmt->DrawElements); SET_DrawRangeElements(tab, vfmt->DrawRangeElements); + SET_MultiDrawElementsEXT(tab, vfmt->MultiDrawElementsEXT); SET_EvalMesh1(tab, vfmt->EvalMesh1); SET_EvalMesh2(tab, vfmt->EvalMesh2); ASSERT(tab->EvalMesh2); diff --git a/src/mesa/main/vtxfmt_tmp.h b/src/mesa/main/vtxfmt_tmp.h index 6f5d01e40f..1308d0aa46 100644 --- a/src/mesa/main/vtxfmt_tmp.h +++ b/src/mesa/main/vtxfmt_tmp.h @@ -335,6 +335,17 @@ static void GLAPIENTRY TAG(DrawElements)( GLenum mode, GLsizei count, GLenum typ CALL_DrawElements(GET_DISPATCH(), ( mode, count, type, indices )); } +static void GLAPIENTRY TAG(MultiDrawElementsEXT)( GLenum mode, + const GLsizei *count, + GLenum type, + const GLvoid **indices, + GLsizei primcount) +{ + PRE_LOOPBACK( MultiDrawElementsEXT ); + CALL_MultiDrawElementsEXT(GET_DISPATCH(), ( mode, count, type, indices, + primcount )); +} + static void GLAPIENTRY TAG(DrawRangeElements)( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices ) @@ -522,6 +533,7 @@ static GLvertexformat TAG(vtxfmt) = { TAG(DrawArrays), TAG(DrawElements), TAG(DrawRangeElements), + TAG(MultiDrawElementsEXT), TAG(EvalMesh1), TAG(EvalMesh2) }; diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c index 4148469ef4..12911f5750 100644 --- a/src/mesa/vbo/vbo_exec_array.c +++ b/src/mesa/vbo/vbo_exec_array.c @@ -33,6 +33,7 @@ #include "main/api_noop.h" #include "main/varray.h" #include "main/bufferobj.h" +#include "main/macros.h" #include "glapi/dispatch.h" #include "vbo_context.h" @@ -721,6 +722,152 @@ vbo_exec_DrawElements(GLenum mode, GLsizei count, GLenum type, count, type, indices); } +/* Inner support for both _mesa_DrawElements and _mesa_DrawRangeElements */ +static void +vbo_validated_multidrawelements(GLcontext *ctx, GLenum mode, + const GLsizei *count, GLenum type, + const GLvoid **indices, GLsizei primcount) +{ + struct vbo_context *vbo = vbo_context(ctx); + struct vbo_exec_context *exec = &vbo->exec; + struct _mesa_index_buffer ib; + struct _mesa_prim *prim; + unsigned int index_type_size = 0; + uintptr_t min_index_ptr, max_index_ptr; + GLboolean fallback = GL_FALSE; + int i; + + if (primcount == 0) + return; + + FLUSH_CURRENT( ctx, 0 ); + + if (ctx->NewState) + _mesa_update_state( ctx ); + + if (!_mesa_valid_to_render(ctx, "glMultiDrawElements")) { + return; + } + + if (ctx->NewState) + _mesa_update_state( ctx ); + + prim = _mesa_calloc(primcount * sizeof(*prim)); + if (prim == NULL) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glMultiDrawElements"); + return; + } + + /* Decide if we can do this all as one set of primitives sharing the + * same index buffer, or if we have to reset the index pointer per primitive. + */ + bind_arrays( ctx ); + + switch (type) { + case GL_UNSIGNED_INT: + index_type_size = 4; + break; + case GL_UNSIGNED_SHORT: + index_type_size = 2; + break; + case GL_UNSIGNED_BYTE: + index_type_size = 1; + break; + default: + assert(0); + } + + min_index_ptr = (uintptr_t)indices[0]; + max_index_ptr = 0; + for (i = 0; i < primcount; i++) { + min_index_ptr = MIN2(min_index_ptr, (uintptr_t)indices[i]); + max_index_ptr = MAX2(max_index_ptr, (uintptr_t)indices[i] + + index_type_size * count[i]); + } + + /* Check if we can handle this thing as a bunch of index offsets from the + * same index pointer. If we can't, then we have to fall back to doing + * a draw_prims per primitive. + */ + if (index_type_size != 1) { + for (i = 0; i < primcount; i++) { + if ((((uintptr_t)indices[i] - min_index_ptr) % index_type_size) != 0) { + fallback = GL_TRUE; + break; + } + } + } + + /* If the index buffer isn't in a VBO, then treating the application's + * subranges of the index buffer as one large index buffer may lead to + * us reading unmapped memory. + */ + if (!_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) + fallback = GL_TRUE; + + if (!fallback) { + ib.count = (max_index_ptr - min_index_ptr) / index_type_size; + ib.type = type; + ib.obj = ctx->Array.ElementArrayBufferObj; + ib.ptr = (void *)min_index_ptr; + + for (i = 0; i < primcount; i++) { + prim[i].begin = (i == 0); + prim[i].end = (i == primcount - 1); + prim[i].weak = 0; + prim[i].pad = 0; + prim[i].mode = mode; + prim[i].start = ((uintptr_t)indices[i] - min_index_ptr) / index_type_size; + prim[i].count = count[i]; + prim[i].indexed = 1; + } + + vbo->draw_prims(ctx, exec->array.inputs, prim, primcount, &ib, + GL_FALSE, ~0, ~0); + } else { + for (i = 0; i < primcount; i++) { + ib.count = count[i]; + ib.type = type; + ib.obj = ctx->Array.ElementArrayBufferObj; + ib.ptr = indices[i]; + + + prim[0].begin = 1; + prim[0].end = 1; + prim[0].weak = 0; + prim[0].pad = 0; + prim[0].mode = mode; + prim[0].start = 0; + prim[0].count = count[i]; + prim[0].indexed = 1; + } + + vbo->draw_prims(ctx, exec->array.inputs, prim, 1, &ib, + GL_FALSE, ~0, ~0); + } + _mesa_free(prim); +} + +static void GLAPIENTRY +vbo_exec_MultiDrawElements(GLenum mode, + const GLsizei *count, GLenum type, + const GLvoid **indices, + GLsizei primcount) +{ + GET_CURRENT_CONTEXT(ctx); + GLint i; + + ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); + + for (i = 0; i < primcount; i++) { + if (!_mesa_validate_DrawElements( ctx, mode, count[i], type, indices[i] )) + return; + } + + vbo_validated_multidrawelements(ctx, mode, count, type, indices, primcount); +} + + /*********************************************************************** * Initialization @@ -733,10 +880,12 @@ vbo_exec_array_init( struct vbo_exec_context *exec ) exec->vtxfmt.DrawArrays = vbo_exec_DrawArrays; exec->vtxfmt.DrawElements = vbo_exec_DrawElements; exec->vtxfmt.DrawRangeElements = vbo_exec_DrawRangeElements; + exec->vtxfmt.MultiDrawElementsEXT = vbo_exec_MultiDrawElements; #else exec->vtxfmt.DrawArrays = _mesa_noop_DrawArrays; exec->vtxfmt.DrawElements = _mesa_noop_DrawElements; exec->vtxfmt.DrawRangeElements = _mesa_noop_DrawRangeElements; + exec->vtxfmt.MultiDrawElementsEXT = _mesa_noop_MultiDrawElements; #endif } @@ -772,3 +921,11 @@ _mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, { vbo_exec_DrawRangeElements(mode, start, end, count, type, indices); } + +/* GL_EXT_multi_draw_arrays */ +void GLAPIENTRY +_mesa_MultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, + const GLvoid **indices, GLsizei primcount) +{ + vbo_exec_MultiDrawElements(mode, count, type, indices, primcount); +} diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c index cdbbc9c187..1771510d84 100644 --- a/src/mesa/vbo/vbo_save_api.c +++ b/src/mesa/vbo/vbo_save_api.c @@ -73,6 +73,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "main/dlist.h" #include "main/enums.h" #include "main/macros.h" +#include "main/api_noop.h" #include "main/api_validate.h" #include "main/api_arrayelt.h" #include "main/vtxfmt.h" @@ -1038,6 +1039,8 @@ static void _save_vtxfmt_init( GLcontext *ctx ) vfmt->DrawArrays = _save_DrawArrays; vfmt->DrawElements = _save_DrawElements; vfmt->DrawRangeElements = _save_DrawRangeElements; + /* Loops back into vfmt->DrawElements */ + vfmt->MultiDrawElementsEXT = _mesa_noop_MultiDrawElements; } @@ -1228,6 +1231,8 @@ void vbo_save_api_init( struct vbo_save_context *save ) ctx->ListState.ListVtxfmt.DrawArrays = _save_OBE_DrawArrays; ctx->ListState.ListVtxfmt.DrawElements = _save_OBE_DrawElements; ctx->ListState.ListVtxfmt.DrawRangeElements = _save_OBE_DrawRangeElements; + /* loops back into _save_OBE_DrawElements */ + ctx->ListState.ListVtxfmt.MultiDrawElementsEXT = _mesa_noop_MultiDrawElements; _mesa_install_save_vtxfmt( ctx, &ctx->ListState.ListVtxfmt ); } -- cgit v1.2.3 From f5539b6991e336aa1cf302dbdb1a29b3e85cff36 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Thu, 20 Aug 2009 18:19:36 +0800 Subject: i965: validate sf state --- src/mesa/drivers/dri/i965/brw_misc_state.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c index 85a7706404..ea71857548 100644 --- a/src/mesa/drivers/dri/i965/brw_misc_state.c +++ b/src/mesa/drivers/dri/i965/brw_misc_state.c @@ -172,6 +172,7 @@ static void prepare_psp_urb_cbs(struct brw_context *brw) brw_add_validated_bo(brw, brw->vs.state_bo); brw_add_validated_bo(brw, brw->gs.state_bo); brw_add_validated_bo(brw, brw->clip.state_bo); + brw_add_validated_bo(brw, brw->sf.state_bo); brw_add_validated_bo(brw, brw->wm.state_bo); brw_add_validated_bo(brw, brw->cc.state_bo); } -- cgit v1.2.3 From 98a8744e02c5c1aa0c97c0265680f09f92a68818 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Wed, 2 Sep 2009 13:27:25 +0800 Subject: i965: CS FENCE in URB_FENCE is 11-bits wide --- src/mesa/drivers/dri/i965/brw_structs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_structs.h b/src/mesa/drivers/dri/i965/brw_structs.h index a6de09207b..66d4127271 100644 --- a/src/mesa/drivers/dri/i965/brw_structs.h +++ b/src/mesa/drivers/dri/i965/brw_structs.h @@ -442,8 +442,8 @@ struct brw_urb_fence { GLuint sf_fence:10; GLuint vf_fence:10; - GLuint cs_fence:10; - GLuint pad:2; + GLuint cs_fence:11; + GLuint pad:1; } bits1; }; -- cgit v1.2.3 From 385620e5ebcbd5ee1fb4eaf75083ea540ac53955 Mon Sep 17 00:00:00 2001 From: Michel DĂ€nzer Date: Wed, 2 Sep 2009 15:41:40 +0200 Subject: st/xorg: Add EXA UploadToScreen and DownloadFromScreen hooks. --- src/gallium/state_trackers/xorg/xorg_exa.c | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index 1ed807de93..a17a71f23a 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -97,6 +97,68 @@ ExaMarkSync(ScreenPtr pScreen) return 1; } +static Bool +ExaDownloadFromScreen(PixmapPtr pPix, int x, int y, int w, int h, char *dst, + int dst_pitch) +{ + ScreenPtr pScreen = pPix->drawable.pScreen; + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + modesettingPtr ms = modesettingPTR(pScrn); + struct exa_context *exa = ms->exa; + struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pPix); + struct pipe_transfer *transfer; + + if (!priv || !priv->tex) + return FALSE; + + if (exa->ctx->is_texture_referenced(exa->ctx, priv->tex, 0, 0) & + PIPE_REFERENCED_FOR_WRITE) + exa->ctx->flush(exa->ctx, 0, NULL); + + transfer = exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0, + PIPE_TRANSFER_READ, x, y, w, h); + if (!transfer) + return FALSE; + + util_copy_rect((unsigned char*)dst, &priv->tex->block, dst_pitch, 0, 0, + w, h, exa->scrn->transfer_map(exa->scrn, transfer), + transfer->stride, 0, 0); + + exa->scrn->transfer_unmap(exa->scrn, transfer); + exa->scrn->tex_transfer_destroy(transfer); + + return TRUE; +} + +static Bool +ExaUploadToScreen(PixmapPtr pPix, int x, int y, int w, int h, char *src, + int src_pitch) +{ + ScreenPtr pScreen = pPix->drawable.pScreen; + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + modesettingPtr ms = modesettingPTR(pScrn); + struct exa_context *exa = ms->exa; + struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pPix); + struct pipe_transfer *transfer; + + if (!priv || !priv->tex) + return FALSE; + + transfer = exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0, + PIPE_TRANSFER_WRITE, x, y, w, h); + if (!transfer) + return FALSE; + + util_copy_rect(exa->scrn->transfer_map(exa->scrn, transfer), + &priv->tex->block, transfer->stride, 0, 0, w, h, + (unsigned char*)src, src_pitch, 0, 0); + + exa->scrn->transfer_unmap(exa->scrn, transfer); + exa->scrn->tex_transfer_destroy(transfer); + + return TRUE; +} + static Bool ExaPrepareAccess(PixmapPtr pPix, int index) { @@ -599,6 +661,8 @@ xorg_exa_init(ScrnInfoPtr pScrn) pExa->Composite = ExaComposite; pExa->DoneComposite = ExaDoneComposite; pExa->PixmapIsOffscreen = ExaPixmapIsOffscreen; + pExa->DownloadFromScreen = ExaDownloadFromScreen; + pExa->UploadToScreen = ExaUploadToScreen; pExa->PrepareAccess = ExaPrepareAccess; pExa->FinishAccess = ExaFinishAccess; pExa->CreatePixmap = ExaCreatePixmap; -- cgit v1.2.3 From 0b26d97f4d48e5f7e5a4230a411e3a1d91928bb4 Mon Sep 17 00:00:00 2001 From: Michel DĂ€nzer Date: Wed, 2 Sep 2009 15:41:41 +0200 Subject: st/dri: Slight consolidation of DRI2 buffer handling. Always use / assume a combined depth/stencil buffer. Also update drawable formats from surfaces returned by the driver. --- src/gallium/state_trackers/dri/dri_drawable.c | 54 +++++++++++++-------------- src/gallium/state_trackers/dri/dri_drawable.h | 3 +- 2 files changed, 27 insertions(+), 30 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/dri/dri_drawable.c b/src/gallium/state_trackers/dri/dri_drawable.c index bcfd1c06fe..5cec9e329d 100644 --- a/src/gallium/state_trackers/dri/dri_drawable.c +++ b/src/gallium/state_trackers/dri/dri_drawable.c @@ -189,12 +189,10 @@ dri_get_buffers(__DRIdrawablePrivate * dPriv) format = drawable->color_format; break; case __DRI_BUFFER_DEPTH: - index = ST_SURFACE_DEPTH; - format = drawable->depth_format; - break; + case __DRI_BUFFER_DEPTH_STENCIL: case __DRI_BUFFER_STENCIL: index = ST_SURFACE_DEPTH; - format = drawable->stencil_format; + format = drawable->depth_stencil_format; break; case __DRI_BUFFER_ACCUM: default: @@ -215,6 +213,18 @@ dri_get_buffers(__DRIdrawablePrivate * dPriv) dri_drawable->w, dri_drawable->h, buffers[i].pitch); + switch (buffers[i].attachment) { + case __DRI_BUFFER_FAKE_FRONT_LEFT: + case __DRI_BUFFER_BACK_LEFT: + drawable->color_format = surface->format; + break; + case __DRI_BUFFER_DEPTH: + case __DRI_BUFFER_DEPTH_STENCIL: + case __DRI_BUFFER_STENCIL: + drawable->depth_stencil_format = surface->format; + break; + } + st_set_framebuffer_surface(drawable->stfb, index, surface); pipe_surface_reference(&surface, NULL); } @@ -241,9 +251,7 @@ void dri2_set_tex_buffer2(__DRIcontext *pDRICtx, GLint target, st_get_framebuffer_surface(drawable->stfb, ST_SURFACE_FRONT_LEFT, &ps); st_bind_texture_surface(ps, target == GL_TEXTURE_2D ? ST_TEXTURE_2D : - ST_TEXTURE_RECT, 0, - format == GLX_TEXTURE_FORMAT_RGBA_EXT ? - PIPE_FORMAT_R8G8B8A8_UNORM : PIPE_FORMAT_R8G8B8X8_UNORM); + ST_TEXTURE_RECT, 0, drawable->color_format); } void dri2_set_tex_buffer(__DRIcontext *pDRICtx, GLint target, @@ -311,43 +319,31 @@ dri_create_buffer(__DRIscreenPrivate * sPriv, switch(visual->depthBits) { default: case 0: - drawable->depth_format = PIPE_FORMAT_NONE; + drawable->depth_stencil_format = PIPE_FORMAT_NONE; break; case 16: - drawable->depth_format = PIPE_FORMAT_Z16_UNORM; + drawable->depth_stencil_format = PIPE_FORMAT_Z16_UNORM; break; case 24: if (visual->stencilBits == 0) { - drawable->depth_format = (screen->d_depth_bits_last) ? + drawable->depth_stencil_format = (screen->d_depth_bits_last) ? PIPE_FORMAT_X8Z24_UNORM: PIPE_FORMAT_Z24X8_UNORM; } else { - drawable->depth_format = (screen->sd_depth_bits_last) ? + drawable->depth_stencil_format = (screen->sd_depth_bits_last) ? PIPE_FORMAT_S8Z24_UNORM: PIPE_FORMAT_Z24S8_UNORM; } break; case 32: - drawable->depth_format = PIPE_FORMAT_Z32_UNORM; - break; - } - - switch(visual->stencilBits) { - default: - case 0: - drawable->stencil_format = PIPE_FORMAT_NONE; - break; - case 8: - drawable->stencil_format = (screen->sd_depth_bits_last) ? - PIPE_FORMAT_S8Z24_UNORM: - PIPE_FORMAT_Z24S8_UNORM; + drawable->depth_stencil_format = PIPE_FORMAT_Z32_UNORM; break; } drawable->stfb = st_create_framebuffer(visual, drawable->color_format, - drawable->depth_format, - drawable->stencil_format, + drawable->depth_stencil_format, + drawable->depth_stencil_format, dPriv->w, dPriv->h, (void *)drawable); if (drawable->stfb == NULL) @@ -366,9 +362,11 @@ dri_create_buffer(__DRIscreenPrivate * sPriv, drawable->attachments[i++] = __DRI_BUFFER_BACK_LEFT; else drawable->attachments[i++] = __DRI_BUFFER_FAKE_FRONT_LEFT; - if (visual->depthBits) + if (visual->depthBits && visual->stencilBits) + drawable->attachments[i++] = __DRI_BUFFER_DEPTH_STENCIL; + else if (visual->depthBits) drawable->attachments[i++] = __DRI_BUFFER_DEPTH; - if (visual->stencilBits) + else if (visual->stencilBits) drawable->attachments[i++] = __DRI_BUFFER_STENCIL; drawable->num_attachments = i; diff --git a/src/gallium/state_trackers/dri/dri_drawable.h b/src/gallium/state_trackers/dri/dri_drawable.h index 9f9cb29b97..b910930db4 100644 --- a/src/gallium/state_trackers/dri/dri_drawable.h +++ b/src/gallium/state_trackers/dri/dri_drawable.h @@ -63,8 +63,7 @@ struct dri_drawable unsigned int cur_fences; enum pipe_format color_format; - enum pipe_format depth_format; - enum pipe_format stencil_format; + enum pipe_format depth_stencil_format; }; static INLINE struct dri_drawable * -- cgit v1.2.3 From ea55f8ed8fc18245d74e04c0ae8e1a4911a37f26 Mon Sep 17 00:00:00 2001 From: Michel DĂ€nzer Date: Wed, 2 Sep 2009 16:00:30 +0200 Subject: st/xorg: Add support for xserver Git master DRI2 interface. Reorganize to handle both interfaces with common code. --- src/gallium/state_trackers/xorg/xorg_dri2.c | 231 ++++++++++++++++++---------- src/gallium/state_trackers/xorg/xorg_exa.h | 1 + 2 files changed, 151 insertions(+), 81 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_dri2.c b/src/gallium/state_trackers/xorg/xorg_dri2.c index 3b90421de9..537ce2d9a8 100644 --- a/src/gallium/state_trackers/xorg/xorg_dri2.c +++ b/src/gallium/state_trackers/xorg/xorg_dri2.c @@ -33,6 +33,7 @@ #include "xf86_OSproc.h" #include "xorg_tracker.h" +#include "xorg_exa.h" #include "dri2.h" @@ -47,62 +48,55 @@ typedef struct { struct pipe_fence_handle *fence; } *BufferPrivatePtr; -static DRI2BufferPtr -driCreateBuffers(DrawablePtr pDraw, unsigned int *attachments, int count) +static Bool +driDoCreateBuffer(DrawablePtr pDraw, DRI2BufferPtr buffer, unsigned int format) { - struct pipe_texture *depth, *tex; - struct pipe_buffer *buf; + struct pipe_texture *tex = NULL; ScreenPtr pScreen = pDraw->pScreen; ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; modesettingPtr ms = modesettingPTR(pScrn); - BufferPrivatePtr privates; - DRI2BufferPtr buffers; + struct exa_pixmap_priv *exa_priv; + BufferPrivatePtr private = buffer->driverPrivate; PixmapPtr pPixmap; unsigned stride, handle; - boolean have_depth = FALSE, have_stencil = FALSE; - int i; - - buffers = xcalloc(count, sizeof *buffers); - if (!buffers) - goto fail_buffers; - - privates = xcalloc(count, sizeof *privates); - if (!privates) - goto fail_privates; - - for (i = 0; i < count; i++) { - if (attachments[i] == DRI2BufferDepth) - have_depth = TRUE; - else if (attachments[i] == DRI2BufferStencil) - have_stencil = TRUE; - } - - if (have_stencil && !have_depth) - FatalError("Doesn't support only stencil yet\n"); - depth = NULL; - for (i = 0; i < count; i++) { - pPixmap = NULL; - tex = NULL; - buf = NULL; - if (attachments[i] == DRI2BufferFrontLeft) { - if (pDraw->type == DRAWABLE_PIXMAP) - pPixmap = (PixmapPtr) pDraw; - else - pPixmap = (*pScreen->GetWindowPixmap)((WindowPtr) pDraw); - pPixmap->refcnt++; - } else if (attachments[i] == DRI2BufferStencil) { - pipe_texture_reference(&tex, depth); - } else if (attachments[i] == DRI2BufferDepth) { + if (pDraw->type == DRAWABLE_PIXMAP) + pPixmap = (PixmapPtr) pDraw; + else + pPixmap = (*pScreen->GetWindowPixmap)((WindowPtr) pDraw); + exa_priv = exaGetPixmapDriverPrivate(pPixmap); + + switch (buffer->attachment) { + default: + if (buffer->attachment != DRI2BufferFakeFrontLeft || + pDraw->type != DRAWABLE_PIXMAP) { + private->pPixmap = (*pScreen->CreatePixmap)(pScreen, pDraw->width, + pDraw->height, + pDraw->depth, + 0); + } + break; + case DRI2BufferFrontLeft: + break; + case DRI2BufferStencil: + case DRI2BufferDepthStencil: + if (exa_priv->depth_stencil_tex && + !pf_is_depth_stencil(exa_priv->depth_stencil_tex->format)) + exa_priv->depth_stencil_tex = NULL; + /* Fall through */ + case DRI2BufferDepth: + if (exa_priv->depth_stencil_tex) + pipe_texture_reference(&tex, exa_priv->depth_stencil_tex); + else { struct pipe_texture template; memset(&template, 0, sizeof(template)); template.target = PIPE_TEXTURE_2D; - if (have_stencil) + if (buffer->attachment == DRI2BufferDepth) template.format = ms->ds_depth_bits_last ? - PIPE_FORMAT_S8Z24_UNORM : PIPE_FORMAT_Z24S8_UNORM; - else - template.format = ms->d_depth_bits_last ? PIPE_FORMAT_X8Z24_UNORM : PIPE_FORMAT_Z24X8_UNORM; + else + template.format = ms->ds_depth_bits_last ? + PIPE_FORMAT_S8Z24_UNORM : PIPE_FORMAT_Z24S8_UNORM; pf_get_block(template.format, &template.block); template.width[0] = pDraw->width; template.height[0] = pDraw->height; @@ -111,41 +105,119 @@ driCreateBuffers(DrawablePtr pDraw, unsigned int *attachments, int count) template.tex_usage = PIPE_TEXTURE_USAGE_DEPTH_STENCIL | PIPE_TEXTURE_USAGE_DISPLAY_TARGET; tex = ms->screen->texture_create(ms->screen, &template); - depth = tex; - } else if (attachments[i] == DRI2BufferFakeFrontLeft && - pDraw->type == DRAWABLE_PIXMAP) { - pPixmap = (PixmapPtr) pDraw; - pPixmap->refcnt++; - } else { - pPixmap = (*pScreen->CreatePixmap)(pScreen, pDraw->width, - pDraw->height, - pDraw->depth, - 0); + pipe_texture_reference(&exa_priv->depth_stencil_tex, tex); } + break; + } - if (pPixmap) { - xorg_exa_set_shared_usage(pPixmap); - pScreen->ModifyPixmapHeader(pPixmap, 0, 0, 0, 0, 0, NULL); - tex = xorg_exa_get_texture(pPixmap); - } + if (!private->pPixmap) { + private->pPixmap = pPixmap; + pPixmap->refcnt++; + } + + if (!tex) { + xorg_exa_set_shared_usage(private->pPixmap); + pScreen->ModifyPixmapHeader(private->pPixmap, 0, 0, 0, 0, 0, NULL); + tex = xorg_exa_get_texture(private->pPixmap); + } + + if (!tex) + FatalError("NO TEXTURE IN DRI2\n"); + + ms->api->shared_handle_from_texture(ms->api, ms->screen, tex, &stride, &handle); - if (!tex) - FatalError("NO TEXTURE IN DRI2\n"); + buffer->name = handle; + buffer->pitch = stride; + buffer->cpp = 4; + buffer->driverPrivate = private; + buffer->flags = 0; /* not tiled */ + private->tex = tex; + + return TRUE; +} + +static void +driDoDestroyBuffer(DrawablePtr pDraw, DRI2BufferPtr buffer) +{ + ScreenPtr pScreen = pDraw->pScreen; + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + modesettingPtr ms = modesettingPTR(pScrn); + BufferPrivatePtr private = buffer->driverPrivate; + struct exa_pixmap_priv *exa_priv = exaGetPixmapDriverPrivate(private->pPixmap); + + pipe_texture_reference(&private->tex, NULL); + ms->screen->fence_reference(ms->screen, &private->fence, NULL); + pipe_texture_reference(&exa_priv->depth_stencil_tex, NULL); + (*pScreen->DestroyPixmap)(private->pPixmap); +} - ms->api->shared_handle_from_texture(ms->api, ms->screen, tex, &stride, &handle); +#if DRI2INFOREC_VERSION > 2 - buffers[i].name = handle; +static DRI2BufferPtr +driCreateBuffer(DrawablePtr pDraw, unsigned int attachment, unsigned int format) +{ + DRI2BufferPtr buffer; + BufferPrivatePtr private; + + buffer = xcalloc(1, sizeof *buffer); + if (!buffer) + return NULL; + + private = xcalloc(1, sizeof *private); + if (!private) { + goto fail; + } + + buffer->attachment = attachment; + buffer->driverPrivate = private; + + if (driDoCreateBuffer(pDraw, buffer, format)) + return buffer; + + xfree(private); +fail: + xfree(buffer); + return NULL; +} + +static void +driDestroyBuffer(DrawablePtr pDraw, DRI2BufferPtr buffer) +{ + driDoDestroyBuffer(pDraw, buffer); + + xfree(buffer->driverPrivate); + xfree(buffer); +} + +#else /* DRI2INFOREC_VERSION <= 2 */ + +static DRI2BufferPtr +driCreateBuffers(DrawablePtr pDraw, unsigned int *attachments, int count) +{ + BufferPrivatePtr privates; + DRI2BufferPtr buffers; + int i; + + buffers = xcalloc(count, sizeof *buffers); + if (!buffers) + goto fail_buffers; + + privates = xcalloc(count, sizeof *privates); + if (!privates) + goto fail_privates; + + for (i = 0; i < count; i++) { buffers[i].attachment = attachments[i]; - buffers[i].pitch = stride; - buffers[i].cpp = 4; buffers[i].driverPrivate = &privates[i]; - buffers[i].flags = 0; /* not tiled */ - privates[i].pPixmap = pPixmap; - privates[i].tex = tex; + + if (!driDoCreateBuffer(pDraw, &buffers[i], 0)) + goto fail; } return buffers; +fail: + xfree(privates); fail_privates: xfree(buffers); fail_buffers: @@ -155,21 +227,10 @@ fail_buffers: static void driDestroyBuffers(DrawablePtr pDraw, DRI2BufferPtr buffers, int count) { - ScreenPtr pScreen = pDraw->pScreen; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - modesettingPtr ms = modesettingPTR(pScrn); - BufferPrivatePtr private; int i; - (void)ms; for (i = 0; i < count; i++) { - private = buffers[i].driverPrivate; - - pipe_texture_reference(&private->tex, NULL); - ms->screen->fence_reference(ms->screen, &private->fence, NULL); - - if (private->pPixmap) - (*pScreen->DestroyPixmap)(private->pPixmap); + driDoDestroyBuffer(pDraw, &buffers[i]); } if (buffers) { @@ -178,6 +239,8 @@ driDestroyBuffers(DrawablePtr pDraw, DRI2BufferPtr buffers, int count) } } +#endif /* DRI2INFOREC_VERSION */ + static void driCopyRegion(DrawablePtr pDraw, RegionPtr pRegion, DRI2BufferPtr pDestBuffer, DRI2BufferPtr pSrcBuffer) @@ -273,15 +336,21 @@ driScreenInit(ScreenPtr pScreen) modesettingPtr ms = modesettingPTR(pScrn); DRI2InfoRec dri2info; - dri2info.version = 1; + dri2info.version = DRI2INFOREC_VERSION; dri2info.fd = ms->fd; dri2info.driverName = pScrn->driverName; dri2info.deviceName = "/dev/dri/card0"; /* FIXME */ +#if DRI2INFOREC_VERSION > 2 + dri2info.CreateBuffer = driCreateBuffer; + dri2info.DestroyBuffer = driDestroyBuffer; +#else dri2info.CreateBuffers = driCreateBuffers; dri2info.DestroyBuffers = driDestroyBuffers; +#endif dri2info.CopyRegion = driCopyRegion; + dri2info.Wait = NULL; ms->d_depth_bits_last = ms->screen->is_format_supported(ms->screen, PIPE_FORMAT_X8Z24_UNORM, diff --git a/src/gallium/state_trackers/xorg/xorg_exa.h b/src/gallium/state_trackers/xorg/xorg_exa.h index d4ffe5ce2e..5b515be139 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.h +++ b/src/gallium/state_trackers/xorg/xorg_exa.h @@ -35,6 +35,7 @@ struct exa_pixmap_priv int tex_flags; struct pipe_texture *tex; + struct pipe_texture *depth_stencil_tex; unsigned int color; struct pipe_surface *src_surf; /* for copies */ -- cgit v1.2.3 From c0cf0fd163397d68acfb2e226a6b9a569ded54cd Mon Sep 17 00:00:00 2001 From: Michel DĂ€nzer Date: Wed, 2 Sep 2009 16:01:21 +0200 Subject: st/xorg: Remove code no longer support by xserver Git master. Shouldn't be necessary with older versions either. --- src/gallium/state_trackers/xorg/xorg_driver.c | 41 ------------------------ src/gallium/state_trackers/xorg/xorg_winsys.h | 2 -- src/gallium/winsys/drm/intel/xorg/intel_xorg.c | 10 ++---- src/gallium/winsys/drm/radeon/xorg/radeon_xorg.c | 10 ++---- 4 files changed, 4 insertions(+), 59 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c index bc3fd54bdb..643b6b3b9e 100644 --- a/src/gallium/state_trackers/xorg/xorg_driver.c +++ b/src/gallium/state_trackers/xorg/xorg_driver.c @@ -33,10 +33,8 @@ #include "xf86.h" #include "xf86_OSproc.h" #include "compiler.h" -#include "xf86RAC.h" #include "xf86PciInfo.h" #include "xf86Pci.h" -#include "xf86Resources.h" #include "mipointer.h" #include "micmap.h" #include @@ -84,42 +82,10 @@ static const OptionInfoRec Options[] = { {-1, NULL, OPTV_NONE, {0}, FALSE} }; -/* - * Functions that might be needed - */ - -static const char *exaSymbols[] = { - "exaGetVersion", - "exaDriverInit", - "exaDriverFini", - "exaOffscreenAlloc", - "exaOffscreenFree", - "exaWaitSync", - NULL -}; - -static const char *fbSymbols[] = { - "fbPictureInit", - "fbScreenInit", - NULL -}; - -static const char *ddcSymbols[] = { - "xf86PrintEDID", - "xf86SetDDCproperties", - NULL -}; - /* * Exported Xorg driver functions to winsys */ -void -xorg_tracker_loader_ref_sym_lists() -{ - LoaderRefSymLists(exaSymbols, fbSymbols, ddcSymbols, NULL); -} - const OptionInfoRec * xorg_tracker_available_options(int chipid, int busid) { @@ -288,10 +254,6 @@ PreInit(ScrnInfoPtr pScrn, int flags) } else ms->entityPrivate = NULL; - if (xf86RegisterResources(ms->pEnt->index, NULL, ResNone)) { - return FALSE; - } - if (xf86IsEntityShared(pScrn->entityList[0])) { if (xf86IsPrimInitDone(pScrn->entityList[0])) { /* do something */ @@ -312,7 +274,6 @@ PreInit(ScrnInfoPtr pScrn, int flags) if (ms->fd < 0) return FALSE; - pScrn->racMemFlags = RAC_FB | RAC_COLORMAP; pScrn->monitor = pScrn->confScreen->monitor; pScrn->progClock = TRUE; pScrn->rgbBits = 8; @@ -398,8 +359,6 @@ PreInit(ScrnInfoPtr pScrn, int flags) return FALSE; } - xf86LoaderReqSymLists(fbSymbols, NULL); - xf86LoadSubModule(pScrn, "exa"); #ifdef DRI2 diff --git a/src/gallium/state_trackers/xorg/xorg_winsys.h b/src/gallium/state_trackers/xorg/xorg_winsys.h index d523080e90..47ee4b9ffd 100644 --- a/src/gallium/state_trackers/xorg/xorg_winsys.h +++ b/src/gallium/state_trackers/xorg/xorg_winsys.h @@ -37,7 +37,6 @@ #include "xorg-server.h" #include "xf86.h" -#include "xf86Resources.h" #include "pciaccess.h" #ifndef XSERVER_LIBPCIACCESS @@ -46,6 +45,5 @@ void xorg_tracker_set_functions(ScrnInfoPtr scrn); const OptionInfoRec * xorg_tracker_available_options(int chipid, int busid); -void xorg_tracker_loader_ref_sym_lists(void); #endif diff --git a/src/gallium/winsys/drm/intel/xorg/intel_xorg.c b/src/gallium/winsys/drm/intel/xorg/intel_xorg.c index 28107f4b80..369dc356cf 100644 --- a/src/gallium/winsys/drm/intel/xorg/intel_xorg.c +++ b/src/gallium/winsys/drm/intel/xorg/intel_xorg.c @@ -47,8 +47,8 @@ static SymTabRec intel_xorg_chipsets[] = { }; static PciChipsets intel_xorg_pci_devices[] = { - {PCI_MATCH_ANY, PCI_MATCH_ANY, RES_SHARED_VGA}, - {-1, -1, RES_UNDEFINED} + {PCI_MATCH_ANY, PCI_MATCH_ANY, NULL}, + {-1, -1, NULL} }; static XF86ModuleVersionInfo intel_xorg_version = { @@ -104,12 +104,6 @@ intel_xorg_setup(pointer module, pointer opts, int *errmaj, int *errmin) setupDone = 1; xf86AddDriver(&modesetting, module, HaveDriverFuncs); - /* - * Tell the loader about symbols from other modules that this module - * might refer to. - */ - xorg_tracker_loader_ref_sym_lists(); - /* * The return value must be non-NULL on success even though there * is no TearDownProc. diff --git a/src/gallium/winsys/drm/radeon/xorg/radeon_xorg.c b/src/gallium/winsys/drm/radeon/xorg/radeon_xorg.c index f2c6ee5f9a..837f2aa8fe 100644 --- a/src/gallium/winsys/drm/radeon/xorg/radeon_xorg.c +++ b/src/gallium/winsys/drm/radeon/xorg/radeon_xorg.c @@ -48,8 +48,8 @@ static SymTabRec radeon_xorg_chipsets[] = { }; static PciChipsets radeon_xorg_pci_devices[] = { - {PCI_MATCH_ANY, PCI_MATCH_ANY, RES_SHARED_VGA}, - {-1, -1, RES_UNDEFINED} + {PCI_MATCH_ANY, PCI_MATCH_ANY, NULL}, + {-1, -1, NULL} }; static XF86ModuleVersionInfo radeon_xorg_version = { @@ -105,12 +105,6 @@ radeon_xorg_setup(pointer module, pointer opts, int *errmaj, int *errmin) setupDone = 1; xf86AddDriver(&modesetting, module, HaveDriverFuncs); - /* - * Tell the loader about symbols from other modules that this module - * might refer to. - */ - xorg_tracker_loader_ref_sym_lists(); - /* * The return value must be non-NULL on success even though there * is no TearDownProc. -- cgit v1.2.3 From a46e32787d98192d35bf2834011cfa5537e0e703 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 2 Sep 2009 05:11:25 -0700 Subject: mesa: Compact state key for TexEnv program cache By rearranging the bitfields within the key we can reduce the size of the key from 644 to 196 bytes, reducing the cost of both the hashing and equality tests. --- src/mesa/main/texenvprogram.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 5913957969..b16b8dd36b 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -82,8 +82,8 @@ texenv_doing_secondary_color(GLcontext *ctx) #define DISASSEM (MESA_VERBOSE & VERBOSE_DISASSEM) struct mode_opt { - GLuint Source:4; /**< SRC_x */ - GLuint Operand:3; /**< OPR_x */ + GLubyte Source:4; /**< SRC_x */ + GLubyte Operand:3; /**< OPR_x */ }; struct state_key { @@ -103,10 +103,11 @@ struct state_key { GLuint NumArgsRGB:3; /**< up to MAX_COMBINER_TERMS */ GLuint ModeRGB:5; /**< MODE_x */ - struct mode_opt OptRGB[MAX_COMBINER_TERMS]; GLuint NumArgsA:3; /**< up to MAX_COMBINER_TERMS */ GLuint ModeA:5; /**< MODE_x */ + + struct mode_opt OptRGB[MAX_COMBINER_TERMS]; struct mode_opt OptA[MAX_COMBINER_TERMS]; } unit[MAX_TEXTURE_UNITS]; }; @@ -1497,6 +1498,7 @@ _mesa_get_fixed_func_fragment_program(GLcontext *ctx) struct gl_fragment_program *prog; struct state_key key; + printf("SIZE OF KEY %d\n", sizeof(key)); make_state_key(ctx, &key); prog = (struct gl_fragment_program *) -- cgit v1.2.3 From 83e4470d9a3367883b3fe699629f1d8648459a89 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 2 Sep 2009 08:45:34 -0600 Subject: mesa: added #ifdef __GNUC__ around GLubyte bitfield usage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It would be nice if there were a #pragma or something to disable the warnings: main/texenvprogram.c:87: warning: type of bit-field ‘Source’ is a GCC extension main/texenvprogram.c:88: warning: type of bit-field ‘Operand’ is a GCC extension but there doesn't appear to be a way to do that. --- src/mesa/main/texenvprogram.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index b16b8dd36b..770a2c26f7 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -82,8 +82,13 @@ texenv_doing_secondary_color(GLcontext *ctx) #define DISASSEM (MESA_VERBOSE & VERBOSE_DISASSEM) struct mode_opt { +#ifdef __GNUC__ GLubyte Source:4; /**< SRC_x */ GLubyte Operand:3; /**< OPR_x */ +#else + GLubyte Source; /**< SRC_x */ + GLubyte Operand; /**< OPR_x */ +#endif }; struct state_key { -- cgit v1.2.3 From 8cb651578de8dc4c956eaa8c0e5f1d442a3d4a92 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 2 Sep 2009 09:25:28 -0600 Subject: mesa: remove accidentally committed printf --- src/mesa/main/texenvprogram.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 770a2c26f7..d5343d44db 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -1503,7 +1503,6 @@ _mesa_get_fixed_func_fragment_program(GLcontext *ctx) struct gl_fragment_program *prog; struct state_key key; - printf("SIZE OF KEY %d\n", sizeof(key)); make_state_key(ctx, &key); prog = (struct gl_fragment_program *) -- cgit v1.2.3 From a7a3d3c27144595b2134f4271996cba901938d12 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 2 Sep 2009 09:43:00 -0600 Subject: mesa: replace 8 with NUM_UNITS --- src/mesa/main/ffvertex_prog.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/main/ffvertex_prog.c b/src/mesa/main/ffvertex_prog.c index 8e21a27f89..356476e35a 100644 --- a/src/mesa/main/ffvertex_prog.c +++ b/src/mesa/main/ffvertex_prog.c @@ -46,6 +46,9 @@ #include "shader/prog_statevars.h" +/** Max of number of lights and texture coord units */ +#define NUM_UNITS MAX2(MAX_TEXTURE_COORD_UNITS, MAX_LIGHTS) + struct state_key { unsigned light_color_material_mask:12; unsigned light_global_enabled:1; @@ -77,7 +80,7 @@ struct state_key { unsigned texgen_mode1:4; unsigned texgen_mode2:4; unsigned texgen_mode3:4; - } unit[8]; + } unit[NUM_UNITS]; }; -- cgit v1.2.3 From d98b9f4edbbee1654b66c8df7b1deeb401b3dc5f Mon Sep 17 00:00:00 2001 From: Gary Wong Date: Wed, 2 Sep 2009 10:11:15 -0600 Subject: mesa: silence gcc bit-field warning --- src/mesa/main/texenvprogram.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index d5343d44db..b4923e904d 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -83,8 +83,8 @@ texenv_doing_secondary_color(GLcontext *ctx) struct mode_opt { #ifdef __GNUC__ - GLubyte Source:4; /**< SRC_x */ - GLubyte Operand:3; /**< OPR_x */ + __extension__ GLubyte Source:4; /**< SRC_x */ + __extension__ GLubyte Operand:3; /**< OPR_x */ #else GLubyte Source; /**< SRC_x */ GLubyte Operand; /**< OPR_x */ -- cgit v1.2.3 From 4b08e7498230eac30eea1721f33994b30999acd4 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 2 Sep 2009 10:12:15 -0600 Subject: mesa: fix the non-GNU C bit-field case --- src/mesa/main/texenvprogram.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index b4923e904d..165d464e3b 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -86,8 +86,8 @@ struct mode_opt { __extension__ GLubyte Source:4; /**< SRC_x */ __extension__ GLubyte Operand:3; /**< OPR_x */ #else - GLubyte Source; /**< SRC_x */ - GLubyte Operand; /**< OPR_x */ + GLuint Source; /**< SRC_x */ + GLuint Operand; /**< OPR_x */ #endif }; -- cgit v1.2.3 From 5e809216a8d2e7ad093a1d25f3f6495f29e57572 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 2 Sep 2009 10:38:46 -0600 Subject: Revert "mesa: fix the non-GNU C bit-field case" This reverts commit 4b08e7498230eac30eea1721f33994b30999acd4. Don't know what I was thinking there. --- src/mesa/main/texenvprogram.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 165d464e3b..b4923e904d 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -86,8 +86,8 @@ struct mode_opt { __extension__ GLubyte Source:4; /**< SRC_x */ __extension__ GLubyte Operand:3; /**< OPR_x */ #else - GLuint Source; /**< SRC_x */ - GLuint Operand; /**< OPR_x */ + GLubyte Source; /**< SRC_x */ + GLubyte Operand; /**< OPR_x */ #endif }; -- cgit v1.2.3 From 1d7a989b104f02042fadfeec5bd20654bbb6fea6 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Tue, 1 Sep 2009 11:11:28 +0100 Subject: draw: remove unused variable --- src/gallium/auxiliary/draw/draw_pipe.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/gallium/auxiliary/draw/draw_pipe.c b/src/gallium/auxiliary/draw/draw_pipe.c index be2f0f27f2..3cfae2de83 100644 --- a/src/gallium/auxiliary/draw/draw_pipe.c +++ b/src/gallium/auxiliary/draw/draw_pipe.c @@ -232,7 +232,6 @@ void draw_pipeline_run( struct draw_context *draw, unsigned count ) { char *verts = (char *)vertices; - unsigned i; draw->pipeline.verts = verts; draw->pipeline.vertex_stride = stride; -- cgit v1.2.3 From de343680a3e6b2a588f8b3c844828b8d9e6cb6a5 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Wed, 2 Sep 2009 17:58:52 +0100 Subject: util: add version of u_blit_pixels which takes a writemask Values outside the writemask are set in the destination to {0,0,0,1} --- src/gallium/auxiliary/util/u_blit.c | 55 ++++++++++++++++++++------- src/gallium/auxiliary/util/u_blit.h | 11 ++++++ src/gallium/auxiliary/util/u_simple_shaders.c | 45 +++++++++++++++++++++- src/gallium/auxiliary/util/u_simple_shaders.h | 4 ++ 4 files changed, 100 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_blit.c b/src/gallium/auxiliary/util/u_blit.c index cda6dbd46d..c516317d70 100644 --- a/src/gallium/auxiliary/util/u_blit.c +++ b/src/gallium/auxiliary/util/u_blit.c @@ -62,7 +62,7 @@ struct blit_state struct pipe_viewport_state viewport; void *vs; - void *fs; + void *fs[TGSI_WRITEMASK_XYZW + 1]; struct pipe_buffer *vbuf; /**< quad vertices */ unsigned vbuf_slot; @@ -125,7 +125,7 @@ util_create_blit(struct pipe_context *pipe, struct cso_context *cso) } /* fragment shader */ - ctx->fs = util_make_fragment_tex_shader(pipe); + ctx->fs[TGSI_WRITEMASK_XYZW] = util_make_fragment_tex_shader(pipe); ctx->vbuf = NULL; /* init vertex data that doesn't change */ @@ -146,9 +146,13 @@ void util_destroy_blit(struct blit_state *ctx) { struct pipe_context *pipe = ctx->pipe; + unsigned i; pipe->delete_vs_state(pipe, ctx->vs); - pipe->delete_fs_state(pipe, ctx->fs); + + for (i = 0; i < Elements(ctx->fs); i++) + if (ctx->fs[i]) + pipe->delete_fs_state(pipe, ctx->fs[i]); pipe_buffer_reference(&ctx->vbuf, NULL); @@ -299,14 +303,15 @@ regions_overlap(int srcX0, int srcY0, * XXX need some control over blitting Z and/or stencil. */ void -util_blit_pixels(struct blit_state *ctx, - struct pipe_surface *src, - int srcX0, int srcY0, - int srcX1, int srcY1, - struct pipe_surface *dst, - int dstX0, int dstY0, - int dstX1, int dstY1, - float z, uint filter) +util_blit_pixels_writemask(struct blit_state *ctx, + struct pipe_surface *src, + int srcX0, int srcY0, + int srcX1, int srcY1, + struct pipe_surface *dst, + int dstX0, int dstY0, + int dstX1, int dstY1, + float z, uint filter, + uint writemask) { struct pipe_context *pipe = ctx->pipe; struct pipe_screen *screen = pipe->screen; @@ -426,8 +431,11 @@ util_blit_pixels(struct blit_state *ctx, /* texture */ cso_set_sampler_textures(ctx->cso, 1, &tex); + if (ctx->fs[writemask] == NULL) + ctx->fs[writemask] = util_make_fragment_tex_shader_writemask(pipe, writemask); + /* shaders */ - cso_set_fragment_shader_handle(ctx->cso, ctx->fs); + cso_set_fragment_shader_handle(ctx->cso, ctx->fs[writemask]); cso_set_vertex_shader_handle(ctx->cso, ctx->vs); /* drawing dest */ @@ -462,6 +470,27 @@ util_blit_pixels(struct blit_state *ctx, } +void +util_blit_pixels(struct blit_state *ctx, + struct pipe_surface *src, + int srcX0, int srcY0, + int srcX1, int srcY1, + struct pipe_surface *dst, + int dstX0, int dstY0, + int dstX1, int dstY1, + float z, uint filter ) +{ + util_blit_pixels_writemask( ctx, src, + srcX0, srcY0, + srcX1, srcY1, + dst, + dstX0, dstY0, + dstX1, dstY1, + z, filter, + TGSI_WRITEMASK_XYZW ); +} + + /* Release vertex buffer at end of frame to avoid synchronous * rendering. */ @@ -535,7 +564,7 @@ util_blit_pixels_tex(struct blit_state *ctx, cso_set_sampler_textures(ctx->cso, 1, &tex); /* shaders */ - cso_set_fragment_shader_handle(ctx->cso, ctx->fs); + cso_set_fragment_shader_handle(ctx->cso, ctx->fs[TGSI_WRITEMASK_XYZW]); cso_set_vertex_shader_handle(ctx->cso, ctx->vs); /* drawing dest */ diff --git a/src/gallium/auxiliary/util/u_blit.h b/src/gallium/auxiliary/util/u_blit.h index c35beceda8..a102021529 100644 --- a/src/gallium/auxiliary/util/u_blit.h +++ b/src/gallium/auxiliary/util/u_blit.h @@ -60,6 +60,17 @@ util_blit_pixels(struct blit_state *ctx, int dstX1, int dstY1, float z, uint filter); +void +util_blit_pixels_writemask(struct blit_state *ctx, + struct pipe_surface *src, + int srcX0, int srcY0, + int srcX1, int srcY1, + struct pipe_surface *dst, + int dstX0, int dstY0, + int dstX1, int dstY1, + float z, uint filter, + uint writemask); + extern void util_blit_pixels_tex(struct blit_state *ctx, struct pipe_texture *tex, diff --git a/src/gallium/auxiliary/util/u_simple_shaders.c b/src/gallium/auxiliary/util/u_simple_shaders.c index e519c354d2..acc5b83c62 100644 --- a/src/gallium/auxiliary/util/u_simple_shaders.c +++ b/src/gallium/auxiliary/util/u_simple_shaders.c @@ -152,11 +152,14 @@ util_make_vertex_passthrough_shader(struct pipe_context *pipe, /** * Make simple fragment texture shader: - * TEX OUT[0], IN[0], SAMP[0], 2D; + * IMM {0,0,0,1} // (if writemask != 0xf) + * MOV OUT[0], IMM[0] // (if writemask != 0xf) + * TEX OUT[0].writemask, IN[0], SAMP[0], 2D; * END; */ void * -util_make_fragment_tex_shader(struct pipe_context *pipe) +util_make_fragment_tex_shader_writemask(struct pipe_context *pipe, + unsigned writemask ) { struct pipe_shader_state shader; struct tgsi_token tokens[100]; @@ -217,12 +220,43 @@ util_make_fragment_tex_shader(struct pipe_context *pipe) header, Elements(tokens) - ti); + + if (writemask != TGSI_WRITEMASK_XYZW) { + struct tgsi_full_immediate imm; + static const float value[4] = { 0, 0, 0, 1 }; + + imm = tgsi_default_full_immediate(); + imm.Immediate.NrTokens += 4; + imm.Immediate.DataType = TGSI_IMM_FLOAT32; + imm.u.Pointer = value; + + ti += tgsi_build_full_immediate(&imm, + &tokens[ti], + header, + Elements(tokens) - ti ); + + /* MOV instruction */ + inst = tgsi_default_full_instruction(); + inst.Instruction.Opcode = TGSI_OPCODE_MOV; + inst.Instruction.NumDstRegs = 1; + inst.FullDstRegisters[0].DstRegister.File = TGSI_FILE_OUTPUT; + inst.FullDstRegisters[0].DstRegister.Index = 0; + inst.Instruction.NumSrcRegs = 1; + inst.FullSrcRegisters[0].SrcRegister.File = TGSI_FILE_IMMEDIATE; + inst.FullSrcRegisters[0].SrcRegister.Index = 0; + ti += tgsi_build_full_instruction(&inst, + &tokens[ti], + header, + Elements(tokens) - ti ); + } + /* TEX instruction */ inst = tgsi_default_full_instruction(); inst.Instruction.Opcode = TGSI_OPCODE_TEX; inst.Instruction.NumDstRegs = 1; inst.FullDstRegisters[0].DstRegister.File = TGSI_FILE_OUTPUT; inst.FullDstRegisters[0].DstRegister.Index = 0; + inst.FullDstRegisters[0].DstRegister.WriteMask = writemask; inst.Instruction.NumSrcRegs = 2; inst.InstructionExtTexture.Texture = TGSI_TEXTURE_2D; inst.FullSrcRegisters[0].SrcRegister.File = TGSI_FILE_INPUT; @@ -253,6 +287,13 @@ util_make_fragment_tex_shader(struct pipe_context *pipe) return pipe->create_fs_state(pipe, &shader); } +void * +util_make_fragment_tex_shader(struct pipe_context *pipe ) +{ + return util_make_fragment_tex_shader_writemask( pipe, + TGSI_WRITEMASK_XYZW ); +} + diff --git a/src/gallium/auxiliary/util/u_simple_shaders.h b/src/gallium/auxiliary/util/u_simple_shaders.h index 6f8d96af9b..d2e80d6eb4 100644 --- a/src/gallium/auxiliary/util/u_simple_shaders.h +++ b/src/gallium/auxiliary/util/u_simple_shaders.h @@ -49,6 +49,10 @@ util_make_vertex_passthrough_shader(struct pipe_context *pipe, const uint *semantic_indexes); +extern void * +util_make_fragment_tex_shader_writemask(struct pipe_context *pipe, + unsigned writemask ); + extern void * util_make_fragment_tex_shader(struct pipe_context *pipe); -- cgit v1.2.3 From e79054cc4090a2be346236236c9e18ae85cad43d Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Wed, 2 Sep 2009 18:30:11 +0100 Subject: st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardware State tracker currently backs GL_RGB textures with RGBA almost always. This means we need to maintain A==1 in these textures to give correct GL_RGB sampling results. This change offloads the RGBA->RGB copy to hardware using the new writemask version of u_blit_pixels. More src/dstLogical/dstActual triples could be shifted to hardware by this technique in future patches. --- src/mesa/state_tracker/st_cb_texture.c | 65 ++++++++++++++++++++++++++-------- 1 file changed, 51 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index ee71c012c6..2d37d24ea8 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -56,6 +56,7 @@ #include "pipe/p_context.h" #include "pipe/p_defines.h" #include "pipe/p_inlines.h" +#include "pipe/p_shader_tokens.h" #include "util/u_tile.h" #include "util/u_blit.h" #include "util/u_surface.h" @@ -1396,6 +1397,36 @@ fallback_copy_texsubimage(GLcontext *ctx, GLenum target, GLint level, } +static unsigned +compatible_src_dst_formats(const struct gl_renderbuffer *src, + const struct gl_texture_image *dst) +{ + const GLenum srcFormat = src->_BaseFormat; + const GLenum dstLogicalFormat = dst->_BaseFormat; + + if (srcFormat == dstLogicalFormat) { + /* This is the same as matching_base_formats, which should + * always pass, as it did previously. + */ + return TGSI_WRITEMASK_XYZW; + } + else if (srcFormat == GL_RGBA && + dstLogicalFormat == GL_RGB) { + /* Add a single special case to cope with RGBA->RGB transfers, + * setting A to 1.0 to cope with situations where the RGB + * destination is actually stored as RGBA. + */ + return TGSI_WRITEMASK_XYZ; /* A ==> 1.0 */ + } + else { + /* Otherwise fail. + */ + return 0; + } +} + + + /** * Do a CopyTex[Sub]Image1/2/3D() using a hardware (blit) path if possible. * Note that the region to copy has already been clipped so we know we @@ -1425,6 +1456,9 @@ st_copy_texsubimage(GLcontext *ctx, enum pipe_format dest_format, src_format; GLboolean use_fallback = GL_TRUE; GLboolean matching_base_formats; + GLuint format_writemask; + struct pipe_surface *dest_surface = NULL; + GLboolean do_flip = (st_fb_orientation(ctx->ReadBuffer) == Y_0_TOP); /* any rendering in progress must flushed before we grab the fb image */ st_flush(ctx->st, PIPE_FLUSH_RENDER_CACHE, NULL); @@ -1495,13 +1529,14 @@ st_copy_texsubimage(GLcontext *ctx, * textured-quad paths. */ matching_base_formats = (strb->Base._BaseFormat == texImage->_BaseFormat); + format_writemask = compatible_src_dst_formats(&strb->Base, texImage); - if (matching_base_formats && ctx->_ImageTransferState == 0x0) { - /* try potential hardware path */ - struct pipe_surface *dest_surface = NULL; - boolean do_flip = (st_fb_orientation(ctx->ReadBuffer) == Y_0_TOP); + if (ctx->_ImageTransferState == 0x0) { - if (src_format == dest_format && !do_flip) { + if (matching_base_formats && + src_format == dest_format && + !do_flip) + { /* use surface_copy() / blit */ dest_surface = screen->get_tex_surface(screen, stImage->pt, @@ -1521,7 +1556,8 @@ st_copy_texsubimage(GLcontext *ctx, width, height); use_fallback = GL_FALSE; } - else if (screen->is_format_supported(screen, src_format, + else if (format_writemask && + screen->is_format_supported(screen, src_format, PIPE_TEXTURE_2D, PIPE_TEXTURE_USAGE_SAMPLER, 0) && @@ -1545,14 +1581,15 @@ st_copy_texsubimage(GLcontext *ctx, srcY0 = srcY; srcY1 = srcY0 + height; } - util_blit_pixels(ctx->st->blit, - strb->surface, - srcX, srcY0, - srcX + width, srcY1, - dest_surface, - destX, destY, - destX + width, destY + height, - 0.0, PIPE_TEX_MIPFILTER_NEAREST); + util_blit_pixels_writemask(ctx->st->blit, + strb->surface, + srcX, srcY0, + srcX + width, srcY1, + dest_surface, + destX, destY, + destX + width, destY + height, + 0.0, PIPE_TEX_MIPFILTER_NEAREST, + format_writemask); use_fallback = GL_FALSE; } -- cgit v1.2.3 From 7d8f33590f656e406b35cebc7144e958e829ca3e Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Wed, 2 Sep 2009 19:48:49 +0200 Subject: st/xorg: Guard against realy old versions of Xorg --- src/gallium/state_trackers/xorg/xorg_dri2.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_dri2.c b/src/gallium/state_trackers/xorg/xorg_dri2.c index 537ce2d9a8..6431a0fe25 100644 --- a/src/gallium/state_trackers/xorg/xorg_dri2.c +++ b/src/gallium/state_trackers/xorg/xorg_dri2.c @@ -79,11 +79,13 @@ driDoCreateBuffer(DrawablePtr pDraw, DRI2BufferPtr buffer, unsigned int format) case DRI2BufferFrontLeft: break; case DRI2BufferStencil: +#if defined(DRI2INFOREC_VERSION) && DRI2INFOREC_VERSION > 2 case DRI2BufferDepthStencil: if (exa_priv->depth_stencil_tex && !pf_is_depth_stencil(exa_priv->depth_stencil_tex->format)) exa_priv->depth_stencil_tex = NULL; /* Fall through */ +#endif case DRI2BufferDepth: if (exa_priv->depth_stencil_tex) pipe_texture_reference(&tex, exa_priv->depth_stencil_tex); @@ -151,7 +153,7 @@ driDoDestroyBuffer(DrawablePtr pDraw, DRI2BufferPtr buffer) (*pScreen->DestroyPixmap)(private->pPixmap); } -#if DRI2INFOREC_VERSION > 2 +#if defined(DRI2INFOREC_VERSION) && DRI2INFOREC_VERSION > 2 static DRI2BufferPtr driCreateBuffer(DrawablePtr pDraw, unsigned int attachment, unsigned int format) @@ -336,13 +338,17 @@ driScreenInit(ScreenPtr pScreen) modesettingPtr ms = modesettingPTR(pScrn); DRI2InfoRec dri2info; +#if defined(DRI2INFOREC_VERSION) dri2info.version = DRI2INFOREC_VERSION; +#else + dri2info.version = 1; +#endif dri2info.fd = ms->fd; dri2info.driverName = pScrn->driverName; dri2info.deviceName = "/dev/dri/card0"; /* FIXME */ -#if DRI2INFOREC_VERSION > 2 +#if defined(DRI2INFOREC_VERSION) && DRI2INFOREC_VERSION > 2 dri2info.CreateBuffer = driCreateBuffer; dri2info.DestroyBuffer = driDestroyBuffer; #else -- cgit v1.2.3 From aecba6b1c8c6a82018183460450f5a4bf53d02ce Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 1 Sep 2009 22:07:37 -0700 Subject: intel: Move MapBufferRange mesa state setting up to cover the 915 case. --- src/mesa/drivers/dri/intel/intel_buffer_objects.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c index 920da1f4e0..b7e50b0027 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c @@ -299,6 +299,13 @@ intel_bufferobj_map_range(GLcontext * ctx, assert(intel_obj); + /* _mesa_MapBufferRange (GL entrypoint) sets these, but the vbo module also + * internally uses our functions directly. + */ + obj->Offset = offset; + obj->Length = length; + obj->AccessFlags = access; + if (intel_obj->sys_buffer) { obj->Pointer = intel_obj->sys_buffer + offset; return obj->Pointer; @@ -314,13 +321,6 @@ intel_bufferobj_map_range(GLcontext * ctx, if ((access & GL_MAP_WRITE_BIT) && !(access & GL_MAP_UNSYNCHRONIZED_BIT)) intelFlush(ctx); - /* _mesa_MapBufferRange (GL entrypoint) sets these, but the vbo module also - * internally uses our functions directly. - */ - obj->Offset = offset; - obj->Length = length; - obj->AccessFlags = access; - if (intel_obj->buffer == NULL) { obj->Pointer = NULL; return NULL; -- cgit v1.2.3 From 82313eed01b191320721dab63d353a1634f89231 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 2 Sep 2009 11:33:08 -0700 Subject: intel: Sync a synchronized READ_BIT map buffer range with GL drawing to it. It's probably uncommon, but would obviously have gone wrong. --- src/mesa/drivers/dri/intel/intel_buffer_objects.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c index b7e50b0027..b8a0363b74 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c @@ -318,7 +318,7 @@ intel_bufferobj_map_range(GLcontext * ctx, * the batchbuffer so that GEM knows about the buffer access for later * syncing. */ - if ((access & GL_MAP_WRITE_BIT) && !(access & GL_MAP_UNSYNCHRONIZED_BIT)) + if (!(access & GL_MAP_UNSYNCHRONIZED_BIT)) intelFlush(ctx); if (intel_obj->buffer == NULL) { -- cgit v1.2.3 From ec32ef12b3a496008cc982acfefca570a88e92eb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 2 Sep 2009 12:07:37 -0700 Subject: intel: Add support for FlushMappedBufferRange for ARB_map_buffer_range. This should help for the usage by the VBO module, where we would upload the whole remaining chunk of the buffer for a series of range maps that should cover just a segment of it. --- src/mesa/drivers/dri/intel/intel_buffer_objects.c | 73 ++++++++++++++++++----- src/mesa/drivers/dri/intel/intel_buffer_objects.h | 1 + 2 files changed, 59 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c index b8a0363b74..ae6f3064a8 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c @@ -344,19 +344,24 @@ intel_bufferobj_map_range(GLcontext * ctx, */ if ((access & GL_MAP_INVALIDATE_RANGE_BIT) && drm_intel_bo_busy(intel_obj->buffer)) { - intel_obj->range_map_bo = drm_intel_bo_alloc(intel->bufmgr, - "range map", - length, 64); - if (!(access & GL_MAP_READ_BIT) && - intel->intelScreen->kernel_exec_fencing) { - drm_intel_gem_bo_map_gtt(intel_obj->range_map_bo); - intel_obj->mapped_gtt = GL_TRUE; + if (access & GL_MAP_FLUSH_EXPLICIT_BIT) { + intel_obj->range_map_buffer = _mesa_malloc(length); + obj->Pointer = intel_obj->range_map_buffer; } else { - drm_intel_bo_map(intel_obj->range_map_bo, - (access & GL_MAP_WRITE_BIT) != 0); - intel_obj->mapped_gtt = GL_FALSE; + intel_obj->range_map_bo = drm_intel_bo_alloc(intel->bufmgr, + "range map", + length, 64); + if (!(access & GL_MAP_READ_BIT) && + intel->intelScreen->kernel_exec_fencing) { + drm_intel_gem_bo_map_gtt(intel_obj->range_map_bo); + intel_obj->mapped_gtt = GL_TRUE; + } else { + drm_intel_bo_map(intel_obj->range_map_bo, + (access & GL_MAP_WRITE_BIT) != 0); + intel_obj->mapped_gtt = GL_FALSE; + } + obj->Pointer = intel_obj->range_map_bo->virtual; } - obj->Pointer = intel_obj->range_map_bo->virtual; return obj->Pointer; } @@ -373,6 +378,38 @@ intel_bufferobj_map_range(GLcontext * ctx, return obj->Pointer; } +/* Ideally we'd use a BO to avoid taking up cache space for the temporary + * data, but FlushMappedBufferRange may be followed by further writes to + * the pointer, so we would have to re-map after emitting our blit, which + * would defeat the point. + */ +static void +intel_bufferobj_flush_mapped_range(GLcontext *ctx, GLenum target, + GLintptr offset, GLsizeiptr length, + struct gl_buffer_object *obj) +{ + struct intel_context *intel = intel_context(ctx); + struct intel_buffer_object *intel_obj = intel_buffer_object(obj); + drm_intel_bo *temp_bo; + + /* Unless we're in the range map using a temporary system buffer, + * there's no work to do. + */ + if (intel_obj->range_map_buffer == NULL) + return; + + temp_bo = drm_intel_bo_alloc(intel->bufmgr, "range map flush", length, 64); + + drm_intel_bo_subdata(temp_bo, 0, length, intel_obj->range_map_buffer); + + intel_emit_linear_blit(intel, + intel_obj->buffer, obj->Offset + offset, + temp_bo, 0, + length); + + drm_intel_bo_unreference(temp_bo); +} + /** * Called via glUnmapBuffer(). @@ -388,6 +425,15 @@ intel_bufferobj_unmap(GLcontext * ctx, assert(obj->Pointer); if (intel_obj->sys_buffer != NULL) { /* always keep the mapping around. */ + } else if (intel_obj->range_map_buffer != NULL) { + /* Since we've emitted some blits to buffers that will (likely) be used + * in rendering operations in other cache domains in this batch, emit a + * flush. Once again, we wish for a domain tracker in libdrm to cover + * usage inside of a batchbuffer. + */ + intel_batchbuffer_emit_mi_flush(intel->batch); + free(intel_obj->range_map_buffer); + intel_obj->range_map_buffer = NULL; } else if (intel_obj->range_map_bo != NULL) { if (intel_obj->mapped_gtt) { drm_intel_gem_bo_unmap_gtt(intel_obj->range_map_bo); @@ -395,10 +441,6 @@ intel_bufferobj_unmap(GLcontext * ctx, drm_intel_bo_unmap(intel_obj->range_map_bo); } - /* We ignore the FLUSH_EXPLICIT bit and the calls associated with it. - * It would be a small win to support that, but for now we just copy - * the whole mapped range into place. - */ intel_emit_linear_blit(intel, intel_obj->buffer, obj->Offset, intel_obj->range_map_bo, 0, @@ -528,6 +570,7 @@ intelInitBufferObjectFuncs(struct dd_function_table *functions) functions->GetBufferSubData = intel_bufferobj_get_subdata; functions->MapBuffer = intel_bufferobj_map; functions->MapBufferRange = intel_bufferobj_map_range; + functions->FlushMappedBufferRange = intel_bufferobj_flush_mapped_range; functions->UnmapBuffer = intel_bufferobj_unmap; functions->CopyBufferSubData = intel_bufferobj_copy_subdata; } diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.h b/src/mesa/drivers/dri/intel/intel_buffer_objects.h index 06a8ab9824..bf3e08a320 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.h +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.h @@ -50,6 +50,7 @@ struct intel_buffer_object buffer object? */ drm_intel_bo *range_map_bo; + void *range_map_buffer; unsigned int range_map_offset; GLsizei range_map_size; -- cgit v1.2.3 From cbde2765804a4fc62bcf092230a01376aedbf2cd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 2 Sep 2009 12:17:28 -0700 Subject: Revert "i965: Use VBOs in the VBO module on 965, now that we have ARB_map_buffer_range." This reverts commit 00413d87426f14df47d90ba3c995e1889e9f88ca. Even with fixes, using ARB_map_buffer_range in the VBO module isn't showing up as a significant win, and some cases apparently regressed. Bug #23624. --- src/mesa/drivers/dri/i965/brw_context.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index e76e9fdcc8..3c5b848319 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -167,8 +167,6 @@ GLboolean brwCreateContext( const __GLcontextModes *mesaVis, brw_draw_init( brw ); - vbo_use_buffer_objects(ctx); - return GL_TRUE; } -- cgit v1.2.3 From d918896a754460bfcc5a9ba1e2844255f21ecab7 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 2 Sep 2009 17:16:03 -0400 Subject: st/xorg: handle solid fills in the fragment shader --- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index 8876482ba1..4fe8a30e3d 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -150,20 +150,34 @@ create_fs(struct pipe_context *pipe, struct ureg_src dst_pos, src_pos, mask_pos; struct ureg_src src, mask; struct ureg_dst out; + boolean is_fill = fs_traits & VS_FILL; + boolean is_composite = fs_traits & VS_COMPOSITE; + boolean has_mask = fs_traits & VS_MASK; ureg = ureg_create(TGSI_PROCESSOR_FRAGMENT); if (ureg == NULL) return 0; + /* it has to be either a fill or a composite op */ + debug_assert(is_fill ^ is_composite); + out = ureg_DECL_output(ureg, TGSI_SEMANTIC_COLOR, 0); src_sampler = ureg_DECL_sampler(ureg); - src_pos = ureg_DECL_fs_input(ureg, - TGSI_SEMANTIC_POSITION, - 0, - TGSI_INTERPOLATE_PERSPECTIVE); + if (is_composite) { + src_pos = ureg_DECL_fs_input(ureg, + TGSI_SEMANTIC_POSITION, + 0, + TGSI_INTERPOLATE_PERSPECTIVE); + } + if (is_fill) { + src_pos = ureg_DECL_fs_input(ureg, + TGSI_SEMANTIC_COLOR, + 0, + TGSI_INTERPOLATE_PERSPECTIVE); + } if ((fs_traits & FS_MASK)) { mask_sampler = ureg_DECL_sampler(ureg); -- cgit v1.2.3 From dc9de8064f52b12d29d9ecd51b765973ac293fac Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 2 Sep 2009 17:21:28 -0400 Subject: st/xorg: flip the coordinate system --- src/gallium/state_trackers/xorg/xorg_composite.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index fafd77f052..d0cac75855 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -325,7 +325,7 @@ bind_viewport_state(struct exa_context *exa, PicturePtr pDstPicture) int width = pDstPicture->pDrawable->width; int height = pDstPicture->pDrawable->height; - set_viewport(exa, width, height, Y0_BOTTOM); + set_viewport(exa, width, height, Y0_TOP); } static void -- cgit v1.2.3 From d6b58a97c2f94ca54852414103c4ac2832279f2f Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 2 Sep 2009 18:38:23 -0400 Subject: st/xorg: handle xrender repeat modes --- src/gallium/state_trackers/xorg/xorg_composite.c | 30 ++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index d0cac75855..7fa36fda51 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -94,6 +94,24 @@ blend_for_op(int op) return xorg_blends[BLEND_OP_OVER]; } +static INLINE int +render_repeat_to_gallium(int mode) +{ + switch(mode) { + case RepeatNone: + return PIPE_TEX_WRAP_CLAMP; + case RepeatNormal: + return PIPE_TEX_WRAP_REPEAT; + case RepeatReflect: + return PIPE_TEX_WRAP_MIRROR_REPEAT; + case RepeatPad: + return PIPE_TEX_WRAP_CLAMP_TO_EDGE; + default: + debug_printf("Unsupported repeat mode\n"); + } + return PIPE_TEX_WRAP_REPEAT; +} + static INLINE void setup_vertex0(float vertex[2][4], float x, float y, @@ -417,8 +435,10 @@ bind_samplers(struct exa_context *exa, int op, memset(&mask_sampler, 0, sizeof(struct pipe_sampler_state)); if (pSrcPicture && pSrc) { - src_sampler.wrap_s = PIPE_TEX_WRAP_CLAMP_TO_EDGE; - src_sampler.wrap_t = PIPE_TEX_WRAP_CLAMP_TO_EDGE; + unsigned src_wrap = render_repeat_to_gallium( + pSrcPicture->repeatType); + src_sampler.wrap_s = src_wrap; + src_sampler.wrap_t = src_wrap; src_sampler.min_img_filter = PIPE_TEX_MIPFILTER_NEAREST; src_sampler.mag_img_filter = PIPE_TEX_MIPFILTER_NEAREST; src_sampler.normalized_coords = 1; @@ -428,8 +448,10 @@ bind_samplers(struct exa_context *exa, int op, } if (pMaskPicture && pMask) { - mask_sampler.wrap_s = PIPE_TEX_WRAP_CLAMP_TO_EDGE; - mask_sampler.wrap_t = PIPE_TEX_WRAP_CLAMP_TO_EDGE; + unsigned mask_wrap = render_repeat_to_gallium( + pMaskPicture->repeatType); + mask_sampler.wrap_s = mask_wrap; + mask_sampler.wrap_t = mask_wrap; mask_sampler.min_img_filter = PIPE_TEX_MIPFILTER_NEAREST; mask_sampler.mag_img_filter = PIPE_TEX_MIPFILTER_NEAREST; mask_sampler.normalized_coords = 1; -- cgit v1.2.3 From 206eb504930e5c5f8c947949bcaf20b11627fac7 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 2 Sep 2009 18:39:21 -0400 Subject: st/xorg: fix warnings --- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index 4fe8a30e3d..38b3a3aaab 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -146,13 +146,13 @@ create_fs(struct pipe_context *pipe, unsigned fs_traits) { struct ureg_program *ureg; - struct ureg_src dst_sampler, src_sampler, mask_sampler; - struct ureg_src dst_pos, src_pos, mask_pos; + struct ureg_src /*dst_sampler,*/ src_sampler, mask_sampler; + struct ureg_src /*dst_pos,*/ src_pos, mask_pos; struct ureg_src src, mask; struct ureg_dst out; boolean is_fill = fs_traits & VS_FILL; boolean is_composite = fs_traits & VS_COMPOSITE; - boolean has_mask = fs_traits & VS_MASK; + /*boolean has_mask = fs_traits & VS_MASK;*/ ureg = ureg_create(TGSI_PROCESSOR_FRAGMENT); if (ureg == NULL) -- cgit v1.2.3 From e5b93e116180d7ae360af1fd3e7b05f14ebce656 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 3 Sep 2009 12:01:27 +1000 Subject: radeon/dri2: add gl20 bits for r300/r600 just like dri1 does --- src/mesa/drivers/dri/radeon/radeon_screen.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c index daee3b85d9..5ffb55db5e 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -1690,6 +1690,8 @@ __DRIconfig **radeonInitScreen2(__DRIscreenPrivate *psp) driInitSingleExtension( NULL, NV_vp_extension ); driInitSingleExtension( NULL, ATI_fs_extension ); driInitExtensions( NULL, point_extensions, GL_FALSE ); +#elif (defined(RADEON_COMMON_FOR_R300) || defined(RADEON_COMMON_FOR_R600)) + driInitSingleExtension( NULL, gl_20_extension ); #endif if (!radeonInitDriver(psp)) { -- cgit v1.2.3 From 5f7c532b1e5414f65e126948b35cf9e1ef10c3a1 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 3 Sep 2009 12:01:52 +1000 Subject: radeon: pass internal format into the miptree. We need to figure out if the compression format changes. without this texcmp segfaults if you change format enough times. --- src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c | 16 +++++++++------- src/mesa/drivers/dri/radeon/radeon_mipmap_tree.h | 5 +++-- src/mesa/drivers/dri/radeon/radeon_texture.c | 4 ++-- 3 files changed, 14 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c index d9f17cfc58..38db305e2a 100644 --- a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c +++ b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c @@ -190,13 +190,14 @@ static void calculate_miptree_layout_r300(radeonContextPtr rmesa, radeon_mipmap_ * Create a new mipmap tree, calculate its layout and allocate memory. */ radeon_mipmap_tree* radeon_miptree_create(radeonContextPtr rmesa, radeonTexObj *t, - GLenum target, GLuint firstLevel, GLuint lastLevel, + GLenum target, GLenum internal_format, GLuint firstLevel, GLuint lastLevel, GLuint width0, GLuint height0, GLuint depth0, GLuint bpp, GLuint tilebits, GLuint compressed) { radeon_mipmap_tree *mt = CALLOC_STRUCT(_radeon_mipmap_tree); mt->radeon = rmesa; + mt->internal_format = internal_format; mt->refcount = 1; mt->t = t; mt->target = target; @@ -318,8 +319,8 @@ GLboolean radeon_miptree_matches_image(radeon_mipmap_tree *mt, if (face >= mt->faces || level < mt->firstLevel || level > mt->lastLevel) return GL_FALSE; - if ((!texImage->IsCompressed && mt->compressed) || - (texImage->IsCompressed && !mt->compressed)) + if (texImage->InternalFormat != mt->internal_format || + texImage->IsCompressed != mt->compressed) return GL_FALSE; if (!texImage->IsCompressed && @@ -369,9 +370,9 @@ GLboolean radeon_miptree_matches_texture(radeon_mipmap_tree *mt, struct gl_textu * given image in the given position. */ void radeon_try_alloc_miptree(radeonContextPtr rmesa, radeonTexObj *t, - struct gl_texture_image *texImage, GLuint face, GLuint level) + radeon_texture_image *image, GLuint face, GLuint level) { - GLuint compressed = texImage->IsCompressed ? texImage->TexFormat->MesaFormat : 0; + GLuint compressed = image->base.IsCompressed ? image->base.TexFormat->MesaFormat : 0; GLuint numfaces = 1; GLuint firstLevel, lastLevel; @@ -385,9 +386,10 @@ void radeon_try_alloc_miptree(radeonContextPtr rmesa, radeonTexObj *t, return; t->mt = radeon_miptree_create(rmesa, t, t->base.Target, + image->base.InternalFormat, firstLevel, lastLevel, - texImage->Width, texImage->Height, texImage->Depth, - texImage->TexFormat->TexelBytes, t->tile_bits, compressed); + image->base.Width, image->base.Height, image->base.Depth, + image->base.TexFormat->TexelBytes, t->tile_bits, compressed); } /* Although we use the image_offset[] array to store relative offsets diff --git a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.h b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.h index 7ece688493..db28252da3 100644 --- a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.h +++ b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.h @@ -67,6 +67,7 @@ struct _radeon_mipmap_tree { GLuint totalsize; /** total size of the miptree, in bytes */ GLenum target; /** GL_TEXTURE_xxx */ + GLenum internal_format; GLuint faces; /** # of faces: 6 for cubemaps, 1 otherwise */ GLuint firstLevel; /** First mip level stored in this mipmap tree */ GLuint lastLevel; /** Last mip level stored in this mipmap tree */ @@ -83,7 +84,7 @@ struct _radeon_mipmap_tree { }; radeon_mipmap_tree* radeon_miptree_create(radeonContextPtr rmesa, radeonTexObj *t, - GLenum target, GLuint firstLevel, GLuint lastLevel, + GLenum target, GLenum internal_format, GLuint firstLevel, GLuint lastLevel, GLuint width0, GLuint height0, GLuint depth0, GLuint bpp, GLuint tilebits, GLuint compressed); void radeon_miptree_reference(radeon_mipmap_tree *mt); @@ -93,7 +94,7 @@ GLboolean radeon_miptree_matches_image(radeon_mipmap_tree *mt, struct gl_texture_image *texImage, GLuint face, GLuint level); GLboolean radeon_miptree_matches_texture(radeon_mipmap_tree *mt, struct gl_texture_object *texObj); void radeon_try_alloc_miptree(radeonContextPtr rmesa, radeonTexObj *t, - struct gl_texture_image *texImage, GLuint face, GLuint level); + radeon_texture_image *texImage, GLuint face, GLuint level); GLuint radeon_miptree_image_offset(radeon_mipmap_tree *mt, GLuint face, GLuint level); void radeon_miptree_depth_offsets(radeon_mipmap_tree *mt, GLuint level, GLuint *offsets); diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c b/src/mesa/drivers/dri/radeon/radeon_texture.c index 181b23c396..fad3d1ceda 100644 --- a/src/mesa/drivers/dri/radeon/radeon_texture.c +++ b/src/mesa/drivers/dri/radeon/radeon_texture.c @@ -579,7 +579,7 @@ static void radeon_teximage( } if (!t->mt) - radeon_try_alloc_miptree(rmesa, t, texImage, face, level); + radeon_try_alloc_miptree(rmesa, t, image, face, level); if (t->mt && radeon_miptree_matches_image(t->mt, texImage, face, level)) { radeon_mipmap_level *lvl; image->mt = t->mt; @@ -966,7 +966,7 @@ int radeon_validate_texture_miptree(GLcontext * ctx, struct gl_texture_object *t if (!t->mt) { if (RADEON_DEBUG & RADEON_TEXTURE) fprintf(stderr, " Allocate new miptree\n"); - radeon_try_alloc_miptree(rmesa, t, &baseimage->base, 0, texObj->BaseLevel); + radeon_try_alloc_miptree(rmesa, t, baseimage, 0, texObj->BaseLevel); if (!t->mt) { _mesa_problem(ctx, "radeon_validate_texture failed to alloc miptree"); return GL_FALSE; -- cgit v1.2.3 From a25d0dc9ec66e5de932e6e154f6bef9ffa6ab653 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 3 Sep 2009 14:14:31 +1000 Subject: r600: make sure the active shader bo is re-added to persistent list. --- src/mesa/drivers/dri/r600/r600_texstate.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c b/src/mesa/drivers/dri/r600/r600_texstate.c index 237eaa8249..9fb083d33e 100644 --- a/src/mesa/drivers/dri/r600/r600_texstate.c +++ b/src/mesa/drivers/dri/r600/r600_texstate.c @@ -49,6 +49,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "r700_state.h" #include "radeon_mipmap_tree.h" #include "r600_tex.h" +#include "r700_fragprog.h" void r600UpdateTextureState(GLcontext * ctx); @@ -647,6 +648,7 @@ GLboolean r600ValidateBuffers(GLcontext * ctx) { context_t *rmesa = R700_CONTEXT(ctx); struct radeon_renderbuffer *rrb; + struct radeon_bo *pbo; int i; int ret; @@ -688,6 +690,12 @@ GLboolean r600ValidateBuffers(GLcontext * ctx) RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0); } + pbo = (struct radeon_bo *)r700GetActiveFpShaderBo(ctx); + if (pbo) { + radeon_cs_space_add_persistent_bo(rmesa->radeon.cmdbuf.cs, pbo, + RADEON_GEM_DOMAIN_GTT, 0); + } + ret = radeon_cs_space_check_with_bo(rmesa->radeon.cmdbuf.cs, first_elem(&rmesa->radeon.dma.reserved)->bo, RADEON_GEM_DOMAIN_GTT, 0); if (ret) return GL_FALSE; -- cgit v1.2.3 From c19b52f10fe11282f0a3466eda2eeb1d422b7aa3 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 3 Sep 2009 14:14:47 +1000 Subject: r600: visual depth has no meaning here. fbos get angry when this happens. --- src/mesa/drivers/dri/r600/r700_state.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r700_state.c b/src/mesa/drivers/dri/r600/r700_state.c index 91cb492ce6..09344426f4 100644 --- a/src/mesa/drivers/dri/r600/r700_state.c +++ b/src/mesa/drivers/dri/r600/r700_state.c @@ -1451,18 +1451,8 @@ static void r700SetDepthTarget(context_t *context) if(4 == rrb->cpp) { - switch (GL_CONTEXT(context)->Visual.depthBits) - { - case 16: - case 24: - SETfield(r700->DB_DEPTH_INFO.u32All, DEPTH_8_24, - DB_DEPTH_INFO__FORMAT_shift, DB_DEPTH_INFO__FORMAT_mask); - break; - default: - fprintf(stderr, "Error: Unsupported depth %d... exiting\n", - GL_CONTEXT(context)->Visual.depthBits); - _mesa_exit(-1); - } + SETfield(r700->DB_DEPTH_INFO.u32All, DEPTH_8_24, + DB_DEPTH_INFO__FORMAT_shift, DB_DEPTH_INFO__FORMAT_mask); } else { -- cgit v1.2.3 From e938d4a0535a6dc18c170ac40585424754961cc4 Mon Sep 17 00:00:00 2001 From: Cooper Yuan Date: Thu, 3 Sep 2009 17:06:18 +0800 Subject: r300g: specify point/line/triangle have stuffed texture coord --- src/gallium/drivers/r300/r300_state_invariant.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/drivers/r300/r300_state_invariant.c b/src/gallium/drivers/r300/r300_state_invariant.c index 1e92374a4e..7d822fec48 100644 --- a/src/gallium/drivers/r300/r300_state_invariant.c +++ b/src/gallium/drivers/r300/r300_state_invariant.c @@ -38,7 +38,9 @@ void r300_emit_invariant_state(struct r300_context* r300) /*** Graphics Backend (GB) ***/ /* Various GB enables */ - OUT_CS_REG(R300_GB_ENABLE, 0x0); + OUT_CS_REG(R300_GB_ENABLE, R300_GB_POINT_STUFF_ENABLE | + R300_GB_LINE_STUFF_ENABLE | + R300_GB_TRIANGLE_STUFF_ENABLE); /* Subpixel multisampling for AA * These are commented out because glisse's CS checker doesn't like them. * I presume these will be re-enabled later. -- cgit v1.2.3 From c8258b95d63dd002d532309abdc95b51c57e6b45 Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Thu, 3 Sep 2009 12:37:05 +0200 Subject: nv50: fix draw_elements_inline_u08/16 We've been emitting the same two indices over and over without incrementing map. --- src/gallium/drivers/nv50/nv50_vbo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c index 36f1b24b2f..daa49cf463 100644 --- a/src/gallium/drivers/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nv50/nv50_vbo.c @@ -178,7 +178,7 @@ nv50_draw_elements_inline_u08(struct nv50_context *nv50, uint8_t *map, BEGIN_RING(chan, tesla, 0x400015f0, nr >> 1); for (i = 0; i < nr; i += 2) - OUT_RING (chan, (map[1] << 16) | map[0]); + OUT_RING (chan, (map[i + 1] << 16) | map[i]); count -= nr; map += nr; @@ -207,7 +207,7 @@ nv50_draw_elements_inline_u16(struct nv50_context *nv50, uint16_t *map, BEGIN_RING(chan, tesla, 0x400015f0, nr >> 1); for (i = 0; i < nr; i += 2) - OUT_RING (chan, (map[1] << 16) | map[0]); + OUT_RING (chan, (map[i + 1] << 16) | map[i]); count -= nr; map += nr; -- cgit v1.2.3 From ffee352726750849b1e1efd00c52ddae813805f3 Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Thu, 3 Sep 2009 12:39:46 +0200 Subject: nv50: fix vbo_static_attrib method size error The VTX_ATTR_3/2/1F methods also had size 4 ... a stupid copy/paste error. --- src/gallium/drivers/nv50/nv50_vbo.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c index daa49cf463..eeed148c7b 100644 --- a/src/gallium/drivers/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nv50/nv50_vbo.c @@ -313,18 +313,18 @@ nv50_vbo_static_attrib(struct nv50_context *nv50, unsigned attrib, so_data (so, fui(v[3])); break; case 3: - so_method(so, tesla, NV50TCL_VTX_ATTR_3F_X(attrib), 4); + so_method(so, tesla, NV50TCL_VTX_ATTR_3F_X(attrib), 3); so_data (so, fui(v[0])); so_data (so, fui(v[1])); so_data (so, fui(v[2])); break; case 2: - so_method(so, tesla, NV50TCL_VTX_ATTR_2F_X(attrib), 4); + so_method(so, tesla, NV50TCL_VTX_ATTR_2F_X(attrib), 2); so_data (so, fui(v[0])); so_data (so, fui(v[1])); break; case 1: - so_method(so, tesla, NV50TCL_VTX_ATTR_1F(attrib), 4); + so_method(so, tesla, NV50TCL_VTX_ATTR_1F(attrib), 1); so_data (so, fui(v[0])); break; default: -- cgit v1.2.3 From 8b1ef3fa357f5bbd6d3f73714a86ce380b867a71 Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Thu, 3 Sep 2009 12:54:41 +0200 Subject: nv50: move centroid, flat bits when making interp long Before this, just the perspective divide bit was moved in convert_to_long of the load interpolant instruction. --- src/gallium/drivers/nv50/nv50_program.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c index 1cb1ce74bd..4a838529de 100644 --- a/src/gallium/drivers/nv50/nv50_program.c +++ b/src/gallium/drivers/nv50/nv50_program.c @@ -1106,10 +1106,10 @@ convert_to_long(struct nv50_pc *pc, struct nv50_program_exec *e) m = 0xffff7fff; break; case 0x8: - /* INTERP */ - m = ~0x02000000; - if (e->inst[0] & 0x02000000) - q = 0x00020000; + /* INTERP (move centroid, perspective and flat bits) */ + m = ~0x03000100; + q = (e->inst[0] & (3 << 24)) >> (24 - 16); + q |= (e->inst[0] & (1 << 8)) << (18 - 8); break; case 0x9: /* RCP */ -- cgit v1.2.3 From 848ab8be8c34b00b2afe6120882f8c29f047ced5 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Thu, 3 Sep 2009 15:16:25 +0100 Subject: aux/tgsi: pull back ureg work from 0.1 branch Manual merge of ureg changes on the branch. Too much unrelated stuff for a proper merge. --- src/gallium/auxiliary/tgsi/tgsi_dump.c | 31 ++-- src/gallium/auxiliary/tgsi/tgsi_exec.c | 61 ++++++- src/gallium/auxiliary/tgsi/tgsi_exec.h | 8 + src/gallium/auxiliary/tgsi/tgsi_info.c | 238 +++++++++++++------------- src/gallium/auxiliary/tgsi/tgsi_info.h | 10 +- src/gallium/auxiliary/tgsi/tgsi_sanity.c | 4 +- src/gallium/auxiliary/tgsi/tgsi_ureg.c | 122 ++++++++++--- src/gallium/auxiliary/tgsi/tgsi_ureg.h | 119 ++++++++++++- src/gallium/auxiliary/tgsi/tgsi_util.h | 4 + src/gallium/auxiliary/util/u_math.h | 4 + src/gallium/auxiliary/util/u_simple_shaders.c | 2 +- 11 files changed, 429 insertions(+), 174 deletions(-) (limited to 'src') diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c index 05b07a3a73..111d95b666 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_dump.c +++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c @@ -43,6 +43,7 @@ struct dump_ctx struct tgsi_iterate_context iter; uint instno; + int indent; uint indentation; @@ -335,14 +336,6 @@ tgsi_dump_immediate( iter_immediate( &ctx.iter, (struct tgsi_full_immediate *)imm ); } -static void -indent(struct dump_ctx *ctx) -{ - uint i; - for (i = 0; i < ctx->indentation; i++) - TXT(" "); -} - static boolean iter_instruction( struct tgsi_iterate_context *iter, @@ -350,22 +343,19 @@ iter_instruction( { struct dump_ctx *ctx = (struct dump_ctx *) iter; uint instno = ctx->instno++; - + const struct tgsi_opcode_info *info = tgsi_get_opcode_info( inst->Instruction.Opcode ); uint i; boolean first_reg = TRUE; INSTID( instno ); TXT( ": " ); - - /* update indentation */ - if (inst->Instruction.Opcode == TGSI_OPCODE_ENDIF || - inst->Instruction.Opcode == TGSI_OPCODE_ENDFOR || - inst->Instruction.Opcode == TGSI_OPCODE_ENDLOOP) { - ctx->indentation -= indent_spaces; - } - indent(ctx); - - TXT( tgsi_get_opcode_info( inst->Instruction.Opcode )->mnemonic ); + + ctx->indent -= info->pre_dedent; + for(i = 0; (int)i < ctx->indent; ++i) + TXT( " " ); + ctx->indent += info->post_indent; + + TXT( info->mnemonic ); switch (inst->Instruction.Saturate) { case TGSI_SAT_NONE: @@ -526,6 +516,7 @@ tgsi_dump_instruction( struct dump_ctx ctx; ctx.instno = instno; + ctx.indent = 0; ctx.printf = dump_ctx_printf; ctx.indentation = 0; @@ -559,6 +550,7 @@ tgsi_dump( ctx.iter.epilog = NULL; ctx.instno = 0; + ctx.indent = 0; ctx.printf = dump_ctx_printf; ctx.indentation = 0; @@ -612,6 +604,7 @@ tgsi_dump_str( ctx.base.iter.epilog = NULL; ctx.base.instno = 0; + ctx.base.indent = 0; ctx.base.printf = &str_dump_ctx_printf; ctx.base.indentation = 0; diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index d3ffd4a85f..60ffa188df 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -3094,6 +3094,12 @@ exec_instruction( break; case TGSI_OPCODE_BGNFOR: + assert(mach->LoopCounterStackTop < TGSI_EXEC_MAX_LOOP_NESTING); + for (chan_index = 0; chan_index < 3; chan_index++) { + FETCH( &mach->LoopCounterStack[mach->LoopCounterStackTop].xyzw[chan_index], 0, chan_index ); + } + STORE( &mach->LoopCounterStack[mach->LoopCounterStackTop].xyzw[CHAN_Y], 0, CHAN_X ); + ++mach->LoopCounterStackTop; /* fall-through (for now) */ case TGSI_OPCODE_BGNLOOP: /* push LoopMask and ContMasks */ @@ -3101,10 +3107,58 @@ exec_instruction( mach->LoopStack[mach->LoopStackTop++] = mach->LoopMask; assert(mach->ContStackTop < TGSI_EXEC_MAX_LOOP_NESTING); mach->ContStack[mach->ContStackTop++] = mach->ContMask; + assert(mach->LoopLabelStackTop < TGSI_EXEC_MAX_LOOP_NESTING); + mach->LoopLabelStack[mach->LoopLabelStackTop++] = *pc - 1; break; case TGSI_OPCODE_ENDFOR: - /* fall-through (for now at least) */ + assert(mach->LoopCounterStackTop > 0); + micro_sub( &mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_X], + &mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_X], + &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C] ); + /* update LoopMask */ + if( mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_X].f[0] <= 0) { + mach->LoopMask &= ~0x1; + } + if( mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_X].f[1] <= 0 ) { + mach->LoopMask &= ~0x2; + } + if( mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_X].f[2] <= 0 ) { + mach->LoopMask &= ~0x4; + } + if( mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_X].f[3] <= 0 ) { + mach->LoopMask &= ~0x8; + } + micro_add( &mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_Y], + &mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_Y], + &mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[CHAN_Z]); + assert(mach->LoopLabelStackTop > 0); + inst = mach->Instructions + mach->LoopLabelStack[mach->LoopLabelStackTop - 1]; + STORE( &mach->LoopCounterStack[mach->LoopCounterStackTop].xyzw[CHAN_Y], 0, CHAN_X ); + /* Restore ContMask, but don't pop */ + assert(mach->ContStackTop > 0); + mach->ContMask = mach->ContStack[mach->ContStackTop - 1]; + UPDATE_EXEC_MASK(mach); + if (mach->ExecMask) { + /* repeat loop: jump to instruction just past BGNLOOP */ + assert(mach->LoopLabelStackTop > 0); + *pc = mach->LoopLabelStack[mach->LoopLabelStackTop - 1] + 1; + } + else { + /* exit loop: pop LoopMask */ + assert(mach->LoopStackTop > 0); + mach->LoopMask = mach->LoopStack[--mach->LoopStackTop]; + /* pop ContMask */ + assert(mach->ContStackTop > 0); + mach->ContMask = mach->ContStack[--mach->ContStackTop]; + assert(mach->LoopLabelStackTop > 0); + --mach->LoopLabelStackTop; + assert(mach->LoopCounterStackTop > 0); + --mach->LoopCounterStackTop; + } + UPDATE_EXEC_MASK(mach); + break; + case TGSI_OPCODE_ENDLOOP: /* Restore ContMask, but don't pop */ assert(mach->ContStackTop > 0); @@ -3112,7 +3166,8 @@ exec_instruction( UPDATE_EXEC_MASK(mach); if (mach->ExecMask) { /* repeat loop: jump to instruction just past BGNLOOP */ - *pc = inst->InstructionExtLabel.Label + 1; + assert(mach->LoopLabelStackTop > 0); + *pc = mach->LoopLabelStack[mach->LoopLabelStackTop - 1] + 1; } else { /* exit loop: pop LoopMask */ @@ -3121,6 +3176,8 @@ exec_instruction( /* pop ContMask */ assert(mach->ContStackTop > 0); mach->ContMask = mach->ContStack[--mach->ContStackTop]; + assert(mach->LoopLabelStackTop > 0); + --mach->LoopLabelStackTop; } UPDATE_EXEC_MASK(mach); break; diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index fd9ef6f35d..3baa94dbdd 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -232,6 +232,14 @@ struct tgsi_exec_machine uint LoopStack[TGSI_EXEC_MAX_LOOP_NESTING]; int LoopStackTop; + /** Loop label stack */ + uint LoopLabelStack[TGSI_EXEC_MAX_LOOP_NESTING]; + int LoopLabelStackTop; + + /** Loop counter stack (x = count, y = current, z = step) */ + struct tgsi_exec_vector LoopCounterStack[TGSI_EXEC_MAX_LOOP_NESTING]; + int LoopCounterStackTop; + /** Loop continue mask stack (see comments in tgsi_exec.c) */ uint ContStack[TGSI_EXEC_MAX_LOOP_NESTING]; int ContStackTop; diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c index e69cd05213..17af4cb7ad 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.c +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c @@ -31,125 +31,125 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] = { - { 1, 1, 0, 0, "ARL", TGSI_OPCODE_ARL }, - { 1, 1, 0, 0, "MOV", TGSI_OPCODE_MOV }, - { 1, 1, 0, 0, "LIT", TGSI_OPCODE_LIT }, - { 1, 1, 0, 0, "RCP", TGSI_OPCODE_RCP }, - { 1, 1, 0, 0, "RSQ", TGSI_OPCODE_RSQ }, - { 1, 1, 0, 0, "EXP", TGSI_OPCODE_EXP }, - { 1, 1, 0, 0, "LOG", TGSI_OPCODE_LOG }, - { 1, 2, 0, 0, "MUL", TGSI_OPCODE_MUL }, - { 1, 2, 0, 0, "ADD", TGSI_OPCODE_ADD }, - { 1, 2, 0, 0, "DP3", TGSI_OPCODE_DP3 }, - { 1, 2, 0, 0, "DP4", TGSI_OPCODE_DP4 }, - { 1, 2, 0, 0, "DST", TGSI_OPCODE_DST }, - { 1, 2, 0, 0, "MIN", TGSI_OPCODE_MIN }, - { 1, 2, 0, 0, "MAX", TGSI_OPCODE_MAX }, - { 1, 2, 0, 0, "SLT", TGSI_OPCODE_SLT }, - { 1, 2, 0, 0, "SGE", TGSI_OPCODE_SGE }, - { 1, 3, 0, 0, "MAD", TGSI_OPCODE_MAD }, - { 1, 2, 0, 0, "SUB", TGSI_OPCODE_SUB }, - { 1, 3, 0, 0, "LRP", TGSI_OPCODE_LRP }, - { 1, 3, 0, 0, "CND", TGSI_OPCODE_CND }, - { 0, 0, 0, 0, "", 20 }, /* removed */ - { 1, 3, 0, 0, "DP2A", TGSI_OPCODE_DP2A }, - { 0, 0, 0, 0, "", 22 }, /* removed */ - { 0, 0, 0, 0, "", 23 }, /* removed */ - { 1, 1, 0, 0, "FRC", TGSI_OPCODE_FRC }, - { 1, 3, 0, 0, "CLAMP", TGSI_OPCODE_CLAMP }, - { 1, 1, 0, 0, "FLR", TGSI_OPCODE_FLR }, - { 1, 1, 0, 0, "ROUND", TGSI_OPCODE_ROUND }, - { 1, 1, 0, 0, "EX2", TGSI_OPCODE_EX2 }, - { 1, 1, 0, 0, "LG2", TGSI_OPCODE_LG2 }, - { 1, 2, 0, 0, "POW", TGSI_OPCODE_POW }, - { 1, 2, 0, 0, "XPD", TGSI_OPCODE_XPD }, - { 0, 0, 0, 0, "", 32 }, /* removed */ - { 1, 1, 0, 0, "ABS", TGSI_OPCODE_ABS }, - { 1, 1, 0, 0, "RCC", TGSI_OPCODE_RCC }, - { 1, 2, 0, 0, "DPH", TGSI_OPCODE_DPH }, - { 1, 1, 0, 0, "COS", TGSI_OPCODE_COS }, - { 1, 1, 0, 0, "DDX", TGSI_OPCODE_DDX }, - { 1, 1, 0, 0, "DDY", TGSI_OPCODE_DDY }, - { 0, 0, 0, 0, "KILP", TGSI_OPCODE_KILP }, - { 1, 1, 0, 0, "PK2H", TGSI_OPCODE_PK2H }, - { 1, 1, 0, 0, "PK2US", TGSI_OPCODE_PK2US }, - { 1, 1, 0, 0, "PK4B", TGSI_OPCODE_PK4B }, - { 1, 1, 0, 0, "PK4UB", TGSI_OPCODE_PK4UB }, - { 1, 2, 0, 0, "RFL", TGSI_OPCODE_RFL }, - { 1, 2, 0, 0, "SEQ", TGSI_OPCODE_SEQ }, - { 1, 2, 0, 0, "SFL", TGSI_OPCODE_SFL }, - { 1, 2, 0, 0, "SGT", TGSI_OPCODE_SGT }, - { 1, 1, 0, 0, "SIN", TGSI_OPCODE_SIN }, - { 1, 2, 0, 0, "SLE", TGSI_OPCODE_SLE }, - { 1, 2, 0, 0, "SNE", TGSI_OPCODE_SNE }, - { 1, 2, 0, 0, "STR", TGSI_OPCODE_STR }, - { 1, 2, 1, 0, "TEX", TGSI_OPCODE_TEX }, - { 1, 4, 1, 0, "TXD", TGSI_OPCODE_TXD }, - { 1, 2, 1, 0, "TXP", TGSI_OPCODE_TXP }, - { 1, 1, 0, 0, "UP2H", TGSI_OPCODE_UP2H }, - { 1, 1, 0, 0, "UP2US", TGSI_OPCODE_UP2US }, - { 1, 1, 0, 0, "UP4B", TGSI_OPCODE_UP4B }, - { 1, 1, 0, 0, "UP4UB", TGSI_OPCODE_UP4UB }, - { 1, 3, 0, 0, "X2D", TGSI_OPCODE_X2D }, - { 1, 1, 0, 0, "ARA", TGSI_OPCODE_ARA }, - { 1, 1, 0, 0, "ARR", TGSI_OPCODE_ARR }, - { 0, 1, 0, 0, "BRA", TGSI_OPCODE_BRA }, - { 0, 0, 0, 1, "CAL", TGSI_OPCODE_CAL }, - { 0, 0, 0, 0, "RET", TGSI_OPCODE_RET }, - { 1, 1, 0, 0, "SSG", TGSI_OPCODE_SSG }, - { 1, 3, 0, 0, "CMP", TGSI_OPCODE_CMP }, - { 1, 1, 0, 0, "SCS", TGSI_OPCODE_SCS }, - { 1, 2, 1, 0, "TXB", TGSI_OPCODE_TXB }, - { 1, 1, 0, 0, "NRM", TGSI_OPCODE_NRM }, - { 1, 2, 0, 0, "DIV", TGSI_OPCODE_DIV }, - { 1, 2, 0, 0, "DP2", TGSI_OPCODE_DP2 }, - { 1, 2, 1, 0, "TXL", TGSI_OPCODE_TXL }, - { 0, 0, 0, 0, "BRK", TGSI_OPCODE_BRK }, - { 0, 1, 0, 1, "IF", TGSI_OPCODE_IF }, - { 1, 1, 0, 0, "BGNFOR", TGSI_OPCODE_BGNFOR }, - { 0, 1, 0, 0, "REP", TGSI_OPCODE_REP }, - { 0, 0, 0, 1, "ELSE", TGSI_OPCODE_ELSE }, - { 0, 0, 0, 0, "ENDIF", TGSI_OPCODE_ENDIF }, - { 1, 0, 0, 0, "ENDFOR", TGSI_OPCODE_ENDFOR }, - { 0, 0, 0, 0, "ENDREP", TGSI_OPCODE_ENDREP }, - { 0, 1, 0, 0, "PUSHA", TGSI_OPCODE_PUSHA }, - { 1, 0, 0, 0, "POPA", TGSI_OPCODE_POPA }, - { 1, 1, 0, 0, "CEIL", TGSI_OPCODE_CEIL }, - { 1, 1, 0, 0, "I2F", TGSI_OPCODE_I2F }, - { 1, 1, 0, 0, "NOT", TGSI_OPCODE_NOT }, - { 1, 1, 0, 0, "TRUNC", TGSI_OPCODE_TRUNC }, - { 1, 2, 0, 0, "SHL", TGSI_OPCODE_SHL }, - { 1, 2, 0, 0, "SHR", TGSI_OPCODE_SHR }, - { 1, 2, 0, 0, "AND", TGSI_OPCODE_AND }, - { 1, 2, 0, 0, "OR", TGSI_OPCODE_OR }, - { 1, 2, 0, 0, "MOD", TGSI_OPCODE_MOD }, - { 1, 2, 0, 0, "XOR", TGSI_OPCODE_XOR }, - { 1, 3, 0, 0, "SAD", TGSI_OPCODE_SAD }, - { 1, 2, 1, 0, "TXF", TGSI_OPCODE_TXF }, - { 1, 2, 1, 0, "TXQ", TGSI_OPCODE_TXQ }, - { 0, 0, 0, 0, "CONT", TGSI_OPCODE_CONT }, - { 0, 0, 0, 0, "EMIT", TGSI_OPCODE_EMIT }, - { 0, 0, 0, 0, "ENDPRIM", TGSI_OPCODE_ENDPRIM }, - { 0, 0, 0, 1, "BGNLOOP", TGSI_OPCODE_BGNLOOP }, - { 0, 0, 0, 0, "BGNSUB", TGSI_OPCODE_BGNSUB }, - { 0, 0, 0, 1, "ENDLOOP", TGSI_OPCODE_ENDLOOP }, - { 0, 0, 0, 0, "ENDSUB", TGSI_OPCODE_ENDSUB }, - { 1, 1, 0, 0, "NOISE1", TGSI_OPCODE_NOISE1 }, - { 1, 1, 0, 0, "NOISE2", TGSI_OPCODE_NOISE2 }, - { 1, 1, 0, 0, "NOISE3", TGSI_OPCODE_NOISE3 }, - { 1, 1, 0, 0, "NOISE4", TGSI_OPCODE_NOISE4 }, - { 0, 0, 0, 0, "NOP", TGSI_OPCODE_NOP }, - { 0, 0, 0, 0, "", 108 }, /* removed */ - { 0, 0, 0, 0, "", 109 }, /* removed */ - { 0, 0, 0, 0, "", 110 }, /* removed */ - { 0, 0, 0, 0, "", 111 }, /* removed */ - { 1, 1, 0, 0, "NRM4", TGSI_OPCODE_NRM4 }, - { 0, 1, 0, 0, "CALLNZ", TGSI_OPCODE_CALLNZ }, - { 0, 1, 0, 0, "IFC", TGSI_OPCODE_IFC }, - { 0, 1, 0, 0, "BREAKC", TGSI_OPCODE_BREAKC }, - { 0, 1, 0, 0, "KIL", TGSI_OPCODE_KIL }, - { 0, 0, 0, 0, "END", TGSI_OPCODE_END }, - { 1, 1, 0, 0, "SWZ", TGSI_OPCODE_SWZ } + { 1, 1, 0, 0, 0, 0, "ARL", TGSI_OPCODE_ARL }, + { 1, 1, 0, 0, 0, 0, "MOV", TGSI_OPCODE_MOV }, + { 1, 1, 0, 0, 0, 0, "LIT", TGSI_OPCODE_LIT }, + { 1, 1, 0, 0, 0, 0, "RCP", TGSI_OPCODE_RCP }, + { 1, 1, 0, 0, 0, 0, "RSQ", TGSI_OPCODE_RSQ }, + { 1, 1, 0, 0, 0, 0, "EXP", TGSI_OPCODE_EXP }, + { 1, 1, 0, 0, 0, 0, "LOG", TGSI_OPCODE_LOG }, + { 1, 2, 0, 0, 0, 0, "MUL", TGSI_OPCODE_MUL }, + { 1, 2, 0, 0, 0, 0, "ADD", TGSI_OPCODE_ADD }, + { 1, 2, 0, 0, 0, 0, "DP3", TGSI_OPCODE_DP3 }, + { 1, 2, 0, 0, 0, 0, "DP4", TGSI_OPCODE_DP4 }, + { 1, 2, 0, 0, 0, 0, "DST", TGSI_OPCODE_DST }, + { 1, 2, 0, 0, 0, 0, "MIN", TGSI_OPCODE_MIN }, + { 1, 2, 0, 0, 0, 0, "MAX", TGSI_OPCODE_MAX }, + { 1, 2, 0, 0, 0, 0, "SLT", TGSI_OPCODE_SLT }, + { 1, 2, 0, 0, 0, 0, "SGE", TGSI_OPCODE_SGE }, + { 1, 3, 0, 0, 0, 0, "MAD", TGSI_OPCODE_MAD }, + { 1, 2, 0, 0, 0, 0, "SUB", TGSI_OPCODE_SUB }, + { 1, 3, 0, 0, 0, 0, "LRP", TGSI_OPCODE_LRP }, + { 1, 3, 0, 0, 0, 0, "CND", TGSI_OPCODE_CND }, + { 0, 0, 0, 0, 0, 0, "", 20 }, /* removed */ + { 1, 3, 0, 0, 0, 0, "DP2A", TGSI_OPCODE_DP2A }, + { 0, 0, 0, 0, 0, 0, "", 22 }, /* removed */ + { 0, 0, 0, 0, 0, 0, "", 23 }, /* removed */ + { 1, 1, 0, 0, 0, 0, "FRC", TGSI_OPCODE_FRC }, + { 1, 3, 0, 0, 0, 0, "CLAMP", TGSI_OPCODE_CLAMP }, + { 1, 1, 0, 0, 0, 0, "FLR", TGSI_OPCODE_FLR }, + { 1, 1, 0, 0, 0, 0, "ROUND", TGSI_OPCODE_ROUND }, + { 1, 1, 0, 0, 0, 0, "EX2", TGSI_OPCODE_EX2 }, + { 1, 1, 0, 0, 0, 0, "LG2", TGSI_OPCODE_LG2 }, + { 1, 2, 0, 0, 0, 0, "POW", TGSI_OPCODE_POW }, + { 1, 2, 0, 0, 0, 0, "XPD", TGSI_OPCODE_XPD }, + { 0, 0, 0, 0, 0, 0, "", 32 }, /* removed */ + { 1, 1, 0, 0, 0, 0, "ABS", TGSI_OPCODE_ABS }, + { 1, 1, 0, 0, 0, 0, "RCC", TGSI_OPCODE_RCC }, + { 1, 2, 0, 0, 0, 0, "DPH", TGSI_OPCODE_DPH }, + { 1, 1, 0, 0, 0, 0, "COS", TGSI_OPCODE_COS }, + { 1, 1, 0, 0, 0, 0, "DDX", TGSI_OPCODE_DDX }, + { 1, 1, 0, 0, 0, 0, "DDY", TGSI_OPCODE_DDY }, + { 0, 0, 0, 0, 0, 0, "KILP", TGSI_OPCODE_KILP }, + { 1, 1, 0, 0, 0, 0, "PK2H", TGSI_OPCODE_PK2H }, + { 1, 1, 0, 0, 0, 0, "PK2US", TGSI_OPCODE_PK2US }, + { 1, 1, 0, 0, 0, 0, "PK4B", TGSI_OPCODE_PK4B }, + { 1, 1, 0, 0, 0, 0, "PK4UB", TGSI_OPCODE_PK4UB }, + { 1, 2, 0, 0, 0, 0, "RFL", TGSI_OPCODE_RFL }, + { 1, 2, 0, 0, 0, 0, "SEQ", TGSI_OPCODE_SEQ }, + { 1, 2, 0, 0, 0, 0, "SFL", TGSI_OPCODE_SFL }, + { 1, 2, 0, 0, 0, 0, "SGT", TGSI_OPCODE_SGT }, + { 1, 1, 0, 0, 0, 0, "SIN", TGSI_OPCODE_SIN }, + { 1, 2, 0, 0, 0, 0, "SLE", TGSI_OPCODE_SLE }, + { 1, 2, 0, 0, 0, 0, "SNE", TGSI_OPCODE_SNE }, + { 1, 2, 0, 0, 0, 0, "STR", TGSI_OPCODE_STR }, + { 1, 2, 1, 0, 0, 0, "TEX", TGSI_OPCODE_TEX }, + { 1, 4, 1, 0, 0, 0, "TXD", TGSI_OPCODE_TXD }, + { 1, 2, 1, 0, 0, 0, "TXP", TGSI_OPCODE_TXP }, + { 1, 1, 0, 0, 0, 0, "UP2H", TGSI_OPCODE_UP2H }, + { 1, 1, 0, 0, 0, 0, "UP2US", TGSI_OPCODE_UP2US }, + { 1, 1, 0, 0, 0, 0, "UP4B", TGSI_OPCODE_UP4B }, + { 1, 1, 0, 0, 0, 0, "UP4UB", TGSI_OPCODE_UP4UB }, + { 1, 3, 0, 0, 0, 0, "X2D", TGSI_OPCODE_X2D }, + { 1, 1, 0, 0, 0, 0, "ARA", TGSI_OPCODE_ARA }, + { 1, 1, 0, 0, 0, 0, "ARR", TGSI_OPCODE_ARR }, + { 0, 1, 0, 0, 0, 0, "BRA", TGSI_OPCODE_BRA }, + { 0, 0, 0, 1, 0, 0, "CAL", TGSI_OPCODE_CAL }, + { 0, 0, 0, 0, 0, 0, "RET", TGSI_OPCODE_RET }, + { 1, 1, 0, 0, 0, 0, "SSG", TGSI_OPCODE_SSG }, + { 1, 3, 0, 0, 0, 0, "CMP", TGSI_OPCODE_CMP }, + { 1, 1, 0, 0, 0, 0, "SCS", TGSI_OPCODE_SCS }, + { 1, 2, 1, 0, 0, 0, "TXB", TGSI_OPCODE_TXB }, + { 1, 1, 0, 0, 0, 0, "NRM", TGSI_OPCODE_NRM }, + { 1, 2, 0, 0, 0, 0, "DIV", TGSI_OPCODE_DIV }, + { 1, 2, 0, 0, 0, 0, "DP2", TGSI_OPCODE_DP2 }, + { 1, 2, 1, 0, 0, 0, "TXL", TGSI_OPCODE_TXL }, + { 0, 0, 0, 0, 0, 0, "BRK", TGSI_OPCODE_BRK }, + { 0, 1, 0, 1, 0, 1, "IF", TGSI_OPCODE_IF }, + { 1, 1, 0, 0, 0, 1, "BGNFOR", TGSI_OPCODE_BGNFOR }, + { 0, 1, 0, 0, 0, 1, "REP", TGSI_OPCODE_REP }, + { 0, 0, 0, 1, 1, 1, "ELSE", TGSI_OPCODE_ELSE }, + { 0, 0, 0, 0, 1, 0, "ENDIF", TGSI_OPCODE_ENDIF }, + { 1, 0, 0, 0, 1, 0, "ENDFOR", TGSI_OPCODE_ENDFOR }, + { 0, 0, 0, 0, 1, 0, "ENDREP", TGSI_OPCODE_ENDREP }, + { 0, 1, 0, 0, 0, 0, "PUSHA", TGSI_OPCODE_PUSHA }, + { 1, 0, 0, 0, 0, 0, "POPA", TGSI_OPCODE_POPA }, + { 1, 1, 0, 0, 0, 0, "CEIL", TGSI_OPCODE_CEIL }, + { 1, 1, 0, 0, 0, 0, "I2F", TGSI_OPCODE_I2F }, + { 1, 1, 0, 0, 0, 0, "NOT", TGSI_OPCODE_NOT }, + { 1, 1, 0, 0, 0, 0, "TRUNC", TGSI_OPCODE_TRUNC }, + { 1, 2, 0, 0, 0, 0, "SHL", TGSI_OPCODE_SHL }, + { 1, 2, 0, 0, 0, 0, "SHR", TGSI_OPCODE_SHR }, + { 1, 2, 0, 0, 0, 0, "AND", TGSI_OPCODE_AND }, + { 1, 2, 0, 0, 0, 0, "OR", TGSI_OPCODE_OR }, + { 1, 2, 0, 0, 0, 0, "MOD", TGSI_OPCODE_MOD }, + { 1, 2, 0, 0, 0, 0, "XOR", TGSI_OPCODE_XOR }, + { 1, 3, 0, 0, 0, 0, "SAD", TGSI_OPCODE_SAD }, + { 1, 2, 1, 0, 0, 0, "TXF", TGSI_OPCODE_TXF }, + { 1, 2, 1, 0, 0, 0, "TXQ", TGSI_OPCODE_TXQ }, + { 0, 0, 0, 0, 0, 0, "CONT", TGSI_OPCODE_CONT }, + { 0, 0, 0, 0, 0, 0, "EMIT", TGSI_OPCODE_EMIT }, + { 0, 0, 0, 0, 0, 0, "ENDPRIM", TGSI_OPCODE_ENDPRIM }, + { 0, 0, 0, 1, 0, 1, "BGNLOOP", TGSI_OPCODE_BGNLOOP }, + { 0, 0, 0, 0, 0, 1, "BGNSUB", TGSI_OPCODE_BGNSUB }, + { 0, 0, 0, 1, 1, 0, "ENDLOOP", TGSI_OPCODE_ENDLOOP }, + { 0, 0, 0, 0, 1, 0, "ENDSUB", TGSI_OPCODE_ENDSUB }, + { 1, 1, 0, 0, 0, 0, "NOISE1", TGSI_OPCODE_NOISE1 }, + { 1, 1, 0, 0, 0, 0, "NOISE2", TGSI_OPCODE_NOISE2 }, + { 1, 1, 0, 0, 0, 0, "NOISE3", TGSI_OPCODE_NOISE3 }, + { 1, 1, 0, 0, 0, 0, "NOISE4", TGSI_OPCODE_NOISE4 }, + { 0, 0, 0, 0, 0, 0, "NOP", TGSI_OPCODE_NOP }, + { 0, 0, 0, 0, 0, 0, "", 108 }, /* removed */ + { 0, 0, 0, 0, 0, 0, "", 109 }, /* removed */ + { 0, 0, 0, 0, 0, 0, "", 110 }, /* removed */ + { 0, 0, 0, 0, 0, 0, "", 111 }, /* removed */ + { 1, 1, 0, 0, 0, 0, "NRM4", TGSI_OPCODE_NRM4 }, + { 0, 1, 0, 0, 0, 0, "CALLNZ", TGSI_OPCODE_CALLNZ }, + { 0, 1, 0, 0, 0, 0, "IFC", TGSI_OPCODE_IFC }, + { 0, 1, 0, 0, 0, 0, "BREAKC", TGSI_OPCODE_BREAKC }, + { 0, 1, 0, 0, 0, 0, "KIL", TGSI_OPCODE_KIL }, + { 0, 0, 0, 0, 0, 0, "END", TGSI_OPCODE_END }, + { 1, 1, 0, 0, 0, 0, "SWZ", TGSI_OPCODE_SWZ } }; const struct tgsi_opcode_info * diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.h b/src/gallium/auxiliary/tgsi/tgsi_info.h index b2375c6971..74713c3b98 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.h +++ b/src/gallium/auxiliary/tgsi/tgsi_info.h @@ -36,10 +36,12 @@ extern "C" { struct tgsi_opcode_info { - uint num_dst; - uint num_src; - boolean is_tex; - boolean is_branch; + unsigned num_dst:3; + unsigned num_src:3; + unsigned is_tex:1; + unsigned is_branch:1; + int pre_dedent:2; + int post_indent:2; const char *mnemonic; uint opcode; }; diff --git a/src/gallium/auxiliary/tgsi/tgsi_sanity.c b/src/gallium/auxiliary/tgsi/tgsi_sanity.c index 4fe8553c42..8a13885da9 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_sanity.c +++ b/src/gallium/auxiliary/tgsi/tgsi_sanity.c @@ -199,10 +199,10 @@ iter_instruction( } if (info->num_dst != inst->Instruction.NumDstRegs) { - report_error( ctx, "Invalid number of destination operands, should be %u", info->num_dst ); + report_error( ctx, "%s: Invalid number of destination operands, should be %u", info->mnemonic, info->num_dst ); } if (info->num_src != inst->Instruction.NumSrcRegs) { - report_error( ctx, "Invalid number of source operands, should be %u", info->num_src ); + report_error( ctx, "%s: Invalid number of source operands, should be %u", info->mnemonic, info->num_src ); } /* Check destination and source registers' validity. diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c b/src/gallium/auxiliary/tgsi/tgsi_ureg.c index c0a0627e0b..f7096bd8e2 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c @@ -29,6 +29,7 @@ #include "pipe/p_context.h" #include "pipe/p_state.h" #include "tgsi/tgsi_ureg.h" +#include "tgsi/tgsi_info.h" #include "tgsi/tgsi_dump.h" #include "util/u_memory.h" #include "util/u_math.h" @@ -71,6 +72,7 @@ struct ureg_tokens { #define UREG_MAX_OUTPUT PIPE_MAX_ATTRIBS #define UREG_MAX_IMMEDIATE 32 #define UREG_MAX_TEMP 256 +#define UREG_MAX_ADDR 2 #define DOMAIN_DECL 0 #define DOMAIN_INSN 1 @@ -99,11 +101,15 @@ struct ureg_program } immediate[UREG_MAX_IMMEDIATE]; unsigned nr_immediates; + struct ureg_src sampler[PIPE_MAX_SAMPLERS]; + unsigned nr_samplers; + unsigned temps_active[UREG_MAX_TEMP / 32]; unsigned nr_temps; + unsigned nr_addrs; + unsigned nr_constants; - unsigned nr_samplers; unsigned nr_instructions; struct ureg_tokens domain[2]; @@ -187,6 +193,8 @@ ureg_dst_register( unsigned file, dst.File = file; dst.WriteMask = TGSI_WRITEMASK_XYZW; dst.Indirect = 0; + dst.IndirectIndex = 0; + dst.IndirectSwizzle = 0; dst.Saturate = 0; dst.Index = index; dst.Pad1 = 0; @@ -208,6 +216,8 @@ ureg_src_register( unsigned file, src.SwizzleW = TGSI_SWIZZLE_W; src.Pad = 0; src.Indirect = 0; + src.IndirectIndex = 0; + src.IndirectSwizzle = 0; src.Absolute = 0; src.Index = index; src.Negate = 0; @@ -254,6 +264,7 @@ ureg_DECL_fs_input( struct ureg_program *ureg, unsigned index, unsigned interp ) { + assert(ureg->processor == TGSI_PROCESSOR_FRAGMENT); return ureg_DECL_input( ureg, name, index, interp ); } @@ -263,6 +274,7 @@ ureg_DECL_vs_input( struct ureg_program *ureg, unsigned name, unsigned index ) { + assert(ureg->processor == TGSI_PROCESSOR_VERTEX); return ureg_DECL_input( ureg, name, index, TGSI_INTERPOLATE_CONSTANT ); } @@ -346,11 +358,36 @@ void ureg_release_temporary( struct ureg_program *ureg, } +/* Allocate a new address register. + */ +struct ureg_dst ureg_DECL_address( struct ureg_program *ureg ) +{ + if (ureg->nr_addrs < UREG_MAX_ADDR) + return ureg_dst_register( TGSI_FILE_ADDRESS, ureg->nr_addrs++ ); + + assert( 0 ); + return ureg_dst_register( TGSI_FILE_ADDRESS, 0 ); +} + /* Allocate a new sampler. */ -struct ureg_src ureg_DECL_sampler( struct ureg_program *ureg ) +struct ureg_src ureg_DECL_sampler( struct ureg_program *ureg, + unsigned nr ) { - return ureg_src_register( TGSI_FILE_SAMPLER, ureg->nr_samplers++ ); + unsigned i; + + for (i = 0; i < ureg->nr_samplers; i++) + if (ureg->sampler[i].Index == nr) + return ureg->sampler[i]; + + if (i < PIPE_MAX_SAMPLERS) { + ureg->sampler[i] = ureg_src_register( TGSI_FILE_SAMPLER, nr ); + ureg->nr_samplers++; + return ureg->sampler[i]; + } + + assert( 0 ); + return ureg->sampler[0]; } @@ -363,6 +400,8 @@ static int match_or_expand_immediate( const float *v, unsigned *swizzle ) { unsigned i, j; + + *swizzle = 0; for (i = 0; i < nr; i++) { boolean found = FALSE; @@ -394,8 +433,8 @@ struct ureg_src ureg_DECL_immediate( struct ureg_program *ureg, const float *v, unsigned nr ) { - unsigned i; - unsigned swizzle = 0; + unsigned i, j; + unsigned swizzle; /* Could do a first pass where we examine all existing immediates * without expanding. @@ -423,6 +462,12 @@ struct ureg_src ureg_DECL_immediate( struct ureg_program *ureg, set_bad( ureg ); out: + /* Make sure that all referenced elements are from this immediate. + * Has the effect of making size-one immediates into scalars. + */ + for (j = nr; j < 4; j++) + swizzle |= (swizzle & 0x3) << (j * 2); + return ureg_swizzle( ureg_src_register( TGSI_FILE_IMMEDIATE, i ), (swizzle >> 0) & 0x3, (swizzle >> 2) & 0x3, @@ -442,31 +487,39 @@ ureg_emit_src( struct ureg_program *ureg, union tgsi_any_token *out = get_tokens( ureg, DOMAIN_INSN, size ); unsigned n = 0; + assert(src.File != TGSI_FILE_NULL); + assert(src.File != TGSI_FILE_OUTPUT); + assert(src.File < TGSI_FILE_COUNT); + out[n].value = 0; out[n].src.File = src.File; out[n].src.SwizzleX = src.SwizzleX; out[n].src.SwizzleY = src.SwizzleY; out[n].src.SwizzleZ = src.SwizzleZ; out[n].src.SwizzleW = src.SwizzleW; - out[n].src.Indirect = src.Indirect; out[n].src.Index = src.Index; + out[n].src.Negate = src.Negate; n++; if (src.Absolute) { + out[0].src.Extended = 1; + out[0].src.Negate = 0; out[n].value = 0; + out[n].src_ext_mod.Type = TGSI_SRC_REGISTER_EXT_TYPE_MOD; out[n].src_ext_mod.Absolute = 1; + out[n].src_ext_mod.Negate = src.Negate; n++; } if (src.Indirect) { + out[0].src.Indirect = 1; out[n].value = 0; out[n].src.File = TGSI_FILE_ADDRESS; - out[n].src.SwizzleX = TGSI_SWIZZLE_X; - out[n].src.SwizzleY = TGSI_SWIZZLE_X; - out[n].src.SwizzleZ = TGSI_SWIZZLE_X; - out[n].src.SwizzleW = TGSI_SWIZZLE_X; - out[n].src.Indirect = 0; - out[n].src.Index = 0; + out[n].src.SwizzleX = src.IndirectSwizzle; + out[n].src.SwizzleY = src.IndirectSwizzle; + out[n].src.SwizzleZ = src.IndirectSwizzle; + out[n].src.SwizzleW = src.IndirectSwizzle; + out[n].src.Index = src.IndirectIndex; n++; } @@ -484,6 +537,13 @@ ureg_emit_dst( struct ureg_program *ureg, union tgsi_any_token *out = get_tokens( ureg, DOMAIN_INSN, size ); unsigned n = 0; + assert(dst.File != TGSI_FILE_NULL); + assert(dst.File != TGSI_FILE_CONSTANT); + assert(dst.File != TGSI_FILE_INPUT); + assert(dst.File != TGSI_FILE_SAMPLER); + assert(dst.File != TGSI_FILE_IMMEDIATE); + assert(dst.File < TGSI_FILE_COUNT); + out[n].value = 0; out[n].dst.File = dst.File; out[n].dst.WriteMask = dst.WriteMask; @@ -494,12 +554,11 @@ ureg_emit_dst( struct ureg_program *ureg, if (dst.Indirect) { out[n].value = 0; out[n].src.File = TGSI_FILE_ADDRESS; - out[n].src.SwizzleX = TGSI_SWIZZLE_X; - out[n].src.SwizzleY = TGSI_SWIZZLE_X; - out[n].src.SwizzleZ = TGSI_SWIZZLE_X; - out[n].src.SwizzleW = TGSI_SWIZZLE_X; - out[n].src.Indirect = 0; - out[n].src.Index = 0; + out[n].src.SwizzleX = dst.IndirectSwizzle; + out[n].src.SwizzleY = dst.IndirectSwizzle; + out[n].src.SwizzleZ = dst.IndirectSwizzle; + out[n].src.SwizzleW = dst.IndirectSwizzle; + out[n].src.Index = dst.IndirectIndex; n++; } @@ -523,7 +582,6 @@ ureg_emit_insn(struct ureg_program *ureg, out[0].insn.NrTokens = 0; out[0].insn.Opcode = opcode; out[0].insn.Saturate = saturate; - out[0].insn.NrTokens = 0; out[0].insn.NumDstRegs = num_dst; out[0].insn.NumSrcRegs = num_src; out[0].insn.Padding = 0; @@ -542,6 +600,9 @@ ureg_emit_label(struct ureg_program *ureg, { union tgsi_any_token *out, *insn; + if(!label_token) + return; + out = get_tokens( ureg, DOMAIN_INSN, 1 ); insn = retrieve_token( ureg, DOMAIN_INSN, insn_token ); @@ -617,6 +678,17 @@ ureg_insn(struct ureg_program *ureg, unsigned insn, i; boolean saturate; +#ifdef DEBUG + { + const struct tgsi_opcode_info *info = tgsi_get_opcode_info( opcode ); + assert(info); + if(info) { + assert(nr_dst == info->num_dst); + assert(nr_src == info->num_src); + } + } +#endif + saturate = nr_dst ? dst[0].Saturate : FALSE; insn = ureg_emit_insn( ureg, opcode, saturate, nr_dst, nr_src ); @@ -723,10 +795,10 @@ static void emit_decls( struct ureg_program *ureg ) TGSI_INTERPOLATE_CONSTANT ); } - if (ureg->nr_samplers) { + for (i = 0; i < ureg->nr_samplers; i++) { emit_decl_range( ureg, TGSI_FILE_SAMPLER, - 0, ureg->nr_samplers ); + ureg->sampler[i].Index, 1 ); } if (ureg->nr_constants) { @@ -741,6 +813,12 @@ static void emit_decls( struct ureg_program *ureg ) 0, ureg->nr_temps ); } + if (ureg->nr_addrs) { + emit_decl_range( ureg, + TGSI_FILE_ADDRESS, + 0, ureg->nr_addrs ); + } + for (i = 0; i < ureg->nr_immediates; i++) { emit_immediate( ureg, ureg->immediate[i].v ); @@ -764,7 +842,7 @@ static void copy_instructions( struct ureg_program *ureg ) static void -fixup_header_size(struct ureg_program *ureg ) +fixup_header_size(struct ureg_program *ureg) { union tgsi_any_token *out = retrieve_token( ureg, DOMAIN_DECL, 1 ); diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.h b/src/gallium/auxiliary/tgsi/tgsi_ureg.h index 8836a1ea0e..acbca59040 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.h +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.h @@ -31,6 +31,10 @@ #include "pipe/p_compiler.h" #include "pipe/p_shader_tokens.h" +#ifdef __cplusplus +extern "C" { +#endif + struct ureg_program; /* Almost a tgsi_src_register, but we need to pull in the Absolute @@ -48,6 +52,8 @@ struct ureg_src unsigned Absolute : 1; /* BOOL */ int Index : 16; /* SINT */ unsigned Negate : 1; /* BOOL */ + int IndirectIndex : 16; /* SINT */ + int IndirectSwizzle : 2; /* TGSI_SWIZZLE_ */ }; /* Very similar to a tgsi_dst_register, removing unsupported fields @@ -64,6 +70,8 @@ struct ureg_dst int Index : 16; /* SINT */ unsigned Pad1 : 5; unsigned Pad2 : 1; /* BOOL */ + int IndirectIndex : 16; /* SINT */ + int IndirectSwizzle : 2; /* TGSI_SWIZZLE_ */ }; struct pipe_context; @@ -131,12 +139,21 @@ void ureg_release_temporary( struct ureg_program *ureg, struct ureg_dst tmp ); +struct ureg_dst +ureg_DECL_address( struct ureg_program * ); + +/* Supply an index to the sampler declaration as this is the hook to + * the external pipe_sampler state. Users of this function probably + * don't want just any sampler, but a specific one which they've set + * up state for in the context. + */ struct ureg_src -ureg_DECL_sampler( struct ureg_program * ); +ureg_DECL_sampler( struct ureg_program *, + unsigned index ); static INLINE struct ureg_src -ureg_DECL_immediate4f( struct ureg_program *ureg, +ureg_imm4f( struct ureg_program *ureg, float a, float b, float c, float d) { @@ -149,7 +166,7 @@ ureg_DECL_immediate4f( struct ureg_program *ureg, } static INLINE struct ureg_src -ureg_DECL_immediate3f( struct ureg_program *ureg, +ureg_imm3f( struct ureg_program *ureg, float a, float b, float c) { @@ -161,7 +178,7 @@ ureg_DECL_immediate3f( struct ureg_program *ureg, } static INLINE struct ureg_src -ureg_DECL_immediate2f( struct ureg_program *ureg, +ureg_imm2f( struct ureg_program *ureg, float a, float b) { float v[2]; @@ -171,7 +188,7 @@ ureg_DECL_immediate2f( struct ureg_program *ureg, } static INLINE struct ureg_src -ureg_DECL_immediate1f( struct ureg_program *ureg, +ureg_imm1f( struct ureg_program *ureg, float a) { float v[1]; @@ -392,6 +409,7 @@ static INLINE void ureg_##op( struct ureg_program *ureg, \ static INLINE struct ureg_src ureg_negate( struct ureg_src reg ) { + assert(reg.File != TGSI_FILE_NULL); reg.Negate ^= 1; return reg; } @@ -399,6 +417,7 @@ ureg_negate( struct ureg_src reg ) static INLINE struct ureg_src ureg_abs( struct ureg_src reg ) { + assert(reg.File != TGSI_FILE_NULL); reg.Absolute = 1; reg.Negate = 0; return reg; @@ -413,6 +432,12 @@ ureg_swizzle( struct ureg_src reg, (reg.SwizzleZ << 4) | (reg.SwizzleW << 6)); + assert(reg.File != TGSI_FILE_NULL); + assert(x < 4); + assert(y < 4); + assert(z < 4); + assert(w < 4); + reg.SwizzleX = (swz >> (x*2)) & 0x3; reg.SwizzleY = (swz >> (y*2)) & 0x3; reg.SwizzleZ = (swz >> (z*2)) & 0x3; @@ -430,6 +455,7 @@ static INLINE struct ureg_dst ureg_writemask( struct ureg_dst reg, unsigned writemask ) { + assert(reg.File != TGSI_FILE_NULL); reg.WriteMask &= writemask; return reg; } @@ -437,10 +463,33 @@ ureg_writemask( struct ureg_dst reg, static INLINE struct ureg_dst ureg_saturate( struct ureg_dst reg ) { + assert(reg.File != TGSI_FILE_NULL); reg.Saturate = 1; return reg; } +static INLINE struct ureg_dst +ureg_dst_indirect( struct ureg_dst reg, struct ureg_src addr ) +{ + assert(reg.File != TGSI_FILE_NULL); + assert(addr.File == TGSI_FILE_ADDRESS); + reg.Indirect = 1; + reg.IndirectIndex = addr.Index; + reg.IndirectSwizzle = addr.SwizzleX; + return reg; +} + +static INLINE struct ureg_src +ureg_src_indirect( struct ureg_src reg, struct ureg_src addr ) +{ + assert(reg.File != TGSI_FILE_NULL); + assert(addr.File == TGSI_FILE_ADDRESS); + reg.Indirect = 1; + reg.IndirectIndex = addr.Index; + reg.IndirectSwizzle = addr.SwizzleX; + return reg; +} + static INLINE struct ureg_dst ureg_dst( struct ureg_src src ) { @@ -449,6 +498,8 @@ ureg_dst( struct ureg_src src ) dst.File = src.File; dst.WriteMask = TGSI_WRITEMASK_XYZW; dst.Indirect = src.Indirect; + dst.IndirectIndex = src.IndirectIndex; + dst.IndirectSwizzle = src.IndirectSwizzle; dst.Saturate = 0; dst.Index = src.Index; dst.Pad1 = 0; @@ -469,6 +520,8 @@ ureg_src( struct ureg_dst dst ) src.SwizzleW = TGSI_SWIZZLE_W; src.Pad = 0; src.Indirect = dst.Indirect; + src.IndirectIndex = dst.IndirectIndex; + src.IndirectSwizzle = dst.IndirectSwizzle; src.Absolute = 0; src.Index = dst.Index; src.Negate = 0; @@ -478,4 +531,60 @@ ureg_src( struct ureg_dst dst ) +static INLINE struct ureg_dst +ureg_dst_undef( void ) +{ + struct ureg_dst dst; + + dst.File = TGSI_FILE_NULL; + dst.WriteMask = 0; + dst.Indirect = 0; + dst.IndirectIndex = 0; + dst.IndirectSwizzle = 0; + dst.Saturate = 0; + dst.Index = 0; + dst.Pad1 = 0; + dst.Pad2 = 0; + + return dst; +} + +static INLINE struct ureg_src +ureg_src_undef( void ) +{ + struct ureg_src src; + + src.File = TGSI_FILE_NULL; + src.SwizzleX = 0; + src.SwizzleY = 0; + src.SwizzleZ = 0; + src.SwizzleW = 0; + src.Pad = 0; + src.Indirect = 0; + src.IndirectIndex = 0; + src.IndirectSwizzle = 0; + src.Absolute = 0; + src.Index = 0; + src.Negate = 0; + + return src; +} + +static INLINE boolean +ureg_src_is_undef( struct ureg_src src ) +{ + return src.File == TGSI_FILE_NULL; +} + +static INLINE boolean +ureg_dst_is_undef( struct ureg_dst dst ) +{ + return dst.File == TGSI_FILE_NULL; +} + + +#ifdef __cplusplus +} +#endif + #endif diff --git a/src/gallium/auxiliary/tgsi/tgsi_util.h b/src/gallium/auxiliary/tgsi/tgsi_util.h index 7877f34558..21eb656327 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_util.h +++ b/src/gallium/auxiliary/tgsi/tgsi_util.h @@ -32,6 +32,10 @@ extern "C" { #endif +struct tgsi_src_register; +struct tgsi_src_register_ext_swz; +struct tgsi_full_src_register; + void * tgsi_align_128bit( void *unaligned ); diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h index b0807c1339..4c6c2bc00e 100644 --- a/src/gallium/auxiliary/util/u_math.h +++ b/src/gallium/auxiliary/util/u_math.h @@ -374,6 +374,10 @@ unsigned ffs( unsigned u ) #define ffs __builtin_ffs #endif +#ifdef __MINGW32__ +#define ffs __builtin_ffs +#endif + /* Could also binary search for the highest bit. */ diff --git a/src/gallium/auxiliary/util/u_simple_shaders.c b/src/gallium/auxiliary/util/u_simple_shaders.c index d54a1d8c74..eb311d29f9 100644 --- a/src/gallium/auxiliary/util/u_simple_shaders.c +++ b/src/gallium/auxiliary/util/u_simple_shaders.c @@ -103,7 +103,7 @@ util_make_fragment_tex_shader(struct pipe_context *pipe) if (ureg == NULL) return NULL; - sampler = ureg_DECL_sampler( ureg ); + sampler = ureg_DECL_sampler( ureg, 0 ); tex = ureg_DECL_fs_input( ureg, TGSI_SEMANTIC_GENERIC, 0, -- cgit v1.2.3 From 2f6d2a9e27f8582591dc60655f7d7b14d7552bbc Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 09:41:41 -0600 Subject: mesa: change ctx->Driver.BufferData() to return GLboolean for success/failure Return GL_FALSE if we failed to allocate the buffer. Then raise GL_OUT_OF_MEMORY in core Mesa. --- src/mesa/drivers/dri/intel/intel_buffer_objects.c | 11 ++++++--- .../drivers/dri/radeon/radeon_buffer_objects.c | 9 ++++++-- src/mesa/main/bufferobj.c | 26 +++++++++++++++------- src/mesa/main/dd.h | 6 ++--- src/mesa/state_tracker/st_cb_bufferobjects.c | 9 ++++---- 5 files changed, 41 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c index ae6f3064a8..c55c5c426e 100644 --- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c +++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c @@ -130,9 +130,10 @@ intel_bufferobj_free(GLcontext * ctx, struct gl_buffer_object *obj) * Allocate space for and store data in a buffer object. Any data that was * previously stored in the buffer object is lost. If data is NULL, * memory will be allocated, but no copy will occur. - * Called via glBufferDataARB(). + * Called via ctx->Driver.BufferData(). + * \return GL_TRUE for success, GL_FALSE if out of memory */ -static void +static GLboolean intel_bufferobj_data(GLcontext * ctx, GLenum target, GLsizeiptrARB size, @@ -167,15 +168,19 @@ intel_bufferobj_data(GLcontext * ctx, if (intel_obj->sys_buffer != NULL) { if (data != NULL) memcpy(intel_obj->sys_buffer, data, size); - return; + return GL_TRUE; } } #endif intel_bufferobj_alloc_buffer(intel, intel_obj); + if (!intel_obj->buffer) + return GL_FALSE; if (data != NULL) dri_bo_subdata(intel_obj->buffer, 0, size, data); } + + return GL_TRUE; } diff --git a/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c b/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c index e8ae51e6ea..a24b6dac26 100644 --- a/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c +++ b/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c @@ -78,9 +78,10 @@ radeonDeleteBufferObject(GLcontext * ctx, * Allocate space for and store data in a buffer object. Any data that was * previously stored in the buffer object is lost. If data is NULL, * memory will be allocated, but no copy will occur. - * Called via glBufferDataARB(). + * Called via ctx->Driver.BufferData(). + * \return GL_TRUE for success, GL_FALSE if out of memory */ -static void +static GLboolean radeonBufferData(GLcontext * ctx, GLenum target, GLsizeiptrARB size, @@ -107,6 +108,9 @@ radeonBufferData(GLcontext * ctx, RADEON_GEM_DOMAIN_GTT, 0); + if (!radeon_obj->bo) + return GL_FALSE; + if (data != NULL) { radeon_bo_map(radeon_obj->bo, GL_TRUE); @@ -115,6 +119,7 @@ radeonBufferData(GLcontext * ctx, radeon_bo_unmap(radeon_obj->bo); } } + return GL_TRUE; } /** diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index ebca798635..81b77b6ff2 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -314,9 +314,10 @@ _mesa_initialize_buffer_object( struct gl_buffer_object *obj, * \param usage Hints about how the data will be used. * \param bufObj Object to be used. * + * \return GL_TRUE for success, GL_FALSE for failure * \sa glBufferDataARB, dd_function_table::BufferData. */ -static void +static GLboolean _mesa_buffer_data( GLcontext *ctx, GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage, struct gl_buffer_object * bufObj ) @@ -334,6 +335,11 @@ _mesa_buffer_data( GLcontext *ctx, GLenum target, GLsizeiptrARB size, if (data) { _mesa_memcpy( bufObj->Data, data, size ); } + + return GL_TRUE; + } + else { + return GL_FALSE; } } @@ -1107,8 +1113,6 @@ _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size, FLUSH_VERTICES(ctx, _NEW_BUFFER_OBJECT); - ASSERT(ctx->Driver.BufferData); - bufObj->Written = GL_TRUE; #ifdef VBO_DEBUG @@ -1119,8 +1123,11 @@ _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size, #ifdef BOUNDS_CHECK size += 100; #endif - /* Give the buffer object to the driver! may be null! */ - ctx->Driver.BufferData( ctx, target, size, data, usage, bufObj ); + + ASSERT(ctx->Driver.BufferData); + if (!ctx->Driver.BufferData( ctx, target, size, data, usage, bufObj )) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBufferDataARB(access)"); + } } @@ -1209,9 +1216,9 @@ _mesa_MapBufferARB(GLenum target, GLenum access) map = ctx->Driver.MapBuffer( ctx, target, access, bufObj ); if (!map) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "glMapBufferARB(access)"); + return NULL; } - - if (map) { + else { /* The driver callback should have set these fields. * This is important because other modules (like VBO) might call * the driver function directly. @@ -1538,7 +1545,10 @@ _mesa_MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, ASSERT(ctx->Driver.MapBufferRange); map = ctx->Driver.MapBufferRange(ctx, target, offset, length, access, bufObj); - if (map) { + if (!map) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glMapBufferARB(access)"); + } + else { /* The driver callback should have set all these fields. * This is important because other modules (like VBO) might call * the driver function directly. diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index f02e868d4a..4400e166c6 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -783,9 +783,9 @@ struct dd_function_table { void (*DeleteBuffer)( GLcontext *ctx, struct gl_buffer_object *obj ); - void (*BufferData)( GLcontext *ctx, GLenum target, GLsizeiptrARB size, - const GLvoid *data, GLenum usage, - struct gl_buffer_object *obj ); + GLboolean (*BufferData)( GLcontext *ctx, GLenum target, GLsizeiptrARB size, + const GLvoid *data, GLenum usage, + struct gl_buffer_object *obj ); void (*BufferSubData)( GLcontext *ctx, GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data, diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c index 69dd76d083..8e09d0b932 100644 --- a/src/mesa/state_tracker/st_cb_bufferobjects.c +++ b/src/mesa/state_tracker/st_cb_bufferobjects.c @@ -134,9 +134,10 @@ st_bufferobj_get_subdata(GLcontext *ctx, * Allocate space for and store data in a buffer object. Any data that was * previously stored in the buffer object is lost. If data is NULL, * memory will be allocated, but no copy will occur. - * Called via glBufferDataARB(). + * Called via ctx->Driver.BufferData(). + * \return GL_TRUE for success, GL_FALSE if out of memory */ -static void +static GLboolean st_bufferobj_data(GLcontext *ctx, GLenum target, GLsizeiptrARB size, @@ -172,13 +173,13 @@ st_bufferobj_data(GLcontext *ctx, st_obj->buffer = pipe_buffer_create( pipe->screen, 32, buffer_usage, size ); if (!st_obj->buffer) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBufferDataARB"); - return; + return GL_FALSE; } if (data) st_no_flush_pipe_buffer_write(st_context(ctx), st_obj->buffer, 0, size, data); + return GL_TRUE; } -- cgit v1.2.3 From 07f9ad5c322ce409fdd4b86e3913f7cc085520b5 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Thu, 3 Sep 2009 12:38:10 -0400 Subject: st/xorg: adjust enums in preperation for gradients --- src/gallium/state_trackers/xorg/xorg_composite.c | 4 ++-- src/gallium/state_trackers/xorg/xorg_exa_tgsi.h | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index 7fa36fda51..c708ac3170 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -393,8 +393,8 @@ bind_shaders(struct exa_context *exa, int op, if (pSrcPicture) { if (pSrcPicture->pSourcePict) { if (pSrcPicture->pSourcePict->type == SourcePictTypeSolidFill) { - fs_traits |= FS_FILL; - vs_traits |= VS_FILL; + fs_traits |= FS_SOLID_FILL; + vs_traits |= VS_SOLID_FILL; pixel_to_float4(pSrcPicture->pFormat, pSrcPicture->pSourcePict->solidFill.color, exa->solid_color); diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.h b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.h index 003e5d8caf..1535a0c8c3 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.h +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.h @@ -6,16 +6,24 @@ enum xorg_vs_traits { VS_COMPOSITE = 1 << 0, VS_MASK = 1 << 1, - VS_FILL = 1 << 2 - /*VS_TRANSFORM = 1 << 3*/ + VS_SOLID_FILL = 1 << 2, + VS_LINGRAD_FILL = 1 << 3, + VS_RADGRAD_FILL = 1 << 4, + VS_FILL = (VS_SOLID_FILL | + VS_LINGRAD_FILL | + VS_RADGRAD_FILL) + /*VS_TRANSFORM = 1 << 5*/ }; enum xorg_fs_traits { FS_COMPOSITE = 1 << 0, FS_MASK = 1 << 1, - FS_FILL = 1 << 2, - FS_LINEAR_GRADIENT = 1 << 3, - FS_RADIAL_GRADIENT = 1 << 4 + FS_SOLID_FILL = 1 << 2, + FS_LINGRAD_FILL = 1 << 3, + FS_RADGRAD_FILL = 1 << 4, + FS_FILL = (FS_SOLID_FILL | + FS_LINGRAD_FILL | + FS_RADGRAD_FILL) }; struct xorg_shader { -- cgit v1.2.3 From 5643942517f05c7a986d208be4402927a111555e Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Thu, 3 Sep 2009 12:44:15 -0400 Subject: st/xorg: cleanup and adjust to the changes in the ureg code --- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index 38b3a3aaab..f9b10d8569 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -165,8 +165,8 @@ create_fs(struct pipe_context *pipe, TGSI_SEMANTIC_COLOR, 0); - src_sampler = ureg_DECL_sampler(ureg); if (is_composite) { + src_sampler = ureg_DECL_sampler(ureg, 0); src_pos = ureg_DECL_fs_input(ureg, TGSI_SEMANTIC_POSITION, 0, @@ -180,7 +180,7 @@ create_fs(struct pipe_context *pipe, } if ((fs_traits & FS_MASK)) { - mask_sampler = ureg_DECL_sampler(ureg); + mask_sampler = ureg_DECL_sampler(ureg, 1); mask_pos = ureg_DECL_fs_input(ureg, TGSI_SEMANTIC_POSITION, 1, @@ -188,7 +188,7 @@ create_fs(struct pipe_context *pipe, } #if 0 /* unused right now */ - dst_sampler = ureg_DECL_sampler(ureg); + dst_sampler = ureg_DECL_sampler(ureg, 2); dst_pos = ureg_DECL_fs_input(ureg, TGSI_SEMANTIC_POSITION, 2, -- cgit v1.2.3 From 87a4fa56ae473946b84233fda59d40dd479a4d64 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Thu, 3 Sep 2009 19:28:38 +0100 Subject: i915g: Don't send flush flags to HW --- src/gallium/drivers/i915simple/i915_flush.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/i915simple/i915_flush.c b/src/gallium/drivers/i915simple/i915_flush.c index b223dadab6..1582168eba 100644 --- a/src/gallium/drivers/i915simple/i915_flush.c +++ b/src/gallium/drivers/i915simple/i915_flush.c @@ -45,6 +45,7 @@ static void i915_flush( struct pipe_context *pipe, draw_flush(i915->draw); +#if 0 /* Do we need to emit an MI_FLUSH command to flush the hardware * caches? */ @@ -63,6 +64,13 @@ static void i915_flush( struct pipe_context *pipe, } OUT_BATCH( flush ); } +#endif + +#if 0 + if (i915->batch->map == i915->batch->ptr) { + return; + } +#endif /* If there are no flags, just flush pending commands to hardware: */ -- cgit v1.2.3 From 8303c722cbfd75bc181b5d281ab3be836104b088 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Thu, 3 Sep 2009 19:30:36 +0100 Subject: i915g: Don't run in sync with HW --- src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c b/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c index 77b3fec17a..5c3e66fb57 100644 --- a/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c +++ b/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c @@ -12,6 +12,8 @@ #define INTEL_BATCH_NO_CLIPRECTS 0x1 #define INTEL_BATCH_CLIPRECTS 0x2 +#undef INTEL_RUN_SYNC + struct intel_drm_batchbuffer { struct intel_batchbuffer base; @@ -172,19 +174,20 @@ intel_drm_batchbuffer_flush(struct intel_batchbuffer *ibatch, drm_intel_bo_unmap(batch->bo); } else { - /* TODO figgure out why the gpu hangs if we don't run sync */ +#ifdef INTEL_RUN_SYNC drm_intel_bo_map(batch->bo, FALSE); drm_intel_bo_unmap(batch->bo); +#endif } if (fence) { ibatch->iws->fence_reference(ibatch->iws, fence, NULL); -#if 0 - (*fence) = intel_drm_fence_create(batch->bo); -#else +#ifdef INTEL_RUN_SYNC /* we run synced to GPU so just pass null */ (*fence) = intel_drm_fence_create(NULL); +#else + (*fence) = intel_drm_fence_create(batch->bo); #endif } -- cgit v1.2.3 From 3070b13f4c418359ca11f6cf44b39dcf630b29fb Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Thu, 3 Sep 2009 19:30:54 +0100 Subject: i915g: Up the number of relocs --- src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c b/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c index 5c3e66fb57..5ca3ad9762 100644 --- a/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c +++ b/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c @@ -60,7 +60,7 @@ intel_drm_batchbuffer_create(struct intel_winsys *iws) batch->base.size = 0; batch->base.relocs = 0; - batch->base.max_relocs = 100;/*INTEL_DEFAULT_RELOCS;*/ + batch->base.max_relocs = 300;/*INTEL_DEFAULT_RELOCS;*/ batch->base.iws = iws; -- cgit v1.2.3 From e0ec405a9fa6fbc1cf2ac531ed5efd1a64e01f18 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 10:36:49 -0600 Subject: intel: helper to debug bufmgr (disabled) --- src/mesa/drivers/dri/intel/intel_context.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 46f1a7f720..ec96747f05 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -640,6 +640,10 @@ intelInitContext(struct intel_context *intel, intel->maxBatchSize = BATCH_SZ; intel->bufmgr = intelScreen->bufmgr; + + if (0) /* for debug */ + drm_intel_bufmgr_set_debug(intel->bufmgr, 1); + intel->ttm = intelScreen->ttm; if (intel->ttm) { int bo_reuse_mode; -- cgit v1.2.3 From 1b448c7a5cafa68eeead2a4c45f4362a9883383b Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 11:29:18 -0600 Subject: mesa: consolidate PBO map/unmap helpers Instead of _mesa_map_readpix_pbo() use _mesa_map_pbo_source(). Instead of _mesa_map_drawpix_pbo() and _mesa_map_bitmap_pbo() use _mesa_map_pbo_dest(). --- src/mesa/main/bufferobj.c | 99 ++++++++++--------------------- src/mesa/main/bufferobj.h | 27 +++------ src/mesa/state_tracker/st_cb_bitmap.c | 6 +- src/mesa/state_tracker/st_cb_drawpixels.c | 10 ++-- src/mesa/state_tracker/st_cb_readpixels.c | 6 +- src/mesa/state_tracker/st_cb_texture.c | 4 +- src/mesa/swrast/s_bitmap.c | 4 +- src/mesa/swrast/s_drawpix.c | 4 +- src/mesa/swrast/s_readpix.c | 4 +- 9 files changed, 60 insertions(+), 104 deletions(-) (limited to 'src') diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index 81b77b6ff2..1ae63a0ef6 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -658,6 +658,8 @@ _mesa_update_default_objects_buffer_objects(GLcontext *ctx) * currently mapped. Whoever calls this function should check for that. * Remember, we can't use a PBO when it's mapped! * + * If we're not using a PBO, this is a no-op. + * * \param width width of image to read/write * \param height height of image to read/write * \param depth depth of image to read/write @@ -676,7 +678,8 @@ _mesa_validate_pbo_access(GLuint dimensions, GLvoid *start, *end; const GLubyte *sizeAddr; /* buffer size, cast to a pointer */ - ASSERT(_mesa_is_bufferobj(pack->BufferObj)); + if (!_mesa_is_bufferobj(pack->BufferObj)) + return GL_TRUE; /* no PBO, OK */ if (pack->BufferObj->Size == 0) /* no buffer! */ @@ -708,17 +711,18 @@ _mesa_validate_pbo_access(GLuint dimensions, /** - * If the source of glBitmap data is a PBO, check that we won't read out - * of buffer bounds, then map the buffer. - * If not sourcing from a PBO, just return the bitmap pointer. - * This is a helper function for (some) drivers. - * Return NULL if error. - * If non-null return, must call _mesa_unmap_bitmap_pbo() when done. + * For commands that read from a PBO (glDrawPixels, glTexImage, + * glPolygonStipple, etc), if we're reading from a PBO, map it read-only + * and return the pointer into the PBO. If we're not reading from a + * PBO, return \p src as-is. + * If non-null return, must call _mesa_unmap_pbo_source() when done. + * + * \return NULL if error, else pointer to start of data */ -const GLubyte * -_mesa_map_bitmap_pbo(GLcontext *ctx, +const GLvoid * +_mesa_map_pbo_source(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack, - const GLubyte *bitmap) + const GLvoid *src) { const GLubyte *buf; @@ -730,11 +734,11 @@ _mesa_map_bitmap_pbo(GLcontext *ctx, if (!buf) return NULL; - buf = ADD_POINTERS(buf, bitmap); + buf = ADD_POINTERS(buf, src); } else { /* unpack from normal memory */ - buf = bitmap; + buf = src; } return buf; @@ -742,13 +746,13 @@ _mesa_map_bitmap_pbo(GLcontext *ctx, /** - * Counterpart to _mesa_map_bitmap_pbo() - * This is a helper function for (some) drivers. + * Counterpart to _mesa_map_pbo_source() */ void -_mesa_unmap_bitmap_pbo(GLcontext *ctx, +_mesa_unmap_pbo_source(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack) { + ASSERT(unpack != &ctx->Pack); /* catch pack/unpack mismatch */ if (_mesa_is_bufferobj(unpack->BufferObj)) { ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, unpack->BufferObj); @@ -757,57 +761,17 @@ _mesa_unmap_bitmap_pbo(GLcontext *ctx, /** - * \sa _mesa_map_bitmap_pbo - */ -const GLvoid * -_mesa_map_drawpix_pbo(GLcontext *ctx, - const struct gl_pixelstore_attrib *unpack, - const GLvoid *pixels) -{ - const GLvoid *buf; - - if (_mesa_is_bufferobj(unpack->BufferObj)) { - /* unpack from PBO */ - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - unpack->BufferObj); - if (!buf) - return NULL; - - buf = ADD_POINTERS(buf, pixels); - } - else { - /* unpack from normal memory */ - buf = pixels; - } - - return buf; -} - - -/** - * \sa _mesa_unmap_bitmap_pbo - */ -void -_mesa_unmap_drawpix_pbo(GLcontext *ctx, - const struct gl_pixelstore_attrib *unpack) -{ - if (_mesa_is_bufferobj(unpack->BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - unpack->BufferObj); - } -} - - -/** - * If PBO is bound, map the buffer, return dest pointer in mapped buffer. - * Call _mesa_unmap_readpix_pbo() when finished - * \return NULL if error + * For commands that write to a PBO (glReadPixels, glGetColorTable, etc), + * if we're writing to a PBO, map it write-only and return the pointer + * into the PBO. If we're not writing to a PBO, return \p dst as-is. + * If non-null return, must call _mesa_unmap_pbo_dest() when done. + * + * \return NULL if error, else pointer to start of data */ void * -_mesa_map_readpix_pbo(GLcontext *ctx, - const struct gl_pixelstore_attrib *pack, - GLvoid *dest) +_mesa_map_pbo_dest(GLcontext *ctx, + const struct gl_pixelstore_attrib *pack, + GLvoid *dest) { void *buf; @@ -831,12 +795,13 @@ _mesa_map_readpix_pbo(GLcontext *ctx, /** - * Counterpart to _mesa_map_readpix_pbo() + * Counterpart to _mesa_map_pbo_dest() */ void -_mesa_unmap_readpix_pbo(GLcontext *ctx, - const struct gl_pixelstore_attrib *pack) +_mesa_unmap_pbo_dest(GLcontext *ctx, + const struct gl_pixelstore_attrib *pack) { + ASSERT(pack != &ctx->Unpack); /* catch pack/unpack mismatch */ if (_mesa_is_bufferobj(pack->BufferObj)) { ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, pack->BufferObj); } diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h index decb44a65e..2e7afc2d76 100644 --- a/src/mesa/main/bufferobj.h +++ b/src/mesa/main/bufferobj.h @@ -81,32 +81,23 @@ _mesa_validate_pbo_access(GLuint dimensions, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *ptr); -extern const GLubyte * -_mesa_map_bitmap_pbo(GLcontext *ctx, +extern const GLvoid * +_mesa_map_pbo_source(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack, - const GLubyte *bitmap); + const GLvoid *src); extern void -_mesa_unmap_bitmap_pbo(GLcontext *ctx, +_mesa_unmap_pbo_source(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack); -extern const GLvoid * -_mesa_map_drawpix_pbo(GLcontext *ctx, - const struct gl_pixelstore_attrib *unpack, - const GLvoid *pixels); - -extern void -_mesa_unmap_drawpix_pbo(GLcontext *ctx, - const struct gl_pixelstore_attrib *unpack); - extern void * -_mesa_map_readpix_pbo(GLcontext *ctx, - const struct gl_pixelstore_attrib *pack, - GLvoid *dest); +_mesa_map_pbo_dest(GLcontext *ctx, + const struct gl_pixelstore_attrib *pack, + GLvoid *dest); extern void -_mesa_unmap_readpix_pbo(GLcontext *ctx, - const struct gl_pixelstore_attrib *pack); +_mesa_unmap_pbo_dest(GLcontext *ctx, + const struct gl_pixelstore_attrib *pack); extern void diff --git a/src/mesa/state_tracker/st_cb_bitmap.c b/src/mesa/state_tracker/st_cb_bitmap.c index 3171b67376..902fb38d1a 100644 --- a/src/mesa/state_tracker/st_cb_bitmap.c +++ b/src/mesa/state_tracker/st_cb_bitmap.c @@ -275,7 +275,7 @@ make_bitmap_texture(GLcontext *ctx, GLsizei width, GLsizei height, struct pipe_texture *pt; /* PBO source... */ - bitmap = _mesa_map_bitmap_pbo(ctx, unpack, bitmap); + bitmap = _mesa_map_pbo_source(ctx, unpack, bitmap); if (!bitmap) { return NULL; } @@ -287,7 +287,7 @@ make_bitmap_texture(GLcontext *ctx, GLsizei width, GLsizei height, 0, width, height, 1, PIPE_TEXTURE_USAGE_SAMPLER); if (!pt) { - _mesa_unmap_bitmap_pbo(ctx, unpack); + _mesa_unmap_pbo_source(ctx, unpack); return NULL; } @@ -302,7 +302,7 @@ make_bitmap_texture(GLcontext *ctx, GLsizei width, GLsizei height, unpack_bitmap(ctx->st, 0, 0, width, height, unpack, bitmap, dest, transfer->stride); - _mesa_unmap_bitmap_pbo(ctx, unpack); + _mesa_unmap_pbo_source(ctx, unpack); /* Release transfer */ screen->transfer_unmap(screen, transfer); diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index d19a88fa7c..e00754a036 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -353,7 +353,7 @@ make_texture(struct st_context *st, assert(pipeFormat); cpp = st_sizeof_format(pipeFormat); - pixels = _mesa_map_drawpix_pbo(ctx, unpack, pixels); + pixels = _mesa_map_pbo_source(ctx, unpack, pixels); if (!pixels) return NULL; @@ -381,7 +381,7 @@ make_texture(struct st_context *st, pt = st_texture_create(st, PIPE_TEXTURE_2D, pipeFormat, 0, ptw, pth, 1, PIPE_TEXTURE_USAGE_SAMPLER); if (!pt) { - _mesa_unmap_drawpix_pbo(ctx, unpack); + _mesa_unmap_pbo_source(ctx, unpack); return NULL; } @@ -428,7 +428,7 @@ make_texture(struct st_context *st, ctx->_ImageTransferState = imageTransferStateSave; } - _mesa_unmap_drawpix_pbo(ctx, unpack); + _mesa_unmap_pbo_source(ctx, unpack); return pt; } @@ -681,7 +681,7 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y, stmap = screen->transfer_map(screen, pt); - pixels = _mesa_map_drawpix_pbo(ctx, unpack, pixels); + pixels = _mesa_map_pbo_source(ctx, unpack, pixels); assert(pixels); /* if width > MAX_WIDTH, have to process image in chunks */ @@ -775,7 +775,7 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y, skipPixels += spanWidth; } - _mesa_unmap_drawpix_pbo(ctx, unpack); + _mesa_unmap_pbo_source(ctx, unpack); /* unmap the stencil buffer */ screen->transfer_unmap(screen, pt); diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c index ccf1a0b563..75424aa2e7 100644 --- a/src/mesa/state_tracker/st_cb_readpixels.c +++ b/src/mesa/state_tracker/st_cb_readpixels.c @@ -353,7 +353,7 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, return; } - dest = _mesa_map_readpix_pbo(ctx, &clippedPacking, dest); + dest = _mesa_map_pbo_dest(ctx, &clippedPacking, dest); if (!dest) return; @@ -380,7 +380,7 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, if (st_fast_readpixels(ctx, strb, x, y, width, height, format, type, pack, dest)) { /* success! */ - _mesa_unmap_readpix_pbo(ctx, &clippedPacking); + _mesa_unmap_pbo_dest(ctx, &clippedPacking); return; } @@ -534,7 +534,7 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, screen->tex_transfer_destroy(trans); - _mesa_unmap_readpix_pbo(ctx, &clippedPacking); + _mesa_unmap_pbo_dest(ctx, &clippedPacking); } diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 90a059ca69..dc39a70121 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -870,7 +870,7 @@ decompress_with_blit(GLcontext * ctx, GLenum target, GLint level, PIPE_TRANSFER_READ, 0, 0, width, height); - pixels = _mesa_map_readpix_pbo(ctx, &ctx->Pack, pixels); + pixels = _mesa_map_pbo_dest(ctx, &ctx->Pack, pixels); /* copy/pack data into user buffer */ if (st_equal_formats(stImage->pt->format, format, type)) { @@ -903,7 +903,7 @@ decompress_with_blit(GLcontext * ctx, GLenum target, GLint level, } } - _mesa_unmap_readpix_pbo(ctx, &ctx->Pack); + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); /* destroy the temp / dest surface */ util_destroy_rgba_surface(dst_texture, dst_surface); diff --git a/src/mesa/swrast/s_bitmap.c b/src/mesa/swrast/s_bitmap.c index 5e7822cf32..3dbdf2a61a 100644 --- a/src/mesa/swrast/s_bitmap.c +++ b/src/mesa/swrast/s_bitmap.c @@ -56,7 +56,7 @@ _swrast_Bitmap( GLcontext *ctx, GLint px, GLint py, ASSERT(ctx->RenderMode == GL_RENDER); - bitmap = _mesa_map_bitmap_pbo(ctx, unpack, bitmap); + bitmap = (const GLubyte *) _mesa_map_pbo_source(ctx, unpack, bitmap); if (!bitmap) return; @@ -133,7 +133,7 @@ _swrast_Bitmap( GLcontext *ctx, GLint px, GLint py, swrast_render_finish(ctx); - _mesa_unmap_bitmap_pbo(ctx, unpack); + _mesa_unmap_pbo_source(ctx, unpack); } diff --git a/src/mesa/swrast/s_drawpix.c b/src/mesa/swrast/s_drawpix.c index a9ef8e685f..d31c402eea 100644 --- a/src/mesa/swrast/s_drawpix.c +++ b/src/mesa/swrast/s_drawpix.c @@ -847,7 +847,7 @@ _swrast_DrawPixels( GLcontext *ctx, if (swrast->NewState) _swrast_validate_derived( ctx ); - pixels = _mesa_map_drawpix_pbo(ctx, unpack, pixels); + pixels = _mesa_map_pbo_source(ctx, unpack, pixels); if (!pixels) { swrast_render_finish(ctx); _mesa_set_vp_override(ctx, save_vp_override); @@ -892,7 +892,7 @@ _swrast_DrawPixels( GLcontext *ctx, swrast_render_finish(ctx); _mesa_set_vp_override(ctx, save_vp_override); - _mesa_unmap_drawpix_pbo(ctx, unpack); + _mesa_unmap_pbo_source(ctx, unpack); } diff --git a/src/mesa/swrast/s_readpix.c b/src/mesa/swrast/s_readpix.c index e901fc6b5d..48b9408d24 100644 --- a/src/mesa/swrast/s_readpix.c +++ b/src/mesa/swrast/s_readpix.c @@ -574,7 +574,7 @@ _swrast_ReadPixels( GLcontext *ctx, return; } - pixels = _mesa_map_readpix_pbo(ctx, &clippedPacking, pixels); + pixels = _mesa_map_pbo_dest(ctx, &clippedPacking, pixels); if (!pixels) return; @@ -616,5 +616,5 @@ _swrast_ReadPixels( GLcontext *ctx, swrast_render_finish(ctx); - _mesa_unmap_readpix_pbo(ctx, &clippedPacking); + _mesa_unmap_pbo_dest(ctx, &clippedPacking); } -- cgit v1.2.3 From 203f395aaf717a6faf21a76979cc24d544ae148b Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 10:41:14 -0600 Subject: mesa: use new _mesa_map_pbo_source/dest() functions in more places This trims down the code a bit. The next step would be to combine the validate and map operations into one helper... --- src/mesa/main/colortab.c | 63 +++++------- src/mesa/main/convolve.c | 100 +++++++------------ src/mesa/main/histogram.c | 67 +++++-------- src/mesa/main/pixel.c | 239 ++++++++++++++++------------------------------ src/mesa/main/polygon.c | 77 ++++++--------- 5 files changed, 192 insertions(+), 354 deletions(-) (limited to 'src') diff --git a/src/mesa/main/colortab.c b/src/mesa/main/colortab.c index 36304065eb..91c29882ec 100644 --- a/src/mesa/main/colortab.c +++ b/src/mesa/main/colortab.c @@ -179,27 +179,22 @@ store_colortable_entries(GLcontext *ctx, struct gl_color_table *table, GLfloat bScale, GLfloat bBias, GLfloat aScale, GLfloat aBias) { - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - /* Get/unpack the color table data from a PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(1, &ctx->Unpack, count, 1, 1, - format, type, data)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glColor[Sub]Table(bad PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - ctx->Unpack.BufferObj); - if (!buf) { + if (!_mesa_validate_pbo_access(1, &ctx->Unpack, count, 1, 1, + format, type, data)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glColor[Sub]Table(bad PBO access)"); + return; + } + + data = _mesa_map_pbo_source(ctx, &ctx->Unpack, data); + if (!data) { + if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glColor[Sub]Table(PBO mapped)"); - return; } - data = ADD_POINTERS(buf, data); + return; } - { /* convert user-provided data to GLfloat values */ GLfloat tempTab[MAX_COLOR_TABLE_SIZE * 4]; @@ -279,10 +274,7 @@ store_colortable_entries(GLcontext *ctx, struct gl_color_table *table, } } - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - ctx->Unpack.BufferObj); - } + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); } @@ -696,34 +688,27 @@ _mesa_GetColorTable( GLenum target, GLenum format, return; } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* pack color table into PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(1, &ctx->Pack, table->Size, 1, 1, - format, type, data)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetColorTable(invalid PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { + if (!_mesa_validate_pbo_access(1, &ctx->Pack, table->Size, 1, 1, + format, type, data)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetColorTable(invalid PBO access)"); + return; + } + + data = _mesa_map_pbo_dest(ctx, &ctx->Pack, data); + if (!data) { + if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { /* buffer is already mapped - that's an error */ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetColorTable(PBO is mapped)"); - return; } - data = ADD_POINTERS(buf, data); + return; } _mesa_pack_rgba_span_float(ctx, table->Size, rgba, format, type, data, &ctx->Pack, 0x0); - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - ctx->Pack.BufferObj); - } + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); } diff --git a/src/mesa/main/convolve.c b/src/mesa/main/convolve.c index 69dba72ed3..7e0761e68b 100644 --- a/src/mesa/main/convolve.c +++ b/src/mesa/main/convolve.c @@ -144,27 +144,19 @@ _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, G ctx->Convolution1D.Width = width; ctx->Convolution1D.Height = 1; - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - /* unpack filter from PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(1, &ctx->Unpack, width, 1, 1, - format, type, image)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glConvolutionFilter1D(invalid PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - ctx->Unpack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!_mesa_validate_pbo_access(1, &ctx->Unpack, width, 1, 1, + format, type, image)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glConvolutionFilter1D(invalid PBO access)"); + return; + } + + image = _mesa_map_pbo_source(ctx, &ctx->Unpack, image); + if (!image) { + if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glConvolutionFilter1D(PBO is mapped)"); - return; } - image = ADD_POINTERS(buf, image); - } - else if (!image) { return; } @@ -173,10 +165,7 @@ _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, G format, type, image, &ctx->Unpack, 0); /* transferOps */ - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - ctx->Unpack.BufferObj); - } + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); _mesa_scale_and_bias_rgba(width, (GLfloat (*)[4]) ctx->Convolution1D.Filter, @@ -242,27 +231,19 @@ _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, G ctx->Convolution2D.Width = width; ctx->Convolution2D.Height = height; - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - /* unpack filter from PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(2, &ctx->Unpack, width, height, 1, - format, type, image)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glConvolutionFilter2D(invalid PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - ctx->Unpack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!_mesa_validate_pbo_access(2, &ctx->Unpack, width, height, 1, + format, type, image)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glConvolutionFilter2D(invalid PBO access)"); + return; + } + + image = _mesa_map_pbo_source(ctx, &ctx->Unpack, image); + if (!image) { + if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glConvolutionFilter2D(PBO is mapped)"); - return; } - image = ADD_POINTERS(buf, image); - } - else if (!image) { return; } @@ -276,10 +257,7 @@ _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, G 0); /* transferOps */ } - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - ctx->Unpack.BufferObj); - } + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); _mesa_scale_and_bias_rgba(width * height, (GLfloat (*)[4]) ctx->Convolution2D.Filter, @@ -598,26 +576,21 @@ _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, return; } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* Pack the filter into a PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(2, &ctx->Pack, - filter->Width, filter->Height, - 1, format, type, image)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetConvolutionFilter(invalid PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!_mesa_validate_pbo_access(2, &ctx->Pack, + filter->Width, filter->Height, + 1, format, type, image)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetConvolutionFilter(invalid PBO access)"); + return; + } + + image = _mesa_map_pbo_dest(ctx, &ctx->Pack, image); + if (!image) { + if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetConvolutionFilter(PBO is mapped)"); - return; } - image = ADD_POINTERS(image, buf); + return; } for (row = 0; row < filter->Height; row++) { @@ -629,10 +602,7 @@ _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, format, type, dst, &ctx->Pack, 0x0); } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - ctx->Pack.BufferObj); - } + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); } diff --git a/src/mesa/main/histogram.c b/src/mesa/main/histogram.c index 726a50d3b1..f1d01cdb62 100644 --- a/src/mesa/main/histogram.c +++ b/src/mesa/main/histogram.c @@ -649,27 +649,19 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvo return; } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* pack min/max values into a PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(1, &ctx->Pack, 2, 1, 1, - format, type, values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetMinMax(invalid PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { + if (!_mesa_validate_pbo_access(1, &ctx->Pack, 2, 1, 1, + format, type, values)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetMinMax(invalid PBO access)"); + return; + } + + values = _mesa_map_pbo_dest(ctx, &ctx->Pack, values); + if (!values) { + if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { /* buffer is already mapped - that's an error */ _mesa_error(ctx, GL_INVALID_OPERATION,"glGetMinMax(PBO is mapped)"); - return; } - values = ADD_POINTERS(buf, values); - } - else if (!values) { - /* not an error */ return; } @@ -687,10 +679,7 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvo format, type, values, &ctx->Pack, 0x0); } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - ctx->Pack.BufferObj); - } + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); if (reset) { _mesa_ResetMinmax(GL_MINMAX); @@ -733,27 +722,18 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, G return; } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* pack min/max values into a PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(1, &ctx->Pack, ctx->Histogram.Width, 1, 1, - format, type, values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetHistogram(invalid PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!_mesa_validate_pbo_access(1, &ctx->Pack, ctx->Histogram.Width, 1, 1, + format, type, values)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetHistogram(invalid PBO access)"); + return; + } + + values = _mesa_map_pbo_dest(ctx, &ctx->Pack, values); + if (!values) { + if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { _mesa_error(ctx,GL_INVALID_OPERATION,"glGetHistogram(PBO is mapped)"); - return; } - values = ADD_POINTERS(buf, values); - } - else if (!values) { - /* not an error */ return; } @@ -761,10 +741,7 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, G (CONST GLuint (*)[4]) ctx->Histogram.Count, format, type, values, &ctx->Pack); - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - ctx->Pack.BufferObj); - } + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); if (reset) { GLuint i; diff --git a/src/mesa/main/pixel.c b/src/mesa/main/pixel.c index 25f55a422f..fcef6dfd42 100644 --- a/src/mesa/main/pixel.c +++ b/src/mesa/main/pixel.c @@ -136,6 +136,33 @@ store_pixelmap(GLcontext *ctx, GLenum map, GLsizei mapsize, } +/** + * Convenience wrapper for _mesa_validate_pbo_access() for gl[Get]PixelMap(). + */ +static GLboolean +validate_pbo_access(GLcontext *ctx, struct gl_pixelstore_attrib *pack, + GLsizei mapsize, GLenum format, GLenum type, + const GLvoid *ptr) +{ + GLboolean ok; + + /* Note, need to use DefaultPacking and Unpack's buffer object */ + ctx->DefaultPacking.BufferObj = pack->BufferObj; + + ok = _mesa_validate_pbo_access(1, &ctx->DefaultPacking, mapsize, 1, 1, + format, type, ptr); + + /* restore */ + ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj; + + if (!ok) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glPixelMap(invalid PBO access)"); + } + return ok; +} + + void GLAPIENTRY _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values ) { @@ -158,40 +185,23 @@ _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values ) FLUSH_VERTICES(ctx, _NEW_PIXEL); - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - /* unpack pixelmap from PBO */ - GLubyte *buf; - /* Note, need to use DefaultPacking and Unpack's buffer object */ - ctx->DefaultPacking.BufferObj = ctx->Unpack.BufferObj; - if (!_mesa_validate_pbo_access(1, &ctx->DefaultPacking, mapsize, 1, 1, - GL_INTENSITY, GL_FLOAT, values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glPixelMapfv(invalid PBO access)"); - return; - } - /* restore */ - ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj; - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - ctx->Unpack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!validate_pbo_access(ctx, &ctx->Unpack, mapsize, + GL_INTENSITY, GL_FLOAT, values)) { + return; + } + + values = (const GLfloat *) _mesa_map_pbo_source(ctx, &ctx->Unpack, values); + if (!values) { + if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glPixelMapfv(PBO is mapped)"); - return; } - values = (const GLfloat *) ADD_POINTERS(buf, values); - } - else if (!values) { return; } store_pixelmap(ctx, map, mapsize, values); - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - ctx->Unpack.BufferObj); - } + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); } @@ -217,31 +227,17 @@ _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values ) FLUSH_VERTICES(ctx, _NEW_PIXEL); - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - /* unpack pixelmap from PBO */ - GLubyte *buf; - /* Note, need to use DefaultPacking and Unpack's buffer object */ - ctx->DefaultPacking.BufferObj = ctx->Unpack.BufferObj; - if (!_mesa_validate_pbo_access(1, &ctx->DefaultPacking, mapsize, 1, 1, - GL_INTENSITY, GL_UNSIGNED_INT, values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glPixelMapuiv(invalid PBO access)"); - return; - } - /* restore */ - ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj; - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - ctx->Unpack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!validate_pbo_access(ctx, &ctx->Unpack, mapsize, + GL_INTENSITY, GL_UNSIGNED_INT, values)) { + return; + } + + values = (const GLuint *) _mesa_map_pbo_source(ctx, &ctx->Unpack, values); + if (!values) { + if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glPixelMapuiv(PBO is mapped)"); - return; } - values = (const GLuint *) ADD_POINTERS(buf, values); - } - else if (!values) { return; } @@ -259,10 +255,7 @@ _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values ) } } - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - ctx->Unpack.BufferObj); - } + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); store_pixelmap(ctx, map, mapsize, fvalues); } @@ -290,32 +283,17 @@ _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values ) FLUSH_VERTICES(ctx, _NEW_PIXEL); - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - /* unpack pixelmap from PBO */ - GLubyte *buf; - /* Note, need to use DefaultPacking and Unpack's buffer object */ - ctx->DefaultPacking.BufferObj = ctx->Unpack.BufferObj; - if (!_mesa_validate_pbo_access(1, &ctx->DefaultPacking, mapsize, 1, 1, - GL_INTENSITY, GL_UNSIGNED_SHORT, - values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glPixelMapusv(invalid PBO access)"); - return; - } - /* restore */ - ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj; - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - ctx->Unpack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!validate_pbo_access(ctx, &ctx->Unpack, mapsize, + GL_INTENSITY, GL_UNSIGNED_SHORT, values)) { + return; + } + + values = (const GLushort *) _mesa_map_pbo_source(ctx, &ctx->Unpack, values); + if (!values) { + if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glPixelMapusv(PBO is mapped)"); - return; } - values = (const GLushort *) ADD_POINTERS(buf, values); - } - else if (!values) { return; } @@ -333,10 +311,7 @@ _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values ) } } - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - ctx->Unpack.BufferObj); - } + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); store_pixelmap(ctx, map, mapsize, fvalues); } @@ -359,31 +334,17 @@ _mesa_GetPixelMapfv( GLenum map, GLfloat *values ) mapsize = pm->Size; - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* pack pixelmap into PBO */ - GLubyte *buf; - /* Note, need to use DefaultPacking and Pack's buffer object */ - ctx->DefaultPacking.BufferObj = ctx->Pack.BufferObj; - if (!_mesa_validate_pbo_access(1, &ctx->DefaultPacking, mapsize, 1, 1, - GL_INTENSITY, GL_FLOAT, values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetPixelMapfv(invalid PBO access)"); - return; - } - /* restore */ - ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj; - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!validate_pbo_access(ctx, &ctx->Pack, mapsize, + GL_INTENSITY, GL_FLOAT, values)) { + return; + } + + values = (GLfloat *) _mesa_map_pbo_dest(ctx, &ctx->Pack, values); + if (!values) { + if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetPixelMapfv(PBO is mapped)"); - return; } - values = (GLfloat *) ADD_POINTERS(buf, values); - } - else if (!values) { return; } @@ -397,10 +358,7 @@ _mesa_GetPixelMapfv( GLenum map, GLfloat *values ) MEMCPY(values, pm->Map, mapsize * sizeof(GLfloat)); } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - ctx->Pack.BufferObj); - } + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); } @@ -420,31 +378,17 @@ _mesa_GetPixelMapuiv( GLenum map, GLuint *values ) } mapsize = pm->Size; - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* pack pixelmap into PBO */ - GLubyte *buf; - /* Note, need to use DefaultPacking and Pack's buffer object */ - ctx->DefaultPacking.BufferObj = ctx->Pack.BufferObj; - if (!_mesa_validate_pbo_access(1, &ctx->DefaultPacking, mapsize, 1, 1, - GL_INTENSITY, GL_UNSIGNED_INT, values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetPixelMapuiv(invalid PBO access)"); - return; - } - /* restore */ - ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj; - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!validate_pbo_access(ctx, &ctx->Pack, mapsize, + GL_INTENSITY, GL_UNSIGNED_INT, values)) { + return; + } + + values = (GLuint *) _mesa_map_pbo_dest(ctx, &ctx->Pack, values); + if (!values) { + if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetPixelMapuiv(PBO is mapped)"); - return; } - values = (GLuint *) ADD_POINTERS(buf, values); - } - else if (!values) { return; } @@ -458,10 +402,7 @@ _mesa_GetPixelMapuiv( GLenum map, GLuint *values ) } } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - ctx->Pack.BufferObj); - } + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); } @@ -481,32 +422,17 @@ _mesa_GetPixelMapusv( GLenum map, GLushort *values ) } mapsize = pm ? pm->Size : 0; - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* pack pixelmap into PBO */ - GLubyte *buf; - /* Note, need to use DefaultPacking and Pack's buffer object */ - ctx->DefaultPacking.BufferObj = ctx->Pack.BufferObj; - if (!_mesa_validate_pbo_access(1, &ctx->DefaultPacking, mapsize, 1, 1, - GL_INTENSITY, GL_UNSIGNED_SHORT, - values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetPixelMapusv(invalid PBO access)"); - return; - } - /* restore */ - ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj; - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ + if (!validate_pbo_access(ctx, &ctx->Pack, mapsize, + GL_INTENSITY, GL_UNSIGNED_SHORT, values)) { + return; + } + + values = (GLushort *) _mesa_map_pbo_dest(ctx, &ctx->Pack, values); + if (!values) { + if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetPixelMapusv(PBO is mapped)"); - return; } - values = (GLushort *) ADD_POINTERS(buf, values); - } - else if (!values) { return; } @@ -528,10 +454,7 @@ _mesa_GetPixelMapusv( GLenum map, GLushort *values ) } } - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - ctx->Pack.BufferObj); - } + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); } diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c index d11c9424d5..e327a52415 100644 --- a/src/mesa/main/polygon.c +++ b/src/mesa/main/polygon.c @@ -193,32 +193,25 @@ _mesa_PolygonMode( GLenum face, GLenum mode ) void _mesa_polygon_stipple(GLcontext *ctx, const GLubyte *pattern) { - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - /* Get/unpack the stipple pattern from a PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(2, &ctx->Unpack, 32, 32, 1, - GL_COLOR_INDEX, GL_BITMAP, pattern)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glPolygonStipple(bad PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - ctx->Unpack.BufferObj); - if (!buf) { + if (!_mesa_validate_pbo_access(2, &ctx->Unpack, 32, 32, 1, + GL_COLOR_INDEX, GL_BITMAP, pattern)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glPolygonStipple(bad PBO access)"); + return; + } + + pattern = _mesa_map_pbo_source(ctx, &ctx->Unpack, pattern); + if (!pattern) { + if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glPolygonStipple(PBO mapped)"); - return; } - buf = ADD_POINTERS(buf, pattern); - _mesa_unpack_polygon_stipple(buf, ctx->PolygonStipple, &ctx->Unpack); - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - ctx->Unpack.BufferObj); - } - else { - /* Get/unpack the stipple pattern from user memory */ - _mesa_unpack_polygon_stipple(pattern, ctx->PolygonStipple, &ctx->Unpack); + return; } + + _mesa_unpack_polygon_stipple(pattern, ctx->PolygonStipple, &ctx->Unpack); + + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); } @@ -255,35 +248,25 @@ _mesa_GetPolygonStipple( GLubyte *dest ) if (MESA_VERBOSE&VERBOSE_API) _mesa_debug(ctx, "glGetPolygonStipple\n"); - /* XXX someday we may put this code into a separate function and call - * it with ctx->Driver.GetPolygonStipple(). - */ - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* Put/pack the stipple pattern into a PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(2, &ctx->Pack, 32, 32, 1, - GL_COLOR_INDEX, GL_BITMAP, dest)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetPolygonStipple(bad PBO access)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { + if (!_mesa_validate_pbo_access(2, &ctx->Pack, 32, 32, 1, + GL_COLOR_INDEX, GL_BITMAP, dest)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetPolygonStipple(bad PBO access)"); + return; + } + + dest = _mesa_map_pbo_dest(ctx, &ctx->Pack, dest); + if (!dest) { + if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetPolygonStipple(PBO mapped)"); - return; } - buf = ADD_POINTERS(buf, dest); - _mesa_pack_polygon_stipple(ctx->PolygonStipple, buf, &ctx->Pack); - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - ctx->Pack.BufferObj); - } - else { - /* Put/pack the stipple pattern into user memory */ - _mesa_pack_polygon_stipple(ctx->PolygonStipple, dest, &ctx->Pack); + return; } + + _mesa_pack_polygon_stipple(ctx->PolygonStipple, dest, &ctx->Pack); + + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); } -- cgit v1.2.3 From dc947c8f92732fab75f89015e2d506e964a41ace Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 11:22:27 -0600 Subject: mesa: combined PBO validate/map helpers --- src/mesa/main/bufferobj.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++ src/mesa/main/bufferobj.h | 16 +++++++++ 2 files changed, 98 insertions(+) (limited to 'src') diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index 1ae63a0ef6..b95e00af5b 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -745,6 +745,47 @@ _mesa_map_pbo_source(GLcontext *ctx, } +/** + * Combine PBO-read validation and mapping. + * If any GL errors are detected, they'll be recorded and NULL returned. + * \sa _mesa_validate_pbo_access + * \sa _mesa_map_pbo_source + * A call to this function should have a matching call to + * _mesa_unmap_pbo_source(). + */ +const GLvoid * +_mesa_map_validate_pbo_source(GLcontext *ctx, + GLuint dimensions, + const struct gl_pixelstore_attrib *unpack, + GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLenum type, const GLvoid *ptr, + const char *where) +{ + ASSERT(dimensions == 1 || dimensions == 2 || dimensions == 3); + + if (!_mesa_is_bufferobj(unpack->BufferObj)) { + /* non-PBO access: no validation to be done */ + return ptr; + } + + if (!_mesa_validate_pbo_access(dimensions, unpack, + width, height, depth, format, type, ptr)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "%s(out of bounds PBO access)", where); + return NULL; + } + + if (_mesa_bufferobj_mapped(unpack->BufferObj)) { + /* buffer is already mapped - that's an error */ + _mesa_error(ctx, GL_INVALID_OPERATION, "%s(PBO is mapped)", where); + return NULL; + } + + ptr = _mesa_map_pbo_source(ctx, unpack, ptr); + return ptr; +} + + /** * Counterpart to _mesa_map_pbo_source() */ @@ -794,6 +835,47 @@ _mesa_map_pbo_dest(GLcontext *ctx, } +/** + * Combine PBO-write validation and mapping. + * If any GL errors are detected, they'll be recorded and NULL returned. + * \sa _mesa_validate_pbo_access + * \sa _mesa_map_pbo_dest + * A call to this function should have a matching call to + * _mesa_unmap_pbo_dest(). + */ +GLvoid * +_mesa_map_validate_pbo_dest(GLcontext *ctx, + GLuint dimensions, + const struct gl_pixelstore_attrib *unpack, + GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLenum type, GLvoid *ptr, + const char *where) +{ + ASSERT(dimensions == 1 || dimensions == 2 || dimensions == 3); + + if (!_mesa_is_bufferobj(unpack->BufferObj)) { + /* non-PBO access: no validation to be done */ + return ptr; + } + + if (!_mesa_validate_pbo_access(dimensions, unpack, + width, height, depth, format, type, ptr)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "%s(out of bounds PBO access)", where); + return NULL; + } + + if (_mesa_bufferobj_mapped(unpack->BufferObj)) { + /* buffer is already mapped - that's an error */ + _mesa_error(ctx, GL_INVALID_OPERATION, "%s(PBO is mapped)", where); + return NULL; + } + + ptr = _mesa_map_pbo_dest(ctx, unpack, ptr); + return ptr; +} + + /** * Counterpart to _mesa_map_pbo_dest() */ diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h index 2e7afc2d76..9f732ec0c0 100644 --- a/src/mesa/main/bufferobj.h +++ b/src/mesa/main/bufferobj.h @@ -86,6 +86,14 @@ _mesa_map_pbo_source(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack, const GLvoid *src); +extern const GLvoid * +_mesa_map_validate_pbo_source(GLcontext *ctx, + GLuint dimensions, + const struct gl_pixelstore_attrib *unpack, + GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLenum type, const GLvoid *ptr, + const char *where); + extern void _mesa_unmap_pbo_source(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack); @@ -95,6 +103,14 @@ _mesa_map_pbo_dest(GLcontext *ctx, const struct gl_pixelstore_attrib *pack, GLvoid *dest); +extern GLvoid * +_mesa_map_validate_pbo_dest(GLcontext *ctx, + GLuint dimensions, + const struct gl_pixelstore_attrib *unpack, + GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLenum type, GLvoid *ptr, + const char *where); + extern void _mesa_unmap_pbo_dest(GLcontext *ctx, const struct gl_pixelstore_attrib *pack); -- cgit v1.2.3 From 95027a00870bc1d12ea24dfb092a0cad6cbd5035 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 11:23:05 -0600 Subject: mesa: use new combined PBO validate/map helpers --- src/mesa/main/colortab.c | 39 ++++++++----------------------- src/mesa/main/convolve.c | 58 ++++++++++++----------------------------------- src/mesa/main/histogram.c | 34 +++++++-------------------- src/mesa/main/polygon.c | 38 ++++++++----------------------- 4 files changed, 43 insertions(+), 126 deletions(-) (limited to 'src') diff --git a/src/mesa/main/colortab.c b/src/mesa/main/colortab.c index 91c29882ec..5a7de5f209 100644 --- a/src/mesa/main/colortab.c +++ b/src/mesa/main/colortab.c @@ -179,21 +179,12 @@ store_colortable_entries(GLcontext *ctx, struct gl_color_table *table, GLfloat bScale, GLfloat bBias, GLfloat aScale, GLfloat aBias) { - if (!_mesa_validate_pbo_access(1, &ctx->Unpack, count, 1, 1, - format, type, data)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glColor[Sub]Table(bad PBO access)"); + data = _mesa_map_validate_pbo_source(ctx, + 1, &ctx->Unpack, count, 1, 1, + format, type, data, + "glColor[Sub]Table"); + if (!data) return; - } - - data = _mesa_map_pbo_source(ctx, &ctx->Unpack, data); - if (!data) { - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glColor[Sub]Table(PBO mapped)"); - } - return; - } { /* convert user-provided data to GLfloat values */ @@ -688,22 +679,12 @@ _mesa_GetColorTable( GLenum target, GLenum format, return; } - if (!_mesa_validate_pbo_access(1, &ctx->Pack, table->Size, 1, 1, - format, type, data)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetColorTable(invalid PBO access)"); + data = _mesa_map_validate_pbo_dest(ctx, + 1, &ctx->Pack, table->Size, 1, 1, + format, type, data, + "glGetColorTable"); + if (!data) return; - } - - data = _mesa_map_pbo_dest(ctx, &ctx->Pack, data); - if (!data) { - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* buffer is already mapped - that's an error */ - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetColorTable(PBO is mapped)"); - } - return; - } _mesa_pack_rgba_span_float(ctx, table->Size, rgba, format, type, data, &ctx->Pack, 0x0); diff --git a/src/mesa/main/convolve.c b/src/mesa/main/convolve.c index 7e0761e68b..714909f451 100644 --- a/src/mesa/main/convolve.c +++ b/src/mesa/main/convolve.c @@ -144,21 +144,12 @@ _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, G ctx->Convolution1D.Width = width; ctx->Convolution1D.Height = 1; - if (!_mesa_validate_pbo_access(1, &ctx->Unpack, width, 1, 1, - format, type, image)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glConvolutionFilter1D(invalid PBO access)"); + image = _mesa_map_validate_pbo_source(ctx, + 1, &ctx->Unpack, width, 1, 1, + format, type, image, + "glConvolutionFilter1D"); + if (!image) return; - } - - image = _mesa_map_pbo_source(ctx, &ctx->Unpack, image); - if (!image) { - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glConvolutionFilter1D(PBO is mapped)"); - } - return; - } _mesa_unpack_color_span_float(ctx, width, GL_RGBA, ctx->Convolution1D.Filter, @@ -231,21 +222,12 @@ _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, G ctx->Convolution2D.Width = width; ctx->Convolution2D.Height = height; - if (!_mesa_validate_pbo_access(2, &ctx->Unpack, width, height, 1, - format, type, image)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glConvolutionFilter2D(invalid PBO access)"); + image = _mesa_map_validate_pbo_source(ctx, + 2, &ctx->Unpack, width, height, 1, + format, type, image, + "glConvolutionFilter2D"); + if (!image) return; - } - - image = _mesa_map_pbo_source(ctx, &ctx->Unpack, image); - if (!image) { - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glConvolutionFilter2D(PBO is mapped)"); - } - return; - } /* Unpack filter image. We always store filters in RGBA format. */ for (i = 0; i < height; i++) { @@ -576,22 +558,12 @@ _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, return; } - if (!_mesa_validate_pbo_access(2, &ctx->Pack, - filter->Width, filter->Height, - 1, format, type, image)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetConvolutionFilter(invalid PBO access)"); - return; - } - - image = _mesa_map_pbo_dest(ctx, &ctx->Pack, image); - if (!image) { - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetConvolutionFilter(PBO is mapped)"); - } + image = _mesa_map_validate_pbo_dest(ctx, 2, &ctx->Pack, + filter->Width, filter->Height, 1, + format, type, image, + "glGetConvolutionFilter"); + if (!image) return; - } for (row = 0; row < filter->Height; row++) { GLvoid *dst = _mesa_image_address2d(&ctx->Pack, image, filter->Width, diff --git a/src/mesa/main/histogram.c b/src/mesa/main/histogram.c index f1d01cdb62..ceb0d5a6a8 100644 --- a/src/mesa/main/histogram.c +++ b/src/mesa/main/histogram.c @@ -649,21 +649,11 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvo return; } - if (!_mesa_validate_pbo_access(1, &ctx->Pack, 2, 1, 1, - format, type, values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetMinMax(invalid PBO access)"); - return; - } - values = _mesa_map_pbo_dest(ctx, &ctx->Pack, values); - if (!values) { - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* buffer is already mapped - that's an error */ - _mesa_error(ctx, GL_INVALID_OPERATION,"glGetMinMax(PBO is mapped)"); - } + values = _mesa_map_validate_pbo_dest(ctx, 1, &ctx->Pack, 2, 1, 1, + format, type, values, "glGetMinmax"); + if (!values) return; - } { GLfloat minmax[2][4]; @@ -722,20 +712,12 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, G return; } - if (!_mesa_validate_pbo_access(1, &ctx->Pack, ctx->Histogram.Width, 1, 1, - format, type, values)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetHistogram(invalid PBO access)"); + values = _mesa_map_validate_pbo_dest(ctx, 1, &ctx->Pack, + ctx->Histogram.Width, 1, 1, + format, type, values, + "glGetHistogram"); + if (!values) return; - } - - values = _mesa_map_pbo_dest(ctx, &ctx->Pack, values); - if (!values) { - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - _mesa_error(ctx,GL_INVALID_OPERATION,"glGetHistogram(PBO is mapped)"); - } - return; - } pack_histogram(ctx, ctx->Histogram.Width, (CONST GLuint (*)[4]) ctx->Histogram.Count, diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c index e327a52415..376a87a396 100644 --- a/src/mesa/main/polygon.c +++ b/src/mesa/main/polygon.c @@ -193,21 +193,12 @@ _mesa_PolygonMode( GLenum face, GLenum mode ) void _mesa_polygon_stipple(GLcontext *ctx, const GLubyte *pattern) { - if (!_mesa_validate_pbo_access(2, &ctx->Unpack, 32, 32, 1, - GL_COLOR_INDEX, GL_BITMAP, pattern)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glPolygonStipple(bad PBO access)"); + pattern = _mesa_map_validate_pbo_source(ctx, 2, + &ctx->Unpack, 32, 32, 1, + GL_COLOR_INDEX, GL_BITMAP, pattern, + "glPolygonStipple"); + if (!pattern) return; - } - - pattern = _mesa_map_pbo_source(ctx, &ctx->Unpack, pattern); - if (!pattern) { - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glPolygonStipple(PBO mapped)"); - } - return; - } _mesa_unpack_polygon_stipple(pattern, ctx->PolygonStipple, &ctx->Unpack); @@ -248,21 +239,12 @@ _mesa_GetPolygonStipple( GLubyte *dest ) if (MESA_VERBOSE&VERBOSE_API) _mesa_debug(ctx, "glGetPolygonStipple\n"); - if (!_mesa_validate_pbo_access(2, &ctx->Pack, 32, 32, 1, - GL_COLOR_INDEX, GL_BITMAP, dest)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetPolygonStipple(bad PBO access)"); + dest = _mesa_map_validate_pbo_dest(ctx, 2, + &ctx->Pack, 32, 32, 1, + GL_COLOR_INDEX, GL_BITMAP, dest, + "glGetPolygonStipple"); + if (!dest) return; - } - - dest = _mesa_map_pbo_dest(ctx, &ctx->Pack, dest); - if (!dest) { - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetPolygonStipple(PBO mapped)"); - } - return; - } _mesa_pack_polygon_stipple(ctx->PolygonStipple, dest, &ctx->Pack); -- cgit v1.2.3 From 2db37ef659a43267dcb4c7a3c69b410a60a2a5d6 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 11:41:29 -0600 Subject: mesa: use new combined PBO validate/map helpers in convolution/filter funcs --- src/mesa/main/convolve.c | 89 +++++++++++++----------------------------------- 1 file changed, 23 insertions(+), 66 deletions(-) (limited to 'src') diff --git a/src/mesa/main/convolve.c b/src/mesa/main/convolve.c index 714909f451..4d17f533d7 100644 --- a/src/mesa/main/convolve.c +++ b/src/mesa/main/convolve.c @@ -744,59 +744,35 @@ _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type, filter = &ctx->Separable2D; - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* Pack filter into PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(1, &ctx->Pack, filter->Width, 1, 1, - format, type, row)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetSeparableFilter(invalid PBO access, width)"); - return; - } - if (!_mesa_validate_pbo_access(1, &ctx->Pack, filter->Height, 1, 1, - format, type, column)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetSeparableFilter(invalid PBO access, height)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, - GL_WRITE_ONLY_ARB, - ctx->Pack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ - _mesa_error(ctx, GL_INVALID_OPERATION, - "glGetSeparableFilter(PBO is mapped)"); - return; - } - row = ADD_POINTERS(buf, row); - column = ADD_POINTERS(buf, column); - } - - /* Row filter */ + /* Get row filter */ + row = _mesa_map_validate_pbo_dest(ctx, 1, &ctx->Pack, + filter->Width, 1, 1, + format, type, row, + "glGetConvolutionFilter"); if (row) { GLvoid *dst = _mesa_image_address1d(&ctx->Pack, row, filter->Width, format, type, 0); _mesa_pack_rgba_span_float(ctx, filter->Width, (GLfloat (*)[4]) filter->Filter, format, type, dst, &ctx->Pack, 0x0); + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); } - /* Column filter */ + /* get column filter */ + column = _mesa_map_validate_pbo_dest(ctx, 1, &ctx->Pack, + filter->Height, 1, 1, + format, type, row, + "glGetConvolutionFilter"); if (column) { GLvoid *dst = _mesa_image_address1d(&ctx->Pack, column, filter->Height, format, type, 0); GLfloat (*src)[4] = (GLfloat (*)[4]) (filter->Filter + colStart); _mesa_pack_rgba_span_float(ctx, filter->Height, src, format, type, dst, &ctx->Pack, 0x0); + _mesa_unmap_pbo_dest(ctx, &ctx->Pack); } (void) span; /* unused at this time */ - - if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) { - /* Pack filter into PBO */ - ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - ctx->Unpack.BufferObj); - } } @@ -847,41 +823,16 @@ _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLs ctx->Separable2D.Width = width; ctx->Separable2D.Height = height; - if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { - /* unpack filter from PBO */ - GLubyte *buf; - if (!_mesa_validate_pbo_access(1, &ctx->Unpack, width, 1, 1, - format, type, row)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glSeparableFilter2D(invalid PBO access, width)"); - return; - } - if (!_mesa_validate_pbo_access(1, &ctx->Unpack, height, 1, 1, - format, type, column)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glSeparableFilter2D(invalid PBO access, height)"); - return; - } - buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, - GL_READ_ONLY_ARB, - ctx->Unpack.BufferObj); - if (!buf) { - /* buffer is already mapped - that's an error */ - _mesa_error(ctx, GL_INVALID_OPERATION, - "glSeparableFilter2D(PBO is mapped)"); - return; - } - row = ADD_POINTERS(buf, row); - column = ADD_POINTERS(buf, column); - } - /* unpack row filter */ + row = _mesa_map_validate_pbo_source(ctx, 1, &ctx->Unpack, + width, 1, 1, + format, type, row, + "glSeperableFilter2D"); if (row) { _mesa_unpack_color_span_float(ctx, width, GL_RGBA, ctx->Separable2D.Filter, format, type, row, &ctx->Unpack, - 0); /* transferOps */ - + 0x0); /* transferOps */ _mesa_scale_and_bias_rgba(width, (GLfloat (*)[4]) ctx->Separable2D.Filter, ctx->Pixel.ConvolutionFilterScale[2][0], @@ -892,9 +843,14 @@ _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLs ctx->Pixel.ConvolutionFilterBias[2][1], ctx->Pixel.ConvolutionFilterBias[2][2], ctx->Pixel.ConvolutionFilterBias[2][3]); + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); } /* unpack column filter */ + column = _mesa_map_validate_pbo_source(ctx, 1, &ctx->Unpack, + height, 1, 1, + format, type, row, + "glSeperableFilter2D"); if (column) { _mesa_unpack_color_span_float(ctx, height, GL_RGBA, &ctx->Separable2D.Filter[colStart], @@ -911,6 +867,7 @@ _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLs ctx->Pixel.ConvolutionFilterBias[2][1], ctx->Pixel.ConvolutionFilterBias[2][2], ctx->Pixel.ConvolutionFilterBias[2][3]); + _mesa_unmap_pbo_source(ctx, &ctx->Unpack); } if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) { -- cgit v1.2.3 From 5cd7042088bdd0b5d9a92f4fc927029a46a23734 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 11:46:28 -0600 Subject: swrast: wrap comment to 80 columns, remove dead code --- src/mesa/swrast/s_drawpix.c | 63 +++++---------------------------------------- 1 file changed, 6 insertions(+), 57 deletions(-) (limited to 'src') diff --git a/src/mesa/swrast/s_drawpix.c b/src/mesa/swrast/s_drawpix.c index d31c402eea..6970b2e9cb 100644 --- a/src/mesa/swrast/s_drawpix.c +++ b/src/mesa/swrast/s_drawpix.c @@ -831,11 +831,13 @@ _swrast_DrawPixels( GLcontext *ctx, SWcontext *swrast = SWRAST_CONTEXT(ctx); GLboolean save_vp_override = ctx->VertexProgram._Overriden; - /* We are creating fragments directly, without going through vertex programs. + /* We are creating fragments directly, without going through vertex + * programs. * - * This override flag tells the fragment processing code that its input comes - * from a non-standard source, and it may therefore not rely on optimizations - * that assume e.g. constant color if there is no color vertex array. + * This override flag tells the fragment processing code that its input + * comes from a non-standard source, and it may therefore not rely on + * optimizations that assume e.g. constant color if there is no color + * vertex array. */ _mesa_set_vp_override(ctx, GL_TRUE); @@ -894,56 +896,3 @@ _swrast_DrawPixels( GLcontext *ctx, _mesa_unmap_pbo_source(ctx, unpack); } - - - -#if 0 /* experimental */ -/* - * Execute glDrawDepthPixelsMESA(). - */ -void -_swrast_DrawDepthPixelsMESA( GLcontext *ctx, - GLint x, GLint y, - GLsizei width, GLsizei height, - GLenum colorFormat, GLenum colorType, - const GLvoid *colors, - GLenum depthType, const GLvoid *depths, - const struct gl_pixelstore_attrib *unpack ) -{ - SWcontext *swrast = SWRAST_CONTEXT(ctx); - - if (swrast->NewState) - _swrast_validate_derived( ctx ); - - swrast_render_start(ctx); - - switch (colorFormat) { - case GL_COLOR_INDEX: - if (ctx->Visual.rgbMode) - draw_rgba_pixels(ctx, x,y, width, height, colorFormat, colorType, - unpack, colors); - else - draw_index_pixels(ctx, x, y, width, height, colorType, - unpack, colors); - break; - case GL_RED: - case GL_GREEN: - case GL_BLUE: - case GL_ALPHA: - case GL_LUMINANCE: - case GL_LUMINANCE_ALPHA: - case GL_RGB: - case GL_BGR: - case GL_RGBA: - case GL_BGRA: - case GL_ABGR_EXT: - draw_rgba_pixels(ctx, x, y, width, height, colorFormat, colorType, - unpack, colors); - break; - default: - _mesa_problem(ctx, "unexpected format in glDrawDepthPixelsMESA"); - } - - swrast_render_finish(ctx); -} -#endif -- cgit v1.2.3 From 7a7d5879e28607c151132a8b6a07cf4be36b5b3e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 2 Sep 2009 15:39:13 -0600 Subject: mesa: compute tex env program key size based on nr_enabled_units When no textures are enabled, the key size is 4 bytes. If unit[0] is enabled, the key size is 16 bytes. Inspired by a patch from Chris Wilson. --- src/mesa/main/texenvprogram.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index b4923e904d..870970a355 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -99,6 +99,7 @@ struct state_key { GLuint fog_mode:2; /**< FOG_x */ GLuint inputs_available:12; + /* NOTE: This array of structs must be last! (see "keySize" below) */ struct { GLuint enabled:1; GLuint source_index:3; /**< TEXTURE_x_INDEX */ @@ -368,11 +369,12 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx ) * Examine current texture environment state and generate a unique * key to identify it. */ -static void make_state_key( GLcontext *ctx, struct state_key *key ) +static GLuint make_state_key( GLcontext *ctx, struct state_key *key ) { GLuint i, j; GLbitfield inputs_referenced = FRAG_BIT_COL0; const GLbitfield inputs_available = get_fp_input_mask( ctx ); + GLuint keySize; memset(key, 0, sizeof(*key)); @@ -390,7 +392,7 @@ static void make_state_key( GLcontext *ctx, struct state_key *key ) key->unit[i].enabled = 1; key->enabled_units |= (1<nr_enabled_units = i+1; + key->nr_enabled_units = i + 1; inputs_referenced |= FRAG_BIT_TEX(i); key->unit[i].source_index = @@ -443,8 +445,15 @@ static void make_state_key( GLcontext *ctx, struct state_key *key ) } key->inputs_available = (inputs_available & inputs_referenced); + + /* compute size of state key, ignoring unused texture units */ + keySize = sizeof(*key) - sizeof(key->unit) + + key->nr_enabled_units * sizeof(key->unit[0]); + + return keySize; } + /** * Use uregs to represent registers internally, translate to Mesa's * expected formats on emit. @@ -1390,7 +1399,7 @@ create_new_program(GLcontext *ctx, struct state_key *key, GLboolean needbumpstage = GL_FALSE; /* Zeroth pass - bump map textures first */ - for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) + for (unit = 0; unit < key->nr_enabled_units; unit++) if (key->unit[unit].enabled && key->unit[unit].ModeRGB == MODE_BUMP_ENVMAP_ATI) { needbumpstage = GL_TRUE; @@ -1403,7 +1412,7 @@ create_new_program(GLcontext *ctx, struct state_key *key, * all referenced texture sources and emit texld instructions * for each: */ - for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) + for (unit = 0; unit < key->nr_enabled_units; unit++) if (key->unit[unit].enabled) { load_texunit_sources( &p, unit ); p.last_tex_stage = unit; @@ -1411,7 +1420,7 @@ create_new_program(GLcontext *ctx, struct state_key *key, /* Second pass - emit combine instructions to build final color: */ - for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) + for (unit = 0; unit < key->nr_enabled_units; unit++) if (key->unit[unit].enabled) { p.src_previous = emit_texenv( &p, unit ); reserve_temp(&p, p.src_previous); /* don't re-use this temp reg */ @@ -1502,12 +1511,13 @@ _mesa_get_fixed_func_fragment_program(GLcontext *ctx) { struct gl_fragment_program *prog; struct state_key key; + GLuint keySize; - make_state_key(ctx, &key); + keySize = make_state_key(ctx, &key); prog = (struct gl_fragment_program *) _mesa_search_program_cache(ctx->FragmentProgram.Cache, - &key, sizeof(key)); + &key, keySize); if (!prog) { prog = (struct gl_fragment_program *) @@ -1516,7 +1526,7 @@ _mesa_get_fixed_func_fragment_program(GLcontext *ctx) create_new_program(ctx, &key, prog); _mesa_program_cache_insert(ctx, ctx->FragmentProgram.Cache, - &key, sizeof(key), &prog->Base); + &key, keySize, &prog->Base); } return prog; -- cgit v1.2.3 From d75a99edd6386ab26d69a3f0cbbed4c79fe5fad4 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 12:10:53 -0600 Subject: mesa: fix typos in separable filter functions --- src/mesa/main/convolve.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mesa/main/convolve.c b/src/mesa/main/convolve.c index 4d17f533d7..70951112a1 100644 --- a/src/mesa/main/convolve.c +++ b/src/mesa/main/convolve.c @@ -761,7 +761,7 @@ _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type, /* get column filter */ column = _mesa_map_validate_pbo_dest(ctx, 1, &ctx->Pack, filter->Height, 1, 1, - format, type, row, + format, type, column, "glGetConvolutionFilter"); if (column) { GLvoid *dst = _mesa_image_address1d(&ctx->Pack, column, filter->Height, @@ -827,7 +827,7 @@ _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLs row = _mesa_map_validate_pbo_source(ctx, 1, &ctx->Unpack, width, 1, 1, format, type, row, - "glSeperableFilter2D"); + "glSeparableFilter2D"); if (row) { _mesa_unpack_color_span_float(ctx, width, GL_RGBA, ctx->Separable2D.Filter, @@ -849,8 +849,8 @@ _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLs /* unpack column filter */ column = _mesa_map_validate_pbo_source(ctx, 1, &ctx->Unpack, height, 1, 1, - format, type, row, - "glSeperableFilter2D"); + format, type, column, + "glSeparableFilter2D"); if (column) { _mesa_unpack_color_span_float(ctx, height, GL_RGBA, &ctx->Separable2D.Filter[colStart], -- cgit v1.2.3 From 10067e464132e6d484c34dd277da5eb5e21cf491 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 28 Aug 2009 15:37:25 -0700 Subject: ARB sync: Add infrastructure for glGetInteger64v --- src/mesa/main/dd.h | 2 + src/mesa/main/get.c | 1832 ++++++++++++++++++++++++++++++++++++++++++++++ src/mesa/main/get.h | 3 + src/mesa/main/get_gen.py | 22 +- src/mesa/main/imports.h | 1 + src/mesa/main/macros.h | 3 + 6 files changed, 1862 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 4400e166c6..3a59872b5a 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -766,6 +766,8 @@ struct dd_function_table { /** Return the value or values of a selected parameter */ GLboolean (*GetIntegerv)(GLcontext *ctx, GLenum pname, GLint *result); /** Return the value or values of a selected parameter */ + GLboolean (*GetInteger64v)(GLcontext *ctx, GLenum pname, GLint64 *result); + /** Return the value or values of a selected parameter */ GLboolean (*GetPointerv)(GLcontext *ctx, GLenum pname, GLvoid **result); /*@}*/ diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index d0c9cea00c..fc742c4a90 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -20,8 +20,11 @@ #define INT_TO_BOOLEAN(I) ( (I) ? GL_TRUE : GL_FALSE ) #define BOOLEAN_TO_INT(B) ( (GLint) (B) ) +#define BOOLEAN_TO_INT64(B) ( (GLint64) (B) ) #define BOOLEAN_TO_FLOAT(B) ( (B) ? 1.0F : 0.0F ) +#define ENUM_TO_INT64(E) ( (GLint64) (E) ) + /* * Check if named extension is enabled, if not generate error and return. @@ -5543,6 +5546,1835 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) } } +#if FEATURE_ARB_sync +void GLAPIENTRY +_mesa_GetInteger64v( GLenum pname, GLint64 *params ) +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_BEGIN_END(ctx); + + if (!params) + return; + + if (ctx->NewState) + _mesa_update_state(ctx); + + if (ctx->Driver.GetInteger64v && + ctx->Driver.GetInteger64v(ctx, pname, params)) + return; + + switch (pname) { + case GL_ACCUM_RED_BITS: + params[0] = ctx->DrawBuffer->Visual.accumRedBits; + break; + case GL_ACCUM_GREEN_BITS: + params[0] = ctx->DrawBuffer->Visual.accumGreenBits; + break; + case GL_ACCUM_BLUE_BITS: + params[0] = ctx->DrawBuffer->Visual.accumBlueBits; + break; + case GL_ACCUM_ALPHA_BITS: + params[0] = ctx->DrawBuffer->Visual.accumAlphaBits; + break; + case GL_ACCUM_CLEAR_VALUE: + params[0] = FLOAT_TO_INT64(ctx->Accum.ClearColor[0]); + params[1] = FLOAT_TO_INT64(ctx->Accum.ClearColor[1]); + params[2] = FLOAT_TO_INT64(ctx->Accum.ClearColor[2]); + params[3] = FLOAT_TO_INT64(ctx->Accum.ClearColor[3]); + break; + case GL_ALPHA_BIAS: + params[0] = IROUND64(ctx->Pixel.AlphaBias); + break; + case GL_ALPHA_BITS: + params[0] = ctx->DrawBuffer->Visual.alphaBits; + break; + case GL_ALPHA_SCALE: + params[0] = IROUND64(ctx->Pixel.AlphaScale); + break; + case GL_ALPHA_TEST: + params[0] = BOOLEAN_TO_INT64(ctx->Color.AlphaEnabled); + break; + case GL_ALPHA_TEST_FUNC: + params[0] = ENUM_TO_INT64(ctx->Color.AlphaFunc); + break; + case GL_ALPHA_TEST_REF: + params[0] = FLOAT_TO_INT64(ctx->Color.AlphaRef); + break; + case GL_ATTRIB_STACK_DEPTH: + params[0] = ctx->AttribStackDepth; + break; + case GL_AUTO_NORMAL: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.AutoNormal); + break; + case GL_AUX_BUFFERS: + params[0] = ctx->DrawBuffer->Visual.numAuxBuffers; + break; + case GL_BLEND: + params[0] = BOOLEAN_TO_INT64(ctx->Color.BlendEnabled); + break; + case GL_BLEND_DST: + params[0] = ENUM_TO_INT64(ctx->Color.BlendDstRGB); + break; + case GL_BLEND_SRC: + params[0] = ENUM_TO_INT64(ctx->Color.BlendSrcRGB); + break; + case GL_BLEND_SRC_RGB_EXT: + params[0] = ENUM_TO_INT64(ctx->Color.BlendSrcRGB); + break; + case GL_BLEND_DST_RGB_EXT: + params[0] = ENUM_TO_INT64(ctx->Color.BlendDstRGB); + break; + case GL_BLEND_SRC_ALPHA_EXT: + params[0] = ENUM_TO_INT64(ctx->Color.BlendSrcA); + break; + case GL_BLEND_DST_ALPHA_EXT: + params[0] = ENUM_TO_INT64(ctx->Color.BlendDstA); + break; + case GL_BLEND_EQUATION: + params[0] = ENUM_TO_INT64(ctx->Color.BlendEquationRGB ); + break; + case GL_BLEND_EQUATION_ALPHA_EXT: + params[0] = ENUM_TO_INT64(ctx->Color.BlendEquationA ); + break; + case GL_BLEND_COLOR_EXT: + params[0] = FLOAT_TO_INT64(ctx->Color.BlendColor[0]); + params[1] = FLOAT_TO_INT64(ctx->Color.BlendColor[1]); + params[2] = FLOAT_TO_INT64(ctx->Color.BlendColor[2]); + params[3] = FLOAT_TO_INT64(ctx->Color.BlendColor[3]); + break; + case GL_BLUE_BIAS: + params[0] = IROUND64(ctx->Pixel.BlueBias); + break; + case GL_BLUE_BITS: + params[0] = ctx->DrawBuffer->Visual.blueBits; + break; + case GL_BLUE_SCALE: + params[0] = IROUND64(ctx->Pixel.BlueScale); + break; + case GL_CLIENT_ATTRIB_STACK_DEPTH: + params[0] = ctx->ClientAttribStackDepth; + break; + case GL_CLIP_PLANE0: + params[0] = BOOLEAN_TO_INT64((ctx->Transform.ClipPlanesEnabled >> 0) & 1); + break; + case GL_CLIP_PLANE1: + params[0] = BOOLEAN_TO_INT64((ctx->Transform.ClipPlanesEnabled >> 1) & 1); + break; + case GL_CLIP_PLANE2: + params[0] = BOOLEAN_TO_INT64((ctx->Transform.ClipPlanesEnabled >> 2) & 1); + break; + case GL_CLIP_PLANE3: + params[0] = BOOLEAN_TO_INT64((ctx->Transform.ClipPlanesEnabled >> 3) & 1); + break; + case GL_CLIP_PLANE4: + params[0] = BOOLEAN_TO_INT64((ctx->Transform.ClipPlanesEnabled >> 4) & 1); + break; + case GL_CLIP_PLANE5: + params[0] = BOOLEAN_TO_INT64((ctx->Transform.ClipPlanesEnabled >> 5) & 1); + break; + case GL_COLOR_CLEAR_VALUE: + params[0] = FLOAT_TO_INT64(ctx->Color.ClearColor[0]); + params[1] = FLOAT_TO_INT64(ctx->Color.ClearColor[1]); + params[2] = FLOAT_TO_INT64(ctx->Color.ClearColor[2]); + params[3] = FLOAT_TO_INT64(ctx->Color.ClearColor[3]); + break; + case GL_COLOR_MATERIAL: + params[0] = BOOLEAN_TO_INT64(ctx->Light.ColorMaterialEnabled); + break; + case GL_COLOR_MATERIAL_FACE: + params[0] = ENUM_TO_INT64(ctx->Light.ColorMaterialFace); + break; + case GL_COLOR_MATERIAL_PARAMETER: + params[0] = ENUM_TO_INT64(ctx->Light.ColorMaterialMode); + break; + case GL_COLOR_WRITEMASK: + params[0] = ctx->Color.ColorMask[RCOMP] ? 1 : 0; + params[1] = ctx->Color.ColorMask[GCOMP] ? 1 : 0; + params[2] = ctx->Color.ColorMask[BCOMP] ? 1 : 0; + params[3] = ctx->Color.ColorMask[ACOMP] ? 1 : 0; + break; + case GL_CULL_FACE: + params[0] = BOOLEAN_TO_INT64(ctx->Polygon.CullFlag); + break; + case GL_CULL_FACE_MODE: + params[0] = ENUM_TO_INT64(ctx->Polygon.CullFaceMode); + break; + case GL_CURRENT_COLOR: + { + FLUSH_CURRENT(ctx, 0); + params[0] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][0]); + params[1] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][1]); + params[2] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][2]); + params[3] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_COLOR0][3]); + } + break; + case GL_CURRENT_INDEX: + { + FLUSH_CURRENT(ctx, 0); + params[0] = IROUND64(ctx->Current.Attrib[VERT_ATTRIB_COLOR_INDEX][0]); + } + break; + case GL_CURRENT_NORMAL: + { + FLUSH_CURRENT(ctx, 0); + params[0] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][0]); + params[1] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][1]); + params[2] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_NORMAL][2]); + } + break; + case GL_CURRENT_RASTER_COLOR: + params[0] = FLOAT_TO_INT64(ctx->Current.RasterColor[0]); + params[1] = FLOAT_TO_INT64(ctx->Current.RasterColor[1]); + params[2] = FLOAT_TO_INT64(ctx->Current.RasterColor[2]); + params[3] = FLOAT_TO_INT64(ctx->Current.RasterColor[3]); + break; + case GL_CURRENT_RASTER_DISTANCE: + params[0] = IROUND64(ctx->Current.RasterDistance); + break; + case GL_CURRENT_RASTER_INDEX: + params[0] = IROUND64(ctx->Current.RasterIndex); + break; + case GL_CURRENT_RASTER_POSITION: + params[0] = IROUND64(ctx->Current.RasterPos[0]); + params[1] = IROUND64(ctx->Current.RasterPos[1]); + params[2] = IROUND64(ctx->Current.RasterPos[2]); + params[3] = IROUND64(ctx->Current.RasterPos[3]); + break; + case GL_CURRENT_RASTER_SECONDARY_COLOR: + params[0] = FLOAT_TO_INT64(ctx->Current.RasterSecondaryColor[0]); + params[1] = FLOAT_TO_INT64(ctx->Current.RasterSecondaryColor[1]); + params[2] = FLOAT_TO_INT64(ctx->Current.RasterSecondaryColor[2]); + params[3] = FLOAT_TO_INT64(ctx->Current.RasterSecondaryColor[3]); + break; + case GL_CURRENT_RASTER_TEXTURE_COORDS: + { + const GLuint texUnit = ctx->Texture.CurrentUnit; + params[0] = IROUND64(ctx->Current.RasterTexCoords[texUnit][0]); + params[1] = IROUND64(ctx->Current.RasterTexCoords[texUnit][1]); + params[2] = IROUND64(ctx->Current.RasterTexCoords[texUnit][2]); + params[3] = IROUND64(ctx->Current.RasterTexCoords[texUnit][3]); + } + break; + case GL_CURRENT_RASTER_POSITION_VALID: + params[0] = BOOLEAN_TO_INT64(ctx->Current.RasterPosValid); + break; + case GL_CURRENT_TEXTURE_COORDS: + { + const GLuint texUnit = ctx->Texture.CurrentUnit; + FLUSH_CURRENT(ctx, 0); + params[0] = IROUND64(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][0]); + params[1] = IROUND64(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][1]); + params[2] = IROUND64(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][2]); + params[3] = IROUND64(ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][3]); + } + break; + case GL_DEPTH_BIAS: + params[0] = IROUND64(ctx->Pixel.DepthBias); + break; + case GL_DEPTH_BITS: + params[0] = ctx->DrawBuffer->Visual.depthBits; + break; + case GL_DEPTH_CLEAR_VALUE: + params[0] = FLOAT_TO_INT64(((GLfloat) ctx->Depth.Clear)); + break; + case GL_DEPTH_FUNC: + params[0] = ENUM_TO_INT64(ctx->Depth.Func); + break; + case GL_DEPTH_RANGE: + params[0] = FLOAT_TO_INT64(ctx->Viewport.Near); + params[1] = FLOAT_TO_INT64(ctx->Viewport.Far); + break; + case GL_DEPTH_SCALE: + params[0] = IROUND64(ctx->Pixel.DepthScale); + break; + case GL_DEPTH_TEST: + params[0] = BOOLEAN_TO_INT64(ctx->Depth.Test); + break; + case GL_DEPTH_WRITEMASK: + params[0] = BOOLEAN_TO_INT64(ctx->Depth.Mask); + break; + case GL_DITHER: + params[0] = BOOLEAN_TO_INT64(ctx->Color.DitherFlag); + break; + case GL_DOUBLEBUFFER: + params[0] = BOOLEAN_TO_INT64(ctx->DrawBuffer->Visual.doubleBufferMode); + break; + case GL_DRAW_BUFFER: + params[0] = ENUM_TO_INT64(ctx->DrawBuffer->ColorDrawBuffer[0]); + break; + case GL_EDGE_FLAG: + { + FLUSH_CURRENT(ctx, 0); + params[0] = BOOLEAN_TO_INT64((ctx->Current.Attrib[VERT_ATTRIB_EDGEFLAG][0] == 1.0)); + } + break; + case GL_FEEDBACK_BUFFER_SIZE: + params[0] = ctx->Feedback.BufferSize; + break; + case GL_FEEDBACK_BUFFER_TYPE: + params[0] = ENUM_TO_INT64(ctx->Feedback.Type); + break; + case GL_FOG: + params[0] = BOOLEAN_TO_INT64(ctx->Fog.Enabled); + break; + case GL_FOG_COLOR: + params[0] = FLOAT_TO_INT64(ctx->Fog.Color[0]); + params[1] = FLOAT_TO_INT64(ctx->Fog.Color[1]); + params[2] = FLOAT_TO_INT64(ctx->Fog.Color[2]); + params[3] = FLOAT_TO_INT64(ctx->Fog.Color[3]); + break; + case GL_FOG_DENSITY: + params[0] = IROUND64(ctx->Fog.Density); + break; + case GL_FOG_END: + params[0] = IROUND64(ctx->Fog.End); + break; + case GL_FOG_HINT: + params[0] = ENUM_TO_INT64(ctx->Hint.Fog); + break; + case GL_FOG_INDEX: + params[0] = IROUND64(ctx->Fog.Index); + break; + case GL_FOG_MODE: + params[0] = ENUM_TO_INT64(ctx->Fog.Mode); + break; + case GL_FOG_START: + params[0] = IROUND64(ctx->Fog.Start); + break; + case GL_FRONT_FACE: + params[0] = ENUM_TO_INT64(ctx->Polygon.FrontFace); + break; + case GL_GREEN_BIAS: + params[0] = IROUND64(ctx->Pixel.GreenBias); + break; + case GL_GREEN_BITS: + params[0] = ctx->DrawBuffer->Visual.greenBits; + break; + case GL_GREEN_SCALE: + params[0] = IROUND64(ctx->Pixel.GreenScale); + break; + case GL_INDEX_BITS: + params[0] = ctx->DrawBuffer->Visual.indexBits; + break; + case GL_INDEX_CLEAR_VALUE: + params[0] = ctx->Color.ClearIndex; + break; + case GL_INDEX_MODE: + params[0] = BOOLEAN_TO_INT64(!ctx->DrawBuffer->Visual.rgbMode); + break; + case GL_INDEX_OFFSET: + params[0] = ctx->Pixel.IndexOffset; + break; + case GL_INDEX_SHIFT: + params[0] = ctx->Pixel.IndexShift; + break; + case GL_INDEX_WRITEMASK: + params[0] = ctx->Color.IndexMask; + break; + case GL_LIGHT0: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Light[0].Enabled); + break; + case GL_LIGHT1: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Light[1].Enabled); + break; + case GL_LIGHT2: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Light[2].Enabled); + break; + case GL_LIGHT3: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Light[3].Enabled); + break; + case GL_LIGHT4: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Light[4].Enabled); + break; + case GL_LIGHT5: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Light[5].Enabled); + break; + case GL_LIGHT6: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Light[6].Enabled); + break; + case GL_LIGHT7: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Light[7].Enabled); + break; + case GL_LIGHTING: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Enabled); + break; + case GL_LIGHT_MODEL_AMBIENT: + params[0] = FLOAT_TO_INT64(ctx->Light.Model.Ambient[0]); + params[1] = FLOAT_TO_INT64(ctx->Light.Model.Ambient[1]); + params[2] = FLOAT_TO_INT64(ctx->Light.Model.Ambient[2]); + params[3] = FLOAT_TO_INT64(ctx->Light.Model.Ambient[3]); + break; + case GL_LIGHT_MODEL_COLOR_CONTROL: + params[0] = ENUM_TO_INT64(ctx->Light.Model.ColorControl); + break; + case GL_LIGHT_MODEL_LOCAL_VIEWER: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Model.LocalViewer); + break; + case GL_LIGHT_MODEL_TWO_SIDE: + params[0] = BOOLEAN_TO_INT64(ctx->Light.Model.TwoSide); + break; + case GL_LINE_SMOOTH: + params[0] = BOOLEAN_TO_INT64(ctx->Line.SmoothFlag); + break; + case GL_LINE_SMOOTH_HINT: + params[0] = ENUM_TO_INT64(ctx->Hint.LineSmooth); + break; + case GL_LINE_STIPPLE: + params[0] = BOOLEAN_TO_INT64(ctx->Line.StippleFlag); + break; + case GL_LINE_STIPPLE_PATTERN: + params[0] = ctx->Line.StipplePattern; + break; + case GL_LINE_STIPPLE_REPEAT: + params[0] = ctx->Line.StippleFactor; + break; + case GL_LINE_WIDTH: + params[0] = IROUND64(ctx->Line.Width); + break; + case GL_LINE_WIDTH_GRANULARITY: + params[0] = IROUND64(ctx->Const.LineWidthGranularity); + break; + case GL_LINE_WIDTH_RANGE: + params[0] = IROUND64(ctx->Const.MinLineWidthAA); + params[1] = IROUND64(ctx->Const.MaxLineWidthAA); + break; + case GL_ALIASED_LINE_WIDTH_RANGE: + params[0] = IROUND64(ctx->Const.MinLineWidth); + params[1] = IROUND64(ctx->Const.MaxLineWidth); + break; + case GL_LIST_BASE: + params[0] = ctx->List.ListBase; + break; + case GL_LIST_INDEX: + params[0] = (ctx->ListState.CurrentList ? ctx->ListState.CurrentList->Name : 0); + break; + case GL_LIST_MODE: + { + GLenum mode; + if (!ctx->CompileFlag) + mode = 0; + else if (ctx->ExecuteFlag) + mode = GL_COMPILE_AND_EXECUTE; + else + mode = GL_COMPILE; + params[0] = ENUM_TO_INT64(mode); + } + break; + case GL_INDEX_LOGIC_OP: + params[0] = BOOLEAN_TO_INT64(ctx->Color.IndexLogicOpEnabled); + break; + case GL_COLOR_LOGIC_OP: + params[0] = BOOLEAN_TO_INT64(ctx->Color.ColorLogicOpEnabled); + break; + case GL_LOGIC_OP_MODE: + params[0] = ENUM_TO_INT64(ctx->Color.LogicOp); + break; + case GL_MAP1_COLOR_4: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Color4); + break; + case GL_MAP1_GRID_DOMAIN: + params[0] = IROUND64(ctx->Eval.MapGrid1u1); + params[1] = IROUND64(ctx->Eval.MapGrid1u2); + break; + case GL_MAP1_GRID_SEGMENTS: + params[0] = ctx->Eval.MapGrid1un; + break; + case GL_MAP1_INDEX: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Index); + break; + case GL_MAP1_NORMAL: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Normal); + break; + case GL_MAP1_TEXTURE_COORD_1: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1TextureCoord1); + break; + case GL_MAP1_TEXTURE_COORD_2: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1TextureCoord2); + break; + case GL_MAP1_TEXTURE_COORD_3: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1TextureCoord3); + break; + case GL_MAP1_TEXTURE_COORD_4: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1TextureCoord4); + break; + case GL_MAP1_VERTEX_3: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Vertex3); + break; + case GL_MAP1_VERTEX_4: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Vertex4); + break; + case GL_MAP2_COLOR_4: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2Color4); + break; + case GL_MAP2_GRID_DOMAIN: + params[0] = IROUND64(ctx->Eval.MapGrid2u1); + params[1] = IROUND64(ctx->Eval.MapGrid2u2); + params[2] = IROUND64(ctx->Eval.MapGrid2v1); + params[3] = IROUND64(ctx->Eval.MapGrid2v2); + break; + case GL_MAP2_GRID_SEGMENTS: + params[0] = ctx->Eval.MapGrid2un; + params[1] = ctx->Eval.MapGrid2vn; + break; + case GL_MAP2_INDEX: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2Index); + break; + case GL_MAP2_NORMAL: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2Normal); + break; + case GL_MAP2_TEXTURE_COORD_1: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2TextureCoord1); + break; + case GL_MAP2_TEXTURE_COORD_2: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2TextureCoord2); + break; + case GL_MAP2_TEXTURE_COORD_3: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2TextureCoord3); + break; + case GL_MAP2_TEXTURE_COORD_4: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2TextureCoord4); + break; + case GL_MAP2_VERTEX_3: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2Vertex3); + break; + case GL_MAP2_VERTEX_4: + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map2Vertex4); + break; + case GL_MAP_COLOR: + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.MapColorFlag); + break; + case GL_MAP_STENCIL: + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.MapStencilFlag); + break; + case GL_MATRIX_MODE: + params[0] = ENUM_TO_INT64(ctx->Transform.MatrixMode); + break; + case GL_MAX_ATTRIB_STACK_DEPTH: + params[0] = MAX_ATTRIB_STACK_DEPTH; + break; + case GL_MAX_CLIENT_ATTRIB_STACK_DEPTH: + params[0] = MAX_CLIENT_ATTRIB_STACK_DEPTH; + break; + case GL_MAX_CLIP_PLANES: + params[0] = ctx->Const.MaxClipPlanes; + break; + case GL_MAX_ELEMENTS_VERTICES: + params[0] = ctx->Const.MaxArrayLockSize; + break; + case GL_MAX_ELEMENTS_INDICES: + params[0] = ctx->Const.MaxArrayLockSize; + break; + case GL_MAX_EVAL_ORDER: + params[0] = MAX_EVAL_ORDER; + break; + case GL_MAX_LIGHTS: + params[0] = ctx->Const.MaxLights; + break; + case GL_MAX_LIST_NESTING: + params[0] = MAX_LIST_NESTING; + break; + case GL_MAX_MODELVIEW_STACK_DEPTH: + params[0] = MAX_MODELVIEW_STACK_DEPTH; + break; + case GL_MAX_NAME_STACK_DEPTH: + params[0] = MAX_NAME_STACK_DEPTH; + break; + case GL_MAX_PIXEL_MAP_TABLE: + params[0] = MAX_PIXEL_MAP_TABLE; + break; + case GL_MAX_PROJECTION_STACK_DEPTH: + params[0] = MAX_PROJECTION_STACK_DEPTH; + break; + case GL_MAX_TEXTURE_SIZE: + params[0] = 1 << (ctx->Const.MaxTextureLevels - 1); + break; + case GL_MAX_3D_TEXTURE_SIZE: + params[0] = 1 << (ctx->Const.Max3DTextureLevels - 1); + break; + case GL_MAX_TEXTURE_STACK_DEPTH: + params[0] = MAX_TEXTURE_STACK_DEPTH; + break; + case GL_MAX_VIEWPORT_DIMS: + params[0] = ctx->Const.MaxViewportWidth; + params[1] = ctx->Const.MaxViewportHeight; + break; + case GL_MODELVIEW_MATRIX: + { + const GLfloat *matrix = ctx->ModelviewMatrixStack.Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[1]); + params[2] = IROUND64(matrix[2]); + params[3] = IROUND64(matrix[3]); + params[4] = IROUND64(matrix[4]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[6]); + params[7] = IROUND64(matrix[7]); + params[8] = IROUND64(matrix[8]); + params[9] = IROUND64(matrix[9]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[11]); + params[12] = IROUND64(matrix[12]); + params[13] = IROUND64(matrix[13]); + params[14] = IROUND64(matrix[14]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_MODELVIEW_STACK_DEPTH: + params[0] = ctx->ModelviewMatrixStack.Depth + 1; + break; + case GL_NAME_STACK_DEPTH: + params[0] = ctx->Select.NameStackDepth; + break; + case GL_NORMALIZE: + params[0] = BOOLEAN_TO_INT64(ctx->Transform.Normalize); + break; + case GL_PACK_ALIGNMENT: + params[0] = ctx->Pack.Alignment; + break; + case GL_PACK_LSB_FIRST: + params[0] = BOOLEAN_TO_INT64(ctx->Pack.LsbFirst); + break; + case GL_PACK_ROW_LENGTH: + params[0] = ctx->Pack.RowLength; + break; + case GL_PACK_SKIP_PIXELS: + params[0] = ctx->Pack.SkipPixels; + break; + case GL_PACK_SKIP_ROWS: + params[0] = ctx->Pack.SkipRows; + break; + case GL_PACK_SWAP_BYTES: + params[0] = BOOLEAN_TO_INT64(ctx->Pack.SwapBytes); + break; + case GL_PACK_SKIP_IMAGES_EXT: + params[0] = ctx->Pack.SkipImages; + break; + case GL_PACK_IMAGE_HEIGHT_EXT: + params[0] = ctx->Pack.ImageHeight; + break; + case GL_PACK_INVERT_MESA: + params[0] = BOOLEAN_TO_INT64(ctx->Pack.Invert); + break; + case GL_PERSPECTIVE_CORRECTION_HINT: + params[0] = ENUM_TO_INT64(ctx->Hint.PerspectiveCorrection); + break; + case GL_PIXEL_MAP_A_TO_A_SIZE: + params[0] = ctx->PixelMaps.AtoA.Size; + break; + case GL_PIXEL_MAP_B_TO_B_SIZE: + params[0] = ctx->PixelMaps.BtoB.Size; + break; + case GL_PIXEL_MAP_G_TO_G_SIZE: + params[0] = ctx->PixelMaps.GtoG.Size; + break; + case GL_PIXEL_MAP_I_TO_A_SIZE: + params[0] = ctx->PixelMaps.ItoA.Size; + break; + case GL_PIXEL_MAP_I_TO_B_SIZE: + params[0] = ctx->PixelMaps.ItoB.Size; + break; + case GL_PIXEL_MAP_I_TO_G_SIZE: + params[0] = ctx->PixelMaps.ItoG.Size; + break; + case GL_PIXEL_MAP_I_TO_I_SIZE: + params[0] = ctx->PixelMaps.ItoI.Size; + break; + case GL_PIXEL_MAP_I_TO_R_SIZE: + params[0] = ctx->PixelMaps.ItoR.Size; + break; + case GL_PIXEL_MAP_R_TO_R_SIZE: + params[0] = ctx->PixelMaps.RtoR.Size; + break; + case GL_PIXEL_MAP_S_TO_S_SIZE: + params[0] = ctx->PixelMaps.StoS.Size; + break; + case GL_POINT_SIZE: + params[0] = IROUND64(ctx->Point.Size); + break; + case GL_POINT_SIZE_GRANULARITY: + params[0] = IROUND64(ctx->Const.PointSizeGranularity); + break; + case GL_POINT_SIZE_RANGE: + params[0] = IROUND64(ctx->Const.MinPointSizeAA); + params[1] = IROUND64(ctx->Const.MaxPointSizeAA); + break; + case GL_ALIASED_POINT_SIZE_RANGE: + params[0] = IROUND64(ctx->Const.MinPointSize); + params[1] = IROUND64(ctx->Const.MaxPointSize); + break; + case GL_POINT_SMOOTH: + params[0] = BOOLEAN_TO_INT64(ctx->Point.SmoothFlag); + break; + case GL_POINT_SMOOTH_HINT: + params[0] = ENUM_TO_INT64(ctx->Hint.PointSmooth); + break; + case GL_POINT_SIZE_MIN_EXT: + params[0] = IROUND64(ctx->Point.MinSize); + break; + case GL_POINT_SIZE_MAX_EXT: + params[0] = IROUND64(ctx->Point.MaxSize); + break; + case GL_POINT_FADE_THRESHOLD_SIZE_EXT: + params[0] = IROUND64(ctx->Point.Threshold); + break; + case GL_DISTANCE_ATTENUATION_EXT: + params[0] = IROUND64(ctx->Point.Params[0]); + params[1] = IROUND64(ctx->Point.Params[1]); + params[2] = IROUND64(ctx->Point.Params[2]); + break; + case GL_POLYGON_MODE: + params[0] = ENUM_TO_INT64(ctx->Polygon.FrontMode); + params[1] = ENUM_TO_INT64(ctx->Polygon.BackMode); + break; + case GL_POLYGON_OFFSET_BIAS_EXT: + params[0] = IROUND64(ctx->Polygon.OffsetUnits); + break; + case GL_POLYGON_OFFSET_FACTOR: + params[0] = IROUND64(ctx->Polygon.OffsetFactor ); + break; + case GL_POLYGON_OFFSET_UNITS: + params[0] = IROUND64(ctx->Polygon.OffsetUnits ); + break; + case GL_POLYGON_OFFSET_POINT: + params[0] = BOOLEAN_TO_INT64(ctx->Polygon.OffsetPoint); + break; + case GL_POLYGON_OFFSET_LINE: + params[0] = BOOLEAN_TO_INT64(ctx->Polygon.OffsetLine); + break; + case GL_POLYGON_OFFSET_FILL: + params[0] = BOOLEAN_TO_INT64(ctx->Polygon.OffsetFill); + break; + case GL_POLYGON_SMOOTH: + params[0] = BOOLEAN_TO_INT64(ctx->Polygon.SmoothFlag); + break; + case GL_POLYGON_SMOOTH_HINT: + params[0] = ENUM_TO_INT64(ctx->Hint.PolygonSmooth); + break; + case GL_POLYGON_STIPPLE: + params[0] = BOOLEAN_TO_INT64(ctx->Polygon.StippleFlag); + break; + case GL_PROJECTION_MATRIX: + { + const GLfloat *matrix = ctx->ProjectionMatrixStack.Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[1]); + params[2] = IROUND64(matrix[2]); + params[3] = IROUND64(matrix[3]); + params[4] = IROUND64(matrix[4]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[6]); + params[7] = IROUND64(matrix[7]); + params[8] = IROUND64(matrix[8]); + params[9] = IROUND64(matrix[9]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[11]); + params[12] = IROUND64(matrix[12]); + params[13] = IROUND64(matrix[13]); + params[14] = IROUND64(matrix[14]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_PROJECTION_STACK_DEPTH: + params[0] = ctx->ProjectionMatrixStack.Depth + 1; + break; + case GL_READ_BUFFER: + params[0] = ENUM_TO_INT64(ctx->ReadBuffer->ColorReadBuffer); + break; + case GL_RED_BIAS: + params[0] = IROUND64(ctx->Pixel.RedBias); + break; + case GL_RED_BITS: + params[0] = ctx->DrawBuffer->Visual.redBits; + break; + case GL_RED_SCALE: + params[0] = IROUND64(ctx->Pixel.RedScale); + break; + case GL_RENDER_MODE: + params[0] = ENUM_TO_INT64(ctx->RenderMode); + break; + case GL_RESCALE_NORMAL: + params[0] = BOOLEAN_TO_INT64(ctx->Transform.RescaleNormals); + break; + case GL_RGBA_MODE: + params[0] = BOOLEAN_TO_INT64(ctx->DrawBuffer->Visual.rgbMode); + break; + case GL_SCISSOR_BOX: + params[0] = ctx->Scissor.X; + params[1] = ctx->Scissor.Y; + params[2] = ctx->Scissor.Width; + params[3] = ctx->Scissor.Height; + break; + case GL_SCISSOR_TEST: + params[0] = BOOLEAN_TO_INT64(ctx->Scissor.Enabled); + break; + case GL_SELECTION_BUFFER_SIZE: + params[0] = ctx->Select.BufferSize; + break; + case GL_SHADE_MODEL: + params[0] = ENUM_TO_INT64(ctx->Light.ShadeModel); + break; + case GL_SHARED_TEXTURE_PALETTE_EXT: + params[0] = BOOLEAN_TO_INT64(ctx->Texture.SharedPalette); + break; + case GL_STENCIL_BITS: + params[0] = ctx->DrawBuffer->Visual.stencilBits; + break; + case GL_STENCIL_CLEAR_VALUE: + params[0] = ctx->Stencil.Clear; + break; + case GL_STENCIL_FAIL: + params[0] = ENUM_TO_INT64(ctx->Stencil.FailFunc[ctx->Stencil.ActiveFace]); + break; + case GL_STENCIL_FUNC: + params[0] = ENUM_TO_INT64(ctx->Stencil.Function[ctx->Stencil.ActiveFace]); + break; + case GL_STENCIL_PASS_DEPTH_FAIL: + params[0] = ENUM_TO_INT64(ctx->Stencil.ZFailFunc[ctx->Stencil.ActiveFace]); + break; + case GL_STENCIL_PASS_DEPTH_PASS: + params[0] = ENUM_TO_INT64(ctx->Stencil.ZPassFunc[ctx->Stencil.ActiveFace]); + break; + case GL_STENCIL_REF: + params[0] = ctx->Stencil.Ref[ctx->Stencil.ActiveFace]; + break; + case GL_STENCIL_TEST: + params[0] = BOOLEAN_TO_INT64(ctx->Stencil.Enabled); + break; + case GL_STENCIL_VALUE_MASK: + params[0] = ctx->Stencil.ValueMask[ctx->Stencil.ActiveFace]; + break; + case GL_STENCIL_WRITEMASK: + params[0] = ctx->Stencil.WriteMask[ctx->Stencil.ActiveFace]; + break; + case GL_STEREO: + params[0] = BOOLEAN_TO_INT64(ctx->DrawBuffer->Visual.stereoMode); + break; + case GL_SUBPIXEL_BITS: + params[0] = ctx->Const.SubPixelBits; + break; + case GL_TEXTURE_1D: + params[0] = BOOLEAN_TO_INT64(_mesa_IsEnabled(GL_TEXTURE_1D)); + break; + case GL_TEXTURE_2D: + params[0] = BOOLEAN_TO_INT64(_mesa_IsEnabled(GL_TEXTURE_2D)); + break; + case GL_TEXTURE_3D: + params[0] = BOOLEAN_TO_INT64(_mesa_IsEnabled(GL_TEXTURE_3D)); + break; + case GL_TEXTURE_1D_ARRAY_EXT: + CHECK_EXT1(MESA_texture_array, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(_mesa_IsEnabled(GL_TEXTURE_1D_ARRAY_EXT)); + break; + case GL_TEXTURE_2D_ARRAY_EXT: + CHECK_EXT1(MESA_texture_array, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(_mesa_IsEnabled(GL_TEXTURE_2D_ARRAY_EXT)); + break; + case GL_TEXTURE_BINDING_1D: + params[0] = ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_1D_INDEX]->Name; + break; + case GL_TEXTURE_BINDING_2D: + params[0] = ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_2D_INDEX]->Name; + break; + case GL_TEXTURE_BINDING_3D: + params[0] = ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_3D_INDEX]->Name; + break; + case GL_TEXTURE_BINDING_1D_ARRAY_EXT: + CHECK_EXT1(MESA_texture_array, "GetInteger64v"); + params[0] = ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_1D_ARRAY_INDEX]->Name; + break; + case GL_TEXTURE_BINDING_2D_ARRAY_EXT: + CHECK_EXT1(MESA_texture_array, "GetInteger64v"); + params[0] = ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_2D_ARRAY_INDEX]->Name; + break; + case GL_TEXTURE_GEN_S: + params[0] = BOOLEAN_TO_INT64(((ctx->Texture.Unit[ctx->Texture.CurrentUnit].TexGenEnabled & S_BIT) ? 1 : 0)); + break; + case GL_TEXTURE_GEN_T: + params[0] = BOOLEAN_TO_INT64(((ctx->Texture.Unit[ctx->Texture.CurrentUnit].TexGenEnabled & T_BIT) ? 1 : 0)); + break; + case GL_TEXTURE_GEN_R: + params[0] = BOOLEAN_TO_INT64(((ctx->Texture.Unit[ctx->Texture.CurrentUnit].TexGenEnabled & R_BIT) ? 1 : 0)); + break; + case GL_TEXTURE_GEN_Q: + params[0] = BOOLEAN_TO_INT64(((ctx->Texture.Unit[ctx->Texture.CurrentUnit].TexGenEnabled & Q_BIT) ? 1 : 0)); + break; + case GL_TEXTURE_MATRIX: + { + const GLfloat *matrix = ctx->TextureMatrixStack[ctx->Texture.CurrentUnit].Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[1]); + params[2] = IROUND64(matrix[2]); + params[3] = IROUND64(matrix[3]); + params[4] = IROUND64(matrix[4]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[6]); + params[7] = IROUND64(matrix[7]); + params[8] = IROUND64(matrix[8]); + params[9] = IROUND64(matrix[9]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[11]); + params[12] = IROUND64(matrix[12]); + params[13] = IROUND64(matrix[13]); + params[14] = IROUND64(matrix[14]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_TEXTURE_STACK_DEPTH: + params[0] = ctx->TextureMatrixStack[ctx->Texture.CurrentUnit].Depth + 1; + break; + case GL_UNPACK_ALIGNMENT: + params[0] = ctx->Unpack.Alignment; + break; + case GL_UNPACK_LSB_FIRST: + params[0] = BOOLEAN_TO_INT64(ctx->Unpack.LsbFirst); + break; + case GL_UNPACK_ROW_LENGTH: + params[0] = ctx->Unpack.RowLength; + break; + case GL_UNPACK_SKIP_PIXELS: + params[0] = ctx->Unpack.SkipPixels; + break; + case GL_UNPACK_SKIP_ROWS: + params[0] = ctx->Unpack.SkipRows; + break; + case GL_UNPACK_SWAP_BYTES: + params[0] = BOOLEAN_TO_INT64(ctx->Unpack.SwapBytes); + break; + case GL_UNPACK_SKIP_IMAGES_EXT: + params[0] = ctx->Unpack.SkipImages; + break; + case GL_UNPACK_IMAGE_HEIGHT_EXT: + params[0] = ctx->Unpack.ImageHeight; + break; + case GL_UNPACK_CLIENT_STORAGE_APPLE: + params[0] = BOOLEAN_TO_INT64(ctx->Unpack.ClientStorage); + break; + case GL_VIEWPORT: + params[0] = ctx->Viewport.X; + params[1] = ctx->Viewport.Y; + params[2] = ctx->Viewport.Width; + params[3] = ctx->Viewport.Height; + break; + case GL_ZOOM_X: + params[0] = IROUND64(ctx->Pixel.ZoomX); + break; + case GL_ZOOM_Y: + params[0] = IROUND64(ctx->Pixel.ZoomY); + break; + case GL_VERTEX_ARRAY: + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->Vertex.Enabled); + break; + case GL_VERTEX_ARRAY_SIZE: + params[0] = ctx->Array.ArrayObj->Vertex.Size; + break; + case GL_VERTEX_ARRAY_TYPE: + params[0] = ENUM_TO_INT64(ctx->Array.ArrayObj->Vertex.Type); + break; + case GL_VERTEX_ARRAY_STRIDE: + params[0] = ctx->Array.ArrayObj->Vertex.Stride; + break; + case GL_VERTEX_ARRAY_COUNT_EXT: + params[0] = 0; + break; + case GL_NORMAL_ARRAY: + params[0] = ENUM_TO_INT64(ctx->Array.ArrayObj->Normal.Enabled); + break; + case GL_NORMAL_ARRAY_TYPE: + params[0] = ENUM_TO_INT64(ctx->Array.ArrayObj->Normal.Type); + break; + case GL_NORMAL_ARRAY_STRIDE: + params[0] = ctx->Array.ArrayObj->Normal.Stride; + break; + case GL_NORMAL_ARRAY_COUNT_EXT: + params[0] = 0; + break; + case GL_COLOR_ARRAY: + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->Color.Enabled); + break; + case GL_COLOR_ARRAY_SIZE: + params[0] = ctx->Array.ArrayObj->Color.Size; + break; + case GL_COLOR_ARRAY_TYPE: + params[0] = ENUM_TO_INT64(ctx->Array.ArrayObj->Color.Type); + break; + case GL_COLOR_ARRAY_STRIDE: + params[0] = ctx->Array.ArrayObj->Color.Stride; + break; + case GL_COLOR_ARRAY_COUNT_EXT: + params[0] = 0; + break; + case GL_INDEX_ARRAY: + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->Index.Enabled); + break; + case GL_INDEX_ARRAY_TYPE: + params[0] = ENUM_TO_INT64(ctx->Array.ArrayObj->Index.Type); + break; + case GL_INDEX_ARRAY_STRIDE: + params[0] = ctx->Array.ArrayObj->Index.Stride; + break; + case GL_INDEX_ARRAY_COUNT_EXT: + params[0] = 0; + break; + case GL_TEXTURE_COORD_ARRAY: + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].Enabled); + break; + case GL_TEXTURE_COORD_ARRAY_SIZE: + params[0] = ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].Size; + break; + case GL_TEXTURE_COORD_ARRAY_TYPE: + params[0] = ENUM_TO_INT64(ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].Type); + break; + case GL_TEXTURE_COORD_ARRAY_STRIDE: + params[0] = ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].Stride; + break; + case GL_TEXTURE_COORD_ARRAY_COUNT_EXT: + params[0] = 0; + break; + case GL_EDGE_FLAG_ARRAY: + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->EdgeFlag.Enabled); + break; + case GL_EDGE_FLAG_ARRAY_STRIDE: + params[0] = ctx->Array.ArrayObj->EdgeFlag.Stride; + break; + case GL_EDGE_FLAG_ARRAY_COUNT_EXT: + params[0] = 0; + break; + case GL_MAX_TEXTURE_UNITS_ARB: + CHECK_EXT1(ARB_multitexture, "GetInteger64v"); + params[0] = ctx->Const.MaxTextureUnits; + break; + case GL_ACTIVE_TEXTURE_ARB: + CHECK_EXT1(ARB_multitexture, "GetInteger64v"); + params[0] = GL_TEXTURE0_ARB + ctx->Texture.CurrentUnit; + break; + case GL_CLIENT_ACTIVE_TEXTURE_ARB: + CHECK_EXT1(ARB_multitexture, "GetInteger64v"); + params[0] = GL_TEXTURE0_ARB + ctx->Array.ActiveTexture; + break; + case GL_TEXTURE_CUBE_MAP_ARB: + CHECK_EXT1(ARB_texture_cube_map, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(_mesa_IsEnabled(GL_TEXTURE_CUBE_MAP_ARB)); + break; + case GL_TEXTURE_BINDING_CUBE_MAP_ARB: + CHECK_EXT1(ARB_texture_cube_map, "GetInteger64v"); + params[0] = ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_CUBE_INDEX]->Name; + break; + case GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB: + CHECK_EXT1(ARB_texture_cube_map, "GetInteger64v"); + params[0] = (1 << (ctx->Const.MaxCubeTextureLevels - 1)); + break; + case GL_TEXTURE_COMPRESSION_HINT_ARB: + params[0] = ctx->Hint.TextureCompression; + break; + case GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB: + params[0] = _mesa_get_compressed_formats(ctx, NULL, GL_FALSE); + break; + case GL_COMPRESSED_TEXTURE_FORMATS_ARB: + { + GLint formats[100]; + GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE); + ASSERT(n <= 100); + for (i = 0; i < n; i++) + params[i] = ENUM_TO_INT64(formats[i]); + } + break; + case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT: + CHECK_EXT1(EXT_compiled_vertex_array, "GetInteger64v"); + params[0] = ctx->Array.LockFirst; + break; + case GL_ARRAY_ELEMENT_LOCK_COUNT_EXT: + CHECK_EXT1(EXT_compiled_vertex_array, "GetInteger64v"); + params[0] = ctx->Array.LockCount; + break; + case GL_TRANSPOSE_COLOR_MATRIX_ARB: + { + const GLfloat *matrix = ctx->ColorMatrixStack.Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[4]); + params[2] = IROUND64(matrix[8]); + params[3] = IROUND64(matrix[12]); + params[4] = IROUND64(matrix[1]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[9]); + params[7] = IROUND64(matrix[13]); + params[8] = IROUND64(matrix[2]); + params[9] = IROUND64(matrix[6]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[14]); + params[12] = IROUND64(matrix[3]); + params[13] = IROUND64(matrix[7]); + params[14] = IROUND64(matrix[11]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_TRANSPOSE_MODELVIEW_MATRIX_ARB: + { + const GLfloat *matrix = ctx->ModelviewMatrixStack.Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[4]); + params[2] = IROUND64(matrix[8]); + params[3] = IROUND64(matrix[12]); + params[4] = IROUND64(matrix[1]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[9]); + params[7] = IROUND64(matrix[13]); + params[8] = IROUND64(matrix[2]); + params[9] = IROUND64(matrix[6]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[14]); + params[12] = IROUND64(matrix[3]); + params[13] = IROUND64(matrix[7]); + params[14] = IROUND64(matrix[11]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_TRANSPOSE_PROJECTION_MATRIX_ARB: + { + const GLfloat *matrix = ctx->ProjectionMatrixStack.Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[4]); + params[2] = IROUND64(matrix[8]); + params[3] = IROUND64(matrix[12]); + params[4] = IROUND64(matrix[1]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[9]); + params[7] = IROUND64(matrix[13]); + params[8] = IROUND64(matrix[2]); + params[9] = IROUND64(matrix[6]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[14]); + params[12] = IROUND64(matrix[3]); + params[13] = IROUND64(matrix[7]); + params[14] = IROUND64(matrix[11]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_TRANSPOSE_TEXTURE_MATRIX_ARB: + { + const GLfloat *matrix = ctx->TextureMatrixStack[ctx->Texture.CurrentUnit].Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[4]); + params[2] = IROUND64(matrix[8]); + params[3] = IROUND64(matrix[12]); + params[4] = IROUND64(matrix[1]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[9]); + params[7] = IROUND64(matrix[13]); + params[8] = IROUND64(matrix[2]); + params[9] = IROUND64(matrix[6]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[14]); + params[12] = IROUND64(matrix[3]); + params[13] = IROUND64(matrix[7]); + params[14] = IROUND64(matrix[11]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_COLOR_MATRIX_SGI: + { + const GLfloat *matrix = ctx->ColorMatrixStack.Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[1]); + params[2] = IROUND64(matrix[2]); + params[3] = IROUND64(matrix[3]); + params[4] = IROUND64(matrix[4]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[6]); + params[7] = IROUND64(matrix[7]); + params[8] = IROUND64(matrix[8]); + params[9] = IROUND64(matrix[9]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[11]); + params[12] = IROUND64(matrix[12]); + params[13] = IROUND64(matrix[13]); + params[14] = IROUND64(matrix[14]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_COLOR_MATRIX_STACK_DEPTH_SGI: + params[0] = ctx->ColorMatrixStack.Depth + 1; + break; + case GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI: + params[0] = MAX_COLOR_STACK_DEPTH; + break; + case GL_POST_COLOR_MATRIX_RED_SCALE_SGI: + params[0] = IROUND64(ctx->Pixel.PostColorMatrixScale[0]); + break; + case GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI: + params[0] = IROUND64(ctx->Pixel.PostColorMatrixScale[1]); + break; + case GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI: + params[0] = IROUND64(ctx->Pixel.PostColorMatrixScale[2]); + break; + case GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI: + params[0] = IROUND64(ctx->Pixel.PostColorMatrixScale[3]); + break; + case GL_POST_COLOR_MATRIX_RED_BIAS_SGI: + params[0] = IROUND64(ctx->Pixel.PostColorMatrixBias[0]); + break; + case GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI: + params[0] = IROUND64(ctx->Pixel.PostColorMatrixBias[1]); + break; + case GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI: + params[0] = IROUND64(ctx->Pixel.PostColorMatrixBias[2]); + break; + case GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI: + params[0] = IROUND64(ctx->Pixel.PostColorMatrixBias[3]); + break; + case GL_CONVOLUTION_1D_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.Convolution1DEnabled); + break; + case GL_CONVOLUTION_2D_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.Convolution2DEnabled); + break; + case GL_SEPARABLE_2D_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.Separable2DEnabled); + break; + case GL_POST_CONVOLUTION_RED_SCALE_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = IROUND64(ctx->Pixel.PostConvolutionScale[0]); + break; + case GL_POST_CONVOLUTION_GREEN_SCALE_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = IROUND64(ctx->Pixel.PostConvolutionScale[1]); + break; + case GL_POST_CONVOLUTION_BLUE_SCALE_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = IROUND64(ctx->Pixel.PostConvolutionScale[2]); + break; + case GL_POST_CONVOLUTION_ALPHA_SCALE_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = IROUND64(ctx->Pixel.PostConvolutionScale[3]); + break; + case GL_POST_CONVOLUTION_RED_BIAS_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = IROUND64(ctx->Pixel.PostConvolutionBias[0]); + break; + case GL_POST_CONVOLUTION_GREEN_BIAS_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = IROUND64(ctx->Pixel.PostConvolutionBias[1]); + break; + case GL_POST_CONVOLUTION_BLUE_BIAS_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = IROUND64(ctx->Pixel.PostConvolutionBias[2]); + break; + case GL_POST_CONVOLUTION_ALPHA_BIAS_EXT: + CHECK_EXT1(EXT_convolution, "GetInteger64v"); + params[0] = IROUND64(ctx->Pixel.PostConvolutionBias[3]); + break; + case GL_HISTOGRAM: + CHECK_EXT1(EXT_histogram, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.HistogramEnabled); + break; + case GL_MINMAX: + CHECK_EXT1(EXT_histogram, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.MinMaxEnabled); + break; + case GL_COLOR_TABLE_SGI: + CHECK_EXT1(SGI_color_table, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.ColorTableEnabled[COLORTABLE_PRECONVOLUTION]); + break; + case GL_POST_CONVOLUTION_COLOR_TABLE_SGI: + CHECK_EXT1(SGI_color_table, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCONVOLUTION]); + break; + case GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI: + CHECK_EXT1(SGI_color_table, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCOLORMATRIX]); + break; + case GL_TEXTURE_COLOR_TABLE_SGI: + CHECK_EXT1(SGI_texture_color_table, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Texture.Unit[ctx->Texture.CurrentUnit].ColorTableEnabled); + break; + case GL_COLOR_SUM_EXT: + CHECK_EXT2(EXT_secondary_color, ARB_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Fog.ColorSumEnabled); + break; + case GL_CURRENT_SECONDARY_COLOR_EXT: + CHECK_EXT1(EXT_secondary_color, "GetInteger64v"); + { + FLUSH_CURRENT(ctx, 0); + params[0] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_COLOR1][0]); + params[1] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_COLOR1][1]); + params[2] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_COLOR1][2]); + params[3] = FLOAT_TO_INT64(ctx->Current.Attrib[VERT_ATTRIB_COLOR1][3]); + } + break; + case GL_SECONDARY_COLOR_ARRAY_EXT: + CHECK_EXT1(EXT_secondary_color, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->SecondaryColor.Enabled); + break; + case GL_SECONDARY_COLOR_ARRAY_TYPE_EXT: + CHECK_EXT1(EXT_secondary_color, "GetInteger64v"); + params[0] = ENUM_TO_INT64(ctx->Array.ArrayObj->SecondaryColor.Type); + break; + case GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT: + CHECK_EXT1(EXT_secondary_color, "GetInteger64v"); + params[0] = ctx->Array.ArrayObj->SecondaryColor.Stride; + break; + case GL_SECONDARY_COLOR_ARRAY_SIZE_EXT: + CHECK_EXT1(EXT_secondary_color, "GetInteger64v"); + params[0] = ctx->Array.ArrayObj->SecondaryColor.Size; + break; + case GL_CURRENT_FOG_COORDINATE_EXT: + CHECK_EXT1(EXT_fog_coord, "GetInteger64v"); + { + FLUSH_CURRENT(ctx, 0); + params[0] = IROUND64(ctx->Current.Attrib[VERT_ATTRIB_FOG][0]); + } + break; + case GL_FOG_COORDINATE_ARRAY_EXT: + CHECK_EXT1(EXT_fog_coord, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->FogCoord.Enabled); + break; + case GL_FOG_COORDINATE_ARRAY_TYPE_EXT: + CHECK_EXT1(EXT_fog_coord, "GetInteger64v"); + params[0] = ENUM_TO_INT64(ctx->Array.ArrayObj->FogCoord.Type); + break; + case GL_FOG_COORDINATE_ARRAY_STRIDE_EXT: + CHECK_EXT1(EXT_fog_coord, "GetInteger64v"); + params[0] = ctx->Array.ArrayObj->FogCoord.Stride; + break; + case GL_FOG_COORDINATE_SOURCE_EXT: + CHECK_EXT1(EXT_fog_coord, "GetInteger64v"); + params[0] = ENUM_TO_INT64(ctx->Fog.FogCoordinateSource); + break; + case GL_MAX_TEXTURE_LOD_BIAS_EXT: + CHECK_EXT1(EXT_texture_lod_bias, "GetInteger64v"); + params[0] = IROUND64(ctx->Const.MaxTextureLodBias); + break; + case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: + CHECK_EXT1(EXT_texture_filter_anisotropic, "GetInteger64v"); + params[0] = IROUND64(ctx->Const.MaxTextureMaxAnisotropy); + break; + case GL_MULTISAMPLE_ARB: + params[0] = BOOLEAN_TO_INT64(ctx->Multisample.Enabled); + break; + case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: + params[0] = BOOLEAN_TO_INT64(ctx->Multisample.SampleAlphaToCoverage); + break; + case GL_SAMPLE_ALPHA_TO_ONE_ARB: + params[0] = BOOLEAN_TO_INT64(ctx->Multisample.SampleAlphaToOne); + break; + case GL_SAMPLE_COVERAGE_ARB: + params[0] = BOOLEAN_TO_INT64(ctx->Multisample.SampleCoverage); + break; + case GL_SAMPLE_COVERAGE_VALUE_ARB: + params[0] = IROUND64(ctx->Multisample.SampleCoverageValue); + break; + case GL_SAMPLE_COVERAGE_INVERT_ARB: + params[0] = BOOLEAN_TO_INT64(ctx->Multisample.SampleCoverageInvert); + break; + case GL_SAMPLE_BUFFERS_ARB: + params[0] = ctx->DrawBuffer->Visual.sampleBuffers; + break; + case GL_SAMPLES_ARB: + params[0] = ctx->DrawBuffer->Visual.samples; + break; + case GL_RASTER_POSITION_UNCLIPPED_IBM: + CHECK_EXT1(IBM_rasterpos_clip, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Transform.RasterPositionUnclipped); + break; + case GL_POINT_SPRITE_NV: + CHECK_EXT2(NV_point_sprite, ARB_point_sprite, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Point.PointSprite); + break; + case GL_POINT_SPRITE_R_MODE_NV: + CHECK_EXT1(NV_point_sprite, "GetInteger64v"); + params[0] = ENUM_TO_INT64(ctx->Point.SpriteRMode); + break; + case GL_POINT_SPRITE_COORD_ORIGIN: + CHECK_EXT2(NV_point_sprite, ARB_point_sprite, "GetInteger64v"); + params[0] = ENUM_TO_INT64(ctx->Point.SpriteOrigin); + break; + case GL_GENERATE_MIPMAP_HINT_SGIS: + CHECK_EXT1(SGIS_generate_mipmap, "GetInteger64v"); + params[0] = ENUM_TO_INT64(ctx->Hint.GenerateMipmap); + break; + case GL_VERTEX_PROGRAM_BINDING_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = (ctx->VertexProgram.Current ? ctx->VertexProgram.Current->Base.Id : 0); + break; + case GL_VERTEX_ATTRIB_ARRAY0_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[0].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY1_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[1].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY2_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[2].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY3_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[3].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[4].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY5_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[5].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY6_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[6].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY7_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[7].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY8_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[8].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY9_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[9].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY10_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[10].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY11_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[11].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY12_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[12].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY13_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[13].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY14_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[14].Enabled); + break; + case GL_VERTEX_ATTRIB_ARRAY15_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Array.ArrayObj->VertexAttrib[15].Enabled); + break; + case GL_MAP1_VERTEX_ATTRIB0_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[0]); + break; + case GL_MAP1_VERTEX_ATTRIB1_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[1]); + break; + case GL_MAP1_VERTEX_ATTRIB2_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[2]); + break; + case GL_MAP1_VERTEX_ATTRIB3_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[3]); + break; + case GL_MAP1_VERTEX_ATTRIB4_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[4]); + break; + case GL_MAP1_VERTEX_ATTRIB5_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[5]); + break; + case GL_MAP1_VERTEX_ATTRIB6_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[6]); + break; + case GL_MAP1_VERTEX_ATTRIB7_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[7]); + break; + case GL_MAP1_VERTEX_ATTRIB8_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[8]); + break; + case GL_MAP1_VERTEX_ATTRIB9_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[9]); + break; + case GL_MAP1_VERTEX_ATTRIB10_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[10]); + break; + case GL_MAP1_VERTEX_ATTRIB11_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[11]); + break; + case GL_MAP1_VERTEX_ATTRIB12_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[12]); + break; + case GL_MAP1_VERTEX_ATTRIB13_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[13]); + break; + case GL_MAP1_VERTEX_ATTRIB14_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[14]); + break; + case GL_MAP1_VERTEX_ATTRIB15_4_NV: + CHECK_EXT1(NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Eval.Map1Attrib[15]); + break; + case GL_FRAGMENT_PROGRAM_NV: + CHECK_EXT1(NV_fragment_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->FragmentProgram.Enabled); + break; + case GL_FRAGMENT_PROGRAM_BINDING_NV: + CHECK_EXT1(NV_fragment_program, "GetInteger64v"); + params[0] = ctx->FragmentProgram.Current ? ctx->FragmentProgram.Current->Base.Id : 0; + break; + case GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV: + CHECK_EXT1(NV_fragment_program, "GetInteger64v"); + params[0] = MAX_NV_FRAGMENT_PROGRAM_PARAMS; + break; + case GL_TEXTURE_RECTANGLE_NV: + CHECK_EXT1(NV_texture_rectangle, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(_mesa_IsEnabled(GL_TEXTURE_RECTANGLE_NV)); + break; + case GL_TEXTURE_BINDING_RECTANGLE_NV: + CHECK_EXT1(NV_texture_rectangle, "GetInteger64v"); + params[0] = ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_RECT_INDEX]->Name; + break; + case GL_MAX_RECTANGLE_TEXTURE_SIZE_NV: + CHECK_EXT1(NV_texture_rectangle, "GetInteger64v"); + params[0] = ctx->Const.MaxTextureRectSize; + break; + case GL_STENCIL_TEST_TWO_SIDE_EXT: + CHECK_EXT1(EXT_stencil_two_side, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Stencil.TestTwoSide); + break; + case GL_ACTIVE_STENCIL_FACE_EXT: + CHECK_EXT1(EXT_stencil_two_side, "GetInteger64v"); + params[0] = ENUM_TO_INT64(ctx->Stencil.ActiveFace ? GL_BACK : GL_FRONT); + break; + case GL_MAX_SHININESS_NV: + CHECK_EXT1(NV_light_max_exponent, "GetInteger64v"); + params[0] = IROUND64(ctx->Const.MaxShininess); + break; + case GL_MAX_SPOT_EXPONENT_NV: + CHECK_EXT1(NV_light_max_exponent, "GetInteger64v"); + params[0] = IROUND64(ctx->Const.MaxSpotExponent); + break; + case GL_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayBufferObj->Name; + break; + case GL_VERTEX_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayObj->Vertex.BufferObj->Name; + break; + case GL_NORMAL_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayObj->Normal.BufferObj->Name; + break; + case GL_COLOR_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayObj->Color.BufferObj->Name; + break; + case GL_INDEX_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayObj->Index.BufferObj->Name; + break; + case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].BufferObj->Name; + break; + case GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayObj->EdgeFlag.BufferObj->Name; + break; + case GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayObj->SecondaryColor.BufferObj->Name; + break; + case GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ArrayObj->FogCoord.BufferObj->Name; + break; + case GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB: + params[0] = ctx->Array.ElementArrayBufferObj->Name; + break; + case GL_PIXEL_PACK_BUFFER_BINDING_EXT: + CHECK_EXT1(EXT_pixel_buffer_object, "GetInteger64v"); + params[0] = ctx->Pack.BufferObj->Name; + break; + case GL_PIXEL_UNPACK_BUFFER_BINDING_EXT: + CHECK_EXT1(EXT_pixel_buffer_object, "GetInteger64v"); + params[0] = ctx->Unpack.BufferObj->Name; + break; + case GL_VERTEX_PROGRAM_ARB: + CHECK_EXT2(ARB_vertex_program, NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->VertexProgram.Enabled); + break; + case GL_VERTEX_PROGRAM_POINT_SIZE_ARB: + CHECK_EXT2(ARB_vertex_program, NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->VertexProgram.PointSizeEnabled); + break; + case GL_VERTEX_PROGRAM_TWO_SIDE_ARB: + CHECK_EXT2(ARB_vertex_program, NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->VertexProgram.TwoSideEnabled); + break; + case GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB: + CHECK_EXT3(ARB_vertex_program, ARB_fragment_program, NV_vertex_program, "GetInteger64v"); + params[0] = ctx->Const.MaxProgramMatrixStackDepth; + break; + case GL_MAX_PROGRAM_MATRICES_ARB: + CHECK_EXT3(ARB_vertex_program, ARB_fragment_program, NV_vertex_program, "GetInteger64v"); + params[0] = ctx->Const.MaxProgramMatrices; + break; + case GL_CURRENT_MATRIX_STACK_DEPTH_ARB: + CHECK_EXT3(ARB_vertex_program, ARB_fragment_program, NV_vertex_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->CurrentStack->Depth + 1); + break; + case GL_CURRENT_MATRIX_ARB: + CHECK_EXT3(ARB_vertex_program, ARB_fragment_program, NV_fragment_program, "GetInteger64v"); + { + const GLfloat *matrix = ctx->CurrentStack->Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[1]); + params[2] = IROUND64(matrix[2]); + params[3] = IROUND64(matrix[3]); + params[4] = IROUND64(matrix[4]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[6]); + params[7] = IROUND64(matrix[7]); + params[8] = IROUND64(matrix[8]); + params[9] = IROUND64(matrix[9]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[11]); + params[12] = IROUND64(matrix[12]); + params[13] = IROUND64(matrix[13]); + params[14] = IROUND64(matrix[14]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_TRANSPOSE_CURRENT_MATRIX_ARB: + CHECK_EXT2(ARB_vertex_program, ARB_fragment_program, "GetInteger64v"); + { + const GLfloat *matrix = ctx->CurrentStack->Top->m; + params[0] = IROUND64(matrix[0]); + params[1] = IROUND64(matrix[4]); + params[2] = IROUND64(matrix[8]); + params[3] = IROUND64(matrix[12]); + params[4] = IROUND64(matrix[1]); + params[5] = IROUND64(matrix[5]); + params[6] = IROUND64(matrix[9]); + params[7] = IROUND64(matrix[13]); + params[8] = IROUND64(matrix[2]); + params[9] = IROUND64(matrix[6]); + params[10] = IROUND64(matrix[10]); + params[11] = IROUND64(matrix[14]); + params[12] = IROUND64(matrix[3]); + params[13] = IROUND64(matrix[7]); + params[14] = IROUND64(matrix[11]); + params[15] = IROUND64(matrix[15]); + } + break; + case GL_MAX_VERTEX_ATTRIBS_ARB: + CHECK_EXT1(ARB_vertex_program, "GetInteger64v"); + params[0] = ctx->Const.VertexProgram.MaxAttribs; + break; + case GL_PROGRAM_ERROR_POSITION_ARB: + CHECK_EXT4(NV_vertex_program, ARB_vertex_program, NV_fragment_program, ARB_fragment_program, "GetInteger64v"); + params[0] = ctx->Program.ErrorPos; + break; + case GL_FRAGMENT_PROGRAM_ARB: + CHECK_EXT1(ARB_fragment_program, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->FragmentProgram.Enabled); + break; + case GL_MAX_TEXTURE_COORDS_ARB: + CHECK_EXT2(ARB_fragment_program, NV_fragment_program, "GetInteger64v"); + params[0] = ctx->Const.MaxTextureCoordUnits; + break; + case GL_MAX_TEXTURE_IMAGE_UNITS_ARB: + CHECK_EXT2(ARB_fragment_program, NV_fragment_program, "GetInteger64v"); + params[0] = ctx->Const.MaxTextureImageUnits; + break; + case GL_DEPTH_BOUNDS_TEST_EXT: + CHECK_EXT1(EXT_depth_bounds_test, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Depth.BoundsTest); + break; + case GL_DEPTH_BOUNDS_EXT: + CHECK_EXT1(EXT_depth_bounds_test, "GetInteger64v"); + params[0] = IROUND64(ctx->Depth.BoundsMin); + params[1] = IROUND64(ctx->Depth.BoundsMax); + break; + case GL_MAX_DRAW_BUFFERS_ARB: + params[0] = ctx->Const.MaxDrawBuffers; + break; + case GL_DRAW_BUFFER0_ARB: + params[0] = ENUM_TO_INT64(ctx->DrawBuffer->ColorDrawBuffer[0]); + break; + case GL_DRAW_BUFFER1_ARB: + { + GLenum buffer; + if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) { + _mesa_error(ctx, GL_INVALID_ENUM, "glGet(GL_DRAW_BUFFERx_ARB)"); + return; + } + buffer = ctx->DrawBuffer->ColorDrawBuffer[1]; + params[0] = ENUM_TO_INT64(buffer); + } + break; + case GL_DRAW_BUFFER2_ARB: + { + GLenum buffer; + if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) { + _mesa_error(ctx, GL_INVALID_ENUM, "glGet(GL_DRAW_BUFFERx_ARB)"); + return; + } + buffer = ctx->DrawBuffer->ColorDrawBuffer[2]; + params[0] = ENUM_TO_INT64(buffer); + } + break; + case GL_DRAW_BUFFER3_ARB: + { + GLenum buffer; + if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) { + _mesa_error(ctx, GL_INVALID_ENUM, "glGet(GL_DRAW_BUFFERx_ARB)"); + return; + } + buffer = ctx->DrawBuffer->ColorDrawBuffer[3]; + params[0] = ENUM_TO_INT64(buffer); + } + break; + case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: + CHECK_EXT1(OES_read_format, "GetInteger64v"); + params[0] = ctx->Const.ColorReadType; + break; + case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: + CHECK_EXT1(OES_read_format, "GetInteger64v"); + params[0] = ctx->Const.ColorReadFormat; + break; + case GL_NUM_FRAGMENT_REGISTERS_ATI: + CHECK_EXT1(ATI_fragment_shader, "GetInteger64v"); + params[0] = 6; + break; + case GL_NUM_FRAGMENT_CONSTANTS_ATI: + CHECK_EXT1(ATI_fragment_shader, "GetInteger64v"); + params[0] = 8; + break; + case GL_NUM_PASSES_ATI: + CHECK_EXT1(ATI_fragment_shader, "GetInteger64v"); + params[0] = 2; + break; + case GL_NUM_INSTRUCTIONS_PER_PASS_ATI: + CHECK_EXT1(ATI_fragment_shader, "GetInteger64v"); + params[0] = 8; + break; + case GL_NUM_INSTRUCTIONS_TOTAL_ATI: + CHECK_EXT1(ATI_fragment_shader, "GetInteger64v"); + params[0] = 16; + break; + case GL_COLOR_ALPHA_PAIRING_ATI: + CHECK_EXT1(ATI_fragment_shader, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(GL_TRUE); + break; + case GL_NUM_LOOPBACK_COMPONENTS_ATI: + CHECK_EXT1(ATI_fragment_shader, "GetInteger64v"); + params[0] = 3; + break; + case GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI: + CHECK_EXT1(ATI_fragment_shader, "GetInteger64v"); + params[0] = 3; + break; + case GL_STENCIL_BACK_FUNC: + params[0] = ENUM_TO_INT64(ctx->Stencil.Function[1]); + break; + case GL_STENCIL_BACK_VALUE_MASK: + params[0] = ctx->Stencil.ValueMask[1]; + break; + case GL_STENCIL_BACK_WRITEMASK: + params[0] = ctx->Stencil.WriteMask[1]; + break; + case GL_STENCIL_BACK_REF: + params[0] = ctx->Stencil.Ref[1]; + break; + case GL_STENCIL_BACK_FAIL: + params[0] = ENUM_TO_INT64(ctx->Stencil.FailFunc[1]); + break; + case GL_STENCIL_BACK_PASS_DEPTH_FAIL: + params[0] = ENUM_TO_INT64(ctx->Stencil.ZFailFunc[1]); + break; + case GL_STENCIL_BACK_PASS_DEPTH_PASS: + params[0] = ENUM_TO_INT64(ctx->Stencil.ZPassFunc[1]); + break; + case GL_FRAMEBUFFER_BINDING_EXT: + CHECK_EXT1(EXT_framebuffer_object, "GetInteger64v"); + params[0] = ctx->DrawBuffer->Name; + break; + case GL_RENDERBUFFER_BINDING_EXT: + CHECK_EXT1(EXT_framebuffer_object, "GetInteger64v"); + params[0] = ctx->CurrentRenderbuffer ? ctx->CurrentRenderbuffer->Name : 0; + break; + case GL_MAX_COLOR_ATTACHMENTS_EXT: + CHECK_EXT1(EXT_framebuffer_object, "GetInteger64v"); + params[0] = ctx->Const.MaxColorAttachments; + break; + case GL_MAX_RENDERBUFFER_SIZE_EXT: + CHECK_EXT1(EXT_framebuffer_object, "GetInteger64v"); + params[0] = ctx->Const.MaxRenderbufferSize; + break; + case GL_READ_FRAMEBUFFER_BINDING_EXT: + CHECK_EXT1(EXT_framebuffer_blit, "GetInteger64v"); + params[0] = ctx->ReadBuffer->Name; + break; + case GL_PROVOKING_VERTEX_EXT: + CHECK_EXT1(EXT_provoking_vertex, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Light.ProvokingVertex); + break; + case GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT: + CHECK_EXT1(EXT_provoking_vertex, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Const.QuadsFollowProvokingVertexConvention); + break; + case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB: + CHECK_EXT1(ARB_fragment_shader, "GetInteger64v"); + params[0] = ctx->Const.FragmentProgram.MaxUniformComponents; + break; + case GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB: + CHECK_EXT1(ARB_fragment_shader, "GetInteger64v"); + params[0] = ENUM_TO_INT64(ctx->Hint.FragmentShaderDerivative); + break; + case GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB: + CHECK_EXT1(ARB_vertex_shader, "GetInteger64v"); + params[0] = ctx->Const.VertexProgram.MaxUniformComponents; + break; + case GL_MAX_VARYING_FLOATS_ARB: + CHECK_EXT1(ARB_vertex_shader, "GetInteger64v"); + params[0] = ctx->Const.MaxVarying * 4; + break; + case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB: + CHECK_EXT1(ARB_vertex_shader, "GetInteger64v"); + params[0] = ctx->Const.MaxVertexTextureImageUnits; + break; + case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB: + CHECK_EXT1(ARB_vertex_shader, "GetInteger64v"); + params[0] = MAX_COMBINED_TEXTURE_IMAGE_UNITS; + break; + case GL_CURRENT_PROGRAM: + CHECK_EXT1(ARB_shader_objects, "GetInteger64v"); + params[0] = ctx->Shader.CurrentProgram ? ctx->Shader.CurrentProgram->Name : 0; + break; + case GL_MAX_SAMPLES: + CHECK_EXT1(ARB_framebuffer_object, "GetInteger64v"); + params[0] = ctx->Const.MaxSamples; + break; + case GL_VERTEX_ARRAY_BINDING_APPLE: + CHECK_EXT1(APPLE_vertex_array_object, "GetInteger64v"); + params[0] = ctx->Array.ArrayObj->Name; + break; + case GL_TEXTURE_CUBE_MAP_SEAMLESS: + CHECK_EXT1(ARB_seamless_cube_map, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Texture.CubeMapSeamless); + break; + default: + _mesa_error(ctx, GL_INVALID_ENUM, "glGetInteger64v(pname=0x%x)", pname); + } +} +#endif /* FEATURE_ARB_sync */ + void GLAPIENTRY _mesa_GetDoublev( GLenum pname, GLdouble *params ) diff --git a/src/mesa/main/get.h b/src/mesa/main/get.h index 9b47b230a9..77a9a7d04b 100644 --- a/src/mesa/main/get.h +++ b/src/mesa/main/get.h @@ -47,6 +47,9 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ); extern void GLAPIENTRY _mesa_GetIntegerv( GLenum pname, GLint *params ); +extern void GLAPIENTRY +_mesa_GetInteger64v( GLenum pname, GLint64 *params ); + extern void GLAPIENTRY _mesa_GetPointerv( GLenum pname, GLvoid **params ); diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py index 97dc785020..4f0feaad3c 100644 --- a/src/mesa/main/get_gen.py +++ b/src/mesa/main/get_gen.py @@ -35,6 +35,7 @@ GLfloat = 3 GLdouble = 4 GLboolean = 5 GLfloatN = 6 # A normalized value, such as a color or depth range +GLint64 = 7 TypeStrings = { @@ -42,7 +43,8 @@ TypeStrings = { GLenum : "GLenum", GLfloat : "GLfloat", GLdouble : "GLdouble", - GLboolean : "GLboolean" + GLboolean : "GLboolean", + GLint64 : "GLint64" } @@ -1029,10 +1031,16 @@ def ConversionFunc(fromType, toType): return "" elif fromType == GLfloat and toType == GLint: return "IROUND" + elif fromType == GLfloat and toType == GLint64: + return "IROUND64" elif fromType == GLfloatN and toType == GLfloat: return "" elif fromType == GLint and toType == GLfloat: # but not GLfloatN! return "(GLfloat)" + elif fromType == GLint and toType == GLint64: + return "" + elif fromType == GLint64 and toType == GLfloat: # but not GLfloatN! + return "(GLfloat)" else: if fromType == GLfloatN: fromType = GLfloat @@ -1047,6 +1055,7 @@ def EmitGetFunction(stateVars, returnType): """Emit the code to implement glGetBooleanv, glGetIntegerv or glGetFloatv.""" assert (returnType == GLboolean or returnType == GLint or + returnType == GLint64 or returnType == GLfloat) strType = TypeStrings[returnType] @@ -1057,9 +1066,14 @@ def EmitGetFunction(stateVars, returnType): function = "GetBooleanv" elif returnType == GLfloat: function = "GetFloatv" + elif returnType == GLint64: + function = "GetInteger64v" else: abort() + if returnType == GLint64: + print "#if FEATURE_ARB_sync" + print "void GLAPIENTRY" print "_mesa_%s( GLenum pname, %s *params )" % (function, strType) print "{" @@ -1113,6 +1127,8 @@ def EmitGetFunction(stateVars, returnType): print ' _mesa_error(ctx, GL_INVALID_ENUM, "gl%s(pname=0x%%x)", pname);' % function print " }" print "}" + if returnType == GLint64: + print "#endif /* FEATURE_ARB_sync */" print "" return @@ -1142,8 +1158,11 @@ def EmitHeader(): #define INT_TO_BOOLEAN(I) ( (I) ? GL_TRUE : GL_FALSE ) #define BOOLEAN_TO_INT(B) ( (GLint) (B) ) +#define BOOLEAN_TO_INT64(B) ( (GLint64) (B) ) #define BOOLEAN_TO_FLOAT(B) ( (B) ? 1.0F : 0.0F ) +#define ENUM_TO_INT64(E) ( (GLint64) (E) ) + /* * Check if named extension is enabled, if not generate error and return. @@ -1221,5 +1240,6 @@ EmitHeader() EmitGetFunction(StateVars, GLboolean) EmitGetFunction(StateVars, GLfloat) EmitGetFunction(StateVars, GLint) +EmitGetFunction(StateVars, GLint64) EmitGetDoublev() diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h index fb85f0862c..7d4012a856 100644 --- a/src/mesa/main/imports.h +++ b/src/mesa/main/imports.h @@ -291,6 +291,7 @@ long iround(float f); #define IROUND(f) ((int) (((f) >= 0.0F) ? ((f) + 0.5F) : ((f) - 0.5F))) #endif +#define IROUND64(f) ((GLint64) (((f) >= 0.0F) ? ((f) + 0.5F) : ((f) - 0.5F))) /*** *** IROUND_POS: return (as an integer) positive float rounded to nearest int diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h index 4ca7957ffa..3d9a1aba98 100644 --- a/src/mesa/main/macros.h +++ b/src/mesa/main/macros.h @@ -99,6 +99,9 @@ extern GLfloat _mesa_ubyte_to_float_color_tab[256]; /* a close approximation: */ #define FLOAT_TO_INT(X) ( (GLint) (2147483647.0 * (X)) ) +/** Convert GLfloat in [-1.0,1.0] to GLint64 in [-(1<<63),(1 << 63) -1] */ +#define FLOAT_TO_INT64(X) ( (GLint64) (9223372036854775807.0 * (double)(X)) ) + /** Convert GLint in [-2147483648,2147483647] to GLfloat in [-1.0,1.0], texture/fb data */ #define INT_TO_FLOAT_TEX(I) ((I) == -2147483648 ? -1.0F : (I) * (1.0F/2147483647.0)) -- cgit v1.2.3 From 10a09e49fc57fb4fee432a9f41ee4cf07e55fa74 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 28 Aug 2009 15:49:27 -0700 Subject: ARB sync: Add base infrastructure for GL_ARB_sync --- src/mesa/glapi/ARB_sync.xml | 81 +++++++++++++++++++++++++++++++++++++++++++++ src/mesa/glapi/Makefile | 1 + src/mesa/glapi/gl_API.xml | 2 ++ 3 files changed, 84 insertions(+) create mode 100644 src/mesa/glapi/ARB_sync.xml (limited to 'src') diff --git a/src/mesa/glapi/ARB_sync.xml b/src/mesa/glapi/ARB_sync.xml new file mode 100644 index 0000000000..58989b084a --- /dev/null +++ b/src/mesa/glapi/ARB_sync.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mesa/glapi/Makefile b/src/mesa/glapi/Makefile index f706309b56..65edab7cec 100644 --- a/src/mesa/glapi/Makefile +++ b/src/mesa/glapi/Makefile @@ -51,6 +51,7 @@ API_XML = gl_API.xml \ ARB_framebuffer_object.xml \ ARB_map_buffer_range.xml \ ARB_seamless_cube_map.xml \ + ARB_sync.xml \ ARB_vertex_array_object.xml \ APPLE_vertex_array_object.xml \ EXT_provoking_vertex.xml diff --git a/src/mesa/glapi/gl_API.xml b/src/mesa/glapi/gl_API.xml index d2fcc6dc1f..1dfd92be08 100644 --- a/src/mesa/glapi/gl_API.xml +++ b/src/mesa/glapi/gl_API.xml @@ -7954,6 +7954,8 @@ + + -- cgit v1.2.3 From 064913430dd288c40351b41ab9e4040d3e92f0df Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 28 Aug 2009 15:50:28 -0700 Subject: ARB sync: Regenerate files from previous commit --- src/mesa/drivers/dri/common/extension_helper.h | 62 + src/mesa/glapi/dispatch.h | 487 +- src/mesa/glapi/glapioffsets.h | 452 +- src/mesa/glapi/glapitable.h | 443 +- src/mesa/glapi/glapitemp.h | 268 +- src/mesa/glapi/glprocs.h | 1184 ++--- src/mesa/main/enums.c | 6230 ++++++++++++------------ src/mesa/sparc/glapi_sparc.S | 147 +- src/mesa/x86-64/glapi_x86-64.S | 2373 +++++---- src/mesa/x86/glapi_x86.S | 155 +- 10 files changed, 6149 insertions(+), 5652 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/common/extension_helper.h b/src/mesa/drivers/dri/common/extension_helper.h index 08a97bb111..790a2bc896 100644 --- a/src/mesa/drivers/dri/common/extension_helper.h +++ b/src/mesa/drivers/dri/common/extension_helper.h @@ -383,6 +383,13 @@ static const char ReplacementCodeuiNormal3fVertex3fSUN_names[] = ""; #endif +#if defined(need_GL_ARB_sync) +static const char DeleteSync_names[] = + "i\0" /* Parameter signature */ + "glDeleteSync\0" + ""; +#endif + #if defined(need_GL_SGIX_fragment_lighting) static const char FragmentMaterialfvSGIX_names[] = "iip\0" /* Parameter signature */ @@ -1065,6 +1072,13 @@ static const char VertexAttrib1sARB_names[] = ""; #endif +#if defined(need_GL_ARB_sync) +static const char FenceSync_names[] = + "ii\0" /* Parameter signature */ + "glFenceSync\0" + ""; +#endif + #if defined(need_GL_NV_register_combiners) static const char FinalCombinerInputNV_names[] = "iiii\0" /* Parameter signature */ @@ -1346,6 +1360,13 @@ static const char LoadProgramNV_names[] = ""; #endif +#if defined(need_GL_ARB_sync) +static const char WaitSync_names[] = + "iii\0" /* Parameter signature */ + "glWaitSync\0" + ""; +#endif + #if defined(need_GL_NV_vertex_program) static const char VertexAttrib4fvNV_names[] = "ip\0" /* Parameter signature */ @@ -2219,6 +2240,13 @@ static const char VertexAttrib2dARB_names[] = ""; #endif +#if defined(need_GL_ARB_sync) +static const char GetInteger64v_names[] = + "ip\0" /* Parameter signature */ + "glGetInteger64v\0" + ""; +#endif + #if defined(need_GL_SGIS_texture_color_mask) static const char TextureColorMaskSGIS_names[] = "iiii\0" /* Parameter signature */ @@ -3334,6 +3362,13 @@ static const char VertexAttrib3fvARB_names[] = ""; #endif +#if defined(need_GL_ARB_sync) +static const char GetSynciv_names[] = + "iiipp\0" /* Parameter signature */ + "glGetSynciv\0" + ""; +#endif + #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) static const char DeleteFramebuffersEXT_names[] = "ip\0" /* Parameter signature */ @@ -4324,6 +4359,13 @@ static const char DrawMeshArraysSUN_names[] = ""; #endif +#if defined(need_GL_ARB_sync) +static const char IsSync_names[] = + "i\0" /* Parameter signature */ + "glIsSync\0" + ""; +#endif + #if defined(need_GL_NV_evaluators) static const char GetMapControlPointsNV_names[] = "iiiiiip\0" /* Parameter signature */ @@ -4616,6 +4658,13 @@ static const char GetShaderiv_names[] = ""; #endif +#if defined(need_GL_ARB_sync) +static const char ClientWaitSync_names[] = + "iii\0" /* Parameter signature */ + "glClientWaitSync\0" + ""; +#endif + #if defined(need_GL_ATI_fragment_shader) static const char BindFragmentShaderATI_names[] = "i\0" /* Parameter signature */ @@ -5160,6 +5209,19 @@ static const struct dri_extension_function GL_ARB_shader_objects_functions[] = { }; #endif +#if defined(need_GL_ARB_sync) +static const struct dri_extension_function GL_ARB_sync_functions[] = { + { DeleteSync_names, DeleteSync_remap_index, -1 }, + { FenceSync_names, FenceSync_remap_index, -1 }, + { WaitSync_names, WaitSync_remap_index, -1 }, + { GetInteger64v_names, GetInteger64v_remap_index, -1 }, + { GetSynciv_names, GetSynciv_remap_index, -1 }, + { IsSync_names, IsSync_remap_index, -1 }, + { ClientWaitSync_names, ClientWaitSync_remap_index, -1 }, + { NULL, 0, 0 } +}; +#endif + #if defined(need_GL_ARB_texture_compression) static const struct dri_extension_function GL_ARB_texture_compression_functions[] = { { CompressedTexSubImage2DARB_names, CompressedTexSubImage2DARB_remap_index, -1 }, diff --git a/src/mesa/glapi/dispatch.h b/src/mesa/glapi/dispatch.h index 2f5cc55f00..8288c0a263 100644 --- a/src/mesa/glapi/dispatch.h +++ b/src/mesa/glapi/dispatch.h @@ -1761,6 +1761,27 @@ #define CALL_CopyBufferSubData(disp, parameters) (*((disp)->CopyBufferSubData)) parameters #define GET_CopyBufferSubData(disp) ((disp)->CopyBufferSubData) #define SET_CopyBufferSubData(disp, fn) ((disp)->CopyBufferSubData = fn) +#define CALL_ClientWaitSync(disp, parameters) (*((disp)->ClientWaitSync)) parameters +#define GET_ClientWaitSync(disp) ((disp)->ClientWaitSync) +#define SET_ClientWaitSync(disp, fn) ((disp)->ClientWaitSync = fn) +#define CALL_DeleteSync(disp, parameters) (*((disp)->DeleteSync)) parameters +#define GET_DeleteSync(disp) ((disp)->DeleteSync) +#define SET_DeleteSync(disp, fn) ((disp)->DeleteSync = fn) +#define CALL_FenceSync(disp, parameters) (*((disp)->FenceSync)) parameters +#define GET_FenceSync(disp) ((disp)->FenceSync) +#define SET_FenceSync(disp, fn) ((disp)->FenceSync = fn) +#define CALL_GetInteger64v(disp, parameters) (*((disp)->GetInteger64v)) parameters +#define GET_GetInteger64v(disp) ((disp)->GetInteger64v) +#define SET_GetInteger64v(disp, fn) ((disp)->GetInteger64v = fn) +#define CALL_GetSynciv(disp, parameters) (*((disp)->GetSynciv)) parameters +#define GET_GetSynciv(disp) ((disp)->GetSynciv) +#define SET_GetSynciv(disp, fn) ((disp)->GetSynciv = fn) +#define CALL_IsSync(disp, parameters) (*((disp)->IsSync)) parameters +#define GET_IsSync(disp) ((disp)->IsSync) +#define SET_IsSync(disp, fn) ((disp)->IsSync = fn) +#define CALL_WaitSync(disp, parameters) (*((disp)->WaitSync)) parameters +#define GET_WaitSync(disp) ((disp)->WaitSync) +#define SET_WaitSync(disp, fn) ((disp)->WaitSync = fn) #define CALL_PolygonOffsetEXT(disp, parameters) (*((disp)->PolygonOffsetEXT)) parameters #define GET_PolygonOffsetEXT(disp) ((disp)->PolygonOffsetEXT) #define SET_PolygonOffsetEXT(disp, fn) ((disp)->PolygonOffsetEXT = fn) @@ -2418,7 +2439,7 @@ #else -#define driDispatchRemapTable_size 377 +#define driDispatchRemapTable_size 384 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define AttachShader_remap_index 0 @@ -2580,224 +2601,231 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define BindVertexArray_remap_index 156 #define GenVertexArrays_remap_index 157 #define CopyBufferSubData_remap_index 158 -#define PolygonOffsetEXT_remap_index 159 -#define GetPixelTexGenParameterfvSGIS_remap_index 160 -#define GetPixelTexGenParameterivSGIS_remap_index 161 -#define PixelTexGenParameterfSGIS_remap_index 162 -#define PixelTexGenParameterfvSGIS_remap_index 163 -#define PixelTexGenParameteriSGIS_remap_index 164 -#define PixelTexGenParameterivSGIS_remap_index 165 -#define SampleMaskSGIS_remap_index 166 -#define SamplePatternSGIS_remap_index 167 -#define ColorPointerEXT_remap_index 168 -#define EdgeFlagPointerEXT_remap_index 169 -#define IndexPointerEXT_remap_index 170 -#define NormalPointerEXT_remap_index 171 -#define TexCoordPointerEXT_remap_index 172 -#define VertexPointerEXT_remap_index 173 -#define PointParameterfEXT_remap_index 174 -#define PointParameterfvEXT_remap_index 175 -#define LockArraysEXT_remap_index 176 -#define UnlockArraysEXT_remap_index 177 -#define CullParameterdvEXT_remap_index 178 -#define CullParameterfvEXT_remap_index 179 -#define SecondaryColor3bEXT_remap_index 180 -#define SecondaryColor3bvEXT_remap_index 181 -#define SecondaryColor3dEXT_remap_index 182 -#define SecondaryColor3dvEXT_remap_index 183 -#define SecondaryColor3fEXT_remap_index 184 -#define SecondaryColor3fvEXT_remap_index 185 -#define SecondaryColor3iEXT_remap_index 186 -#define SecondaryColor3ivEXT_remap_index 187 -#define SecondaryColor3sEXT_remap_index 188 -#define SecondaryColor3svEXT_remap_index 189 -#define SecondaryColor3ubEXT_remap_index 190 -#define SecondaryColor3ubvEXT_remap_index 191 -#define SecondaryColor3uiEXT_remap_index 192 -#define SecondaryColor3uivEXT_remap_index 193 -#define SecondaryColor3usEXT_remap_index 194 -#define SecondaryColor3usvEXT_remap_index 195 -#define SecondaryColorPointerEXT_remap_index 196 -#define MultiDrawArraysEXT_remap_index 197 -#define MultiDrawElementsEXT_remap_index 198 -#define FogCoordPointerEXT_remap_index 199 -#define FogCoorddEXT_remap_index 200 -#define FogCoorddvEXT_remap_index 201 -#define FogCoordfEXT_remap_index 202 -#define FogCoordfvEXT_remap_index 203 -#define PixelTexGenSGIX_remap_index 204 -#define BlendFuncSeparateEXT_remap_index 205 -#define FlushVertexArrayRangeNV_remap_index 206 -#define VertexArrayRangeNV_remap_index 207 -#define CombinerInputNV_remap_index 208 -#define CombinerOutputNV_remap_index 209 -#define CombinerParameterfNV_remap_index 210 -#define CombinerParameterfvNV_remap_index 211 -#define CombinerParameteriNV_remap_index 212 -#define CombinerParameterivNV_remap_index 213 -#define FinalCombinerInputNV_remap_index 214 -#define GetCombinerInputParameterfvNV_remap_index 215 -#define GetCombinerInputParameterivNV_remap_index 216 -#define GetCombinerOutputParameterfvNV_remap_index 217 -#define GetCombinerOutputParameterivNV_remap_index 218 -#define GetFinalCombinerInputParameterfvNV_remap_index 219 -#define GetFinalCombinerInputParameterivNV_remap_index 220 -#define ResizeBuffersMESA_remap_index 221 -#define WindowPos2dMESA_remap_index 222 -#define WindowPos2dvMESA_remap_index 223 -#define WindowPos2fMESA_remap_index 224 -#define WindowPos2fvMESA_remap_index 225 -#define WindowPos2iMESA_remap_index 226 -#define WindowPos2ivMESA_remap_index 227 -#define WindowPos2sMESA_remap_index 228 -#define WindowPos2svMESA_remap_index 229 -#define WindowPos3dMESA_remap_index 230 -#define WindowPos3dvMESA_remap_index 231 -#define WindowPos3fMESA_remap_index 232 -#define WindowPos3fvMESA_remap_index 233 -#define WindowPos3iMESA_remap_index 234 -#define WindowPos3ivMESA_remap_index 235 -#define WindowPos3sMESA_remap_index 236 -#define WindowPos3svMESA_remap_index 237 -#define WindowPos4dMESA_remap_index 238 -#define WindowPos4dvMESA_remap_index 239 -#define WindowPos4fMESA_remap_index 240 -#define WindowPos4fvMESA_remap_index 241 -#define WindowPos4iMESA_remap_index 242 -#define WindowPos4ivMESA_remap_index 243 -#define WindowPos4sMESA_remap_index 244 -#define WindowPos4svMESA_remap_index 245 -#define MultiModeDrawArraysIBM_remap_index 246 -#define MultiModeDrawElementsIBM_remap_index 247 -#define DeleteFencesNV_remap_index 248 -#define FinishFenceNV_remap_index 249 -#define GenFencesNV_remap_index 250 -#define GetFenceivNV_remap_index 251 -#define IsFenceNV_remap_index 252 -#define SetFenceNV_remap_index 253 -#define TestFenceNV_remap_index 254 -#define AreProgramsResidentNV_remap_index 255 -#define BindProgramNV_remap_index 256 -#define DeleteProgramsNV_remap_index 257 -#define ExecuteProgramNV_remap_index 258 -#define GenProgramsNV_remap_index 259 -#define GetProgramParameterdvNV_remap_index 260 -#define GetProgramParameterfvNV_remap_index 261 -#define GetProgramStringNV_remap_index 262 -#define GetProgramivNV_remap_index 263 -#define GetTrackMatrixivNV_remap_index 264 -#define GetVertexAttribPointervNV_remap_index 265 -#define GetVertexAttribdvNV_remap_index 266 -#define GetVertexAttribfvNV_remap_index 267 -#define GetVertexAttribivNV_remap_index 268 -#define IsProgramNV_remap_index 269 -#define LoadProgramNV_remap_index 270 -#define ProgramParameters4dvNV_remap_index 271 -#define ProgramParameters4fvNV_remap_index 272 -#define RequestResidentProgramsNV_remap_index 273 -#define TrackMatrixNV_remap_index 274 -#define VertexAttrib1dNV_remap_index 275 -#define VertexAttrib1dvNV_remap_index 276 -#define VertexAttrib1fNV_remap_index 277 -#define VertexAttrib1fvNV_remap_index 278 -#define VertexAttrib1sNV_remap_index 279 -#define VertexAttrib1svNV_remap_index 280 -#define VertexAttrib2dNV_remap_index 281 -#define VertexAttrib2dvNV_remap_index 282 -#define VertexAttrib2fNV_remap_index 283 -#define VertexAttrib2fvNV_remap_index 284 -#define VertexAttrib2sNV_remap_index 285 -#define VertexAttrib2svNV_remap_index 286 -#define VertexAttrib3dNV_remap_index 287 -#define VertexAttrib3dvNV_remap_index 288 -#define VertexAttrib3fNV_remap_index 289 -#define VertexAttrib3fvNV_remap_index 290 -#define VertexAttrib3sNV_remap_index 291 -#define VertexAttrib3svNV_remap_index 292 -#define VertexAttrib4dNV_remap_index 293 -#define VertexAttrib4dvNV_remap_index 294 -#define VertexAttrib4fNV_remap_index 295 -#define VertexAttrib4fvNV_remap_index 296 -#define VertexAttrib4sNV_remap_index 297 -#define VertexAttrib4svNV_remap_index 298 -#define VertexAttrib4ubNV_remap_index 299 -#define VertexAttrib4ubvNV_remap_index 300 -#define VertexAttribPointerNV_remap_index 301 -#define VertexAttribs1dvNV_remap_index 302 -#define VertexAttribs1fvNV_remap_index 303 -#define VertexAttribs1svNV_remap_index 304 -#define VertexAttribs2dvNV_remap_index 305 -#define VertexAttribs2fvNV_remap_index 306 -#define VertexAttribs2svNV_remap_index 307 -#define VertexAttribs3dvNV_remap_index 308 -#define VertexAttribs3fvNV_remap_index 309 -#define VertexAttribs3svNV_remap_index 310 -#define VertexAttribs4dvNV_remap_index 311 -#define VertexAttribs4fvNV_remap_index 312 -#define VertexAttribs4svNV_remap_index 313 -#define VertexAttribs4ubvNV_remap_index 314 -#define GetTexBumpParameterfvATI_remap_index 315 -#define GetTexBumpParameterivATI_remap_index 316 -#define TexBumpParameterfvATI_remap_index 317 -#define TexBumpParameterivATI_remap_index 318 -#define AlphaFragmentOp1ATI_remap_index 319 -#define AlphaFragmentOp2ATI_remap_index 320 -#define AlphaFragmentOp3ATI_remap_index 321 -#define BeginFragmentShaderATI_remap_index 322 -#define BindFragmentShaderATI_remap_index 323 -#define ColorFragmentOp1ATI_remap_index 324 -#define ColorFragmentOp2ATI_remap_index 325 -#define ColorFragmentOp3ATI_remap_index 326 -#define DeleteFragmentShaderATI_remap_index 327 -#define EndFragmentShaderATI_remap_index 328 -#define GenFragmentShadersATI_remap_index 329 -#define PassTexCoordATI_remap_index 330 -#define SampleMapATI_remap_index 331 -#define SetFragmentShaderConstantATI_remap_index 332 -#define PointParameteriNV_remap_index 333 -#define PointParameterivNV_remap_index 334 -#define ActiveStencilFaceEXT_remap_index 335 -#define BindVertexArrayAPPLE_remap_index 336 -#define DeleteVertexArraysAPPLE_remap_index 337 -#define GenVertexArraysAPPLE_remap_index 338 -#define IsVertexArrayAPPLE_remap_index 339 -#define GetProgramNamedParameterdvNV_remap_index 340 -#define GetProgramNamedParameterfvNV_remap_index 341 -#define ProgramNamedParameter4dNV_remap_index 342 -#define ProgramNamedParameter4dvNV_remap_index 343 -#define ProgramNamedParameter4fNV_remap_index 344 -#define ProgramNamedParameter4fvNV_remap_index 345 -#define DepthBoundsEXT_remap_index 346 -#define BlendEquationSeparateEXT_remap_index 347 -#define BindFramebufferEXT_remap_index 348 -#define BindRenderbufferEXT_remap_index 349 -#define CheckFramebufferStatusEXT_remap_index 350 -#define DeleteFramebuffersEXT_remap_index 351 -#define DeleteRenderbuffersEXT_remap_index 352 -#define FramebufferRenderbufferEXT_remap_index 353 -#define FramebufferTexture1DEXT_remap_index 354 -#define FramebufferTexture2DEXT_remap_index 355 -#define FramebufferTexture3DEXT_remap_index 356 -#define GenFramebuffersEXT_remap_index 357 -#define GenRenderbuffersEXT_remap_index 358 -#define GenerateMipmapEXT_remap_index 359 -#define GetFramebufferAttachmentParameterivEXT_remap_index 360 -#define GetRenderbufferParameterivEXT_remap_index 361 -#define IsFramebufferEXT_remap_index 362 -#define IsRenderbufferEXT_remap_index 363 -#define RenderbufferStorageEXT_remap_index 364 -#define BlitFramebufferEXT_remap_index 365 -#define BufferParameteriAPPLE_remap_index 366 -#define FlushMappedBufferRangeAPPLE_remap_index 367 -#define FramebufferTextureLayerEXT_remap_index 368 -#define ProvokingVertexEXT_remap_index 369 -#define GetTexParameterPointervAPPLE_remap_index 370 -#define TextureRangeAPPLE_remap_index 371 -#define StencilFuncSeparateATI_remap_index 372 -#define ProgramEnvParameters4fvEXT_remap_index 373 -#define ProgramLocalParameters4fvEXT_remap_index 374 -#define GetQueryObjecti64vEXT_remap_index 375 -#define GetQueryObjectui64vEXT_remap_index 376 +#define ClientWaitSync_remap_index 159 +#define DeleteSync_remap_index 160 +#define FenceSync_remap_index 161 +#define GetInteger64v_remap_index 162 +#define GetSynciv_remap_index 163 +#define IsSync_remap_index 164 +#define WaitSync_remap_index 165 +#define PolygonOffsetEXT_remap_index 166 +#define GetPixelTexGenParameterfvSGIS_remap_index 167 +#define GetPixelTexGenParameterivSGIS_remap_index 168 +#define PixelTexGenParameterfSGIS_remap_index 169 +#define PixelTexGenParameterfvSGIS_remap_index 170 +#define PixelTexGenParameteriSGIS_remap_index 171 +#define PixelTexGenParameterivSGIS_remap_index 172 +#define SampleMaskSGIS_remap_index 173 +#define SamplePatternSGIS_remap_index 174 +#define ColorPointerEXT_remap_index 175 +#define EdgeFlagPointerEXT_remap_index 176 +#define IndexPointerEXT_remap_index 177 +#define NormalPointerEXT_remap_index 178 +#define TexCoordPointerEXT_remap_index 179 +#define VertexPointerEXT_remap_index 180 +#define PointParameterfEXT_remap_index 181 +#define PointParameterfvEXT_remap_index 182 +#define LockArraysEXT_remap_index 183 +#define UnlockArraysEXT_remap_index 184 +#define CullParameterdvEXT_remap_index 185 +#define CullParameterfvEXT_remap_index 186 +#define SecondaryColor3bEXT_remap_index 187 +#define SecondaryColor3bvEXT_remap_index 188 +#define SecondaryColor3dEXT_remap_index 189 +#define SecondaryColor3dvEXT_remap_index 190 +#define SecondaryColor3fEXT_remap_index 191 +#define SecondaryColor3fvEXT_remap_index 192 +#define SecondaryColor3iEXT_remap_index 193 +#define SecondaryColor3ivEXT_remap_index 194 +#define SecondaryColor3sEXT_remap_index 195 +#define SecondaryColor3svEXT_remap_index 196 +#define SecondaryColor3ubEXT_remap_index 197 +#define SecondaryColor3ubvEXT_remap_index 198 +#define SecondaryColor3uiEXT_remap_index 199 +#define SecondaryColor3uivEXT_remap_index 200 +#define SecondaryColor3usEXT_remap_index 201 +#define SecondaryColor3usvEXT_remap_index 202 +#define SecondaryColorPointerEXT_remap_index 203 +#define MultiDrawArraysEXT_remap_index 204 +#define MultiDrawElementsEXT_remap_index 205 +#define FogCoordPointerEXT_remap_index 206 +#define FogCoorddEXT_remap_index 207 +#define FogCoorddvEXT_remap_index 208 +#define FogCoordfEXT_remap_index 209 +#define FogCoordfvEXT_remap_index 210 +#define PixelTexGenSGIX_remap_index 211 +#define BlendFuncSeparateEXT_remap_index 212 +#define FlushVertexArrayRangeNV_remap_index 213 +#define VertexArrayRangeNV_remap_index 214 +#define CombinerInputNV_remap_index 215 +#define CombinerOutputNV_remap_index 216 +#define CombinerParameterfNV_remap_index 217 +#define CombinerParameterfvNV_remap_index 218 +#define CombinerParameteriNV_remap_index 219 +#define CombinerParameterivNV_remap_index 220 +#define FinalCombinerInputNV_remap_index 221 +#define GetCombinerInputParameterfvNV_remap_index 222 +#define GetCombinerInputParameterivNV_remap_index 223 +#define GetCombinerOutputParameterfvNV_remap_index 224 +#define GetCombinerOutputParameterivNV_remap_index 225 +#define GetFinalCombinerInputParameterfvNV_remap_index 226 +#define GetFinalCombinerInputParameterivNV_remap_index 227 +#define ResizeBuffersMESA_remap_index 228 +#define WindowPos2dMESA_remap_index 229 +#define WindowPos2dvMESA_remap_index 230 +#define WindowPos2fMESA_remap_index 231 +#define WindowPos2fvMESA_remap_index 232 +#define WindowPos2iMESA_remap_index 233 +#define WindowPos2ivMESA_remap_index 234 +#define WindowPos2sMESA_remap_index 235 +#define WindowPos2svMESA_remap_index 236 +#define WindowPos3dMESA_remap_index 237 +#define WindowPos3dvMESA_remap_index 238 +#define WindowPos3fMESA_remap_index 239 +#define WindowPos3fvMESA_remap_index 240 +#define WindowPos3iMESA_remap_index 241 +#define WindowPos3ivMESA_remap_index 242 +#define WindowPos3sMESA_remap_index 243 +#define WindowPos3svMESA_remap_index 244 +#define WindowPos4dMESA_remap_index 245 +#define WindowPos4dvMESA_remap_index 246 +#define WindowPos4fMESA_remap_index 247 +#define WindowPos4fvMESA_remap_index 248 +#define WindowPos4iMESA_remap_index 249 +#define WindowPos4ivMESA_remap_index 250 +#define WindowPos4sMESA_remap_index 251 +#define WindowPos4svMESA_remap_index 252 +#define MultiModeDrawArraysIBM_remap_index 253 +#define MultiModeDrawElementsIBM_remap_index 254 +#define DeleteFencesNV_remap_index 255 +#define FinishFenceNV_remap_index 256 +#define GenFencesNV_remap_index 257 +#define GetFenceivNV_remap_index 258 +#define IsFenceNV_remap_index 259 +#define SetFenceNV_remap_index 260 +#define TestFenceNV_remap_index 261 +#define AreProgramsResidentNV_remap_index 262 +#define BindProgramNV_remap_index 263 +#define DeleteProgramsNV_remap_index 264 +#define ExecuteProgramNV_remap_index 265 +#define GenProgramsNV_remap_index 266 +#define GetProgramParameterdvNV_remap_index 267 +#define GetProgramParameterfvNV_remap_index 268 +#define GetProgramStringNV_remap_index 269 +#define GetProgramivNV_remap_index 270 +#define GetTrackMatrixivNV_remap_index 271 +#define GetVertexAttribPointervNV_remap_index 272 +#define GetVertexAttribdvNV_remap_index 273 +#define GetVertexAttribfvNV_remap_index 274 +#define GetVertexAttribivNV_remap_index 275 +#define IsProgramNV_remap_index 276 +#define LoadProgramNV_remap_index 277 +#define ProgramParameters4dvNV_remap_index 278 +#define ProgramParameters4fvNV_remap_index 279 +#define RequestResidentProgramsNV_remap_index 280 +#define TrackMatrixNV_remap_index 281 +#define VertexAttrib1dNV_remap_index 282 +#define VertexAttrib1dvNV_remap_index 283 +#define VertexAttrib1fNV_remap_index 284 +#define VertexAttrib1fvNV_remap_index 285 +#define VertexAttrib1sNV_remap_index 286 +#define VertexAttrib1svNV_remap_index 287 +#define VertexAttrib2dNV_remap_index 288 +#define VertexAttrib2dvNV_remap_index 289 +#define VertexAttrib2fNV_remap_index 290 +#define VertexAttrib2fvNV_remap_index 291 +#define VertexAttrib2sNV_remap_index 292 +#define VertexAttrib2svNV_remap_index 293 +#define VertexAttrib3dNV_remap_index 294 +#define VertexAttrib3dvNV_remap_index 295 +#define VertexAttrib3fNV_remap_index 296 +#define VertexAttrib3fvNV_remap_index 297 +#define VertexAttrib3sNV_remap_index 298 +#define VertexAttrib3svNV_remap_index 299 +#define VertexAttrib4dNV_remap_index 300 +#define VertexAttrib4dvNV_remap_index 301 +#define VertexAttrib4fNV_remap_index 302 +#define VertexAttrib4fvNV_remap_index 303 +#define VertexAttrib4sNV_remap_index 304 +#define VertexAttrib4svNV_remap_index 305 +#define VertexAttrib4ubNV_remap_index 306 +#define VertexAttrib4ubvNV_remap_index 307 +#define VertexAttribPointerNV_remap_index 308 +#define VertexAttribs1dvNV_remap_index 309 +#define VertexAttribs1fvNV_remap_index 310 +#define VertexAttribs1svNV_remap_index 311 +#define VertexAttribs2dvNV_remap_index 312 +#define VertexAttribs2fvNV_remap_index 313 +#define VertexAttribs2svNV_remap_index 314 +#define VertexAttribs3dvNV_remap_index 315 +#define VertexAttribs3fvNV_remap_index 316 +#define VertexAttribs3svNV_remap_index 317 +#define VertexAttribs4dvNV_remap_index 318 +#define VertexAttribs4fvNV_remap_index 319 +#define VertexAttribs4svNV_remap_index 320 +#define VertexAttribs4ubvNV_remap_index 321 +#define GetTexBumpParameterfvATI_remap_index 322 +#define GetTexBumpParameterivATI_remap_index 323 +#define TexBumpParameterfvATI_remap_index 324 +#define TexBumpParameterivATI_remap_index 325 +#define AlphaFragmentOp1ATI_remap_index 326 +#define AlphaFragmentOp2ATI_remap_index 327 +#define AlphaFragmentOp3ATI_remap_index 328 +#define BeginFragmentShaderATI_remap_index 329 +#define BindFragmentShaderATI_remap_index 330 +#define ColorFragmentOp1ATI_remap_index 331 +#define ColorFragmentOp2ATI_remap_index 332 +#define ColorFragmentOp3ATI_remap_index 333 +#define DeleteFragmentShaderATI_remap_index 334 +#define EndFragmentShaderATI_remap_index 335 +#define GenFragmentShadersATI_remap_index 336 +#define PassTexCoordATI_remap_index 337 +#define SampleMapATI_remap_index 338 +#define SetFragmentShaderConstantATI_remap_index 339 +#define PointParameteriNV_remap_index 340 +#define PointParameterivNV_remap_index 341 +#define ActiveStencilFaceEXT_remap_index 342 +#define BindVertexArrayAPPLE_remap_index 343 +#define DeleteVertexArraysAPPLE_remap_index 344 +#define GenVertexArraysAPPLE_remap_index 345 +#define IsVertexArrayAPPLE_remap_index 346 +#define GetProgramNamedParameterdvNV_remap_index 347 +#define GetProgramNamedParameterfvNV_remap_index 348 +#define ProgramNamedParameter4dNV_remap_index 349 +#define ProgramNamedParameter4dvNV_remap_index 350 +#define ProgramNamedParameter4fNV_remap_index 351 +#define ProgramNamedParameter4fvNV_remap_index 352 +#define DepthBoundsEXT_remap_index 353 +#define BlendEquationSeparateEXT_remap_index 354 +#define BindFramebufferEXT_remap_index 355 +#define BindRenderbufferEXT_remap_index 356 +#define CheckFramebufferStatusEXT_remap_index 357 +#define DeleteFramebuffersEXT_remap_index 358 +#define DeleteRenderbuffersEXT_remap_index 359 +#define FramebufferRenderbufferEXT_remap_index 360 +#define FramebufferTexture1DEXT_remap_index 361 +#define FramebufferTexture2DEXT_remap_index 362 +#define FramebufferTexture3DEXT_remap_index 363 +#define GenFramebuffersEXT_remap_index 364 +#define GenRenderbuffersEXT_remap_index 365 +#define GenerateMipmapEXT_remap_index 366 +#define GetFramebufferAttachmentParameterivEXT_remap_index 367 +#define GetRenderbufferParameterivEXT_remap_index 368 +#define IsFramebufferEXT_remap_index 369 +#define IsRenderbufferEXT_remap_index 370 +#define RenderbufferStorageEXT_remap_index 371 +#define BlitFramebufferEXT_remap_index 372 +#define BufferParameteriAPPLE_remap_index 373 +#define FlushMappedBufferRangeAPPLE_remap_index 374 +#define FramebufferTextureLayerEXT_remap_index 375 +#define ProvokingVertexEXT_remap_index 376 +#define GetTexParameterPointervAPPLE_remap_index 377 +#define TextureRangeAPPLE_remap_index 378 +#define StencilFuncSeparateATI_remap_index 379 +#define ProgramEnvParameters4fvEXT_remap_index 380 +#define ProgramLocalParameters4fvEXT_remap_index 381 +#define GetQueryObjecti64vEXT_remap_index 382 +#define GetQueryObjectui64vEXT_remap_index 383 #define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[AttachShader_remap_index], parameters) #define GET_AttachShader(disp) GET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index]) @@ -3276,6 +3304,27 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_CopyBufferSubData(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr)), driDispatchRemapTable[CopyBufferSubData_remap_index], parameters) #define GET_CopyBufferSubData(disp) GET_by_offset(disp, driDispatchRemapTable[CopyBufferSubData_remap_index]) #define SET_CopyBufferSubData(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CopyBufferSubData_remap_index], fn) +#define CALL_ClientWaitSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), driDispatchRemapTable[ClientWaitSync_remap_index], parameters) +#define GET_ClientWaitSync(disp) GET_by_offset(disp, driDispatchRemapTable[ClientWaitSync_remap_index]) +#define SET_ClientWaitSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ClientWaitSync_remap_index], fn) +#define CALL_DeleteSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync)), driDispatchRemapTable[DeleteSync_remap_index], parameters) +#define GET_DeleteSync(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteSync_remap_index]) +#define SET_DeleteSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteSync_remap_index], fn) +#define CALL_FenceSync(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLenum, GLbitfield)), driDispatchRemapTable[FenceSync_remap_index], parameters) +#define GET_FenceSync(disp) GET_by_offset(disp, driDispatchRemapTable[FenceSync_remap_index]) +#define SET_FenceSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FenceSync_remap_index], fn) +#define CALL_GetInteger64v(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint64 *)), driDispatchRemapTable[GetInteger64v_remap_index], parameters) +#define GET_GetInteger64v(disp) GET_by_offset(disp, driDispatchRemapTable[GetInteger64v_remap_index]) +#define SET_GetInteger64v(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetInteger64v_remap_index], fn) +#define CALL_GetSynciv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLenum, GLsizei, GLsizei *, GLint *)), driDispatchRemapTable[GetSynciv_remap_index], parameters) +#define GET_GetSynciv(disp) GET_by_offset(disp, driDispatchRemapTable[GetSynciv_remap_index]) +#define SET_GetSynciv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetSynciv_remap_index], fn) +#define CALL_IsSync(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLsync)), driDispatchRemapTable[IsSync_remap_index], parameters) +#define GET_IsSync(disp) GET_by_offset(disp, driDispatchRemapTable[IsSync_remap_index]) +#define SET_IsSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsSync_remap_index], fn) +#define CALL_WaitSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), driDispatchRemapTable[WaitSync_remap_index], parameters) +#define GET_WaitSync(disp) GET_by_offset(disp, driDispatchRemapTable[WaitSync_remap_index]) +#define SET_WaitSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WaitSync_remap_index], fn) #define CALL_PolygonOffsetEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), driDispatchRemapTable[PolygonOffsetEXT_remap_index], parameters) #define GET_PolygonOffsetEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index]) #define SET_PolygonOffsetEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index], fn) diff --git a/src/mesa/glapi/glapioffsets.h b/src/mesa/glapi/glapioffsets.h index 01fd6f7158..6d4ab09b07 100644 --- a/src/mesa/glapi/glapioffsets.h +++ b/src/mesa/glapi/glapioffsets.h @@ -599,225 +599,232 @@ #define _gloffset_BindVertexArray 564 #define _gloffset_GenVertexArrays 565 #define _gloffset_CopyBufferSubData 566 -#define _gloffset_PolygonOffsetEXT 567 -#define _gloffset_GetPixelTexGenParameterfvSGIS 568 -#define _gloffset_GetPixelTexGenParameterivSGIS 569 -#define _gloffset_PixelTexGenParameterfSGIS 570 -#define _gloffset_PixelTexGenParameterfvSGIS 571 -#define _gloffset_PixelTexGenParameteriSGIS 572 -#define _gloffset_PixelTexGenParameterivSGIS 573 -#define _gloffset_SampleMaskSGIS 574 -#define _gloffset_SamplePatternSGIS 575 -#define _gloffset_ColorPointerEXT 576 -#define _gloffset_EdgeFlagPointerEXT 577 -#define _gloffset_IndexPointerEXT 578 -#define _gloffset_NormalPointerEXT 579 -#define _gloffset_TexCoordPointerEXT 580 -#define _gloffset_VertexPointerEXT 581 -#define _gloffset_PointParameterfEXT 582 -#define _gloffset_PointParameterfvEXT 583 -#define _gloffset_LockArraysEXT 584 -#define _gloffset_UnlockArraysEXT 585 -#define _gloffset_CullParameterdvEXT 586 -#define _gloffset_CullParameterfvEXT 587 -#define _gloffset_SecondaryColor3bEXT 588 -#define _gloffset_SecondaryColor3bvEXT 589 -#define _gloffset_SecondaryColor3dEXT 590 -#define _gloffset_SecondaryColor3dvEXT 591 -#define _gloffset_SecondaryColor3fEXT 592 -#define _gloffset_SecondaryColor3fvEXT 593 -#define _gloffset_SecondaryColor3iEXT 594 -#define _gloffset_SecondaryColor3ivEXT 595 -#define _gloffset_SecondaryColor3sEXT 596 -#define _gloffset_SecondaryColor3svEXT 597 -#define _gloffset_SecondaryColor3ubEXT 598 -#define _gloffset_SecondaryColor3ubvEXT 599 -#define _gloffset_SecondaryColor3uiEXT 600 -#define _gloffset_SecondaryColor3uivEXT 601 -#define _gloffset_SecondaryColor3usEXT 602 -#define _gloffset_SecondaryColor3usvEXT 603 -#define _gloffset_SecondaryColorPointerEXT 604 -#define _gloffset_MultiDrawArraysEXT 605 -#define _gloffset_MultiDrawElementsEXT 606 -#define _gloffset_FogCoordPointerEXT 607 -#define _gloffset_FogCoorddEXT 608 -#define _gloffset_FogCoorddvEXT 609 -#define _gloffset_FogCoordfEXT 610 -#define _gloffset_FogCoordfvEXT 611 -#define _gloffset_PixelTexGenSGIX 612 -#define _gloffset_BlendFuncSeparateEXT 613 -#define _gloffset_FlushVertexArrayRangeNV 614 -#define _gloffset_VertexArrayRangeNV 615 -#define _gloffset_CombinerInputNV 616 -#define _gloffset_CombinerOutputNV 617 -#define _gloffset_CombinerParameterfNV 618 -#define _gloffset_CombinerParameterfvNV 619 -#define _gloffset_CombinerParameteriNV 620 -#define _gloffset_CombinerParameterivNV 621 -#define _gloffset_FinalCombinerInputNV 622 -#define _gloffset_GetCombinerInputParameterfvNV 623 -#define _gloffset_GetCombinerInputParameterivNV 624 -#define _gloffset_GetCombinerOutputParameterfvNV 625 -#define _gloffset_GetCombinerOutputParameterivNV 626 -#define _gloffset_GetFinalCombinerInputParameterfvNV 627 -#define _gloffset_GetFinalCombinerInputParameterivNV 628 -#define _gloffset_ResizeBuffersMESA 629 -#define _gloffset_WindowPos2dMESA 630 -#define _gloffset_WindowPos2dvMESA 631 -#define _gloffset_WindowPos2fMESA 632 -#define _gloffset_WindowPos2fvMESA 633 -#define _gloffset_WindowPos2iMESA 634 -#define _gloffset_WindowPos2ivMESA 635 -#define _gloffset_WindowPos2sMESA 636 -#define _gloffset_WindowPos2svMESA 637 -#define _gloffset_WindowPos3dMESA 638 -#define _gloffset_WindowPos3dvMESA 639 -#define _gloffset_WindowPos3fMESA 640 -#define _gloffset_WindowPos3fvMESA 641 -#define _gloffset_WindowPos3iMESA 642 -#define _gloffset_WindowPos3ivMESA 643 -#define _gloffset_WindowPos3sMESA 644 -#define _gloffset_WindowPos3svMESA 645 -#define _gloffset_WindowPos4dMESA 646 -#define _gloffset_WindowPos4dvMESA 647 -#define _gloffset_WindowPos4fMESA 648 -#define _gloffset_WindowPos4fvMESA 649 -#define _gloffset_WindowPos4iMESA 650 -#define _gloffset_WindowPos4ivMESA 651 -#define _gloffset_WindowPos4sMESA 652 -#define _gloffset_WindowPos4svMESA 653 -#define _gloffset_MultiModeDrawArraysIBM 654 -#define _gloffset_MultiModeDrawElementsIBM 655 -#define _gloffset_DeleteFencesNV 656 -#define _gloffset_FinishFenceNV 657 -#define _gloffset_GenFencesNV 658 -#define _gloffset_GetFenceivNV 659 -#define _gloffset_IsFenceNV 660 -#define _gloffset_SetFenceNV 661 -#define _gloffset_TestFenceNV 662 -#define _gloffset_AreProgramsResidentNV 663 -#define _gloffset_BindProgramNV 664 -#define _gloffset_DeleteProgramsNV 665 -#define _gloffset_ExecuteProgramNV 666 -#define _gloffset_GenProgramsNV 667 -#define _gloffset_GetProgramParameterdvNV 668 -#define _gloffset_GetProgramParameterfvNV 669 -#define _gloffset_GetProgramStringNV 670 -#define _gloffset_GetProgramivNV 671 -#define _gloffset_GetTrackMatrixivNV 672 -#define _gloffset_GetVertexAttribPointervNV 673 -#define _gloffset_GetVertexAttribdvNV 674 -#define _gloffset_GetVertexAttribfvNV 675 -#define _gloffset_GetVertexAttribivNV 676 -#define _gloffset_IsProgramNV 677 -#define _gloffset_LoadProgramNV 678 -#define _gloffset_ProgramParameters4dvNV 679 -#define _gloffset_ProgramParameters4fvNV 680 -#define _gloffset_RequestResidentProgramsNV 681 -#define _gloffset_TrackMatrixNV 682 -#define _gloffset_VertexAttrib1dNV 683 -#define _gloffset_VertexAttrib1dvNV 684 -#define _gloffset_VertexAttrib1fNV 685 -#define _gloffset_VertexAttrib1fvNV 686 -#define _gloffset_VertexAttrib1sNV 687 -#define _gloffset_VertexAttrib1svNV 688 -#define _gloffset_VertexAttrib2dNV 689 -#define _gloffset_VertexAttrib2dvNV 690 -#define _gloffset_VertexAttrib2fNV 691 -#define _gloffset_VertexAttrib2fvNV 692 -#define _gloffset_VertexAttrib2sNV 693 -#define _gloffset_VertexAttrib2svNV 694 -#define _gloffset_VertexAttrib3dNV 695 -#define _gloffset_VertexAttrib3dvNV 696 -#define _gloffset_VertexAttrib3fNV 697 -#define _gloffset_VertexAttrib3fvNV 698 -#define _gloffset_VertexAttrib3sNV 699 -#define _gloffset_VertexAttrib3svNV 700 -#define _gloffset_VertexAttrib4dNV 701 -#define _gloffset_VertexAttrib4dvNV 702 -#define _gloffset_VertexAttrib4fNV 703 -#define _gloffset_VertexAttrib4fvNV 704 -#define _gloffset_VertexAttrib4sNV 705 -#define _gloffset_VertexAttrib4svNV 706 -#define _gloffset_VertexAttrib4ubNV 707 -#define _gloffset_VertexAttrib4ubvNV 708 -#define _gloffset_VertexAttribPointerNV 709 -#define _gloffset_VertexAttribs1dvNV 710 -#define _gloffset_VertexAttribs1fvNV 711 -#define _gloffset_VertexAttribs1svNV 712 -#define _gloffset_VertexAttribs2dvNV 713 -#define _gloffset_VertexAttribs2fvNV 714 -#define _gloffset_VertexAttribs2svNV 715 -#define _gloffset_VertexAttribs3dvNV 716 -#define _gloffset_VertexAttribs3fvNV 717 -#define _gloffset_VertexAttribs3svNV 718 -#define _gloffset_VertexAttribs4dvNV 719 -#define _gloffset_VertexAttribs4fvNV 720 -#define _gloffset_VertexAttribs4svNV 721 -#define _gloffset_VertexAttribs4ubvNV 722 -#define _gloffset_GetTexBumpParameterfvATI 723 -#define _gloffset_GetTexBumpParameterivATI 724 -#define _gloffset_TexBumpParameterfvATI 725 -#define _gloffset_TexBumpParameterivATI 726 -#define _gloffset_AlphaFragmentOp1ATI 727 -#define _gloffset_AlphaFragmentOp2ATI 728 -#define _gloffset_AlphaFragmentOp3ATI 729 -#define _gloffset_BeginFragmentShaderATI 730 -#define _gloffset_BindFragmentShaderATI 731 -#define _gloffset_ColorFragmentOp1ATI 732 -#define _gloffset_ColorFragmentOp2ATI 733 -#define _gloffset_ColorFragmentOp3ATI 734 -#define _gloffset_DeleteFragmentShaderATI 735 -#define _gloffset_EndFragmentShaderATI 736 -#define _gloffset_GenFragmentShadersATI 737 -#define _gloffset_PassTexCoordATI 738 -#define _gloffset_SampleMapATI 739 -#define _gloffset_SetFragmentShaderConstantATI 740 -#define _gloffset_PointParameteriNV 741 -#define _gloffset_PointParameterivNV 742 -#define _gloffset_ActiveStencilFaceEXT 743 -#define _gloffset_BindVertexArrayAPPLE 744 -#define _gloffset_DeleteVertexArraysAPPLE 745 -#define _gloffset_GenVertexArraysAPPLE 746 -#define _gloffset_IsVertexArrayAPPLE 747 -#define _gloffset_GetProgramNamedParameterdvNV 748 -#define _gloffset_GetProgramNamedParameterfvNV 749 -#define _gloffset_ProgramNamedParameter4dNV 750 -#define _gloffset_ProgramNamedParameter4dvNV 751 -#define _gloffset_ProgramNamedParameter4fNV 752 -#define _gloffset_ProgramNamedParameter4fvNV 753 -#define _gloffset_DepthBoundsEXT 754 -#define _gloffset_BlendEquationSeparateEXT 755 -#define _gloffset_BindFramebufferEXT 756 -#define _gloffset_BindRenderbufferEXT 757 -#define _gloffset_CheckFramebufferStatusEXT 758 -#define _gloffset_DeleteFramebuffersEXT 759 -#define _gloffset_DeleteRenderbuffersEXT 760 -#define _gloffset_FramebufferRenderbufferEXT 761 -#define _gloffset_FramebufferTexture1DEXT 762 -#define _gloffset_FramebufferTexture2DEXT 763 -#define _gloffset_FramebufferTexture3DEXT 764 -#define _gloffset_GenFramebuffersEXT 765 -#define _gloffset_GenRenderbuffersEXT 766 -#define _gloffset_GenerateMipmapEXT 767 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 768 -#define _gloffset_GetRenderbufferParameterivEXT 769 -#define _gloffset_IsFramebufferEXT 770 -#define _gloffset_IsRenderbufferEXT 771 -#define _gloffset_RenderbufferStorageEXT 772 -#define _gloffset_BlitFramebufferEXT 773 -#define _gloffset_BufferParameteriAPPLE 774 -#define _gloffset_FlushMappedBufferRangeAPPLE 775 -#define _gloffset_FramebufferTextureLayerEXT 776 -#define _gloffset_ProvokingVertexEXT 777 -#define _gloffset_GetTexParameterPointervAPPLE 778 -#define _gloffset_TextureRangeAPPLE 779 -#define _gloffset_StencilFuncSeparateATI 780 -#define _gloffset_ProgramEnvParameters4fvEXT 781 -#define _gloffset_ProgramLocalParameters4fvEXT 782 -#define _gloffset_GetQueryObjecti64vEXT 783 -#define _gloffset_GetQueryObjectui64vEXT 784 -#define _gloffset_FIRST_DYNAMIC 785 +#define _gloffset_ClientWaitSync 567 +#define _gloffset_DeleteSync 568 +#define _gloffset_FenceSync 569 +#define _gloffset_GetInteger64v 570 +#define _gloffset_GetSynciv 571 +#define _gloffset_IsSync 572 +#define _gloffset_WaitSync 573 +#define _gloffset_PolygonOffsetEXT 574 +#define _gloffset_GetPixelTexGenParameterfvSGIS 575 +#define _gloffset_GetPixelTexGenParameterivSGIS 576 +#define _gloffset_PixelTexGenParameterfSGIS 577 +#define _gloffset_PixelTexGenParameterfvSGIS 578 +#define _gloffset_PixelTexGenParameteriSGIS 579 +#define _gloffset_PixelTexGenParameterivSGIS 580 +#define _gloffset_SampleMaskSGIS 581 +#define _gloffset_SamplePatternSGIS 582 +#define _gloffset_ColorPointerEXT 583 +#define _gloffset_EdgeFlagPointerEXT 584 +#define _gloffset_IndexPointerEXT 585 +#define _gloffset_NormalPointerEXT 586 +#define _gloffset_TexCoordPointerEXT 587 +#define _gloffset_VertexPointerEXT 588 +#define _gloffset_PointParameterfEXT 589 +#define _gloffset_PointParameterfvEXT 590 +#define _gloffset_LockArraysEXT 591 +#define _gloffset_UnlockArraysEXT 592 +#define _gloffset_CullParameterdvEXT 593 +#define _gloffset_CullParameterfvEXT 594 +#define _gloffset_SecondaryColor3bEXT 595 +#define _gloffset_SecondaryColor3bvEXT 596 +#define _gloffset_SecondaryColor3dEXT 597 +#define _gloffset_SecondaryColor3dvEXT 598 +#define _gloffset_SecondaryColor3fEXT 599 +#define _gloffset_SecondaryColor3fvEXT 600 +#define _gloffset_SecondaryColor3iEXT 601 +#define _gloffset_SecondaryColor3ivEXT 602 +#define _gloffset_SecondaryColor3sEXT 603 +#define _gloffset_SecondaryColor3svEXT 604 +#define _gloffset_SecondaryColor3ubEXT 605 +#define _gloffset_SecondaryColor3ubvEXT 606 +#define _gloffset_SecondaryColor3uiEXT 607 +#define _gloffset_SecondaryColor3uivEXT 608 +#define _gloffset_SecondaryColor3usEXT 609 +#define _gloffset_SecondaryColor3usvEXT 610 +#define _gloffset_SecondaryColorPointerEXT 611 +#define _gloffset_MultiDrawArraysEXT 612 +#define _gloffset_MultiDrawElementsEXT 613 +#define _gloffset_FogCoordPointerEXT 614 +#define _gloffset_FogCoorddEXT 615 +#define _gloffset_FogCoorddvEXT 616 +#define _gloffset_FogCoordfEXT 617 +#define _gloffset_FogCoordfvEXT 618 +#define _gloffset_PixelTexGenSGIX 619 +#define _gloffset_BlendFuncSeparateEXT 620 +#define _gloffset_FlushVertexArrayRangeNV 621 +#define _gloffset_VertexArrayRangeNV 622 +#define _gloffset_CombinerInputNV 623 +#define _gloffset_CombinerOutputNV 624 +#define _gloffset_CombinerParameterfNV 625 +#define _gloffset_CombinerParameterfvNV 626 +#define _gloffset_CombinerParameteriNV 627 +#define _gloffset_CombinerParameterivNV 628 +#define _gloffset_FinalCombinerInputNV 629 +#define _gloffset_GetCombinerInputParameterfvNV 630 +#define _gloffset_GetCombinerInputParameterivNV 631 +#define _gloffset_GetCombinerOutputParameterfvNV 632 +#define _gloffset_GetCombinerOutputParameterivNV 633 +#define _gloffset_GetFinalCombinerInputParameterfvNV 634 +#define _gloffset_GetFinalCombinerInputParameterivNV 635 +#define _gloffset_ResizeBuffersMESA 636 +#define _gloffset_WindowPos2dMESA 637 +#define _gloffset_WindowPos2dvMESA 638 +#define _gloffset_WindowPos2fMESA 639 +#define _gloffset_WindowPos2fvMESA 640 +#define _gloffset_WindowPos2iMESA 641 +#define _gloffset_WindowPos2ivMESA 642 +#define _gloffset_WindowPos2sMESA 643 +#define _gloffset_WindowPos2svMESA 644 +#define _gloffset_WindowPos3dMESA 645 +#define _gloffset_WindowPos3dvMESA 646 +#define _gloffset_WindowPos3fMESA 647 +#define _gloffset_WindowPos3fvMESA 648 +#define _gloffset_WindowPos3iMESA 649 +#define _gloffset_WindowPos3ivMESA 650 +#define _gloffset_WindowPos3sMESA 651 +#define _gloffset_WindowPos3svMESA 652 +#define _gloffset_WindowPos4dMESA 653 +#define _gloffset_WindowPos4dvMESA 654 +#define _gloffset_WindowPos4fMESA 655 +#define _gloffset_WindowPos4fvMESA 656 +#define _gloffset_WindowPos4iMESA 657 +#define _gloffset_WindowPos4ivMESA 658 +#define _gloffset_WindowPos4sMESA 659 +#define _gloffset_WindowPos4svMESA 660 +#define _gloffset_MultiModeDrawArraysIBM 661 +#define _gloffset_MultiModeDrawElementsIBM 662 +#define _gloffset_DeleteFencesNV 663 +#define _gloffset_FinishFenceNV 664 +#define _gloffset_GenFencesNV 665 +#define _gloffset_GetFenceivNV 666 +#define _gloffset_IsFenceNV 667 +#define _gloffset_SetFenceNV 668 +#define _gloffset_TestFenceNV 669 +#define _gloffset_AreProgramsResidentNV 670 +#define _gloffset_BindProgramNV 671 +#define _gloffset_DeleteProgramsNV 672 +#define _gloffset_ExecuteProgramNV 673 +#define _gloffset_GenProgramsNV 674 +#define _gloffset_GetProgramParameterdvNV 675 +#define _gloffset_GetProgramParameterfvNV 676 +#define _gloffset_GetProgramStringNV 677 +#define _gloffset_GetProgramivNV 678 +#define _gloffset_GetTrackMatrixivNV 679 +#define _gloffset_GetVertexAttribPointervNV 680 +#define _gloffset_GetVertexAttribdvNV 681 +#define _gloffset_GetVertexAttribfvNV 682 +#define _gloffset_GetVertexAttribivNV 683 +#define _gloffset_IsProgramNV 684 +#define _gloffset_LoadProgramNV 685 +#define _gloffset_ProgramParameters4dvNV 686 +#define _gloffset_ProgramParameters4fvNV 687 +#define _gloffset_RequestResidentProgramsNV 688 +#define _gloffset_TrackMatrixNV 689 +#define _gloffset_VertexAttrib1dNV 690 +#define _gloffset_VertexAttrib1dvNV 691 +#define _gloffset_VertexAttrib1fNV 692 +#define _gloffset_VertexAttrib1fvNV 693 +#define _gloffset_VertexAttrib1sNV 694 +#define _gloffset_VertexAttrib1svNV 695 +#define _gloffset_VertexAttrib2dNV 696 +#define _gloffset_VertexAttrib2dvNV 697 +#define _gloffset_VertexAttrib2fNV 698 +#define _gloffset_VertexAttrib2fvNV 699 +#define _gloffset_VertexAttrib2sNV 700 +#define _gloffset_VertexAttrib2svNV 701 +#define _gloffset_VertexAttrib3dNV 702 +#define _gloffset_VertexAttrib3dvNV 703 +#define _gloffset_VertexAttrib3fNV 704 +#define _gloffset_VertexAttrib3fvNV 705 +#define _gloffset_VertexAttrib3sNV 706 +#define _gloffset_VertexAttrib3svNV 707 +#define _gloffset_VertexAttrib4dNV 708 +#define _gloffset_VertexAttrib4dvNV 709 +#define _gloffset_VertexAttrib4fNV 710 +#define _gloffset_VertexAttrib4fvNV 711 +#define _gloffset_VertexAttrib4sNV 712 +#define _gloffset_VertexAttrib4svNV 713 +#define _gloffset_VertexAttrib4ubNV 714 +#define _gloffset_VertexAttrib4ubvNV 715 +#define _gloffset_VertexAttribPointerNV 716 +#define _gloffset_VertexAttribs1dvNV 717 +#define _gloffset_VertexAttribs1fvNV 718 +#define _gloffset_VertexAttribs1svNV 719 +#define _gloffset_VertexAttribs2dvNV 720 +#define _gloffset_VertexAttribs2fvNV 721 +#define _gloffset_VertexAttribs2svNV 722 +#define _gloffset_VertexAttribs3dvNV 723 +#define _gloffset_VertexAttribs3fvNV 724 +#define _gloffset_VertexAttribs3svNV 725 +#define _gloffset_VertexAttribs4dvNV 726 +#define _gloffset_VertexAttribs4fvNV 727 +#define _gloffset_VertexAttribs4svNV 728 +#define _gloffset_VertexAttribs4ubvNV 729 +#define _gloffset_GetTexBumpParameterfvATI 730 +#define _gloffset_GetTexBumpParameterivATI 731 +#define _gloffset_TexBumpParameterfvATI 732 +#define _gloffset_TexBumpParameterivATI 733 +#define _gloffset_AlphaFragmentOp1ATI 734 +#define _gloffset_AlphaFragmentOp2ATI 735 +#define _gloffset_AlphaFragmentOp3ATI 736 +#define _gloffset_BeginFragmentShaderATI 737 +#define _gloffset_BindFragmentShaderATI 738 +#define _gloffset_ColorFragmentOp1ATI 739 +#define _gloffset_ColorFragmentOp2ATI 740 +#define _gloffset_ColorFragmentOp3ATI 741 +#define _gloffset_DeleteFragmentShaderATI 742 +#define _gloffset_EndFragmentShaderATI 743 +#define _gloffset_GenFragmentShadersATI 744 +#define _gloffset_PassTexCoordATI 745 +#define _gloffset_SampleMapATI 746 +#define _gloffset_SetFragmentShaderConstantATI 747 +#define _gloffset_PointParameteriNV 748 +#define _gloffset_PointParameterivNV 749 +#define _gloffset_ActiveStencilFaceEXT 750 +#define _gloffset_BindVertexArrayAPPLE 751 +#define _gloffset_DeleteVertexArraysAPPLE 752 +#define _gloffset_GenVertexArraysAPPLE 753 +#define _gloffset_IsVertexArrayAPPLE 754 +#define _gloffset_GetProgramNamedParameterdvNV 755 +#define _gloffset_GetProgramNamedParameterfvNV 756 +#define _gloffset_ProgramNamedParameter4dNV 757 +#define _gloffset_ProgramNamedParameter4dvNV 758 +#define _gloffset_ProgramNamedParameter4fNV 759 +#define _gloffset_ProgramNamedParameter4fvNV 760 +#define _gloffset_DepthBoundsEXT 761 +#define _gloffset_BlendEquationSeparateEXT 762 +#define _gloffset_BindFramebufferEXT 763 +#define _gloffset_BindRenderbufferEXT 764 +#define _gloffset_CheckFramebufferStatusEXT 765 +#define _gloffset_DeleteFramebuffersEXT 766 +#define _gloffset_DeleteRenderbuffersEXT 767 +#define _gloffset_FramebufferRenderbufferEXT 768 +#define _gloffset_FramebufferTexture1DEXT 769 +#define _gloffset_FramebufferTexture2DEXT 770 +#define _gloffset_FramebufferTexture3DEXT 771 +#define _gloffset_GenFramebuffersEXT 772 +#define _gloffset_GenRenderbuffersEXT 773 +#define _gloffset_GenerateMipmapEXT 774 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 775 +#define _gloffset_GetRenderbufferParameterivEXT 776 +#define _gloffset_IsFramebufferEXT 777 +#define _gloffset_IsRenderbufferEXT 778 +#define _gloffset_RenderbufferStorageEXT 779 +#define _gloffset_BlitFramebufferEXT 780 +#define _gloffset_BufferParameteriAPPLE 781 +#define _gloffset_FlushMappedBufferRangeAPPLE 782 +#define _gloffset_FramebufferTextureLayerEXT 783 +#define _gloffset_ProvokingVertexEXT 784 +#define _gloffset_GetTexParameterPointervAPPLE 785 +#define _gloffset_TextureRangeAPPLE 786 +#define _gloffset_StencilFuncSeparateATI 787 +#define _gloffset_ProgramEnvParameters4fvEXT 788 +#define _gloffset_ProgramLocalParameters4fvEXT 789 +#define _gloffset_GetQueryObjecti64vEXT 790 +#define _gloffset_GetQueryObjectui64vEXT 791 +#define _gloffset_FIRST_DYNAMIC 792 #else @@ -980,6 +987,13 @@ #define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index] #define _gloffset_GenVertexArrays driDispatchRemapTable[GenVertexArrays_remap_index] #define _gloffset_CopyBufferSubData driDispatchRemapTable[CopyBufferSubData_remap_index] +#define _gloffset_ClientWaitSync driDispatchRemapTable[ClientWaitSync_remap_index] +#define _gloffset_DeleteSync driDispatchRemapTable[DeleteSync_remap_index] +#define _gloffset_FenceSync driDispatchRemapTable[FenceSync_remap_index] +#define _gloffset_GetInteger64v driDispatchRemapTable[GetInteger64v_remap_index] +#define _gloffset_GetSynciv driDispatchRemapTable[GetSynciv_remap_index] +#define _gloffset_IsSync driDispatchRemapTable[IsSync_remap_index] +#define _gloffset_WaitSync driDispatchRemapTable[WaitSync_remap_index] #define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] #define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index] #define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index] diff --git a/src/mesa/glapi/glapitable.h b/src/mesa/glapi/glapitable.h index c23e9a63cf..2c661a0ae5 100644 --- a/src/mesa/glapi/glapitable.h +++ b/src/mesa/glapi/glapitable.h @@ -607,224 +607,231 @@ struct _glapi_table void (GLAPIENTRYP BindVertexArray)(GLuint array); /* 564 */ void (GLAPIENTRYP GenVertexArrays)(GLsizei n, GLuint * arrays); /* 565 */ void (GLAPIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); /* 566 */ - void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 567 */ - void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 568 */ - void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 569 */ - void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 570 */ - void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 571 */ - void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 572 */ - void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 573 */ - void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 574 */ - void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 575 */ - void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 576 */ - void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 577 */ - void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 578 */ - void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 579 */ - void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 580 */ - void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 581 */ - void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 582 */ - void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 583 */ - void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 584 */ - void (GLAPIENTRYP UnlockArraysEXT)(void); /* 585 */ - void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 586 */ - void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 587 */ - void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 588 */ - void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 589 */ - void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 590 */ - void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 591 */ - void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 592 */ - void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 593 */ - void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 594 */ - void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 595 */ - void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 596 */ - void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 597 */ - void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 598 */ - void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 599 */ - void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 600 */ - void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 601 */ - void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 602 */ - void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 603 */ - void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 604 */ - void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 605 */ - void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 606 */ - void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 607 */ - void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 608 */ - void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 609 */ - void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 610 */ - void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 611 */ - void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 612 */ - void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 613 */ - void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 614 */ - void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 615 */ - void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 616 */ - void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 617 */ - void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 618 */ - void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 619 */ - void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 620 */ - void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 621 */ - void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 622 */ - void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 623 */ - void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 624 */ - void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 625 */ - void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 626 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 627 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 628 */ - void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 629 */ - void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 630 */ - void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 631 */ - void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 632 */ - void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 633 */ - void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 634 */ - void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 635 */ - void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 636 */ - void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 637 */ - void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 638 */ - void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 639 */ - void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 640 */ - void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 641 */ - void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 642 */ - void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 643 */ - void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 644 */ - void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 645 */ - void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 646 */ - void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 647 */ - void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 648 */ - void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 649 */ - void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 650 */ - void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 651 */ - void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 652 */ - void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 653 */ - void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 654 */ - void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 655 */ - void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 656 */ - void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 657 */ - void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 658 */ - void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 659 */ - GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 660 */ - void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 661 */ - GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 662 */ - GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 663 */ - void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 664 */ - void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 665 */ - void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 666 */ - void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 667 */ - void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 668 */ - void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 669 */ - void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 670 */ - void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 671 */ - void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 672 */ - void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 673 */ - void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 674 */ - void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 675 */ - void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 676 */ - GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 677 */ - void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 678 */ - void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 679 */ - void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 680 */ - void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 681 */ - void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 682 */ - void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 683 */ - void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 684 */ - void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 685 */ - void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 686 */ - void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 687 */ - void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 688 */ - void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 689 */ - void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 690 */ - void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 691 */ - void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 692 */ - void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 693 */ - void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 694 */ - void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 695 */ - void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 696 */ - void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 697 */ - void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 698 */ - void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 699 */ - void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 700 */ - void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 701 */ - void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 702 */ - void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 703 */ - void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 704 */ - void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 705 */ - void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 706 */ - void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 707 */ - void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 708 */ - void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 709 */ - void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 710 */ - void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 711 */ - void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 712 */ - void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 713 */ - void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 714 */ - void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 715 */ - void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 716 */ - void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 717 */ - void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 718 */ - void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 719 */ - void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 720 */ - void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 721 */ - void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 722 */ - void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 723 */ - void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 724 */ - void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 725 */ - void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 726 */ - void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 727 */ - void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 728 */ - void (GLAPIENTRYP AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 729 */ - void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 730 */ - void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 731 */ - void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 732 */ - void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 733 */ - void (GLAPIENTRYP ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 734 */ - void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 735 */ - void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 736 */ - GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 737 */ - void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 738 */ - void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 739 */ - void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 740 */ - void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 741 */ - void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 742 */ - void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 743 */ - void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 744 */ - void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 745 */ - void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 746 */ - GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 747 */ - void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 748 */ - void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 749 */ - void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 750 */ - void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 751 */ - void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 752 */ - void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 753 */ - void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 754 */ - void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 755 */ - void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 756 */ - void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 757 */ - GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 758 */ - void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 759 */ - void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 760 */ - void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 761 */ - void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 762 */ - void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 763 */ - void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 764 */ - void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 765 */ - void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 766 */ - void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 767 */ - void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 768 */ - void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 769 */ - GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 770 */ - GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 771 */ - void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 772 */ - void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 773 */ - void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 774 */ - void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 775 */ - void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 776 */ - void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 777 */ - void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 778 */ - void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 779 */ - void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 780 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 781 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 782 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 783 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 784 */ + void (GLAPIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 567 */ + void (GLAPIENTRYP DeleteSync)(GLsync sync); /* 568 */ + GLuint (GLAPIENTRYP FenceSync)(GLenum condition, GLbitfield flags); /* 569 */ + void (GLAPIENTRYP GetInteger64v)(GLenum pname, GLint64 * params); /* 570 */ + void (GLAPIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 571 */ + GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 572 */ + void (GLAPIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 573 */ + void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 574 */ + void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 575 */ + void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 576 */ + void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 577 */ + void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 578 */ + void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 579 */ + void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 580 */ + void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 581 */ + void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 582 */ + void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 583 */ + void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 584 */ + void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 585 */ + void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 586 */ + void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 587 */ + void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 588 */ + void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 589 */ + void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 590 */ + void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 591 */ + void (GLAPIENTRYP UnlockArraysEXT)(void); /* 592 */ + void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 593 */ + void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 594 */ + void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 595 */ + void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 596 */ + void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 597 */ + void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 598 */ + void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 599 */ + void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 600 */ + void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 601 */ + void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 602 */ + void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 603 */ + void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 604 */ + void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 605 */ + void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 606 */ + void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 607 */ + void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 608 */ + void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 609 */ + void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 610 */ + void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 611 */ + void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 612 */ + void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 613 */ + void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 614 */ + void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 615 */ + void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 616 */ + void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 617 */ + void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 618 */ + void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 619 */ + void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 620 */ + void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 621 */ + void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 622 */ + void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 623 */ + void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 624 */ + void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 625 */ + void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 626 */ + void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 627 */ + void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 628 */ + void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 629 */ + void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 630 */ + void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 631 */ + void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 632 */ + void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 633 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 634 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 635 */ + void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 636 */ + void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 637 */ + void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 638 */ + void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 639 */ + void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 640 */ + void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 641 */ + void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 642 */ + void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 643 */ + void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 644 */ + void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 645 */ + void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 646 */ + void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 647 */ + void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 648 */ + void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 649 */ + void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 650 */ + void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 651 */ + void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 652 */ + void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 653 */ + void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 654 */ + void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 655 */ + void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 656 */ + void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 657 */ + void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 658 */ + void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 659 */ + void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 660 */ + void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 661 */ + void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 662 */ + void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 663 */ + void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 664 */ + void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 665 */ + void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 666 */ + GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 667 */ + void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 668 */ + GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 669 */ + GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 670 */ + void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 671 */ + void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 672 */ + void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 673 */ + void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 674 */ + void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 675 */ + void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 676 */ + void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 677 */ + void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 678 */ + void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 679 */ + void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 680 */ + void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 681 */ + void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 682 */ + void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 683 */ + GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 684 */ + void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 685 */ + void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 686 */ + void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 687 */ + void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 688 */ + void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 689 */ + void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 690 */ + void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 691 */ + void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 692 */ + void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 693 */ + void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 694 */ + void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 695 */ + void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 696 */ + void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 697 */ + void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 698 */ + void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 699 */ + void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 700 */ + void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 701 */ + void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 702 */ + void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 703 */ + void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 704 */ + void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 705 */ + void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 706 */ + void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 707 */ + void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 708 */ + void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 709 */ + void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 710 */ + void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 711 */ + void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 712 */ + void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 713 */ + void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 714 */ + void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 715 */ + void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 716 */ + void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 717 */ + void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 718 */ + void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 719 */ + void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 720 */ + void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 721 */ + void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 722 */ + void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 723 */ + void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 724 */ + void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 725 */ + void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 726 */ + void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 727 */ + void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 728 */ + void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 729 */ + void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 730 */ + void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 731 */ + void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 732 */ + void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 733 */ + void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 734 */ + void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 735 */ + void (GLAPIENTRYP AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 736 */ + void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 737 */ + void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 738 */ + void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 739 */ + void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 740 */ + void (GLAPIENTRYP ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 741 */ + void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 742 */ + void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 743 */ + GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 744 */ + void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 745 */ + void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 746 */ + void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 747 */ + void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 748 */ + void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 749 */ + void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 750 */ + void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 751 */ + void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 752 */ + void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 753 */ + GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 754 */ + void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 755 */ + void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 756 */ + void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 757 */ + void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 758 */ + void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 759 */ + void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 760 */ + void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 761 */ + void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 762 */ + void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 763 */ + void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 764 */ + GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 765 */ + void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 766 */ + void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 767 */ + void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 768 */ + void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 769 */ + void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 770 */ + void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 771 */ + void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 772 */ + void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 773 */ + void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 774 */ + void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 775 */ + void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 776 */ + GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 777 */ + GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 778 */ + void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 779 */ + void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 780 */ + void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 781 */ + void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 782 */ + void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 783 */ + void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 784 */ + void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 785 */ + void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 786 */ + void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 787 */ + void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 788 */ + void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 789 */ + void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 790 */ + void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 791 */ }; #endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h index 68e7a9a4f0..7b211918c1 100644 --- a/src/mesa/glapi/glapitemp.h +++ b/src/mesa/glapi/glapitemp.h @@ -4036,63 +4036,98 @@ KEYWORD1 void KEYWORD2 NAME(CopyBufferSubData)(GLenum readTarget, GLenum writeTa DISPATCH(CopyBufferSubData, (readTarget, writeTarget, readOffset, writeOffset, size), (F, "glCopyBufferSubData(0x%x, 0x%x, %d, %d, %d);\n", readTarget, writeTarget, readOffset, writeOffset, size)); } +KEYWORD1 void KEYWORD2 NAME(ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout) +{ + DISPATCH(ClientWaitSync, (sync, flags, timeout), (F, "glClientWaitSync(%d, %d, %d);\n", sync, flags, timeout)); +} + +KEYWORD1 void KEYWORD2 NAME(DeleteSync)(GLsync sync) +{ + DISPATCH(DeleteSync, (sync), (F, "glDeleteSync(%d);\n", sync)); +} + +KEYWORD1 GLuint KEYWORD2 NAME(FenceSync)(GLenum condition, GLbitfield flags) +{ + RETURN_DISPATCH(FenceSync, (condition, flags), (F, "glFenceSync(0x%x, %d);\n", condition, flags)); +} + +KEYWORD1 void KEYWORD2 NAME(GetInteger64v)(GLenum pname, GLint64 * params) +{ + DISPATCH(GetInteger64v, (pname, params), (F, "glGetInteger64v(0x%x, %p);\n", pname, (const void *) params)); +} + +KEYWORD1 void KEYWORD2 NAME(GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values) +{ + DISPATCH(GetSynciv, (sync, pname, bufSize, length, values), (F, "glGetSynciv(%d, 0x%x, %d, %p, %p);\n", sync, pname, bufSize, (const void *) length, (const void *) values)); +} + +KEYWORD1 GLboolean KEYWORD2 NAME(IsSync)(GLsync sync) +{ + RETURN_DISPATCH(IsSync, (sync), (F, "glIsSync(%d);\n", sync)); +} + +KEYWORD1 void KEYWORD2 NAME(WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout) +{ + DISPATCH(WaitSync, (sync, flags, timeout), (F, "glWaitSync(%d, %d, %d);\n", sync, flags, timeout)); +} + KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) { DISPATCH(PolygonOffsetEXT, (factor, bias), (F, "glPolygonOffsetEXT(%f, %f);\n", factor, bias)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_568)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_575)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_568)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_575)(GLenum pname, GLfloat * params) { DISPATCH(GetPixelTexGenParameterfvSGIS, (pname, params), (F, "glGetPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_569)(GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_576)(GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_569)(GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_576)(GLenum pname, GLint * params) { DISPATCH(GetPixelTexGenParameterivSGIS, (pname, params), (F, "glGetPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_570)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_570)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, GLfloat param) { DISPATCH(PixelTexGenParameterfSGIS, (pname, param), (F, "glPixelTexGenParameterfSGIS(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_571)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_571)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, const GLfloat * params) { DISPATCH(PixelTexGenParameterfvSGIS, (pname, params), (F, "glPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_572)(GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_579)(GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_572)(GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_579)(GLenum pname, GLint param) { DISPATCH(PixelTexGenParameteriSGIS, (pname, param), (F, "glPixelTexGenParameteriSGIS(0x%x, %d);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_573)(GLenum pname, const GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, const GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_573)(GLenum pname, const GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, const GLint * params) { DISPATCH(PixelTexGenParameterivSGIS, (pname, params), (F, "glPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_574)(GLclampf value, GLboolean invert); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLclampf value, GLboolean invert); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_574)(GLclampf value, GLboolean invert) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLclampf value, GLboolean invert) { DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskSGIS(%f, %d);\n", value, invert)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_575)(GLenum pattern); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pattern); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_575)(GLenum pattern) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pattern) { DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternSGIS(0x%x);\n", pattern)); } @@ -4142,9 +4177,9 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterfEXT)(GLenum pname, GLfloat param) DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfEXT(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_589)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_589)(GLenum pname, GLfloat param) { DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfSGIS(0x%x, %f);\n", pname, param)); } @@ -4164,9 +4199,9 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterfvEXT)(GLenum pname, const GLfloat * p DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvEXT(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_583)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_590)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_583)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_590)(GLenum pname, const GLfloat * params) { DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } @@ -4181,16 +4216,16 @@ KEYWORD1 void KEYWORD2 NAME(UnlockArraysEXT)(void) DISPATCH(UnlockArraysEXT, (), (F, "glUnlockArraysEXT();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_586)(GLenum pname, GLdouble * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_593)(GLenum pname, GLdouble * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_586)(GLenum pname, GLdouble * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_593)(GLenum pname, GLdouble * params) { DISPATCH(CullParameterdvEXT, (pname, params), (F, "glCullParameterdvEXT(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_587)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_594)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_587)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_594)(GLenum pname, GLfloat * params) { DISPATCH(CullParameterfvEXT, (pname, params), (F, "glCullParameterfvEXT(0x%x, %p);\n", pname, (const void *) params)); } @@ -4435,9 +4470,9 @@ KEYWORD1 void KEYWORD2 NAME(FogCoordfvEXT)(const GLfloat * coord) DISPATCH(FogCoordfvEXT, (coord), (F, "glFogCoordfvEXT(%p);\n", (const void *) coord)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_612)(GLenum mode); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_619)(GLenum mode); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_612)(GLenum mode) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_619)(GLenum mode) { DISPATCH(PixelTexGenSGIX, (mode), (F, "glPixelTexGenSGIX(0x%x);\n", mode)); } @@ -4452,9 +4487,9 @@ KEYWORD1 void KEYWORD2 NAME(BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfac DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateEXT(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_613)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_620)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_613)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_620)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateINGR(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } @@ -4819,65 +4854,65 @@ KEYWORD1 void KEYWORD2 NAME(WindowPos4svMESA)(const GLshort * v) DISPATCH(WindowPos4svMESA, (v), (F, "glWindowPos4svMESA(%p);\n", (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_654)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_661)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_654)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_661)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawArraysIBM, (mode, first, count, primcount, modestride), (F, "glMultiModeDrawArraysIBM(%p, %p, %p, %d, %d);\n", (const void *) mode, (const void *) first, (const void *) count, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_655)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_662)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_655)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_662)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawElementsIBM, (mode, count, type, indices, primcount, modestride), (F, "glMultiModeDrawElementsIBM(%p, %p, 0x%x, %p, %d, %d);\n", (const void *) mode, (const void *) count, type, (const void *) indices, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_656)(GLsizei n, const GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_663)(GLsizei n, const GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_656)(GLsizei n, const GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_663)(GLsizei n, const GLuint * fences) { DISPATCH(DeleteFencesNV, (n, fences), (F, "glDeleteFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_657)(GLuint fence); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_664)(GLuint fence); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_657)(GLuint fence) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_664)(GLuint fence) { DISPATCH(FinishFenceNV, (fence), (F, "glFinishFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_658)(GLsizei n, GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_665)(GLsizei n, GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_658)(GLsizei n, GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_665)(GLsizei n, GLuint * fences) { DISPATCH(GenFencesNV, (n, fences), (F, "glGenFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_659)(GLuint fence, GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_666)(GLuint fence, GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_659)(GLuint fence, GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_666)(GLuint fence, GLenum pname, GLint * params) { DISPATCH(GetFenceivNV, (fence, pname, params), (F, "glGetFenceivNV(%d, 0x%x, %p);\n", fence, pname, (const void *) params)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_660)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_667)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_660)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_667)(GLuint fence) { RETURN_DISPATCH(IsFenceNV, (fence), (F, "glIsFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_661)(GLuint fence, GLenum condition); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_668)(GLuint fence, GLenum condition); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_661)(GLuint fence, GLenum condition) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_668)(GLuint fence, GLenum condition) { DISPATCH(SetFenceNV, (fence, condition), (F, "glSetFenceNV(%d, 0x%x);\n", fence, condition)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_662)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_669)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_662)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_669)(GLuint fence) { RETURN_DISPATCH(TestFenceNV, (fence), (F, "glTestFenceNV(%d);\n", fence)); } @@ -5322,16 +5357,16 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterivNV)(GLenum pname, const GLint * para DISPATCH(PointParameterivNV, (pname, params), (F, "glPointParameterivNV(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_743)(GLenum face); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_750)(GLenum face); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_743)(GLenum face) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_750)(GLenum face) { DISPATCH(ActiveStencilFaceEXT, (face), (F, "glActiveStencilFaceEXT(0x%x);\n", face)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_744)(GLuint array); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_751)(GLuint array); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_744)(GLuint array) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_751)(GLuint array) { DISPATCH(BindVertexArrayAPPLE, (array), (F, "glBindVertexArrayAPPLE(%d);\n", array)); } @@ -5341,16 +5376,16 @@ KEYWORD1 void KEYWORD2 NAME(DeleteVertexArrays)(GLsizei n, const GLuint * arrays DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArrays(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_745)(GLsizei n, const GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_752)(GLsizei n, const GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_745)(GLsizei n, const GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_752)(GLsizei n, const GLuint * arrays) { DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_746)(GLsizei n, GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_753)(GLsizei n, GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_746)(GLsizei n, GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_753)(GLsizei n, GLuint * arrays) { DISPATCH(GenVertexArraysAPPLE, (n, arrays), (F, "glGenVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } @@ -5360,9 +5395,9 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsVertexArray)(GLuint array) RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArray(%d);\n", array)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_747)(GLuint array); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_754)(GLuint array); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_747)(GLuint array) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_754)(GLuint array) { RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArrayAPPLE(%d);\n", array)); } @@ -5397,9 +5432,9 @@ KEYWORD1 void KEYWORD2 NAME(ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, DISPATCH(ProgramNamedParameter4fvNV, (id, len, name, v), (F, "glProgramNamedParameter4fvNV(%d, %d, %p, %p);\n", id, len, (const void *) name, (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_754)(GLclampd zmin, GLclampd zmax); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_761)(GLclampd zmin, GLclampd zmax); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_754)(GLclampd zmin, GLclampd zmax) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_761)(GLclampd zmin, GLclampd zmax) { DISPATCH(DepthBoundsEXT, (zmin, zmax), (F, "glDepthBoundsEXT(%f, %f);\n", zmin, zmax)); } @@ -5409,9 +5444,9 @@ KEYWORD1 void KEYWORD2 NAME(BlendEquationSeparate)(GLenum modeRGB, GLenum modeA) DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparate(0x%x, 0x%x);\n", modeRGB, modeA)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_755)(GLenum modeRGB, GLenum modeA); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_762)(GLenum modeRGB, GLenum modeA); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_755)(GLenum modeRGB, GLenum modeA) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_762)(GLenum modeRGB, GLenum modeA) { DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateEXT(0x%x, 0x%x);\n", modeRGB, modeA)); } @@ -5591,23 +5626,23 @@ KEYWORD1 void KEYWORD2 NAME(BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint src DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebuffer(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_773)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_780)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_773)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_780)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebufferEXT(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLenum target, GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_781)(GLenum target, GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLenum target, GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_781)(GLenum target, GLenum pname, GLint param) { DISPATCH(BufferParameteriAPPLE, (target, pname, param), (F, "glBufferParameteriAPPLE(0x%x, 0x%x, %d);\n", target, pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_775)(GLenum target, GLintptr offset, GLsizeiptr size); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_782)(GLenum target, GLintptr offset, GLsizeiptr size); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_775)(GLenum target, GLintptr offset, GLsizeiptr size) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_782)(GLenum target, GLintptr offset, GLsizeiptr size) { DISPATCH(FlushMappedBufferRangeAPPLE, (target, offset, size), (F, "glFlushMappedBufferRangeAPPLE(0x%x, %d, %d);\n", target, offset, size)); } @@ -5627,51 +5662,51 @@ KEYWORD1 void KEYWORD2 NAME(ProvokingVertexEXT)(GLenum mode) DISPATCH(ProvokingVertexEXT, (mode), (F, "glProvokingVertexEXT(0x%x);\n", mode)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_778)(GLenum target, GLenum pname, GLvoid ** params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_785)(GLenum target, GLenum pname, GLvoid ** params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_778)(GLenum target, GLenum pname, GLvoid ** params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_785)(GLenum target, GLenum pname, GLvoid ** params) { DISPATCH(GetTexParameterPointervAPPLE, (target, pname, params), (F, "glGetTexParameterPointervAPPLE(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_779)(GLenum target, GLsizei length, GLvoid * pointer); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_786)(GLenum target, GLsizei length, GLvoid * pointer); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_779)(GLenum target, GLsizei length, GLvoid * pointer) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_786)(GLenum target, GLsizei length, GLvoid * pointer) { DISPATCH(TextureRangeAPPLE, (target, length, pointer), (F, "glTextureRangeAPPLE(0x%x, %d, %p);\n", target, length, (const void *) pointer)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_780)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_780)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) { DISPATCH(StencilFuncSeparateATI, (frontfunc, backfunc, ref, mask), (F, "glStencilFuncSeparateATI(0x%x, 0x%x, %d, %d);\n", frontfunc, backfunc, ref, mask)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_781)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_788)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_781)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_788)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_782)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_789)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_782)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_789)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { DISPATCH(ProgramLocalParameters4fvEXT, (target, index, count, params), (F, "glProgramLocalParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_783)(GLuint id, GLenum pname, GLint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_790)(GLuint id, GLenum pname, GLint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_783)(GLuint id, GLenum pname, GLint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_790)(GLuint id, GLenum pname, GLint64EXT * params) { DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_784)(GLuint id, GLenum pname, GLuint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_791)(GLuint id, GLenum pname, GLuint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_784)(GLuint id, GLenum pname, GLuint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_791)(GLuint id, GLenum pname, GLuint64EXT * params) { DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } @@ -6257,15 +6292,22 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(BindVertexArray), TABLE_ENTRY(GenVertexArrays), TABLE_ENTRY(CopyBufferSubData), + TABLE_ENTRY(ClientWaitSync), + TABLE_ENTRY(DeleteSync), + TABLE_ENTRY(FenceSync), + TABLE_ENTRY(GetInteger64v), + TABLE_ENTRY(GetSynciv), + TABLE_ENTRY(IsSync), + TABLE_ENTRY(WaitSync), TABLE_ENTRY(PolygonOffsetEXT), - TABLE_ENTRY(_dispatch_stub_568), - TABLE_ENTRY(_dispatch_stub_569), - TABLE_ENTRY(_dispatch_stub_570), - TABLE_ENTRY(_dispatch_stub_571), - TABLE_ENTRY(_dispatch_stub_572), - TABLE_ENTRY(_dispatch_stub_573), - TABLE_ENTRY(_dispatch_stub_574), TABLE_ENTRY(_dispatch_stub_575), + TABLE_ENTRY(_dispatch_stub_576), + TABLE_ENTRY(_dispatch_stub_577), + TABLE_ENTRY(_dispatch_stub_578), + TABLE_ENTRY(_dispatch_stub_579), + TABLE_ENTRY(_dispatch_stub_580), + TABLE_ENTRY(_dispatch_stub_581), + TABLE_ENTRY(_dispatch_stub_582), TABLE_ENTRY(ColorPointerEXT), TABLE_ENTRY(EdgeFlagPointerEXT), TABLE_ENTRY(IndexPointerEXT), @@ -6276,8 +6318,8 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(PointParameterfvEXT), TABLE_ENTRY(LockArraysEXT), TABLE_ENTRY(UnlockArraysEXT), - TABLE_ENTRY(_dispatch_stub_586), - TABLE_ENTRY(_dispatch_stub_587), + TABLE_ENTRY(_dispatch_stub_593), + TABLE_ENTRY(_dispatch_stub_594), TABLE_ENTRY(SecondaryColor3bEXT), TABLE_ENTRY(SecondaryColor3bvEXT), TABLE_ENTRY(SecondaryColor3dEXT), @@ -6302,7 +6344,7 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(FogCoorddvEXT), TABLE_ENTRY(FogCoordfEXT), TABLE_ENTRY(FogCoordfvEXT), - TABLE_ENTRY(_dispatch_stub_612), + TABLE_ENTRY(_dispatch_stub_619), TABLE_ENTRY(BlendFuncSeparateEXT), TABLE_ENTRY(FlushVertexArrayRangeNV), TABLE_ENTRY(VertexArrayRangeNV), @@ -6344,15 +6386,15 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(WindowPos4ivMESA), TABLE_ENTRY(WindowPos4sMESA), TABLE_ENTRY(WindowPos4svMESA), - TABLE_ENTRY(_dispatch_stub_654), - TABLE_ENTRY(_dispatch_stub_655), - TABLE_ENTRY(_dispatch_stub_656), - TABLE_ENTRY(_dispatch_stub_657), - TABLE_ENTRY(_dispatch_stub_658), - TABLE_ENTRY(_dispatch_stub_659), - TABLE_ENTRY(_dispatch_stub_660), TABLE_ENTRY(_dispatch_stub_661), TABLE_ENTRY(_dispatch_stub_662), + TABLE_ENTRY(_dispatch_stub_663), + TABLE_ENTRY(_dispatch_stub_664), + TABLE_ENTRY(_dispatch_stub_665), + TABLE_ENTRY(_dispatch_stub_666), + TABLE_ENTRY(_dispatch_stub_667), + TABLE_ENTRY(_dispatch_stub_668), + TABLE_ENTRY(_dispatch_stub_669), TABLE_ENTRY(AreProgramsResidentNV), TABLE_ENTRY(BindProgramNV), TABLE_ENTRY(DeleteProgramsNV), @@ -6433,19 +6475,19 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(SetFragmentShaderConstantATI), TABLE_ENTRY(PointParameteriNV), TABLE_ENTRY(PointParameterivNV), - TABLE_ENTRY(_dispatch_stub_743), - TABLE_ENTRY(_dispatch_stub_744), - TABLE_ENTRY(_dispatch_stub_745), - TABLE_ENTRY(_dispatch_stub_746), - TABLE_ENTRY(_dispatch_stub_747), + TABLE_ENTRY(_dispatch_stub_750), + TABLE_ENTRY(_dispatch_stub_751), + TABLE_ENTRY(_dispatch_stub_752), + TABLE_ENTRY(_dispatch_stub_753), + TABLE_ENTRY(_dispatch_stub_754), TABLE_ENTRY(GetProgramNamedParameterdvNV), TABLE_ENTRY(GetProgramNamedParameterfvNV), TABLE_ENTRY(ProgramNamedParameter4dNV), TABLE_ENTRY(ProgramNamedParameter4dvNV), TABLE_ENTRY(ProgramNamedParameter4fNV), TABLE_ENTRY(ProgramNamedParameter4fvNV), - TABLE_ENTRY(_dispatch_stub_754), - TABLE_ENTRY(_dispatch_stub_755), + TABLE_ENTRY(_dispatch_stub_761), + TABLE_ENTRY(_dispatch_stub_762), TABLE_ENTRY(BindFramebufferEXT), TABLE_ENTRY(BindRenderbufferEXT), TABLE_ENTRY(CheckFramebufferStatusEXT), @@ -6463,18 +6505,18 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(IsFramebufferEXT), TABLE_ENTRY(IsRenderbufferEXT), TABLE_ENTRY(RenderbufferStorageEXT), - TABLE_ENTRY(_dispatch_stub_773), - TABLE_ENTRY(_dispatch_stub_774), - TABLE_ENTRY(_dispatch_stub_775), - TABLE_ENTRY(FramebufferTextureLayerEXT), - TABLE_ENTRY(ProvokingVertexEXT), - TABLE_ENTRY(_dispatch_stub_778), - TABLE_ENTRY(_dispatch_stub_779), TABLE_ENTRY(_dispatch_stub_780), TABLE_ENTRY(_dispatch_stub_781), TABLE_ENTRY(_dispatch_stub_782), - TABLE_ENTRY(_dispatch_stub_783), - TABLE_ENTRY(_dispatch_stub_784), + TABLE_ENTRY(FramebufferTextureLayerEXT), + TABLE_ENTRY(ProvokingVertexEXT), + TABLE_ENTRY(_dispatch_stub_785), + TABLE_ENTRY(_dispatch_stub_786), + TABLE_ENTRY(_dispatch_stub_787), + TABLE_ENTRY(_dispatch_stub_788), + TABLE_ENTRY(_dispatch_stub_789), + TABLE_ENTRY(_dispatch_stub_790), + TABLE_ENTRY(_dispatch_stub_791), /* A whole bunch of no-op functions. These might be called * when someone tries to call a dynamically-registered * extension function without a current rendering context. diff --git a/src/mesa/glapi/glprocs.h b/src/mesa/glapi/glprocs.h index 21e96a9325..ae6603262e 100644 --- a/src/mesa/glapi/glprocs.h +++ b/src/mesa/glapi/glprocs.h @@ -619,6 +619,13 @@ static const char gl_string_table[] = "glBindVertexArray\0" "glGenVertexArrays\0" "glCopyBufferSubData\0" + "glClientWaitSync\0" + "glDeleteSync\0" + "glFenceSync\0" + "glGetInteger64v\0" + "glGetSynciv\0" + "glIsSync\0" + "glWaitSync\0" "glPolygonOffsetEXT\0" "glGetPixelTexGenParameterfvSGIS\0" "glGetPixelTexGenParameterivSGIS\0" @@ -1154,43 +1161,43 @@ static const char gl_string_table[] = #define gl_dispatch_stub_364 mgl_dispatch_stub_364 #define gl_dispatch_stub_365 mgl_dispatch_stub_365 #define gl_dispatch_stub_366 mgl_dispatch_stub_366 -#define gl_dispatch_stub_568 mgl_dispatch_stub_568 -#define gl_dispatch_stub_569 mgl_dispatch_stub_569 -#define gl_dispatch_stub_570 mgl_dispatch_stub_570 -#define gl_dispatch_stub_571 mgl_dispatch_stub_571 -#define gl_dispatch_stub_572 mgl_dispatch_stub_572 -#define gl_dispatch_stub_573 mgl_dispatch_stub_573 -#define gl_dispatch_stub_574 mgl_dispatch_stub_574 #define gl_dispatch_stub_575 mgl_dispatch_stub_575 -#define gl_dispatch_stub_586 mgl_dispatch_stub_586 -#define gl_dispatch_stub_587 mgl_dispatch_stub_587 -#define gl_dispatch_stub_612 mgl_dispatch_stub_612 -#define gl_dispatch_stub_654 mgl_dispatch_stub_654 -#define gl_dispatch_stub_655 mgl_dispatch_stub_655 -#define gl_dispatch_stub_656 mgl_dispatch_stub_656 -#define gl_dispatch_stub_657 mgl_dispatch_stub_657 -#define gl_dispatch_stub_658 mgl_dispatch_stub_658 -#define gl_dispatch_stub_659 mgl_dispatch_stub_659 -#define gl_dispatch_stub_660 mgl_dispatch_stub_660 +#define gl_dispatch_stub_576 mgl_dispatch_stub_576 +#define gl_dispatch_stub_577 mgl_dispatch_stub_577 +#define gl_dispatch_stub_578 mgl_dispatch_stub_578 +#define gl_dispatch_stub_579 mgl_dispatch_stub_579 +#define gl_dispatch_stub_580 mgl_dispatch_stub_580 +#define gl_dispatch_stub_581 mgl_dispatch_stub_581 +#define gl_dispatch_stub_582 mgl_dispatch_stub_582 +#define gl_dispatch_stub_593 mgl_dispatch_stub_593 +#define gl_dispatch_stub_594 mgl_dispatch_stub_594 +#define gl_dispatch_stub_619 mgl_dispatch_stub_619 #define gl_dispatch_stub_661 mgl_dispatch_stub_661 #define gl_dispatch_stub_662 mgl_dispatch_stub_662 -#define gl_dispatch_stub_743 mgl_dispatch_stub_743 -#define gl_dispatch_stub_744 mgl_dispatch_stub_744 -#define gl_dispatch_stub_745 mgl_dispatch_stub_745 -#define gl_dispatch_stub_746 mgl_dispatch_stub_746 -#define gl_dispatch_stub_747 mgl_dispatch_stub_747 +#define gl_dispatch_stub_663 mgl_dispatch_stub_663 +#define gl_dispatch_stub_664 mgl_dispatch_stub_664 +#define gl_dispatch_stub_665 mgl_dispatch_stub_665 +#define gl_dispatch_stub_666 mgl_dispatch_stub_666 +#define gl_dispatch_stub_667 mgl_dispatch_stub_667 +#define gl_dispatch_stub_668 mgl_dispatch_stub_668 +#define gl_dispatch_stub_669 mgl_dispatch_stub_669 +#define gl_dispatch_stub_750 mgl_dispatch_stub_750 +#define gl_dispatch_stub_751 mgl_dispatch_stub_751 +#define gl_dispatch_stub_752 mgl_dispatch_stub_752 +#define gl_dispatch_stub_753 mgl_dispatch_stub_753 #define gl_dispatch_stub_754 mgl_dispatch_stub_754 -#define gl_dispatch_stub_755 mgl_dispatch_stub_755 -#define gl_dispatch_stub_773 mgl_dispatch_stub_773 -#define gl_dispatch_stub_774 mgl_dispatch_stub_774 -#define gl_dispatch_stub_775 mgl_dispatch_stub_775 -#define gl_dispatch_stub_778 mgl_dispatch_stub_778 -#define gl_dispatch_stub_779 mgl_dispatch_stub_779 +#define gl_dispatch_stub_761 mgl_dispatch_stub_761 +#define gl_dispatch_stub_762 mgl_dispatch_stub_762 #define gl_dispatch_stub_780 mgl_dispatch_stub_780 #define gl_dispatch_stub_781 mgl_dispatch_stub_781 #define gl_dispatch_stub_782 mgl_dispatch_stub_782 -#define gl_dispatch_stub_783 mgl_dispatch_stub_783 -#define gl_dispatch_stub_784 mgl_dispatch_stub_784 +#define gl_dispatch_stub_785 mgl_dispatch_stub_785 +#define gl_dispatch_stub_786 mgl_dispatch_stub_786 +#define gl_dispatch_stub_787 mgl_dispatch_stub_787 +#define gl_dispatch_stub_788 mgl_dispatch_stub_788 +#define gl_dispatch_stub_789 mgl_dispatch_stub_789 +#define gl_dispatch_stub_790 mgl_dispatch_stub_790 +#define gl_dispatch_stub_791 mgl_dispatch_stub_791 #endif /* USE_MGL_NAMESPACE */ @@ -1208,43 +1215,43 @@ void GLAPIENTRY gl_dispatch_stub_363(GLenum target, GLenum pname, GLint * params void GLAPIENTRY gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); void GLAPIENTRY gl_dispatch_stub_365(GLenum target, GLenum pname, GLfloat * params); void GLAPIENTRY gl_dispatch_stub_366(GLenum target, GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_568(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_569(GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_570(GLenum pname, GLfloat param); -void GLAPIENTRY gl_dispatch_stub_571(GLenum pname, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_572(GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_573(GLenum pname, const GLint * params); -void GLAPIENTRY gl_dispatch_stub_574(GLclampf value, GLboolean invert); -void GLAPIENTRY gl_dispatch_stub_575(GLenum pattern); -void GLAPIENTRY gl_dispatch_stub_586(GLenum pname, GLdouble * params); -void GLAPIENTRY gl_dispatch_stub_587(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_612(GLenum mode); -void GLAPIENTRY gl_dispatch_stub_654(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_655(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_656(GLsizei n, const GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_657(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_658(GLsizei n, GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_659(GLuint fence, GLenum pname, GLint * params); -GLboolean GLAPIENTRY gl_dispatch_stub_660(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_661(GLuint fence, GLenum condition); -GLboolean GLAPIENTRY gl_dispatch_stub_662(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_743(GLenum face); -void GLAPIENTRY gl_dispatch_stub_744(GLuint array); -void GLAPIENTRY gl_dispatch_stub_745(GLsizei n, const GLuint * arrays); -void GLAPIENTRY gl_dispatch_stub_746(GLsizei n, GLuint * arrays); -GLboolean GLAPIENTRY gl_dispatch_stub_747(GLuint array); -void GLAPIENTRY gl_dispatch_stub_754(GLclampd zmin, GLclampd zmax); -void GLAPIENTRY gl_dispatch_stub_755(GLenum modeRGB, GLenum modeA); -void GLAPIENTRY gl_dispatch_stub_773(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -void GLAPIENTRY gl_dispatch_stub_774(GLenum target, GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_775(GLenum target, GLintptr offset, GLsizeiptr size); -void GLAPIENTRY gl_dispatch_stub_778(GLenum target, GLenum pname, GLvoid ** params); -void GLAPIENTRY gl_dispatch_stub_779(GLenum target, GLsizei length, GLvoid * pointer); -void GLAPIENTRY gl_dispatch_stub_780(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void GLAPIENTRY gl_dispatch_stub_781(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_782(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_783(GLuint id, GLenum pname, GLint64EXT * params); -void GLAPIENTRY gl_dispatch_stub_784(GLuint id, GLenum pname, GLuint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_575(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_576(GLenum pname, GLint * params); +void GLAPIENTRY gl_dispatch_stub_577(GLenum pname, GLfloat param); +void GLAPIENTRY gl_dispatch_stub_578(GLenum pname, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_579(GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_580(GLenum pname, const GLint * params); +void GLAPIENTRY gl_dispatch_stub_581(GLclampf value, GLboolean invert); +void GLAPIENTRY gl_dispatch_stub_582(GLenum pattern); +void GLAPIENTRY gl_dispatch_stub_593(GLenum pname, GLdouble * params); +void GLAPIENTRY gl_dispatch_stub_594(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_619(GLenum mode); +void GLAPIENTRY gl_dispatch_stub_661(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_662(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_663(GLsizei n, const GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_664(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_665(GLsizei n, GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_666(GLuint fence, GLenum pname, GLint * params); +GLboolean GLAPIENTRY gl_dispatch_stub_667(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_668(GLuint fence, GLenum condition); +GLboolean GLAPIENTRY gl_dispatch_stub_669(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_750(GLenum face); +void GLAPIENTRY gl_dispatch_stub_751(GLuint array); +void GLAPIENTRY gl_dispatch_stub_752(GLsizei n, const GLuint * arrays); +void GLAPIENTRY gl_dispatch_stub_753(GLsizei n, GLuint * arrays); +GLboolean GLAPIENTRY gl_dispatch_stub_754(GLuint array); +void GLAPIENTRY gl_dispatch_stub_761(GLclampd zmin, GLclampd zmax); +void GLAPIENTRY gl_dispatch_stub_762(GLenum modeRGB, GLenum modeA); +void GLAPIENTRY gl_dispatch_stub_780(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +void GLAPIENTRY gl_dispatch_stub_781(GLenum target, GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_782(GLenum target, GLintptr offset, GLsizeiptr size); +void GLAPIENTRY gl_dispatch_stub_785(GLenum target, GLenum pname, GLvoid ** params); +void GLAPIENTRY gl_dispatch_stub_786(GLenum target, GLsizei length, GLvoid * pointer); +void GLAPIENTRY gl_dispatch_stub_787(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +void GLAPIENTRY gl_dispatch_stub_788(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_789(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_790(GLuint id, GLenum pname, GLint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_791(GLuint id, GLenum pname, GLuint64EXT * params); #endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ static const glprocs_table_t static_functions[] = { @@ -1815,524 +1822,531 @@ static const glprocs_table_t static_functions[] = { NAME_FUNC_OFFSET( 9026, glBindVertexArray, glBindVertexArray, NULL, _gloffset_BindVertexArray), NAME_FUNC_OFFSET( 9044, glGenVertexArrays, glGenVertexArrays, NULL, _gloffset_GenVertexArrays), NAME_FUNC_OFFSET( 9062, glCopyBufferSubData, glCopyBufferSubData, NULL, _gloffset_CopyBufferSubData), - NAME_FUNC_OFFSET( 9082, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, _gloffset_PolygonOffsetEXT), - NAME_FUNC_OFFSET( 9101, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_GetPixelTexGenParameterfvSGIS), - NAME_FUNC_OFFSET( 9133, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_GetPixelTexGenParameterivSGIS), - NAME_FUNC_OFFSET( 9165, gl_dispatch_stub_570, gl_dispatch_stub_570, NULL, _gloffset_PixelTexGenParameterfSGIS), - NAME_FUNC_OFFSET( 9193, gl_dispatch_stub_571, gl_dispatch_stub_571, NULL, _gloffset_PixelTexGenParameterfvSGIS), - NAME_FUNC_OFFSET( 9222, gl_dispatch_stub_572, gl_dispatch_stub_572, NULL, _gloffset_PixelTexGenParameteriSGIS), - NAME_FUNC_OFFSET( 9250, gl_dispatch_stub_573, gl_dispatch_stub_573, NULL, _gloffset_PixelTexGenParameterivSGIS), - NAME_FUNC_OFFSET( 9279, gl_dispatch_stub_574, gl_dispatch_stub_574, NULL, _gloffset_SampleMaskSGIS), - NAME_FUNC_OFFSET( 9296, gl_dispatch_stub_575, gl_dispatch_stub_575, NULL, _gloffset_SamplePatternSGIS), - NAME_FUNC_OFFSET( 9316, glColorPointerEXT, glColorPointerEXT, NULL, _gloffset_ColorPointerEXT), - NAME_FUNC_OFFSET( 9334, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, _gloffset_EdgeFlagPointerEXT), - NAME_FUNC_OFFSET( 9355, glIndexPointerEXT, glIndexPointerEXT, NULL, _gloffset_IndexPointerEXT), - NAME_FUNC_OFFSET( 9373, glNormalPointerEXT, glNormalPointerEXT, NULL, _gloffset_NormalPointerEXT), - NAME_FUNC_OFFSET( 9392, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, _gloffset_TexCoordPointerEXT), - NAME_FUNC_OFFSET( 9413, glVertexPointerEXT, glVertexPointerEXT, NULL, _gloffset_VertexPointerEXT), - NAME_FUNC_OFFSET( 9432, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET( 9453, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET( 9475, glLockArraysEXT, glLockArraysEXT, NULL, _gloffset_LockArraysEXT), - NAME_FUNC_OFFSET( 9491, glUnlockArraysEXT, glUnlockArraysEXT, NULL, _gloffset_UnlockArraysEXT), - NAME_FUNC_OFFSET( 9509, gl_dispatch_stub_586, gl_dispatch_stub_586, NULL, _gloffset_CullParameterdvEXT), - NAME_FUNC_OFFSET( 9530, gl_dispatch_stub_587, gl_dispatch_stub_587, NULL, _gloffset_CullParameterfvEXT), - NAME_FUNC_OFFSET( 9551, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), - NAME_FUNC_OFFSET( 9573, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), - NAME_FUNC_OFFSET( 9596, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), - NAME_FUNC_OFFSET( 9618, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), - NAME_FUNC_OFFSET( 9641, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), - NAME_FUNC_OFFSET( 9663, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), - NAME_FUNC_OFFSET( 9686, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), - NAME_FUNC_OFFSET( 9708, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), - NAME_FUNC_OFFSET( 9731, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), - NAME_FUNC_OFFSET( 9753, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), - NAME_FUNC_OFFSET( 9776, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), - NAME_FUNC_OFFSET( 9799, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), - NAME_FUNC_OFFSET( 9823, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), - NAME_FUNC_OFFSET( 9846, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), - NAME_FUNC_OFFSET( 9870, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), - NAME_FUNC_OFFSET( 9893, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), - NAME_FUNC_OFFSET( 9917, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), - NAME_FUNC_OFFSET( 9944, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), - NAME_FUNC_OFFSET( 9965, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), - NAME_FUNC_OFFSET( 9988, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), - NAME_FUNC_OFFSET(10009, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), - NAME_FUNC_OFFSET(10024, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), - NAME_FUNC_OFFSET(10040, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), - NAME_FUNC_OFFSET(10055, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), - NAME_FUNC_OFFSET(10071, gl_dispatch_stub_612, gl_dispatch_stub_612, NULL, _gloffset_PixelTexGenSGIX), - NAME_FUNC_OFFSET(10089, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(10112, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, _gloffset_FlushVertexArrayRangeNV), - NAME_FUNC_OFFSET(10138, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, _gloffset_VertexArrayRangeNV), - NAME_FUNC_OFFSET(10159, glCombinerInputNV, glCombinerInputNV, NULL, _gloffset_CombinerInputNV), - NAME_FUNC_OFFSET(10177, glCombinerOutputNV, glCombinerOutputNV, NULL, _gloffset_CombinerOutputNV), - NAME_FUNC_OFFSET(10196, glCombinerParameterfNV, glCombinerParameterfNV, NULL, _gloffset_CombinerParameterfNV), - NAME_FUNC_OFFSET(10219, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, _gloffset_CombinerParameterfvNV), - NAME_FUNC_OFFSET(10243, glCombinerParameteriNV, glCombinerParameteriNV, NULL, _gloffset_CombinerParameteriNV), - NAME_FUNC_OFFSET(10266, glCombinerParameterivNV, glCombinerParameterivNV, NULL, _gloffset_CombinerParameterivNV), - NAME_FUNC_OFFSET(10290, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, _gloffset_FinalCombinerInputNV), - NAME_FUNC_OFFSET(10313, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, _gloffset_GetCombinerInputParameterfvNV), - NAME_FUNC_OFFSET(10345, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, _gloffset_GetCombinerInputParameterivNV), - NAME_FUNC_OFFSET(10377, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, _gloffset_GetCombinerOutputParameterfvNV), - NAME_FUNC_OFFSET(10410, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, _gloffset_GetCombinerOutputParameterivNV), - NAME_FUNC_OFFSET(10443, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, _gloffset_GetFinalCombinerInputParameterfvNV), - NAME_FUNC_OFFSET(10480, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, _gloffset_GetFinalCombinerInputParameterivNV), - NAME_FUNC_OFFSET(10517, glResizeBuffersMESA, glResizeBuffersMESA, NULL, _gloffset_ResizeBuffersMESA), - NAME_FUNC_OFFSET(10537, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(10555, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(10574, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(10592, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(10611, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(10629, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(10648, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(10666, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(10685, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(10703, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(10722, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(10740, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(10759, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(10777, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(10796, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(10814, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(10833, glWindowPos4dMESA, glWindowPos4dMESA, NULL, _gloffset_WindowPos4dMESA), - NAME_FUNC_OFFSET(10851, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, _gloffset_WindowPos4dvMESA), - NAME_FUNC_OFFSET(10870, glWindowPos4fMESA, glWindowPos4fMESA, NULL, _gloffset_WindowPos4fMESA), - NAME_FUNC_OFFSET(10888, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, _gloffset_WindowPos4fvMESA), - NAME_FUNC_OFFSET(10907, glWindowPos4iMESA, glWindowPos4iMESA, NULL, _gloffset_WindowPos4iMESA), - NAME_FUNC_OFFSET(10925, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, _gloffset_WindowPos4ivMESA), - NAME_FUNC_OFFSET(10944, glWindowPos4sMESA, glWindowPos4sMESA, NULL, _gloffset_WindowPos4sMESA), - NAME_FUNC_OFFSET(10962, glWindowPos4svMESA, glWindowPos4svMESA, NULL, _gloffset_WindowPos4svMESA), - NAME_FUNC_OFFSET(10981, gl_dispatch_stub_654, gl_dispatch_stub_654, NULL, _gloffset_MultiModeDrawArraysIBM), - NAME_FUNC_OFFSET(11006, gl_dispatch_stub_655, gl_dispatch_stub_655, NULL, _gloffset_MultiModeDrawElementsIBM), - NAME_FUNC_OFFSET(11033, gl_dispatch_stub_656, gl_dispatch_stub_656, NULL, _gloffset_DeleteFencesNV), - NAME_FUNC_OFFSET(11050, gl_dispatch_stub_657, gl_dispatch_stub_657, NULL, _gloffset_FinishFenceNV), - NAME_FUNC_OFFSET(11066, gl_dispatch_stub_658, gl_dispatch_stub_658, NULL, _gloffset_GenFencesNV), - NAME_FUNC_OFFSET(11080, gl_dispatch_stub_659, gl_dispatch_stub_659, NULL, _gloffset_GetFenceivNV), - NAME_FUNC_OFFSET(11095, gl_dispatch_stub_660, gl_dispatch_stub_660, NULL, _gloffset_IsFenceNV), - NAME_FUNC_OFFSET(11107, gl_dispatch_stub_661, gl_dispatch_stub_661, NULL, _gloffset_SetFenceNV), - NAME_FUNC_OFFSET(11120, gl_dispatch_stub_662, gl_dispatch_stub_662, NULL, _gloffset_TestFenceNV), - NAME_FUNC_OFFSET(11134, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, _gloffset_AreProgramsResidentNV), - NAME_FUNC_OFFSET(11158, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), - NAME_FUNC_OFFSET(11174, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), - NAME_FUNC_OFFSET(11193, glExecuteProgramNV, glExecuteProgramNV, NULL, _gloffset_ExecuteProgramNV), - NAME_FUNC_OFFSET(11212, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), - NAME_FUNC_OFFSET(11228, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, _gloffset_GetProgramParameterdvNV), - NAME_FUNC_OFFSET(11254, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, _gloffset_GetProgramParameterfvNV), - NAME_FUNC_OFFSET(11280, glGetProgramStringNV, glGetProgramStringNV, NULL, _gloffset_GetProgramStringNV), - NAME_FUNC_OFFSET(11301, glGetProgramivNV, glGetProgramivNV, NULL, _gloffset_GetProgramivNV), - NAME_FUNC_OFFSET(11318, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, _gloffset_GetTrackMatrixivNV), - NAME_FUNC_OFFSET(11339, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(11367, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, _gloffset_GetVertexAttribdvNV), - NAME_FUNC_OFFSET(11389, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, _gloffset_GetVertexAttribfvNV), - NAME_FUNC_OFFSET(11411, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, _gloffset_GetVertexAttribivNV), - NAME_FUNC_OFFSET(11433, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), - NAME_FUNC_OFFSET(11447, glLoadProgramNV, glLoadProgramNV, NULL, _gloffset_LoadProgramNV), - NAME_FUNC_OFFSET(11463, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, _gloffset_ProgramParameters4dvNV), - NAME_FUNC_OFFSET(11488, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, _gloffset_ProgramParameters4fvNV), - NAME_FUNC_OFFSET(11513, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, _gloffset_RequestResidentProgramsNV), - NAME_FUNC_OFFSET(11541, glTrackMatrixNV, glTrackMatrixNV, NULL, _gloffset_TrackMatrixNV), - NAME_FUNC_OFFSET(11557, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, _gloffset_VertexAttrib1dNV), - NAME_FUNC_OFFSET(11576, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, _gloffset_VertexAttrib1dvNV), - NAME_FUNC_OFFSET(11596, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, _gloffset_VertexAttrib1fNV), - NAME_FUNC_OFFSET(11615, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, _gloffset_VertexAttrib1fvNV), - NAME_FUNC_OFFSET(11635, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, _gloffset_VertexAttrib1sNV), - NAME_FUNC_OFFSET(11654, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, _gloffset_VertexAttrib1svNV), - NAME_FUNC_OFFSET(11674, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, _gloffset_VertexAttrib2dNV), - NAME_FUNC_OFFSET(11693, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, _gloffset_VertexAttrib2dvNV), - NAME_FUNC_OFFSET(11713, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, _gloffset_VertexAttrib2fNV), - NAME_FUNC_OFFSET(11732, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, _gloffset_VertexAttrib2fvNV), - NAME_FUNC_OFFSET(11752, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, _gloffset_VertexAttrib2sNV), - NAME_FUNC_OFFSET(11771, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, _gloffset_VertexAttrib2svNV), - NAME_FUNC_OFFSET(11791, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, _gloffset_VertexAttrib3dNV), - NAME_FUNC_OFFSET(11810, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, _gloffset_VertexAttrib3dvNV), - NAME_FUNC_OFFSET(11830, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, _gloffset_VertexAttrib3fNV), - NAME_FUNC_OFFSET(11849, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, _gloffset_VertexAttrib3fvNV), - NAME_FUNC_OFFSET(11869, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, _gloffset_VertexAttrib3sNV), - NAME_FUNC_OFFSET(11888, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, _gloffset_VertexAttrib3svNV), - NAME_FUNC_OFFSET(11908, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, _gloffset_VertexAttrib4dNV), - NAME_FUNC_OFFSET(11927, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, _gloffset_VertexAttrib4dvNV), - NAME_FUNC_OFFSET(11947, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, _gloffset_VertexAttrib4fNV), - NAME_FUNC_OFFSET(11966, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, _gloffset_VertexAttrib4fvNV), - NAME_FUNC_OFFSET(11986, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, _gloffset_VertexAttrib4sNV), - NAME_FUNC_OFFSET(12005, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, _gloffset_VertexAttrib4svNV), - NAME_FUNC_OFFSET(12025, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, _gloffset_VertexAttrib4ubNV), - NAME_FUNC_OFFSET(12045, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, _gloffset_VertexAttrib4ubvNV), - NAME_FUNC_OFFSET(12066, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, _gloffset_VertexAttribPointerNV), - NAME_FUNC_OFFSET(12090, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, _gloffset_VertexAttribs1dvNV), - NAME_FUNC_OFFSET(12111, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, _gloffset_VertexAttribs1fvNV), - NAME_FUNC_OFFSET(12132, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, _gloffset_VertexAttribs1svNV), - NAME_FUNC_OFFSET(12153, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, _gloffset_VertexAttribs2dvNV), - NAME_FUNC_OFFSET(12174, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, _gloffset_VertexAttribs2fvNV), - NAME_FUNC_OFFSET(12195, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, _gloffset_VertexAttribs2svNV), - NAME_FUNC_OFFSET(12216, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, _gloffset_VertexAttribs3dvNV), - NAME_FUNC_OFFSET(12237, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, _gloffset_VertexAttribs3fvNV), - NAME_FUNC_OFFSET(12258, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, _gloffset_VertexAttribs3svNV), - NAME_FUNC_OFFSET(12279, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, _gloffset_VertexAttribs4dvNV), - NAME_FUNC_OFFSET(12300, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, _gloffset_VertexAttribs4fvNV), - NAME_FUNC_OFFSET(12321, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, _gloffset_VertexAttribs4svNV), - NAME_FUNC_OFFSET(12342, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, _gloffset_VertexAttribs4ubvNV), - NAME_FUNC_OFFSET(12364, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, _gloffset_GetTexBumpParameterfvATI), - NAME_FUNC_OFFSET(12391, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, _gloffset_GetTexBumpParameterivATI), - NAME_FUNC_OFFSET(12418, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, _gloffset_TexBumpParameterfvATI), - NAME_FUNC_OFFSET(12442, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, _gloffset_TexBumpParameterivATI), - NAME_FUNC_OFFSET(12466, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, _gloffset_AlphaFragmentOp1ATI), - NAME_FUNC_OFFSET(12488, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, _gloffset_AlphaFragmentOp2ATI), - NAME_FUNC_OFFSET(12510, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, _gloffset_AlphaFragmentOp3ATI), - NAME_FUNC_OFFSET(12532, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, _gloffset_BeginFragmentShaderATI), - NAME_FUNC_OFFSET(12557, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, _gloffset_BindFragmentShaderATI), - NAME_FUNC_OFFSET(12581, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, _gloffset_ColorFragmentOp1ATI), - NAME_FUNC_OFFSET(12603, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, _gloffset_ColorFragmentOp2ATI), - NAME_FUNC_OFFSET(12625, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, _gloffset_ColorFragmentOp3ATI), - NAME_FUNC_OFFSET(12647, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, _gloffset_DeleteFragmentShaderATI), - NAME_FUNC_OFFSET(12673, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, _gloffset_EndFragmentShaderATI), - NAME_FUNC_OFFSET(12696, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, _gloffset_GenFragmentShadersATI), - NAME_FUNC_OFFSET(12720, glPassTexCoordATI, glPassTexCoordATI, NULL, _gloffset_PassTexCoordATI), - NAME_FUNC_OFFSET(12738, glSampleMapATI, glSampleMapATI, NULL, _gloffset_SampleMapATI), - NAME_FUNC_OFFSET(12753, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, _gloffset_SetFragmentShaderConstantATI), - NAME_FUNC_OFFSET(12784, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), - NAME_FUNC_OFFSET(12804, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), - NAME_FUNC_OFFSET(12825, gl_dispatch_stub_743, gl_dispatch_stub_743, NULL, _gloffset_ActiveStencilFaceEXT), - NAME_FUNC_OFFSET(12848, gl_dispatch_stub_744, gl_dispatch_stub_744, NULL, _gloffset_BindVertexArrayAPPLE), - NAME_FUNC_OFFSET(12871, gl_dispatch_stub_745, gl_dispatch_stub_745, NULL, _gloffset_DeleteVertexArraysAPPLE), - NAME_FUNC_OFFSET(12897, gl_dispatch_stub_746, gl_dispatch_stub_746, NULL, _gloffset_GenVertexArraysAPPLE), - NAME_FUNC_OFFSET(12920, gl_dispatch_stub_747, gl_dispatch_stub_747, NULL, _gloffset_IsVertexArrayAPPLE), - NAME_FUNC_OFFSET(12941, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, _gloffset_GetProgramNamedParameterdvNV), - NAME_FUNC_OFFSET(12972, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, _gloffset_GetProgramNamedParameterfvNV), - NAME_FUNC_OFFSET(13003, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, _gloffset_ProgramNamedParameter4dNV), - NAME_FUNC_OFFSET(13031, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, _gloffset_ProgramNamedParameter4dvNV), - NAME_FUNC_OFFSET(13060, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, _gloffset_ProgramNamedParameter4fNV), - NAME_FUNC_OFFSET(13088, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, _gloffset_ProgramNamedParameter4fvNV), - NAME_FUNC_OFFSET(13117, gl_dispatch_stub_754, gl_dispatch_stub_754, NULL, _gloffset_DepthBoundsEXT), - NAME_FUNC_OFFSET(13134, gl_dispatch_stub_755, gl_dispatch_stub_755, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(13161, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), - NAME_FUNC_OFFSET(13182, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), - NAME_FUNC_OFFSET(13204, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), - NAME_FUNC_OFFSET(13232, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), - NAME_FUNC_OFFSET(13256, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), - NAME_FUNC_OFFSET(13281, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), - NAME_FUNC_OFFSET(13310, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), - NAME_FUNC_OFFSET(13336, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), - NAME_FUNC_OFFSET(13362, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), - NAME_FUNC_OFFSET(13388, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), - NAME_FUNC_OFFSET(13409, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), - NAME_FUNC_OFFSET(13431, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), - NAME_FUNC_OFFSET(13451, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), - NAME_FUNC_OFFSET(13492, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), - NAME_FUNC_OFFSET(13524, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), - NAME_FUNC_OFFSET(13543, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), - NAME_FUNC_OFFSET(13563, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), - NAME_FUNC_OFFSET(13588, gl_dispatch_stub_773, gl_dispatch_stub_773, NULL, _gloffset_BlitFramebufferEXT), - NAME_FUNC_OFFSET(13609, gl_dispatch_stub_774, gl_dispatch_stub_774, NULL, _gloffset_BufferParameteriAPPLE), - NAME_FUNC_OFFSET(13633, gl_dispatch_stub_775, gl_dispatch_stub_775, NULL, _gloffset_FlushMappedBufferRangeAPPLE), - NAME_FUNC_OFFSET(13663, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), - NAME_FUNC_OFFSET(13692, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), - NAME_FUNC_OFFSET(13713, gl_dispatch_stub_778, gl_dispatch_stub_778, NULL, _gloffset_GetTexParameterPointervAPPLE), - NAME_FUNC_OFFSET(13744, gl_dispatch_stub_779, gl_dispatch_stub_779, NULL, _gloffset_TextureRangeAPPLE), - NAME_FUNC_OFFSET(13764, gl_dispatch_stub_780, gl_dispatch_stub_780, NULL, _gloffset_StencilFuncSeparateATI), - NAME_FUNC_OFFSET(13789, gl_dispatch_stub_781, gl_dispatch_stub_781, NULL, _gloffset_ProgramEnvParameters4fvEXT), - NAME_FUNC_OFFSET(13818, gl_dispatch_stub_782, gl_dispatch_stub_782, NULL, _gloffset_ProgramLocalParameters4fvEXT), - NAME_FUNC_OFFSET(13849, gl_dispatch_stub_783, gl_dispatch_stub_783, NULL, _gloffset_GetQueryObjecti64vEXT), - NAME_FUNC_OFFSET(13873, gl_dispatch_stub_784, gl_dispatch_stub_784, NULL, _gloffset_GetQueryObjectui64vEXT), - NAME_FUNC_OFFSET(13898, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), - NAME_FUNC_OFFSET(13916, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), - NAME_FUNC_OFFSET(13933, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), - NAME_FUNC_OFFSET(13949, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident), - NAME_FUNC_OFFSET(13974, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), - NAME_FUNC_OFFSET(13994, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), - NAME_FUNC_OFFSET(14014, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), - NAME_FUNC_OFFSET(14037, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), - NAME_FUNC_OFFSET(14060, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures), - NAME_FUNC_OFFSET(14080, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures), - NAME_FUNC_OFFSET(14097, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), - NAME_FUNC_OFFSET(14114, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture), - NAME_FUNC_OFFSET(14129, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), - NAME_FUNC_OFFSET(14153, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), - NAME_FUNC_OFFSET(14172, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), - NAME_FUNC_OFFSET(14191, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), - NAME_FUNC_OFFSET(14207, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), - NAME_FUNC_OFFSET(14226, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), - NAME_FUNC_OFFSET(14249, glColorTable, glColorTable, NULL, _gloffset_ColorTable), - NAME_FUNC_OFFSET(14265, glColorTable, glColorTable, NULL, _gloffset_ColorTable), - NAME_FUNC_OFFSET(14281, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), - NAME_FUNC_OFFSET(14308, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), - NAME_FUNC_OFFSET(14335, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), - NAME_FUNC_OFFSET(14355, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), - NAME_FUNC_OFFSET(14374, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), - NAME_FUNC_OFFSET(14393, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), - NAME_FUNC_OFFSET(14423, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), - NAME_FUNC_OFFSET(14453, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), - NAME_FUNC_OFFSET(14483, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), - NAME_FUNC_OFFSET(14513, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), - NAME_FUNC_OFFSET(14532, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), - NAME_FUNC_OFFSET(14555, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), - NAME_FUNC_OFFSET(14580, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), - NAME_FUNC_OFFSET(14605, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), - NAME_FUNC_OFFSET(14632, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), - NAME_FUNC_OFFSET(14660, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), - NAME_FUNC_OFFSET(14687, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), - NAME_FUNC_OFFSET(14715, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), - NAME_FUNC_OFFSET(14744, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), - NAME_FUNC_OFFSET(14773, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter), - NAME_FUNC_OFFSET(14799, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv), - NAME_FUNC_OFFSET(14830, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv), - NAME_FUNC_OFFSET(14861, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter), - NAME_FUNC_OFFSET(14885, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), - NAME_FUNC_OFFSET(14908, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram), - NAME_FUNC_OFFSET(14926, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv), - NAME_FUNC_OFFSET(14955, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv), - NAME_FUNC_OFFSET(14984, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax), - NAME_FUNC_OFFSET(14999, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv), - NAME_FUNC_OFFSET(15025, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv), - NAME_FUNC_OFFSET(15051, glHistogram, glHistogram, NULL, _gloffset_Histogram), - NAME_FUNC_OFFSET(15066, glMinmax, glMinmax, NULL, _gloffset_Minmax), - NAME_FUNC_OFFSET(15078, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), - NAME_FUNC_OFFSET(15098, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), - NAME_FUNC_OFFSET(15115, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), - NAME_FUNC_OFFSET(15131, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), - NAME_FUNC_OFFSET(15150, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), - NAME_FUNC_OFFSET(15173, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), - NAME_FUNC_OFFSET(15189, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), - NAME_FUNC_OFFSET(15211, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), - NAME_FUNC_OFFSET(15229, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), - NAME_FUNC_OFFSET(15248, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), - NAME_FUNC_OFFSET(15266, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), - NAME_FUNC_OFFSET(15285, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), - NAME_FUNC_OFFSET(15303, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), - NAME_FUNC_OFFSET(15322, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), - NAME_FUNC_OFFSET(15340, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), - NAME_FUNC_OFFSET(15359, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), - NAME_FUNC_OFFSET(15377, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), - NAME_FUNC_OFFSET(15396, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), - NAME_FUNC_OFFSET(15414, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), - NAME_FUNC_OFFSET(15433, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), - NAME_FUNC_OFFSET(15451, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), - NAME_FUNC_OFFSET(15470, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), - NAME_FUNC_OFFSET(15488, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), - NAME_FUNC_OFFSET(15507, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), - NAME_FUNC_OFFSET(15525, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), - NAME_FUNC_OFFSET(15544, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), - NAME_FUNC_OFFSET(15562, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), - NAME_FUNC_OFFSET(15581, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), - NAME_FUNC_OFFSET(15599, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), - NAME_FUNC_OFFSET(15618, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), - NAME_FUNC_OFFSET(15636, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), - NAME_FUNC_OFFSET(15655, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), - NAME_FUNC_OFFSET(15673, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), - NAME_FUNC_OFFSET(15692, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), - NAME_FUNC_OFFSET(15710, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), - NAME_FUNC_OFFSET(15729, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), - NAME_FUNC_OFFSET(15747, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), - NAME_FUNC_OFFSET(15766, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), - NAME_FUNC_OFFSET(15784, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), - NAME_FUNC_OFFSET(15803, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), - NAME_FUNC_OFFSET(15826, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), - NAME_FUNC_OFFSET(15849, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), - NAME_FUNC_OFFSET(15872, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), - NAME_FUNC_OFFSET(15895, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), - NAME_FUNC_OFFSET(15918, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), - NAME_FUNC_OFFSET(15935, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), - NAME_FUNC_OFFSET(15958, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), - NAME_FUNC_OFFSET(15981, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), - NAME_FUNC_OFFSET(16004, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), - NAME_FUNC_OFFSET(16030, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), - NAME_FUNC_OFFSET(16056, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), - NAME_FUNC_OFFSET(16082, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), - NAME_FUNC_OFFSET(16106, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), - NAME_FUNC_OFFSET(16133, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), - NAME_FUNC_OFFSET(16159, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), - NAME_FUNC_OFFSET(16179, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), - NAME_FUNC_OFFSET(16199, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), - NAME_FUNC_OFFSET(16219, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), - NAME_FUNC_OFFSET(16242, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), - NAME_FUNC_OFFSET(16266, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), - NAME_FUNC_OFFSET(16289, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), - NAME_FUNC_OFFSET(16313, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), - NAME_FUNC_OFFSET(16330, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), - NAME_FUNC_OFFSET(16348, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), - NAME_FUNC_OFFSET(16365, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), - NAME_FUNC_OFFSET(16383, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), - NAME_FUNC_OFFSET(16400, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), - NAME_FUNC_OFFSET(16418, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), - NAME_FUNC_OFFSET(16435, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), - NAME_FUNC_OFFSET(16453, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), - NAME_FUNC_OFFSET(16470, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), - NAME_FUNC_OFFSET(16488, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), - NAME_FUNC_OFFSET(16505, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), - NAME_FUNC_OFFSET(16523, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), - NAME_FUNC_OFFSET(16540, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), - NAME_FUNC_OFFSET(16558, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), - NAME_FUNC_OFFSET(16575, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), - NAME_FUNC_OFFSET(16593, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), - NAME_FUNC_OFFSET(16610, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), - NAME_FUNC_OFFSET(16628, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), - NAME_FUNC_OFFSET(16647, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), - NAME_FUNC_OFFSET(16666, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), - NAME_FUNC_OFFSET(16685, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), - NAME_FUNC_OFFSET(16704, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), - NAME_FUNC_OFFSET(16724, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), - NAME_FUNC_OFFSET(16744, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), - NAME_FUNC_OFFSET(16764, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), - NAME_FUNC_OFFSET(16782, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), - NAME_FUNC_OFFSET(16799, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), - NAME_FUNC_OFFSET(16817, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), - NAME_FUNC_OFFSET(16834, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), - NAME_FUNC_OFFSET(16852, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), - NAME_FUNC_OFFSET(16870, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), - NAME_FUNC_OFFSET(16887, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), - NAME_FUNC_OFFSET(16905, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), - NAME_FUNC_OFFSET(16924, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), - NAME_FUNC_OFFSET(16943, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), - NAME_FUNC_OFFSET(16962, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), - NAME_FUNC_OFFSET(16984, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), - NAME_FUNC_OFFSET(16997, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), - NAME_FUNC_OFFSET(17010, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), - NAME_FUNC_OFFSET(17026, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), - NAME_FUNC_OFFSET(17042, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), - NAME_FUNC_OFFSET(17055, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), - NAME_FUNC_OFFSET(17078, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), - NAME_FUNC_OFFSET(17098, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), - NAME_FUNC_OFFSET(17117, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), - NAME_FUNC_OFFSET(17128, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), - NAME_FUNC_OFFSET(17140, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), - NAME_FUNC_OFFSET(17154, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), - NAME_FUNC_OFFSET(17167, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), - NAME_FUNC_OFFSET(17183, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), - NAME_FUNC_OFFSET(17194, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), - NAME_FUNC_OFFSET(17207, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), - NAME_FUNC_OFFSET(17226, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), - NAME_FUNC_OFFSET(17246, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), - NAME_FUNC_OFFSET(17259, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), - NAME_FUNC_OFFSET(17269, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), - NAME_FUNC_OFFSET(17285, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), - NAME_FUNC_OFFSET(17304, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), - NAME_FUNC_OFFSET(17322, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), - NAME_FUNC_OFFSET(17343, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), - NAME_FUNC_OFFSET(17358, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), - NAME_FUNC_OFFSET(17373, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), - NAME_FUNC_OFFSET(17387, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), - NAME_FUNC_OFFSET(17402, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), - NAME_FUNC_OFFSET(17414, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), - NAME_FUNC_OFFSET(17427, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), - NAME_FUNC_OFFSET(17439, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), - NAME_FUNC_OFFSET(17452, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), - NAME_FUNC_OFFSET(17464, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), - NAME_FUNC_OFFSET(17477, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), - NAME_FUNC_OFFSET(17489, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), - NAME_FUNC_OFFSET(17502, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), - NAME_FUNC_OFFSET(17514, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), - NAME_FUNC_OFFSET(17527, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), - NAME_FUNC_OFFSET(17539, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), - NAME_FUNC_OFFSET(17552, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), - NAME_FUNC_OFFSET(17564, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), - NAME_FUNC_OFFSET(17577, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), - NAME_FUNC_OFFSET(17589, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), - NAME_FUNC_OFFSET(17602, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), - NAME_FUNC_OFFSET(17621, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), - NAME_FUNC_OFFSET(17640, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), - NAME_FUNC_OFFSET(17659, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), - NAME_FUNC_OFFSET(17672, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), - NAME_FUNC_OFFSET(17690, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), - NAME_FUNC_OFFSET(17711, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), - NAME_FUNC_OFFSET(17729, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), - NAME_FUNC_OFFSET(17749, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET(17763, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET(17780, gl_dispatch_stub_574, gl_dispatch_stub_574, NULL, _gloffset_SampleMaskSGIS), - NAME_FUNC_OFFSET(17796, gl_dispatch_stub_575, gl_dispatch_stub_575, NULL, _gloffset_SamplePatternSGIS), - NAME_FUNC_OFFSET(17815, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(17833, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(17854, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(17876, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(17895, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(17917, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(17940, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), - NAME_FUNC_OFFSET(17959, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), - NAME_FUNC_OFFSET(17979, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), - NAME_FUNC_OFFSET(17998, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), - NAME_FUNC_OFFSET(18018, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), - NAME_FUNC_OFFSET(18037, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), - NAME_FUNC_OFFSET(18057, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), - NAME_FUNC_OFFSET(18076, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), - NAME_FUNC_OFFSET(18096, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), - NAME_FUNC_OFFSET(18115, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), - NAME_FUNC_OFFSET(18135, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), - NAME_FUNC_OFFSET(18155, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), - NAME_FUNC_OFFSET(18176, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), - NAME_FUNC_OFFSET(18196, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), - NAME_FUNC_OFFSET(18217, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), - NAME_FUNC_OFFSET(18237, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), - NAME_FUNC_OFFSET(18258, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), - NAME_FUNC_OFFSET(18282, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), - NAME_FUNC_OFFSET(18300, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), - NAME_FUNC_OFFSET(18320, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), - NAME_FUNC_OFFSET(18338, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), - NAME_FUNC_OFFSET(18350, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), - NAME_FUNC_OFFSET(18363, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), - NAME_FUNC_OFFSET(18375, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), - NAME_FUNC_OFFSET(18388, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(18408, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(18432, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(18446, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(18463, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(18478, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(18496, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(18510, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(18527, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(18542, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(18560, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(18574, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(18591, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(18606, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(18624, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(18638, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(18655, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(18670, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(18688, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(18702, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(18719, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(18734, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(18752, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(18766, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(18783, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(18798, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(18816, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(18830, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(18847, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(18862, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(18880, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(18894, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(18911, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(18926, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(18944, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), - NAME_FUNC_OFFSET(18961, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), - NAME_FUNC_OFFSET(18981, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), - NAME_FUNC_OFFSET(18998, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(19024, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(19053, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), - NAME_FUNC_OFFSET(19068, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), - NAME_FUNC_OFFSET(19086, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), - NAME_FUNC_OFFSET(19105, gl_dispatch_stub_745, gl_dispatch_stub_745, NULL, _gloffset_DeleteVertexArraysAPPLE), - NAME_FUNC_OFFSET(19126, gl_dispatch_stub_747, gl_dispatch_stub_747, NULL, _gloffset_IsVertexArrayAPPLE), - NAME_FUNC_OFFSET(19142, gl_dispatch_stub_755, gl_dispatch_stub_755, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(19166, gl_dispatch_stub_755, gl_dispatch_stub_755, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(19193, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), - NAME_FUNC_OFFSET(19211, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), - NAME_FUNC_OFFSET(19230, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), - NAME_FUNC_OFFSET(19255, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), - NAME_FUNC_OFFSET(19276, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), - NAME_FUNC_OFFSET(19298, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), - NAME_FUNC_OFFSET(19324, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), - NAME_FUNC_OFFSET(19347, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), - NAME_FUNC_OFFSET(19370, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), - NAME_FUNC_OFFSET(19393, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), - NAME_FUNC_OFFSET(19411, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), - NAME_FUNC_OFFSET(19430, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), - NAME_FUNC_OFFSET(19447, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), - NAME_FUNC_OFFSET(19485, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), - NAME_FUNC_OFFSET(19514, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), - NAME_FUNC_OFFSET(19530, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), - NAME_FUNC_OFFSET(19547, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), - NAME_FUNC_OFFSET(19569, gl_dispatch_stub_773, gl_dispatch_stub_773, NULL, _gloffset_BlitFramebufferEXT), - NAME_FUNC_OFFSET(19587, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), + NAME_FUNC_OFFSET( 9082, glClientWaitSync, glClientWaitSync, NULL, _gloffset_ClientWaitSync), + NAME_FUNC_OFFSET( 9099, glDeleteSync, glDeleteSync, NULL, _gloffset_DeleteSync), + NAME_FUNC_OFFSET( 9112, glFenceSync, glFenceSync, NULL, _gloffset_FenceSync), + NAME_FUNC_OFFSET( 9124, glGetInteger64v, glGetInteger64v, NULL, _gloffset_GetInteger64v), + NAME_FUNC_OFFSET( 9140, glGetSynciv, glGetSynciv, NULL, _gloffset_GetSynciv), + NAME_FUNC_OFFSET( 9152, glIsSync, glIsSync, NULL, _gloffset_IsSync), + NAME_FUNC_OFFSET( 9161, glWaitSync, glWaitSync, NULL, _gloffset_WaitSync), + NAME_FUNC_OFFSET( 9172, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, _gloffset_PolygonOffsetEXT), + NAME_FUNC_OFFSET( 9191, gl_dispatch_stub_575, gl_dispatch_stub_575, NULL, _gloffset_GetPixelTexGenParameterfvSGIS), + NAME_FUNC_OFFSET( 9223, gl_dispatch_stub_576, gl_dispatch_stub_576, NULL, _gloffset_GetPixelTexGenParameterivSGIS), + NAME_FUNC_OFFSET( 9255, gl_dispatch_stub_577, gl_dispatch_stub_577, NULL, _gloffset_PixelTexGenParameterfSGIS), + NAME_FUNC_OFFSET( 9283, gl_dispatch_stub_578, gl_dispatch_stub_578, NULL, _gloffset_PixelTexGenParameterfvSGIS), + NAME_FUNC_OFFSET( 9312, gl_dispatch_stub_579, gl_dispatch_stub_579, NULL, _gloffset_PixelTexGenParameteriSGIS), + NAME_FUNC_OFFSET( 9340, gl_dispatch_stub_580, gl_dispatch_stub_580, NULL, _gloffset_PixelTexGenParameterivSGIS), + NAME_FUNC_OFFSET( 9369, gl_dispatch_stub_581, gl_dispatch_stub_581, NULL, _gloffset_SampleMaskSGIS), + NAME_FUNC_OFFSET( 9386, gl_dispatch_stub_582, gl_dispatch_stub_582, NULL, _gloffset_SamplePatternSGIS), + NAME_FUNC_OFFSET( 9406, glColorPointerEXT, glColorPointerEXT, NULL, _gloffset_ColorPointerEXT), + NAME_FUNC_OFFSET( 9424, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, _gloffset_EdgeFlagPointerEXT), + NAME_FUNC_OFFSET( 9445, glIndexPointerEXT, glIndexPointerEXT, NULL, _gloffset_IndexPointerEXT), + NAME_FUNC_OFFSET( 9463, glNormalPointerEXT, glNormalPointerEXT, NULL, _gloffset_NormalPointerEXT), + NAME_FUNC_OFFSET( 9482, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, _gloffset_TexCoordPointerEXT), + NAME_FUNC_OFFSET( 9503, glVertexPointerEXT, glVertexPointerEXT, NULL, _gloffset_VertexPointerEXT), + NAME_FUNC_OFFSET( 9522, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET( 9543, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET( 9565, glLockArraysEXT, glLockArraysEXT, NULL, _gloffset_LockArraysEXT), + NAME_FUNC_OFFSET( 9581, glUnlockArraysEXT, glUnlockArraysEXT, NULL, _gloffset_UnlockArraysEXT), + NAME_FUNC_OFFSET( 9599, gl_dispatch_stub_593, gl_dispatch_stub_593, NULL, _gloffset_CullParameterdvEXT), + NAME_FUNC_OFFSET( 9620, gl_dispatch_stub_594, gl_dispatch_stub_594, NULL, _gloffset_CullParameterfvEXT), + NAME_FUNC_OFFSET( 9641, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), + NAME_FUNC_OFFSET( 9663, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), + NAME_FUNC_OFFSET( 9686, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), + NAME_FUNC_OFFSET( 9708, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), + NAME_FUNC_OFFSET( 9731, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), + NAME_FUNC_OFFSET( 9753, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), + NAME_FUNC_OFFSET( 9776, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), + NAME_FUNC_OFFSET( 9798, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), + NAME_FUNC_OFFSET( 9821, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), + NAME_FUNC_OFFSET( 9843, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), + NAME_FUNC_OFFSET( 9866, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), + NAME_FUNC_OFFSET( 9889, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), + NAME_FUNC_OFFSET( 9913, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), + NAME_FUNC_OFFSET( 9936, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), + NAME_FUNC_OFFSET( 9960, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), + NAME_FUNC_OFFSET( 9983, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), + NAME_FUNC_OFFSET(10007, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), + NAME_FUNC_OFFSET(10034, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), + NAME_FUNC_OFFSET(10055, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), + NAME_FUNC_OFFSET(10078, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), + NAME_FUNC_OFFSET(10099, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), + NAME_FUNC_OFFSET(10114, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), + NAME_FUNC_OFFSET(10130, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), + NAME_FUNC_OFFSET(10145, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), + NAME_FUNC_OFFSET(10161, gl_dispatch_stub_619, gl_dispatch_stub_619, NULL, _gloffset_PixelTexGenSGIX), + NAME_FUNC_OFFSET(10179, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(10202, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, _gloffset_FlushVertexArrayRangeNV), + NAME_FUNC_OFFSET(10228, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, _gloffset_VertexArrayRangeNV), + NAME_FUNC_OFFSET(10249, glCombinerInputNV, glCombinerInputNV, NULL, _gloffset_CombinerInputNV), + NAME_FUNC_OFFSET(10267, glCombinerOutputNV, glCombinerOutputNV, NULL, _gloffset_CombinerOutputNV), + NAME_FUNC_OFFSET(10286, glCombinerParameterfNV, glCombinerParameterfNV, NULL, _gloffset_CombinerParameterfNV), + NAME_FUNC_OFFSET(10309, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, _gloffset_CombinerParameterfvNV), + NAME_FUNC_OFFSET(10333, glCombinerParameteriNV, glCombinerParameteriNV, NULL, _gloffset_CombinerParameteriNV), + NAME_FUNC_OFFSET(10356, glCombinerParameterivNV, glCombinerParameterivNV, NULL, _gloffset_CombinerParameterivNV), + NAME_FUNC_OFFSET(10380, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, _gloffset_FinalCombinerInputNV), + NAME_FUNC_OFFSET(10403, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, _gloffset_GetCombinerInputParameterfvNV), + NAME_FUNC_OFFSET(10435, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, _gloffset_GetCombinerInputParameterivNV), + NAME_FUNC_OFFSET(10467, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, _gloffset_GetCombinerOutputParameterfvNV), + NAME_FUNC_OFFSET(10500, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, _gloffset_GetCombinerOutputParameterivNV), + NAME_FUNC_OFFSET(10533, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, _gloffset_GetFinalCombinerInputParameterfvNV), + NAME_FUNC_OFFSET(10570, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, _gloffset_GetFinalCombinerInputParameterivNV), + NAME_FUNC_OFFSET(10607, glResizeBuffersMESA, glResizeBuffersMESA, NULL, _gloffset_ResizeBuffersMESA), + NAME_FUNC_OFFSET(10627, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(10645, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(10664, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(10682, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(10701, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(10719, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(10738, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(10756, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(10775, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(10793, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(10812, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(10830, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(10849, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(10867, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(10886, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(10904, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(10923, glWindowPos4dMESA, glWindowPos4dMESA, NULL, _gloffset_WindowPos4dMESA), + NAME_FUNC_OFFSET(10941, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, _gloffset_WindowPos4dvMESA), + NAME_FUNC_OFFSET(10960, glWindowPos4fMESA, glWindowPos4fMESA, NULL, _gloffset_WindowPos4fMESA), + NAME_FUNC_OFFSET(10978, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, _gloffset_WindowPos4fvMESA), + NAME_FUNC_OFFSET(10997, glWindowPos4iMESA, glWindowPos4iMESA, NULL, _gloffset_WindowPos4iMESA), + NAME_FUNC_OFFSET(11015, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, _gloffset_WindowPos4ivMESA), + NAME_FUNC_OFFSET(11034, glWindowPos4sMESA, glWindowPos4sMESA, NULL, _gloffset_WindowPos4sMESA), + NAME_FUNC_OFFSET(11052, glWindowPos4svMESA, glWindowPos4svMESA, NULL, _gloffset_WindowPos4svMESA), + NAME_FUNC_OFFSET(11071, gl_dispatch_stub_661, gl_dispatch_stub_661, NULL, _gloffset_MultiModeDrawArraysIBM), + NAME_FUNC_OFFSET(11096, gl_dispatch_stub_662, gl_dispatch_stub_662, NULL, _gloffset_MultiModeDrawElementsIBM), + NAME_FUNC_OFFSET(11123, gl_dispatch_stub_663, gl_dispatch_stub_663, NULL, _gloffset_DeleteFencesNV), + NAME_FUNC_OFFSET(11140, gl_dispatch_stub_664, gl_dispatch_stub_664, NULL, _gloffset_FinishFenceNV), + NAME_FUNC_OFFSET(11156, gl_dispatch_stub_665, gl_dispatch_stub_665, NULL, _gloffset_GenFencesNV), + NAME_FUNC_OFFSET(11170, gl_dispatch_stub_666, gl_dispatch_stub_666, NULL, _gloffset_GetFenceivNV), + NAME_FUNC_OFFSET(11185, gl_dispatch_stub_667, gl_dispatch_stub_667, NULL, _gloffset_IsFenceNV), + NAME_FUNC_OFFSET(11197, gl_dispatch_stub_668, gl_dispatch_stub_668, NULL, _gloffset_SetFenceNV), + NAME_FUNC_OFFSET(11210, gl_dispatch_stub_669, gl_dispatch_stub_669, NULL, _gloffset_TestFenceNV), + NAME_FUNC_OFFSET(11224, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, _gloffset_AreProgramsResidentNV), + NAME_FUNC_OFFSET(11248, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), + NAME_FUNC_OFFSET(11264, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), + NAME_FUNC_OFFSET(11283, glExecuteProgramNV, glExecuteProgramNV, NULL, _gloffset_ExecuteProgramNV), + NAME_FUNC_OFFSET(11302, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), + NAME_FUNC_OFFSET(11318, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, _gloffset_GetProgramParameterdvNV), + NAME_FUNC_OFFSET(11344, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, _gloffset_GetProgramParameterfvNV), + NAME_FUNC_OFFSET(11370, glGetProgramStringNV, glGetProgramStringNV, NULL, _gloffset_GetProgramStringNV), + NAME_FUNC_OFFSET(11391, glGetProgramivNV, glGetProgramivNV, NULL, _gloffset_GetProgramivNV), + NAME_FUNC_OFFSET(11408, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, _gloffset_GetTrackMatrixivNV), + NAME_FUNC_OFFSET(11429, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(11457, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, _gloffset_GetVertexAttribdvNV), + NAME_FUNC_OFFSET(11479, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, _gloffset_GetVertexAttribfvNV), + NAME_FUNC_OFFSET(11501, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, _gloffset_GetVertexAttribivNV), + NAME_FUNC_OFFSET(11523, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), + NAME_FUNC_OFFSET(11537, glLoadProgramNV, glLoadProgramNV, NULL, _gloffset_LoadProgramNV), + NAME_FUNC_OFFSET(11553, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, _gloffset_ProgramParameters4dvNV), + NAME_FUNC_OFFSET(11578, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, _gloffset_ProgramParameters4fvNV), + NAME_FUNC_OFFSET(11603, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, _gloffset_RequestResidentProgramsNV), + NAME_FUNC_OFFSET(11631, glTrackMatrixNV, glTrackMatrixNV, NULL, _gloffset_TrackMatrixNV), + NAME_FUNC_OFFSET(11647, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, _gloffset_VertexAttrib1dNV), + NAME_FUNC_OFFSET(11666, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, _gloffset_VertexAttrib1dvNV), + NAME_FUNC_OFFSET(11686, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, _gloffset_VertexAttrib1fNV), + NAME_FUNC_OFFSET(11705, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, _gloffset_VertexAttrib1fvNV), + NAME_FUNC_OFFSET(11725, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, _gloffset_VertexAttrib1sNV), + NAME_FUNC_OFFSET(11744, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, _gloffset_VertexAttrib1svNV), + NAME_FUNC_OFFSET(11764, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, _gloffset_VertexAttrib2dNV), + NAME_FUNC_OFFSET(11783, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, _gloffset_VertexAttrib2dvNV), + NAME_FUNC_OFFSET(11803, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, _gloffset_VertexAttrib2fNV), + NAME_FUNC_OFFSET(11822, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, _gloffset_VertexAttrib2fvNV), + NAME_FUNC_OFFSET(11842, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, _gloffset_VertexAttrib2sNV), + NAME_FUNC_OFFSET(11861, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, _gloffset_VertexAttrib2svNV), + NAME_FUNC_OFFSET(11881, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, _gloffset_VertexAttrib3dNV), + NAME_FUNC_OFFSET(11900, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, _gloffset_VertexAttrib3dvNV), + NAME_FUNC_OFFSET(11920, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, _gloffset_VertexAttrib3fNV), + NAME_FUNC_OFFSET(11939, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, _gloffset_VertexAttrib3fvNV), + NAME_FUNC_OFFSET(11959, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, _gloffset_VertexAttrib3sNV), + NAME_FUNC_OFFSET(11978, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, _gloffset_VertexAttrib3svNV), + NAME_FUNC_OFFSET(11998, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, _gloffset_VertexAttrib4dNV), + NAME_FUNC_OFFSET(12017, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, _gloffset_VertexAttrib4dvNV), + NAME_FUNC_OFFSET(12037, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, _gloffset_VertexAttrib4fNV), + NAME_FUNC_OFFSET(12056, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, _gloffset_VertexAttrib4fvNV), + NAME_FUNC_OFFSET(12076, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, _gloffset_VertexAttrib4sNV), + NAME_FUNC_OFFSET(12095, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, _gloffset_VertexAttrib4svNV), + NAME_FUNC_OFFSET(12115, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, _gloffset_VertexAttrib4ubNV), + NAME_FUNC_OFFSET(12135, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, _gloffset_VertexAttrib4ubvNV), + NAME_FUNC_OFFSET(12156, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, _gloffset_VertexAttribPointerNV), + NAME_FUNC_OFFSET(12180, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, _gloffset_VertexAttribs1dvNV), + NAME_FUNC_OFFSET(12201, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, _gloffset_VertexAttribs1fvNV), + NAME_FUNC_OFFSET(12222, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, _gloffset_VertexAttribs1svNV), + NAME_FUNC_OFFSET(12243, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, _gloffset_VertexAttribs2dvNV), + NAME_FUNC_OFFSET(12264, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, _gloffset_VertexAttribs2fvNV), + NAME_FUNC_OFFSET(12285, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, _gloffset_VertexAttribs2svNV), + NAME_FUNC_OFFSET(12306, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, _gloffset_VertexAttribs3dvNV), + NAME_FUNC_OFFSET(12327, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, _gloffset_VertexAttribs3fvNV), + NAME_FUNC_OFFSET(12348, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, _gloffset_VertexAttribs3svNV), + NAME_FUNC_OFFSET(12369, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, _gloffset_VertexAttribs4dvNV), + NAME_FUNC_OFFSET(12390, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, _gloffset_VertexAttribs4fvNV), + NAME_FUNC_OFFSET(12411, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, _gloffset_VertexAttribs4svNV), + NAME_FUNC_OFFSET(12432, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, _gloffset_VertexAttribs4ubvNV), + NAME_FUNC_OFFSET(12454, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, _gloffset_GetTexBumpParameterfvATI), + NAME_FUNC_OFFSET(12481, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, _gloffset_GetTexBumpParameterivATI), + NAME_FUNC_OFFSET(12508, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, _gloffset_TexBumpParameterfvATI), + NAME_FUNC_OFFSET(12532, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, _gloffset_TexBumpParameterivATI), + NAME_FUNC_OFFSET(12556, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, _gloffset_AlphaFragmentOp1ATI), + NAME_FUNC_OFFSET(12578, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, _gloffset_AlphaFragmentOp2ATI), + NAME_FUNC_OFFSET(12600, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, _gloffset_AlphaFragmentOp3ATI), + NAME_FUNC_OFFSET(12622, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, _gloffset_BeginFragmentShaderATI), + NAME_FUNC_OFFSET(12647, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, _gloffset_BindFragmentShaderATI), + NAME_FUNC_OFFSET(12671, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, _gloffset_ColorFragmentOp1ATI), + NAME_FUNC_OFFSET(12693, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, _gloffset_ColorFragmentOp2ATI), + NAME_FUNC_OFFSET(12715, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, _gloffset_ColorFragmentOp3ATI), + NAME_FUNC_OFFSET(12737, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, _gloffset_DeleteFragmentShaderATI), + NAME_FUNC_OFFSET(12763, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, _gloffset_EndFragmentShaderATI), + NAME_FUNC_OFFSET(12786, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, _gloffset_GenFragmentShadersATI), + NAME_FUNC_OFFSET(12810, glPassTexCoordATI, glPassTexCoordATI, NULL, _gloffset_PassTexCoordATI), + NAME_FUNC_OFFSET(12828, glSampleMapATI, glSampleMapATI, NULL, _gloffset_SampleMapATI), + NAME_FUNC_OFFSET(12843, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, _gloffset_SetFragmentShaderConstantATI), + NAME_FUNC_OFFSET(12874, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), + NAME_FUNC_OFFSET(12894, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), + NAME_FUNC_OFFSET(12915, gl_dispatch_stub_750, gl_dispatch_stub_750, NULL, _gloffset_ActiveStencilFaceEXT), + NAME_FUNC_OFFSET(12938, gl_dispatch_stub_751, gl_dispatch_stub_751, NULL, _gloffset_BindVertexArrayAPPLE), + NAME_FUNC_OFFSET(12961, gl_dispatch_stub_752, gl_dispatch_stub_752, NULL, _gloffset_DeleteVertexArraysAPPLE), + NAME_FUNC_OFFSET(12987, gl_dispatch_stub_753, gl_dispatch_stub_753, NULL, _gloffset_GenVertexArraysAPPLE), + NAME_FUNC_OFFSET(13010, gl_dispatch_stub_754, gl_dispatch_stub_754, NULL, _gloffset_IsVertexArrayAPPLE), + NAME_FUNC_OFFSET(13031, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, _gloffset_GetProgramNamedParameterdvNV), + NAME_FUNC_OFFSET(13062, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, _gloffset_GetProgramNamedParameterfvNV), + NAME_FUNC_OFFSET(13093, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, _gloffset_ProgramNamedParameter4dNV), + NAME_FUNC_OFFSET(13121, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, _gloffset_ProgramNamedParameter4dvNV), + NAME_FUNC_OFFSET(13150, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, _gloffset_ProgramNamedParameter4fNV), + NAME_FUNC_OFFSET(13178, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, _gloffset_ProgramNamedParameter4fvNV), + NAME_FUNC_OFFSET(13207, gl_dispatch_stub_761, gl_dispatch_stub_761, NULL, _gloffset_DepthBoundsEXT), + NAME_FUNC_OFFSET(13224, gl_dispatch_stub_762, gl_dispatch_stub_762, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(13251, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), + NAME_FUNC_OFFSET(13272, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), + NAME_FUNC_OFFSET(13294, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), + NAME_FUNC_OFFSET(13322, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), + NAME_FUNC_OFFSET(13346, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), + NAME_FUNC_OFFSET(13371, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), + NAME_FUNC_OFFSET(13400, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), + NAME_FUNC_OFFSET(13426, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), + NAME_FUNC_OFFSET(13452, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), + NAME_FUNC_OFFSET(13478, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), + NAME_FUNC_OFFSET(13499, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), + NAME_FUNC_OFFSET(13521, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), + NAME_FUNC_OFFSET(13541, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), + NAME_FUNC_OFFSET(13582, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), + NAME_FUNC_OFFSET(13614, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), + NAME_FUNC_OFFSET(13633, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), + NAME_FUNC_OFFSET(13653, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), + NAME_FUNC_OFFSET(13678, gl_dispatch_stub_780, gl_dispatch_stub_780, NULL, _gloffset_BlitFramebufferEXT), + NAME_FUNC_OFFSET(13699, gl_dispatch_stub_781, gl_dispatch_stub_781, NULL, _gloffset_BufferParameteriAPPLE), + NAME_FUNC_OFFSET(13723, gl_dispatch_stub_782, gl_dispatch_stub_782, NULL, _gloffset_FlushMappedBufferRangeAPPLE), + NAME_FUNC_OFFSET(13753, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), + NAME_FUNC_OFFSET(13782, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), + NAME_FUNC_OFFSET(13803, gl_dispatch_stub_785, gl_dispatch_stub_785, NULL, _gloffset_GetTexParameterPointervAPPLE), + NAME_FUNC_OFFSET(13834, gl_dispatch_stub_786, gl_dispatch_stub_786, NULL, _gloffset_TextureRangeAPPLE), + NAME_FUNC_OFFSET(13854, gl_dispatch_stub_787, gl_dispatch_stub_787, NULL, _gloffset_StencilFuncSeparateATI), + NAME_FUNC_OFFSET(13879, gl_dispatch_stub_788, gl_dispatch_stub_788, NULL, _gloffset_ProgramEnvParameters4fvEXT), + NAME_FUNC_OFFSET(13908, gl_dispatch_stub_789, gl_dispatch_stub_789, NULL, _gloffset_ProgramLocalParameters4fvEXT), + NAME_FUNC_OFFSET(13939, gl_dispatch_stub_790, gl_dispatch_stub_790, NULL, _gloffset_GetQueryObjecti64vEXT), + NAME_FUNC_OFFSET(13963, gl_dispatch_stub_791, gl_dispatch_stub_791, NULL, _gloffset_GetQueryObjectui64vEXT), + NAME_FUNC_OFFSET(13988, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), + NAME_FUNC_OFFSET(14006, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), + NAME_FUNC_OFFSET(14023, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), + NAME_FUNC_OFFSET(14039, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident), + NAME_FUNC_OFFSET(14064, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), + NAME_FUNC_OFFSET(14084, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), + NAME_FUNC_OFFSET(14104, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), + NAME_FUNC_OFFSET(14127, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), + NAME_FUNC_OFFSET(14150, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures), + NAME_FUNC_OFFSET(14170, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures), + NAME_FUNC_OFFSET(14187, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), + NAME_FUNC_OFFSET(14204, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture), + NAME_FUNC_OFFSET(14219, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), + NAME_FUNC_OFFSET(14243, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), + NAME_FUNC_OFFSET(14262, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), + NAME_FUNC_OFFSET(14281, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), + NAME_FUNC_OFFSET(14297, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), + NAME_FUNC_OFFSET(14316, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), + NAME_FUNC_OFFSET(14339, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET(14355, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET(14371, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), + NAME_FUNC_OFFSET(14398, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), + NAME_FUNC_OFFSET(14425, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), + NAME_FUNC_OFFSET(14445, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), + NAME_FUNC_OFFSET(14464, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), + NAME_FUNC_OFFSET(14483, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET(14513, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET(14543, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET(14573, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET(14603, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), + NAME_FUNC_OFFSET(14622, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), + NAME_FUNC_OFFSET(14645, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), + NAME_FUNC_OFFSET(14670, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), + NAME_FUNC_OFFSET(14695, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), + NAME_FUNC_OFFSET(14722, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), + NAME_FUNC_OFFSET(14750, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), + NAME_FUNC_OFFSET(14777, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), + NAME_FUNC_OFFSET(14805, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), + NAME_FUNC_OFFSET(14834, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), + NAME_FUNC_OFFSET(14863, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter), + NAME_FUNC_OFFSET(14889, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv), + NAME_FUNC_OFFSET(14920, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv), + NAME_FUNC_OFFSET(14951, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter), + NAME_FUNC_OFFSET(14975, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), + NAME_FUNC_OFFSET(14998, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram), + NAME_FUNC_OFFSET(15016, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv), + NAME_FUNC_OFFSET(15045, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv), + NAME_FUNC_OFFSET(15074, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax), + NAME_FUNC_OFFSET(15089, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv), + NAME_FUNC_OFFSET(15115, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv), + NAME_FUNC_OFFSET(15141, glHistogram, glHistogram, NULL, _gloffset_Histogram), + NAME_FUNC_OFFSET(15156, glMinmax, glMinmax, NULL, _gloffset_Minmax), + NAME_FUNC_OFFSET(15168, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), + NAME_FUNC_OFFSET(15188, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), + NAME_FUNC_OFFSET(15205, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), + NAME_FUNC_OFFSET(15221, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), + NAME_FUNC_OFFSET(15240, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), + NAME_FUNC_OFFSET(15263, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), + NAME_FUNC_OFFSET(15279, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), + NAME_FUNC_OFFSET(15301, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), + NAME_FUNC_OFFSET(15319, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), + NAME_FUNC_OFFSET(15338, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), + NAME_FUNC_OFFSET(15356, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), + NAME_FUNC_OFFSET(15375, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), + NAME_FUNC_OFFSET(15393, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), + NAME_FUNC_OFFSET(15412, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), + NAME_FUNC_OFFSET(15430, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), + NAME_FUNC_OFFSET(15449, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), + NAME_FUNC_OFFSET(15467, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), + NAME_FUNC_OFFSET(15486, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), + NAME_FUNC_OFFSET(15504, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), + NAME_FUNC_OFFSET(15523, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), + NAME_FUNC_OFFSET(15541, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), + NAME_FUNC_OFFSET(15560, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), + NAME_FUNC_OFFSET(15578, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), + NAME_FUNC_OFFSET(15597, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), + NAME_FUNC_OFFSET(15615, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), + NAME_FUNC_OFFSET(15634, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), + NAME_FUNC_OFFSET(15652, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), + NAME_FUNC_OFFSET(15671, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), + NAME_FUNC_OFFSET(15689, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), + NAME_FUNC_OFFSET(15708, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), + NAME_FUNC_OFFSET(15726, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), + NAME_FUNC_OFFSET(15745, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), + NAME_FUNC_OFFSET(15763, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), + NAME_FUNC_OFFSET(15782, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), + NAME_FUNC_OFFSET(15800, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), + NAME_FUNC_OFFSET(15819, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), + NAME_FUNC_OFFSET(15837, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), + NAME_FUNC_OFFSET(15856, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), + NAME_FUNC_OFFSET(15874, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), + NAME_FUNC_OFFSET(15893, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), + NAME_FUNC_OFFSET(15916, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), + NAME_FUNC_OFFSET(15939, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), + NAME_FUNC_OFFSET(15962, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), + NAME_FUNC_OFFSET(15985, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), + NAME_FUNC_OFFSET(16008, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), + NAME_FUNC_OFFSET(16025, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), + NAME_FUNC_OFFSET(16048, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), + NAME_FUNC_OFFSET(16071, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), + NAME_FUNC_OFFSET(16094, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), + NAME_FUNC_OFFSET(16120, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), + NAME_FUNC_OFFSET(16146, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), + NAME_FUNC_OFFSET(16172, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), + NAME_FUNC_OFFSET(16196, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), + NAME_FUNC_OFFSET(16223, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), + NAME_FUNC_OFFSET(16249, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), + NAME_FUNC_OFFSET(16269, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), + NAME_FUNC_OFFSET(16289, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), + NAME_FUNC_OFFSET(16309, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), + NAME_FUNC_OFFSET(16332, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), + NAME_FUNC_OFFSET(16356, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), + NAME_FUNC_OFFSET(16379, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), + NAME_FUNC_OFFSET(16403, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), + NAME_FUNC_OFFSET(16420, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), + NAME_FUNC_OFFSET(16438, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), + NAME_FUNC_OFFSET(16455, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), + NAME_FUNC_OFFSET(16473, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), + NAME_FUNC_OFFSET(16490, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), + NAME_FUNC_OFFSET(16508, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), + NAME_FUNC_OFFSET(16525, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), + NAME_FUNC_OFFSET(16543, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), + NAME_FUNC_OFFSET(16560, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), + NAME_FUNC_OFFSET(16578, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), + NAME_FUNC_OFFSET(16595, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), + NAME_FUNC_OFFSET(16613, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), + NAME_FUNC_OFFSET(16630, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), + NAME_FUNC_OFFSET(16648, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), + NAME_FUNC_OFFSET(16665, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), + NAME_FUNC_OFFSET(16683, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), + NAME_FUNC_OFFSET(16700, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), + NAME_FUNC_OFFSET(16718, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), + NAME_FUNC_OFFSET(16737, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), + NAME_FUNC_OFFSET(16756, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), + NAME_FUNC_OFFSET(16775, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), + NAME_FUNC_OFFSET(16794, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), + NAME_FUNC_OFFSET(16814, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), + NAME_FUNC_OFFSET(16834, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), + NAME_FUNC_OFFSET(16854, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), + NAME_FUNC_OFFSET(16872, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), + NAME_FUNC_OFFSET(16889, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), + NAME_FUNC_OFFSET(16907, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), + NAME_FUNC_OFFSET(16924, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), + NAME_FUNC_OFFSET(16942, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), + NAME_FUNC_OFFSET(16960, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), + NAME_FUNC_OFFSET(16977, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), + NAME_FUNC_OFFSET(16995, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), + NAME_FUNC_OFFSET(17014, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), + NAME_FUNC_OFFSET(17033, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), + NAME_FUNC_OFFSET(17052, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), + NAME_FUNC_OFFSET(17074, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), + NAME_FUNC_OFFSET(17087, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), + NAME_FUNC_OFFSET(17100, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), + NAME_FUNC_OFFSET(17116, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), + NAME_FUNC_OFFSET(17132, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), + NAME_FUNC_OFFSET(17145, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), + NAME_FUNC_OFFSET(17168, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), + NAME_FUNC_OFFSET(17188, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), + NAME_FUNC_OFFSET(17207, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), + NAME_FUNC_OFFSET(17218, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), + NAME_FUNC_OFFSET(17230, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), + NAME_FUNC_OFFSET(17244, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), + NAME_FUNC_OFFSET(17257, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), + NAME_FUNC_OFFSET(17273, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), + NAME_FUNC_OFFSET(17284, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), + NAME_FUNC_OFFSET(17297, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), + NAME_FUNC_OFFSET(17316, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), + NAME_FUNC_OFFSET(17336, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), + NAME_FUNC_OFFSET(17349, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), + NAME_FUNC_OFFSET(17359, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), + NAME_FUNC_OFFSET(17375, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), + NAME_FUNC_OFFSET(17394, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), + NAME_FUNC_OFFSET(17412, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), + NAME_FUNC_OFFSET(17433, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), + NAME_FUNC_OFFSET(17448, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), + NAME_FUNC_OFFSET(17463, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), + NAME_FUNC_OFFSET(17477, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), + NAME_FUNC_OFFSET(17492, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), + NAME_FUNC_OFFSET(17504, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), + NAME_FUNC_OFFSET(17517, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), + NAME_FUNC_OFFSET(17529, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), + NAME_FUNC_OFFSET(17542, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), + NAME_FUNC_OFFSET(17554, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), + NAME_FUNC_OFFSET(17567, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), + NAME_FUNC_OFFSET(17579, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), + NAME_FUNC_OFFSET(17592, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), + NAME_FUNC_OFFSET(17604, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), + NAME_FUNC_OFFSET(17617, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), + NAME_FUNC_OFFSET(17629, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), + NAME_FUNC_OFFSET(17642, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), + NAME_FUNC_OFFSET(17654, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), + NAME_FUNC_OFFSET(17667, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), + NAME_FUNC_OFFSET(17679, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), + NAME_FUNC_OFFSET(17692, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), + NAME_FUNC_OFFSET(17711, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), + NAME_FUNC_OFFSET(17730, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), + NAME_FUNC_OFFSET(17749, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), + NAME_FUNC_OFFSET(17762, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), + NAME_FUNC_OFFSET(17780, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), + NAME_FUNC_OFFSET(17801, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), + NAME_FUNC_OFFSET(17819, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), + NAME_FUNC_OFFSET(17839, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET(17853, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET(17870, gl_dispatch_stub_581, gl_dispatch_stub_581, NULL, _gloffset_SampleMaskSGIS), + NAME_FUNC_OFFSET(17886, gl_dispatch_stub_582, gl_dispatch_stub_582, NULL, _gloffset_SamplePatternSGIS), + NAME_FUNC_OFFSET(17905, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(17923, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(17944, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(17966, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(17985, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(18007, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(18030, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), + NAME_FUNC_OFFSET(18049, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), + NAME_FUNC_OFFSET(18069, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), + NAME_FUNC_OFFSET(18088, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), + NAME_FUNC_OFFSET(18108, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), + NAME_FUNC_OFFSET(18127, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), + NAME_FUNC_OFFSET(18147, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), + NAME_FUNC_OFFSET(18166, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), + NAME_FUNC_OFFSET(18186, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), + NAME_FUNC_OFFSET(18205, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), + NAME_FUNC_OFFSET(18225, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), + NAME_FUNC_OFFSET(18245, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), + NAME_FUNC_OFFSET(18266, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), + NAME_FUNC_OFFSET(18286, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), + NAME_FUNC_OFFSET(18307, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), + NAME_FUNC_OFFSET(18327, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), + NAME_FUNC_OFFSET(18348, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), + NAME_FUNC_OFFSET(18372, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), + NAME_FUNC_OFFSET(18390, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), + NAME_FUNC_OFFSET(18410, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), + NAME_FUNC_OFFSET(18428, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), + NAME_FUNC_OFFSET(18440, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), + NAME_FUNC_OFFSET(18453, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), + NAME_FUNC_OFFSET(18465, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), + NAME_FUNC_OFFSET(18478, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(18498, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(18522, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(18536, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(18553, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(18568, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(18586, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(18600, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(18617, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(18632, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(18650, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(18664, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(18681, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(18696, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(18714, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(18728, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(18745, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(18760, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(18778, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(18792, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(18809, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(18824, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(18842, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(18856, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(18873, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(18888, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(18906, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(18920, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(18937, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(18952, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(18970, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(18984, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(19001, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(19016, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(19034, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), + NAME_FUNC_OFFSET(19051, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), + NAME_FUNC_OFFSET(19071, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), + NAME_FUNC_OFFSET(19088, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(19114, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(19143, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), + NAME_FUNC_OFFSET(19158, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), + NAME_FUNC_OFFSET(19176, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), + NAME_FUNC_OFFSET(19195, gl_dispatch_stub_752, gl_dispatch_stub_752, NULL, _gloffset_DeleteVertexArraysAPPLE), + NAME_FUNC_OFFSET(19216, gl_dispatch_stub_754, gl_dispatch_stub_754, NULL, _gloffset_IsVertexArrayAPPLE), + NAME_FUNC_OFFSET(19232, gl_dispatch_stub_762, gl_dispatch_stub_762, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(19256, gl_dispatch_stub_762, gl_dispatch_stub_762, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(19283, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), + NAME_FUNC_OFFSET(19301, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), + NAME_FUNC_OFFSET(19320, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), + NAME_FUNC_OFFSET(19345, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), + NAME_FUNC_OFFSET(19366, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), + NAME_FUNC_OFFSET(19388, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), + NAME_FUNC_OFFSET(19414, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), + NAME_FUNC_OFFSET(19437, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), + NAME_FUNC_OFFSET(19460, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), + NAME_FUNC_OFFSET(19483, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), + NAME_FUNC_OFFSET(19501, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), + NAME_FUNC_OFFSET(19520, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), + NAME_FUNC_OFFSET(19537, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), + NAME_FUNC_OFFSET(19575, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), + NAME_FUNC_OFFSET(19604, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), + NAME_FUNC_OFFSET(19620, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), + NAME_FUNC_OFFSET(19637, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), + NAME_FUNC_OFFSET(19659, gl_dispatch_stub_780, gl_dispatch_stub_780, NULL, _gloffset_BlitFramebufferEXT), + NAME_FUNC_OFFSET(19677, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) }; diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c index ad40bb6e78..9f650dadd3 100644 --- a/src/mesa/main/enums.c +++ b/src/mesa/main/enums.c @@ -82,6 +82,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ALPHA_TEST\0" "GL_ALPHA_TEST_FUNC\0" "GL_ALPHA_TEST_REF\0" + "GL_ALREADY_SIGNALED\0" "GL_ALWAYS\0" "GL_AMBIENT\0" "GL_AMBIENT_AND_DIFFUSE\0" @@ -305,6 +306,7 @@ LONGSTRING static const char enum_string_table[] = "GL_COMPRESSED_SRGB\0" "GL_COMPRESSED_SRGB_ALPHA\0" "GL_COMPRESSED_TEXTURE_FORMATS\0" + "GL_CONDITION_SATISFIED\0" "GL_CONSTANT\0" "GL_CONSTANT_ALPHA\0" "GL_CONSTANT_ALPHA_EXT\0" @@ -944,6 +946,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV\0" "GL_MAX_RENDERBUFFER_SIZE_EXT\0" "GL_MAX_SAMPLES\0" + "GL_MAX_SERVER_WAIT_TIMEOUT\0" "GL_MAX_SHININESS_NV\0" "GL_MAX_SPOT_EXPONENT_NV\0" "GL_MAX_TEXTURE_COORDS\0" @@ -1072,6 +1075,7 @@ LONGSTRING static const char enum_string_table[] = "GL_OBJECT_PLANE\0" "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB\0" "GL_OBJECT_SUBTYPE_ARB\0" + "GL_OBJECT_TYPE\0" "GL_OBJECT_TYPE_ARB\0" "GL_OBJECT_VALIDATE_STATUS_ARB\0" "GL_OCCLUSION_TEST_HP\0" @@ -1452,6 +1456,7 @@ LONGSTRING static const char enum_string_table[] = "GL_SHARED_TEXTURE_PALETTE_EXT\0" "GL_SHININESS\0" "GL_SHORT\0" + "GL_SIGNALED\0" "GL_SIGNED_NORMALIZED\0" "GL_SINGLE_COLOR\0" "GL_SINGLE_COLOR_EXT\0" @@ -1556,6 +1561,12 @@ LONGSTRING static const char enum_string_table[] = "GL_SUBPIXEL_BITS\0" "GL_SUBTRACT\0" "GL_SUBTRACT_ARB\0" + "GL_SYNC_CONDITION\0" + "GL_SYNC_FENCE\0" + "GL_SYNC_FLAGS\0" + "GL_SYNC_FLUSH_COMMANDS_BIT\0" + "GL_SYNC_GPU_COMMANDS_COMPLETE\0" + "GL_SYNC_STATUS\0" "GL_T\0" "GL_T2F_C3F_V3F\0" "GL_T2F_C4F_N3F_V3F\0" @@ -1752,6 +1763,8 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_WRAP_R\0" "GL_TEXTURE_WRAP_S\0" "GL_TEXTURE_WRAP_T\0" + "GL_TIMEOUT_EXPIRED\0" + "GL_TIMEOUT_IGNORED\0" "GL_TIME_ELAPSED_EXT\0" "GL_TRACK_MATRIX_NV\0" "GL_TRACK_MATRIX_TRANSFORM_NV\0" @@ -1779,6 +1792,7 @@ LONGSTRING static const char enum_string_table[] = "GL_UNPACK_SKIP_PIXELS\0" "GL_UNPACK_SKIP_ROWS\0" "GL_UNPACK_SWAP_BYTES\0" + "GL_UNSIGNALED\0" "GL_UNSIGNED_BYTE\0" "GL_UNSIGNED_BYTE_2_3_3_REV\0" "GL_UNSIGNED_BYTE_3_3_2\0" @@ -1861,6 +1875,7 @@ LONGSTRING static const char enum_string_table[] = "GL_VERTEX_STATE_PROGRAM_NV\0" "GL_VIEWPORT\0" "GL_VIEWPORT_BIT\0" + "GL_WAIT_FAILED\0" "GL_WEIGHT_ARRAY_ARB\0" "GL_WEIGHT_ARRAY_BUFFER_BINDING\0" "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB\0" @@ -1880,7 +1895,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[1842] = +static const enum_elt all_enums[1857] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -1928,3139 +1943,3168 @@ static const enum_elt all_enums[1842] = { 728, 0x00000BC0 }, /* GL_ALPHA_TEST */ { 742, 0x00000BC1 }, /* GL_ALPHA_TEST_FUNC */ { 761, 0x00000BC2 }, /* GL_ALPHA_TEST_REF */ - { 779, 0x00000207 }, /* GL_ALWAYS */ - { 789, 0x00001200 }, /* GL_AMBIENT */ - { 800, 0x00001602 }, /* GL_AMBIENT_AND_DIFFUSE */ - { 823, 0x00001501 }, /* GL_AND */ - { 830, 0x00001504 }, /* GL_AND_INVERTED */ - { 846, 0x00001502 }, /* GL_AND_REVERSE */ - { 861, 0x00008892 }, /* GL_ARRAY_BUFFER */ - { 877, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */ - { 901, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */ - { 929, 0x00008B85 }, /* GL_ATTACHED_SHADERS */ - { 949, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */ - { 976, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */ - { 1000, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */ - { 1026, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */ - { 1050, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */ - { 1072, 0x00000D80 }, /* GL_AUTO_NORMAL */ - { 1087, 0x00000409 }, /* GL_AUX0 */ - { 1095, 0x0000040A }, /* GL_AUX1 */ - { 1103, 0x0000040B }, /* GL_AUX2 */ - { 1111, 0x0000040C }, /* GL_AUX3 */ - { 1119, 0x00000C00 }, /* GL_AUX_BUFFERS */ - { 1134, 0x00000405 }, /* GL_BACK */ - { 1142, 0x00000402 }, /* GL_BACK_LEFT */ - { 1155, 0x00000403 }, /* GL_BACK_RIGHT */ - { 1169, 0x000080E0 }, /* GL_BGR */ - { 1176, 0x000080E1 }, /* GL_BGRA */ - { 1184, 0x00001A00 }, /* GL_BITMAP */ - { 1194, 0x00000704 }, /* GL_BITMAP_TOKEN */ - { 1210, 0x00000BE2 }, /* GL_BLEND */ - { 1219, 0x00008005 }, /* GL_BLEND_COLOR */ - { 1234, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ - { 1253, 0x00000BE0 }, /* GL_BLEND_DST */ - { 1266, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ - { 1285, 0x000080C8 }, /* GL_BLEND_DST_RGB */ - { 1302, 0x00008009 }, /* GL_BLEND_EQUATION */ - { 1320, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */ - { 1344, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ - { 1372, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ - { 1394, 0x00008009 }, /* GL_BLEND_EQUATION_RGB */ - { 1416, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ - { 1442, 0x00000BE1 }, /* GL_BLEND_SRC */ - { 1455, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ - { 1474, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ - { 1491, 0x00001905 }, /* GL_BLUE */ - { 1499, 0x00000D1B }, /* GL_BLUE_BIAS */ - { 1512, 0x00000D54 }, /* GL_BLUE_BITS */ - { 1525, 0x00000D1A }, /* GL_BLUE_SCALE */ - { 1539, 0x00008B56 }, /* GL_BOOL */ - { 1547, 0x00008B56 }, /* GL_BOOL_ARB */ - { 1559, 0x00008B57 }, /* GL_BOOL_VEC2 */ - { 1572, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ - { 1589, 0x00008B58 }, /* GL_BOOL_VEC3 */ - { 1602, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ - { 1619, 0x00008B59 }, /* GL_BOOL_VEC4 */ - { 1632, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ - { 1649, 0x000088BB }, /* GL_BUFFER_ACCESS */ - { 1666, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ - { 1687, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - { 1718, 0x000088BC }, /* GL_BUFFER_MAPPED */ - { 1735, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ - { 1756, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ - { 1778, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ - { 1804, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ - { 1838, 0x00008764 }, /* GL_BUFFER_SIZE */ - { 1853, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ - { 1872, 0x00008765 }, /* GL_BUFFER_USAGE */ - { 1888, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ - { 1908, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */ - { 1927, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */ - { 1953, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */ - { 1976, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ - { 2004, 0x0000877C }, /* GL_BUMP_TARGET_ATI */ - { 2023, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */ - { 2045, 0x00001400 }, /* GL_BYTE */ - { 2053, 0x00002A24 }, /* GL_C3F_V3F */ - { 2064, 0x00002A26 }, /* GL_C4F_N3F_V3F */ - { 2079, 0x00002A22 }, /* GL_C4UB_V2F */ - { 2091, 0x00002A23 }, /* GL_C4UB_V3F */ - { 2103, 0x00000901 }, /* GL_CCW */ - { 2110, 0x00002900 }, /* GL_CLAMP */ - { 2119, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ - { 2138, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ - { 2161, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ - { 2185, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ - { 2202, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ - { 2224, 0x00001500 }, /* GL_CLEAR */ - { 2233, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ - { 2258, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ - { 2287, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ - { 2313, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ - { 2342, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ - { 2368, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ - { 2395, 0x00003000 }, /* GL_CLIP_PLANE0 */ - { 2410, 0x00003001 }, /* GL_CLIP_PLANE1 */ - { 2425, 0x00003002 }, /* GL_CLIP_PLANE2 */ - { 2440, 0x00003003 }, /* GL_CLIP_PLANE3 */ - { 2455, 0x00003004 }, /* GL_CLIP_PLANE4 */ - { 2470, 0x00003005 }, /* GL_CLIP_PLANE5 */ - { 2485, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - { 2518, 0x00000A00 }, /* GL_COEFF */ - { 2527, 0x00001800 }, /* GL_COLOR */ - { 2536, 0x00008076 }, /* GL_COLOR_ARRAY */ - { 2551, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - { 2581, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 2615, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ - { 2638, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ - { 2658, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ - { 2680, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ - { 2700, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */ - { 2721, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ - { 2746, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */ - { 2767, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */ - { 2789, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ - { 2815, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */ - { 2837, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ - { 2863, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */ - { 2885, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ - { 2911, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */ - { 2933, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ - { 2959, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */ - { 2981, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ - { 3007, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */ - { 3029, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ - { 3055, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ - { 3080, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */ - { 3101, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ - { 3126, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */ - { 3147, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ - { 3172, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */ - { 3193, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ - { 3218, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */ - { 3239, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ - { 3264, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */ - { 3285, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ - { 3310, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */ - { 3331, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ - { 3356, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */ - { 3377, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ - { 3402, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */ - { 3423, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ - { 3448, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ - { 3468, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ - { 3489, 0x00001900 }, /* GL_COLOR_INDEX */ - { 3504, 0x00001603 }, /* GL_COLOR_INDEXES */ - { 3521, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ - { 3539, 0x00000B57 }, /* GL_COLOR_MATERIAL */ - { 3557, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ - { 3580, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ - { 3608, 0x000080B1 }, /* GL_COLOR_MATRIX */ - { 3624, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ - { 3644, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ - { 3672, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 3704, 0x00008458 }, /* GL_COLOR_SUM */ - { 3717, 0x00008458 }, /* GL_COLOR_SUM_ARB */ - { 3734, 0x000080D0 }, /* GL_COLOR_TABLE */ - { 3749, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ - { 3775, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ - { 3805, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ - { 3835, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ - { 3855, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ - { 3879, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ - { 3904, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ - { 3933, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ - { 3962, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ - { 3984, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ - { 4010, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ - { 4036, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ - { 4062, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ - { 4092, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ - { 4122, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ - { 4152, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ - { 4186, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ - { 4220, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ - { 4250, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ - { 4284, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ - { 4318, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ - { 4342, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ - { 4370, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ - { 4398, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ - { 4419, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ - { 4444, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ - { 4465, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ - { 4490, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ - { 4515, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ - { 4534, 0x00008570 }, /* GL_COMBINE */ - { 4545, 0x00008503 }, /* GL_COMBINE4 */ - { 4557, 0x00008572 }, /* GL_COMBINE_ALPHA */ - { 4574, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ - { 4595, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ - { 4616, 0x00008570 }, /* GL_COMBINE_ARB */ - { 4631, 0x00008570 }, /* GL_COMBINE_EXT */ - { 4646, 0x00008571 }, /* GL_COMBINE_RGB */ - { 4661, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ - { 4680, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ - { 4699, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */ - { 4735, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ - { 4759, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ - { 4787, 0x00001300 }, /* GL_COMPILE */ - { 4798, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ - { 4821, 0x00008B81 }, /* GL_COMPILE_STATUS */ - { 4839, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ - { 4859, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ - { 4883, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ - { 4907, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ - { 4935, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ - { 4959, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ - { 4989, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ - { 5023, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ - { 5051, 0x000084ED }, /* GL_COMPRESSED_RGB */ - { 5069, 0x000084EE }, /* GL_COMPRESSED_RGBA */ - { 5088, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ - { 5111, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - { 5140, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ - { 5173, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ - { 5206, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - { 5239, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ - { 5261, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ - { 5289, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ - { 5321, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */ - { 5346, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - { 5377, 0x00008C48 }, /* GL_COMPRESSED_SRGB */ - { 5396, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */ - { 5421, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ - { 5451, 0x00008576 }, /* GL_CONSTANT */ - { 5463, 0x00008003 }, /* GL_CONSTANT_ALPHA */ - { 5481, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ - { 5503, 0x00008576 }, /* GL_CONSTANT_ARB */ - { 5519, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ - { 5543, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ - { 5565, 0x00008001 }, /* GL_CONSTANT_COLOR */ - { 5583, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ - { 5605, 0x00008576 }, /* GL_CONSTANT_EXT */ - { 5621, 0x00008010 }, /* GL_CONVOLUTION_1D */ - { 5639, 0x00008011 }, /* GL_CONVOLUTION_2D */ - { 5657, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ - { 5685, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ - { 5716, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ - { 5743, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ - { 5774, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ - { 5801, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ - { 5832, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ - { 5860, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ - { 5892, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ - { 5914, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ - { 5940, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ - { 5962, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ - { 5988, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ - { 6009, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ - { 6034, 0x00008862 }, /* GL_COORD_REPLACE */ - { 6051, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ - { 6072, 0x00008862 }, /* GL_COORD_REPLACE_NV */ - { 6092, 0x00001503 }, /* GL_COPY */ - { 6100, 0x0000150C }, /* GL_COPY_INVERTED */ - { 6117, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ - { 6137, 0x00008F36 }, /* GL_COPY_READ_BUFFER */ - { 6157, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */ - { 6178, 0x00000B44 }, /* GL_CULL_FACE */ - { 6191, 0x00000B45 }, /* GL_CULL_FACE_MODE */ - { 6209, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ - { 6228, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - { 6260, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ - { 6295, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ - { 6316, 0x00000001 }, /* GL_CURRENT_BIT */ - { 6331, 0x00000B00 }, /* GL_CURRENT_COLOR */ - { 6348, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ - { 6369, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ - { 6395, 0x00000B01 }, /* GL_CURRENT_INDEX */ - { 6412, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ - { 6434, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ - { 6462, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ - { 6483, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ - { 6517, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ - { 6550, 0x00000B02 }, /* GL_CURRENT_NORMAL */ - { 6568, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - { 6598, 0x00008B8D }, /* GL_CURRENT_PROGRAM */ - { 6617, 0x00008865 }, /* GL_CURRENT_QUERY */ - { 6634, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ - { 6655, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ - { 6679, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ - { 6706, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ - { 6730, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ - { 6757, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ - { 6790, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ - { 6824, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ - { 6857, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ - { 6884, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ - { 6910, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */ - { 6935, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ - { 6964, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ - { 6986, 0x00000900 }, /* GL_CW */ - { 6992, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ - { 7013, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ - { 7034, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ - { 7054, 0x00002101 }, /* GL_DECAL */ - { 7063, 0x00001E03 }, /* GL_DECR */ - { 7071, 0x00008508 }, /* GL_DECR_WRAP */ - { 7084, 0x00008508 }, /* GL_DECR_WRAP_EXT */ - { 7101, 0x00008B80 }, /* GL_DELETE_STATUS */ - { 7118, 0x00001801 }, /* GL_DEPTH */ - { 7127, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */ - { 7147, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */ - { 7167, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ - { 7191, 0x00000D1F }, /* GL_DEPTH_BIAS */ - { 7205, 0x00000D56 }, /* GL_DEPTH_BITS */ - { 7219, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ - { 7239, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ - { 7264, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ - { 7284, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ - { 7302, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ - { 7323, 0x00001902 }, /* GL_DEPTH_COMPONENT */ - { 7342, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ - { 7363, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ - { 7388, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ - { 7414, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ - { 7435, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ - { 7460, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ - { 7486, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ - { 7507, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ - { 7532, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ - { 7558, 0x00000B74 }, /* GL_DEPTH_FUNC */ - { 7572, 0x00000B70 }, /* GL_DEPTH_RANGE */ - { 7587, 0x00000D1E }, /* GL_DEPTH_SCALE */ - { 7602, 0x000084F9 }, /* GL_DEPTH_STENCIL */ - { 7619, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */ - { 7647, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ - { 7667, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - { 7695, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - { 7723, 0x00000B71 }, /* GL_DEPTH_TEST */ - { 7737, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ - { 7759, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ - { 7785, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ - { 7804, 0x00001201 }, /* GL_DIFFUSE */ - { 7815, 0x00000BD0 }, /* GL_DITHER */ - { 7825, 0x00000A02 }, /* GL_DOMAIN */ - { 7835, 0x00001100 }, /* GL_DONT_CARE */ - { 7848, 0x000086AE }, /* GL_DOT3_RGB */ - { 7860, 0x000086AF }, /* GL_DOT3_RGBA */ - { 7873, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ - { 7890, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ - { 7907, 0x000086AE }, /* GL_DOT3_RGB_ARB */ - { 7923, 0x00008740 }, /* GL_DOT3_RGB_EXT */ - { 7939, 0x0000140A }, /* GL_DOUBLE */ - { 7949, 0x00000C32 }, /* GL_DOUBLEBUFFER */ - { 7965, 0x00000C01 }, /* GL_DRAW_BUFFER */ - { 7980, 0x00008825 }, /* GL_DRAW_BUFFER0 */ - { 7996, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ - { 8016, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ - { 8036, 0x00008826 }, /* GL_DRAW_BUFFER1 */ - { 8052, 0x0000882F }, /* GL_DRAW_BUFFER10 */ - { 8069, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ - { 8090, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ - { 8111, 0x00008830 }, /* GL_DRAW_BUFFER11 */ - { 8128, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ - { 8149, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ - { 8170, 0x00008831 }, /* GL_DRAW_BUFFER12 */ - { 8187, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ - { 8208, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ - { 8229, 0x00008832 }, /* GL_DRAW_BUFFER13 */ - { 8246, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ - { 8267, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ - { 8288, 0x00008833 }, /* GL_DRAW_BUFFER14 */ - { 8305, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ - { 8326, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ - { 8347, 0x00008834 }, /* GL_DRAW_BUFFER15 */ - { 8364, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ - { 8385, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ - { 8406, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ - { 8426, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ - { 8446, 0x00008827 }, /* GL_DRAW_BUFFER2 */ - { 8462, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ - { 8482, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ - { 8502, 0x00008828 }, /* GL_DRAW_BUFFER3 */ - { 8518, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ - { 8538, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ - { 8558, 0x00008829 }, /* GL_DRAW_BUFFER4 */ - { 8574, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ - { 8594, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ - { 8614, 0x0000882A }, /* GL_DRAW_BUFFER5 */ - { 8630, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ - { 8650, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ - { 8670, 0x0000882B }, /* GL_DRAW_BUFFER6 */ - { 8686, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ - { 8706, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ - { 8726, 0x0000882C }, /* GL_DRAW_BUFFER7 */ - { 8742, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ - { 8762, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ - { 8782, 0x0000882D }, /* GL_DRAW_BUFFER8 */ - { 8798, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ - { 8818, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ - { 8838, 0x0000882E }, /* GL_DRAW_BUFFER9 */ - { 8854, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ - { 8874, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ - { 8894, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */ - { 8914, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - { 8946, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ - { 8970, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ - { 8990, 0x00000304 }, /* GL_DST_ALPHA */ - { 9003, 0x00000306 }, /* GL_DST_COLOR */ - { 9016, 0x0000877A }, /* GL_DU8DV8_ATI */ - { 9030, 0x00008779 }, /* GL_DUDV_ATI */ - { 9042, 0x000088EA }, /* GL_DYNAMIC_COPY */ - { 9058, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ - { 9078, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ - { 9094, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ - { 9114, 0x000088E9 }, /* GL_DYNAMIC_READ */ - { 9130, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ - { 9150, 0x00000B43 }, /* GL_EDGE_FLAG */ - { 9163, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ - { 9182, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - { 9216, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ - { 9254, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ - { 9281, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - { 9307, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ - { 9331, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - { 9363, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ - { 9399, 0x00001600 }, /* GL_EMISSION */ - { 9411, 0x00002000 }, /* GL_ENABLE_BIT */ - { 9425, 0x00000202 }, /* GL_EQUAL */ - { 9434, 0x00001509 }, /* GL_EQUIV */ - { 9443, 0x00010000 }, /* GL_EVAL_BIT */ - { 9455, 0x00000800 }, /* GL_EXP */ - { 9462, 0x00000801 }, /* GL_EXP2 */ - { 9470, 0x00001F03 }, /* GL_EXTENSIONS */ - { 9484, 0x00002400 }, /* GL_EYE_LINEAR */ - { 9498, 0x00002502 }, /* GL_EYE_PLANE */ - { 9511, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ - { 9536, 0x0000855B }, /* GL_EYE_RADIAL_NV */ - { 9553, 0x00000000 }, /* GL_FALSE */ - { 9562, 0x00001101 }, /* GL_FASTEST */ - { 9573, 0x00001C01 }, /* GL_FEEDBACK */ - { 9585, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ - { 9612, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ - { 9636, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ - { 9660, 0x00001B02 }, /* GL_FILL */ - { 9668, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */ - { 9699, 0x00001D00 }, /* GL_FLAT */ - { 9707, 0x00001406 }, /* GL_FLOAT */ - { 9716, 0x00008B5A }, /* GL_FLOAT_MAT2 */ - { 9730, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ - { 9748, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */ - { 9764, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */ - { 9780, 0x00008B5B }, /* GL_FLOAT_MAT3 */ - { 9794, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ - { 9812, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */ - { 9828, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */ - { 9844, 0x00008B5C }, /* GL_FLOAT_MAT4 */ - { 9858, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ - { 9876, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */ - { 9892, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */ - { 9908, 0x00008B50 }, /* GL_FLOAT_VEC2 */ - { 9922, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ - { 9940, 0x00008B51 }, /* GL_FLOAT_VEC3 */ - { 9954, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ - { 9972, 0x00008B52 }, /* GL_FLOAT_VEC4 */ - { 9986, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ - { 10004, 0x00000B60 }, /* GL_FOG */ - { 10011, 0x00000080 }, /* GL_FOG_BIT */ - { 10022, 0x00000B66 }, /* GL_FOG_COLOR */ - { 10035, 0x00008451 }, /* GL_FOG_COORD */ - { 10048, 0x00008451 }, /* GL_FOG_COORDINATE */ - { 10066, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ - { 10090, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - { 10129, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ - { 10172, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - { 10204, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - { 10235, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - { 10264, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ - { 10289, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ - { 10308, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ - { 10342, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ - { 10369, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ - { 10395, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ - { 10419, 0x00008450 }, /* GL_FOG_COORD_SRC */ - { 10436, 0x00000B62 }, /* GL_FOG_DENSITY */ - { 10451, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ - { 10475, 0x00000B64 }, /* GL_FOG_END */ - { 10486, 0x00000C54 }, /* GL_FOG_HINT */ - { 10498, 0x00000B61 }, /* GL_FOG_INDEX */ - { 10511, 0x00000B65 }, /* GL_FOG_MODE */ - { 10523, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ - { 10542, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ - { 10567, 0x00000B63 }, /* GL_FOG_START */ - { 10580, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ - { 10598, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ - { 10622, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ - { 10641, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ - { 10664, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - { 10699, 0x00008D40 }, /* GL_FRAMEBUFFER */ - { 10714, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ - { 10751, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ - { 10787, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ - { 10828, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ - { 10869, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ - { 10906, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ - { 10943, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ - { 10981, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ - { 11023, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ - { 11061, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ - { 11103, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ - { 11138, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ - { 11177, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ - { 11226, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ - { 11274, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ - { 11326, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ - { 11366, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ - { 11410, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ - { 11450, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ - { 11494, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ - { 11521, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ - { 11545, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ - { 11573, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ - { 11596, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ - { 11615, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ - { 11652, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ - { 11693, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - { 11734, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - { 11776, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - { 11827, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - { 11865, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ - { 11910, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ - { 11959, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - { 11997, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - { 12039, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - { 12071, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ - { 12096, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ - { 12123, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ - { 12154, 0x00000404 }, /* GL_FRONT */ - { 12163, 0x00000408 }, /* GL_FRONT_AND_BACK */ - { 12181, 0x00000B46 }, /* GL_FRONT_FACE */ - { 12195, 0x00000400 }, /* GL_FRONT_LEFT */ - { 12209, 0x00000401 }, /* GL_FRONT_RIGHT */ - { 12224, 0x00008006 }, /* GL_FUNC_ADD */ - { 12236, 0x00008006 }, /* GL_FUNC_ADD_EXT */ - { 12252, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ - { 12277, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ - { 12306, 0x0000800A }, /* GL_FUNC_SUBTRACT */ - { 12323, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ - { 12344, 0x00008191 }, /* GL_GENERATE_MIPMAP */ - { 12363, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ - { 12387, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ - { 12416, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ - { 12440, 0x00000206 }, /* GL_GEQUAL */ - { 12450, 0x00000204 }, /* GL_GREATER */ - { 12461, 0x00001904 }, /* GL_GREEN */ - { 12470, 0x00000D19 }, /* GL_GREEN_BIAS */ - { 12484, 0x00000D53 }, /* GL_GREEN_BITS */ - { 12498, 0x00000D18 }, /* GL_GREEN_SCALE */ - { 12513, 0x00008000 }, /* GL_HINT_BIT */ - { 12525, 0x00008024 }, /* GL_HISTOGRAM */ - { 12538, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ - { 12562, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ - { 12590, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ - { 12613, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ - { 12640, 0x00008024 }, /* GL_HISTOGRAM_EXT */ - { 12657, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ - { 12677, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ - { 12701, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ - { 12725, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ - { 12753, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - { 12781, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ - { 12813, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ - { 12835, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ - { 12861, 0x0000802D }, /* GL_HISTOGRAM_SINK */ - { 12879, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ - { 12901, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ - { 12920, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ - { 12943, 0x0000862A }, /* GL_IDENTITY_NV */ - { 12958, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ - { 12978, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - { 13018, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - { 13056, 0x00001E02 }, /* GL_INCR */ - { 13064, 0x00008507 }, /* GL_INCR_WRAP */ - { 13077, 0x00008507 }, /* GL_INCR_WRAP_EXT */ - { 13094, 0x00008222 }, /* GL_INDEX */ - { 13103, 0x00008077 }, /* GL_INDEX_ARRAY */ - { 13118, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - { 13148, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ - { 13182, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ - { 13205, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ - { 13227, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ - { 13247, 0x00000D51 }, /* GL_INDEX_BITS */ - { 13261, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ - { 13282, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ - { 13300, 0x00000C30 }, /* GL_INDEX_MODE */ - { 13314, 0x00000D13 }, /* GL_INDEX_OFFSET */ - { 13330, 0x00000D12 }, /* GL_INDEX_SHIFT */ - { 13345, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ - { 13364, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ - { 13383, 0x00001404 }, /* GL_INT */ - { 13390, 0x00008049 }, /* GL_INTENSITY */ - { 13403, 0x0000804C }, /* GL_INTENSITY12 */ - { 13418, 0x0000804C }, /* GL_INTENSITY12_EXT */ - { 13437, 0x0000804D }, /* GL_INTENSITY16 */ - { 13452, 0x0000804D }, /* GL_INTENSITY16_EXT */ - { 13471, 0x0000804A }, /* GL_INTENSITY4 */ - { 13485, 0x0000804A }, /* GL_INTENSITY4_EXT */ - { 13503, 0x0000804B }, /* GL_INTENSITY8 */ - { 13517, 0x0000804B }, /* GL_INTENSITY8_EXT */ - { 13535, 0x00008049 }, /* GL_INTENSITY_EXT */ - { 13552, 0x00008575 }, /* GL_INTERPOLATE */ - { 13567, 0x00008575 }, /* GL_INTERPOLATE_ARB */ - { 13586, 0x00008575 }, /* GL_INTERPOLATE_EXT */ - { 13605, 0x00008B53 }, /* GL_INT_VEC2 */ - { 13617, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 13633, 0x00008B54 }, /* GL_INT_VEC3 */ - { 13645, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 13661, 0x00008B55 }, /* GL_INT_VEC4 */ - { 13673, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 13689, 0x00000500 }, /* GL_INVALID_ENUM */ - { 13705, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ - { 13738, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 13775, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 13796, 0x00000501 }, /* GL_INVALID_VALUE */ - { 13813, 0x0000862B }, /* GL_INVERSE_NV */ - { 13827, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 13851, 0x0000150A }, /* GL_INVERT */ - { 13861, 0x00001E00 }, /* GL_KEEP */ - { 13869, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ - { 13899, 0x00000406 }, /* GL_LEFT */ - { 13907, 0x00000203 }, /* GL_LEQUAL */ - { 13917, 0x00000201 }, /* GL_LESS */ - { 13925, 0x00004000 }, /* GL_LIGHT0 */ - { 13935, 0x00004001 }, /* GL_LIGHT1 */ - { 13945, 0x00004002 }, /* GL_LIGHT2 */ - { 13955, 0x00004003 }, /* GL_LIGHT3 */ - { 13965, 0x00004004 }, /* GL_LIGHT4 */ - { 13975, 0x00004005 }, /* GL_LIGHT5 */ - { 13985, 0x00004006 }, /* GL_LIGHT6 */ - { 13995, 0x00004007 }, /* GL_LIGHT7 */ - { 14005, 0x00000B50 }, /* GL_LIGHTING */ - { 14017, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 14033, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 14056, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 14085, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 14118, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 14146, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 14170, 0x00001B01 }, /* GL_LINE */ - { 14178, 0x00002601 }, /* GL_LINEAR */ - { 14188, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 14210, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 14240, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 14271, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 14295, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 14320, 0x00000001 }, /* GL_LINES */ - { 14329, 0x00000004 }, /* GL_LINE_BIT */ - { 14341, 0x00000002 }, /* GL_LINE_LOOP */ - { 14354, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 14374, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 14389, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 14409, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 14425, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 14449, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 14472, 0x00000003 }, /* GL_LINE_STRIP */ - { 14486, 0x00000702 }, /* GL_LINE_TOKEN */ - { 14500, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 14514, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 14540, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 14560, 0x00008B82 }, /* GL_LINK_STATUS */ - { 14575, 0x00000B32 }, /* GL_LIST_BASE */ - { 14588, 0x00020000 }, /* GL_LIST_BIT */ - { 14600, 0x00000B33 }, /* GL_LIST_INDEX */ - { 14614, 0x00000B30 }, /* GL_LIST_MODE */ - { 14627, 0x00000101 }, /* GL_LOAD */ - { 14635, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 14647, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 14664, 0x00008CA1 }, /* GL_LOWER_LEFT */ - { 14678, 0x00001909 }, /* GL_LUMINANCE */ - { 14691, 0x00008041 }, /* GL_LUMINANCE12 */ - { 14706, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 14729, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 14756, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 14778, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 14804, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 14823, 0x00008042 }, /* GL_LUMINANCE16 */ - { 14838, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 14861, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 14888, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 14907, 0x0000803F }, /* GL_LUMINANCE4 */ - { 14921, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 14942, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 14967, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 14985, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 15006, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 15031, 0x00008040 }, /* GL_LUMINANCE8 */ - { 15045, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 15066, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 15091, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 15109, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 15128, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 15144, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 15164, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 15186, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 15200, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 15215, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 15239, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 15263, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 15287, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 15311, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 15328, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 15345, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 15373, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 15402, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 15431, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 15460, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 15489, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 15518, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 15547, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 15575, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 15603, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 15631, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 15659, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 15687, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 15715, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 15743, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 15771, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 15799, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 15815, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 15835, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 15857, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 15871, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 15886, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 15910, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 15934, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 15958, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 15982, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 15999, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 16016, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 16044, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 16073, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 16102, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 16131, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 16160, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 16189, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 16218, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 16246, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 16274, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 16302, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 16330, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 16358, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 16386, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 16414, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 16442, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 16470, 0x00000D10 }, /* GL_MAP_COLOR */ - { 16483, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ - { 16509, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ - { 16538, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ - { 16566, 0x00000001 }, /* GL_MAP_READ_BIT */ - { 16582, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 16597, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ - { 16623, 0x00000002 }, /* GL_MAP_WRITE_BIT */ - { 16640, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 16655, 0x00008630 }, /* GL_MATRIX0_NV */ - { 16669, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 16685, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 16701, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 16717, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 16733, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 16749, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 16765, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 16781, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 16797, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 16813, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 16829, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 16844, 0x00008631 }, /* GL_MATRIX1_NV */ - { 16858, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 16874, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 16890, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 16906, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 16922, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 16938, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 16954, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 16970, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 16986, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 17002, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 17018, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 17033, 0x00008632 }, /* GL_MATRIX2_NV */ - { 17047, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 17063, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 17079, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 17094, 0x00008633 }, /* GL_MATRIX3_NV */ - { 17108, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 17123, 0x00008634 }, /* GL_MATRIX4_NV */ - { 17137, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 17152, 0x00008635 }, /* GL_MATRIX5_NV */ - { 17166, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 17181, 0x00008636 }, /* GL_MATRIX6_NV */ - { 17195, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 17210, 0x00008637 }, /* GL_MATRIX7_NV */ - { 17224, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 17239, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 17254, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 17280, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 17314, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 17345, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 17378, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 17409, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 17424, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 17446, 0x00008008 }, /* GL_MAX */ - { 17453, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 17476, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - { 17508, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 17534, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 17567, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 17593, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 17627, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 17646, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 17675, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 17707, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 17743, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - { 17779, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 17819, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 17845, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 17875, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 17900, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 17929, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 17958, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 17991, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ - { 18011, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 18035, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 18059, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 18083, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 18108, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 18126, 0x00008008 }, /* GL_MAX_EXT */ - { 18137, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - { 18172, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 18211, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 18225, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 18245, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 18283, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 18312, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 18336, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 18364, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 18387, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 18424, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 18460, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 18487, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 18516, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 18550, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 18586, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 18613, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 18645, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 18681, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 18710, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 18739, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 18767, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 18805, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 18849, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 18892, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 18926, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 18965, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 19002, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 19040, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 19083, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 19126, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 19156, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 19187, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 19223, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 19259, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 19289, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 19323, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 19356, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 19385, 0x00008D57 }, /* GL_MAX_SAMPLES */ - { 19400, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 19420, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 19444, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ - { 19466, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 19492, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - { 19519, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 19550, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 19574, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 19608, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 19628, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 19655, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 19676, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 19701, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 19726, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 19761, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ - { 19783, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 19809, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ - { 19831, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 19857, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - { 19891, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 19929, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - { 19962, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 19999, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 20023, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 20044, 0x00008007 }, /* GL_MIN */ - { 20051, 0x0000802E }, /* GL_MINMAX */ - { 20061, 0x0000802E }, /* GL_MINMAX_EXT */ - { 20075, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 20092, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 20113, 0x00008030 }, /* GL_MINMAX_SINK */ - { 20128, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 20147, 0x00008007 }, /* GL_MIN_EXT */ - { 20158, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 20177, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 20200, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 20223, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 20243, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 20263, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 20293, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 20321, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 20349, 0x00001700 }, /* GL_MODELVIEW */ - { 20362, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 20380, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 20399, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 20418, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 20437, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 20456, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 20475, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 20494, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 20513, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 20532, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 20551, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 20570, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 20588, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 20607, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 20626, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 20645, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 20664, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 20683, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 20702, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 20721, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 20740, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 20759, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 20778, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 20796, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 20815, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 20834, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 20852, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 20870, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 20888, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 20906, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 20924, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 20942, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 20960, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 20980, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 21007, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 21032, 0x00002100 }, /* GL_MODULATE */ - { 21044, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 21064, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 21091, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 21116, 0x00000103 }, /* GL_MULT */ - { 21124, 0x0000809D }, /* GL_MULTISAMPLE */ - { 21139, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 21159, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 21178, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 21197, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 21221, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 21244, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 21274, 0x00002A25 }, /* GL_N3F_V3F */ - { 21285, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 21305, 0x0000150E }, /* GL_NAND */ - { 21313, 0x00002600 }, /* GL_NEAREST */ - { 21324, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 21355, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 21387, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 21412, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 21438, 0x00000200 }, /* GL_NEVER */ - { 21447, 0x00001102 }, /* GL_NICEST */ - { 21457, 0x00000000 }, /* GL_NONE */ - { 21465, 0x00001505 }, /* GL_NOOP */ - { 21473, 0x00001508 }, /* GL_NOR */ - { 21480, 0x00000BA1 }, /* GL_NORMALIZE */ - { 21493, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 21509, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 21540, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 21575, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 21599, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 21622, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 21643, 0x00008511 }, /* GL_NORMAL_MAP */ - { 21657, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 21675, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 21692, 0x00000205 }, /* GL_NOTEQUAL */ - { 21704, 0x00000000 }, /* GL_NO_ERROR */ - { 21716, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 21750, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ - { 21788, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 21820, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 21862, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 21892, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 21932, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 21963, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 21992, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 22020, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 22050, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 22067, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 22093, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 22109, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 22144, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 22166, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 22185, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 22215, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 22236, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 22264, 0x00000001 }, /* GL_ONE */ - { 22271, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 22299, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 22331, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 22359, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 22391, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 22414, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 22437, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 22460, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 22483, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 22501, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 22523, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 22545, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 22561, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 22581, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 22601, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 22619, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 22641, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 22663, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 22679, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 22699, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 22719, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 22737, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 22759, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 22781, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 22797, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 22817, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 22837, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 22858, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 22877, 0x00001507 }, /* GL_OR */ - { 22883, 0x00000A01 }, /* GL_ORDER */ - { 22892, 0x0000150D }, /* GL_OR_INVERTED */ - { 22907, 0x0000150B }, /* GL_OR_REVERSE */ - { 22921, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 22938, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 22956, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 22977, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 22997, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 23015, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 23034, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 23054, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 23074, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 23092, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 23111, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 23136, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 23160, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 23181, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 23203, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 23225, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 23250, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 23274, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 23295, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 23317, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 23339, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 23361, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 23392, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 23412, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 23437, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 23457, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 23482, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 23502, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 23527, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 23547, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 23572, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 23592, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 23617, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 23637, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 23662, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 23682, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 23707, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 23727, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 23752, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 23772, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 23797, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 23817, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 23842, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 23860, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ - { 23881, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ - { 23910, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 23943, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 23968, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ - { 23991, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - { 24022, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 24057, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 24084, 0x00001B00 }, /* GL_POINT */ - { 24093, 0x00000000 }, /* GL_POINTS */ - { 24103, 0x00000002 }, /* GL_POINT_BIT */ - { 24116, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 24146, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 24180, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 24214, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 24249, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 24278, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 24311, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 24344, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 24378, 0x00000B11 }, /* GL_POINT_SIZE */ - { 24392, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 24418, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 24436, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 24458, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 24480, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 24503, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 24521, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 24543, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 24565, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 24588, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 24608, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 24624, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 24645, 0x00008861 }, /* GL_POINT_SPRITE */ - { 24661, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 24681, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 24710, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 24729, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 24755, 0x00000701 }, /* GL_POINT_TOKEN */ - { 24770, 0x00000009 }, /* GL_POLYGON */ - { 24781, 0x00000008 }, /* GL_POLYGON_BIT */ - { 24796, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 24812, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 24835, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 24860, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 24883, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 24906, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 24930, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 24954, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 24972, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 24995, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 25014, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 25037, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 25054, 0x00001203 }, /* GL_POSITION */ - { 25066, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 25098, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 25134, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 25167, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 25204, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 25235, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 25270, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 25302, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 25338, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 25371, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 25403, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 25439, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 25472, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 25509, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 25539, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 25573, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 25604, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 25639, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 25670, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 25705, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 25737, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 25773, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 25803, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 25837, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 25868, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 25903, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 25935, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 25966, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 26001, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 26033, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 26069, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 26098, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 26131, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 26161, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 26195, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 26234, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 26267, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 26307, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 26341, 0x00008578 }, /* GL_PREVIOUS */ - { 26353, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 26369, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 26385, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 26402, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 26423, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 26444, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 26477, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 26509, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 26532, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 26555, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 26585, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 26614, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 26642, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 26664, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 26692, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 26720, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 26742, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 26763, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 26803, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 26842, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 26872, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 26907, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 26940, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 26974, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 27013, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 27052, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 27074, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 27100, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 27124, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 27147, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 27169, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 27190, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 27211, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 27238, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 27270, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 27302, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 27337, 0x00001701 }, /* GL_PROJECTION */ - { 27351, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 27372, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 27398, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ - { 27422, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 27443, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 27462, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 27485, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 27524, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 27562, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 27582, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - { 27612, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 27636, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 27656, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - { 27686, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 27710, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 27730, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 27763, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 27789, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 27819, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 27850, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 27880, 0x00002003 }, /* GL_Q */ - { 27885, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 27910, 0x00000007 }, /* GL_QUADS */ - { 27919, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - { 27967, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 27984, 0x00000008 }, /* GL_QUAD_STRIP */ - { 27998, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 28020, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 28046, 0x00008866 }, /* GL_QUERY_RESULT */ - { 28062, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 28082, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 28108, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 28138, 0x00002002 }, /* GL_R */ - { 28143, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 28155, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 28188, 0x00000C02 }, /* GL_READ_BUFFER */ - { 28203, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ - { 28223, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 28255, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 28279, 0x000088B8 }, /* GL_READ_ONLY */ - { 28292, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 28309, 0x000088BA }, /* GL_READ_WRITE */ - { 28323, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 28341, 0x00001903 }, /* GL_RED */ - { 28348, 0x00008016 }, /* GL_REDUCE */ - { 28358, 0x00008016 }, /* GL_REDUCE_EXT */ - { 28372, 0x00000D15 }, /* GL_RED_BIAS */ - { 28384, 0x00000D52 }, /* GL_RED_BITS */ - { 28396, 0x00000D14 }, /* GL_RED_SCALE */ - { 28409, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 28427, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 28449, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 28470, 0x00001C00 }, /* GL_RENDER */ - { 28480, 0x00008D41 }, /* GL_RENDERBUFFER */ - { 28496, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ - { 28523, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 28551, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ - { 28577, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ - { 28604, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 28624, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ - { 28651, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ - { 28674, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 28701, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - { 28733, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 28769, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ - { 28794, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ - { 28818, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ - { 28847, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ - { 28869, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 28895, 0x00001F01 }, /* GL_RENDERER */ - { 28907, 0x00000C40 }, /* GL_RENDER_MODE */ - { 28922, 0x00002901 }, /* GL_REPEAT */ - { 28932, 0x00001E01 }, /* GL_REPLACE */ - { 28943, 0x00008062 }, /* GL_REPLACE_EXT */ - { 28958, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 28981, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 28999, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 29021, 0x00000102 }, /* GL_RETURN */ - { 29031, 0x00001907 }, /* GL_RGB */ - { 29038, 0x00008052 }, /* GL_RGB10 */ - { 29047, 0x00008059 }, /* GL_RGB10_A2 */ - { 29059, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 29075, 0x00008052 }, /* GL_RGB10_EXT */ - { 29088, 0x00008053 }, /* GL_RGB12 */ - { 29097, 0x00008053 }, /* GL_RGB12_EXT */ - { 29110, 0x00008054 }, /* GL_RGB16 */ - { 29119, 0x00008054 }, /* GL_RGB16_EXT */ - { 29132, 0x0000804E }, /* GL_RGB2_EXT */ - { 29144, 0x0000804F }, /* GL_RGB4 */ - { 29152, 0x0000804F }, /* GL_RGB4_EXT */ - { 29164, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 29177, 0x00008050 }, /* GL_RGB5 */ - { 29185, 0x00008057 }, /* GL_RGB5_A1 */ - { 29196, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 29211, 0x00008050 }, /* GL_RGB5_EXT */ - { 29223, 0x00008051 }, /* GL_RGB8 */ - { 29231, 0x00008051 }, /* GL_RGB8_EXT */ - { 29243, 0x00001908 }, /* GL_RGBA */ - { 29251, 0x0000805A }, /* GL_RGBA12 */ - { 29261, 0x0000805A }, /* GL_RGBA12_EXT */ - { 29275, 0x0000805B }, /* GL_RGBA16 */ - { 29285, 0x0000805B }, /* GL_RGBA16_EXT */ - { 29299, 0x00008055 }, /* GL_RGBA2 */ - { 29308, 0x00008055 }, /* GL_RGBA2_EXT */ - { 29321, 0x00008056 }, /* GL_RGBA4 */ - { 29330, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 29349, 0x00008056 }, /* GL_RGBA4_EXT */ - { 29362, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 29376, 0x00008058 }, /* GL_RGBA8 */ - { 29385, 0x00008058 }, /* GL_RGBA8_EXT */ - { 29398, 0x00008F97 }, /* GL_RGBA8_SNORM */ - { 29413, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 29431, 0x00000C31 }, /* GL_RGBA_MODE */ - { 29444, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 29457, 0x00008F93 }, /* GL_RGBA_SNORM */ - { 29471, 0x000083A0 }, /* GL_RGB_S3TC */ - { 29483, 0x00008573 }, /* GL_RGB_SCALE */ - { 29496, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 29513, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 29530, 0x00000407 }, /* GL_RIGHT */ - { 29539, 0x00002000 }, /* GL_S */ - { 29544, 0x00008B5D }, /* GL_SAMPLER_1D */ - { 29558, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ - { 29579, 0x00008B5E }, /* GL_SAMPLER_2D */ - { 29593, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ - { 29614, 0x00008B5F }, /* GL_SAMPLER_3D */ - { 29628, 0x00008B60 }, /* GL_SAMPLER_CUBE */ - { 29644, 0x000080A9 }, /* GL_SAMPLES */ - { 29655, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 29671, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 29686, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 29704, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 29726, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 29754, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 29786, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 29809, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 29836, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 29854, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 29877, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 29899, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 29918, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 29941, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 29967, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 29997, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 30022, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 30051, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 30066, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 30081, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 30097, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 30122, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 30162, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 30206, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 30239, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 30269, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 30301, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 30331, 0x00001C02 }, /* GL_SELECT */ - { 30341, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 30369, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 30394, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 30410, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 30437, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 30468, 0x0000150F }, /* GL_SET */ - { 30475, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 30496, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ - { 30520, 0x00008B4F }, /* GL_SHADER_TYPE */ - { 30535, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 30550, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ - { 30578, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 30601, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 30631, 0x00001601 }, /* GL_SHININESS */ - { 30644, 0x00001402 }, /* GL_SHORT */ - { 30653, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ - { 30674, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 30690, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 30710, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 30729, 0x00008C46 }, /* GL_SLUMINANCE */ - { 30743, 0x00008C47 }, /* GL_SLUMINANCE8 */ - { 30758, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ - { 30780, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ - { 30800, 0x00001D01 }, /* GL_SMOOTH */ - { 30810, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 30843, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 30870, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 30903, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 30930, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 30947, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 30968, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 30989, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 31004, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 31023, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 31042, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 31059, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 31080, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 31101, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 31116, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 31135, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 31154, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 31171, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 31192, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 31213, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 31228, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 31247, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 31266, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 31286, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 31304, 0x00001202 }, /* GL_SPECULAR */ - { 31316, 0x00002402 }, /* GL_SPHERE_MAP */ - { 31330, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 31345, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 31363, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 31380, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 31394, 0x00008580 }, /* GL_SRC0_RGB */ - { 31406, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 31420, 0x00008581 }, /* GL_SRC1_RGB */ - { 31432, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 31446, 0x00008582 }, /* GL_SRC2_RGB */ - { 31458, 0x00000302 }, /* GL_SRC_ALPHA */ - { 31471, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 31493, 0x00000300 }, /* GL_SRC_COLOR */ - { 31506, 0x00008C40 }, /* GL_SRGB */ - { 31514, 0x00008C41 }, /* GL_SRGB8 */ - { 31523, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ - { 31539, 0x00008C42 }, /* GL_SRGB_ALPHA */ - { 31553, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 31571, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 31590, 0x000088E6 }, /* GL_STATIC_COPY */ - { 31605, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 31624, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 31639, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 31658, 0x000088E5 }, /* GL_STATIC_READ */ - { 31673, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 31692, 0x00001802 }, /* GL_STENCIL */ - { 31703, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ - { 31725, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 31751, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ - { 31772, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ - { 31797, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ - { 31818, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ - { 31843, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - { 31875, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ - { 31911, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - { 31943, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ - { 31979, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ - { 31999, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ - { 32026, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ - { 32052, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 32068, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 32090, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 32113, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 32129, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 32145, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 32162, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 32185, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 32207, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 32229, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 32251, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 32272, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 32299, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 32326, 0x00000B97 }, /* GL_STENCIL_REF */ - { 32341, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 32357, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 32386, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 32408, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 32429, 0x00000C33 }, /* GL_STEREO */ - { 32439, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ - { 32463, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ - { 32488, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ - { 32512, 0x000088E2 }, /* GL_STREAM_COPY */ - { 32527, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 32546, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 32561, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 32580, 0x000088E1 }, /* GL_STREAM_READ */ - { 32595, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 32614, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 32631, 0x000084E7 }, /* GL_SUBTRACT */ - { 32643, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 32659, 0x00002001 }, /* GL_T */ - { 32664, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 32679, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 32698, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 32714, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 32729, 0x00002A27 }, /* GL_T2F_V3F */ - { 32740, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 32759, 0x00002A28 }, /* GL_T4F_V4F */ - { 32770, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 32793, 0x00001702 }, /* GL_TEXTURE */ - { 32804, 0x000084C0 }, /* GL_TEXTURE0 */ - { 32816, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 32832, 0x000084C1 }, /* GL_TEXTURE1 */ - { 32844, 0x000084CA }, /* GL_TEXTURE10 */ - { 32857, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 32874, 0x000084CB }, /* GL_TEXTURE11 */ - { 32887, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 32904, 0x000084CC }, /* GL_TEXTURE12 */ - { 32917, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 32934, 0x000084CD }, /* GL_TEXTURE13 */ - { 32947, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 32964, 0x000084CE }, /* GL_TEXTURE14 */ - { 32977, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 32994, 0x000084CF }, /* GL_TEXTURE15 */ - { 33007, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 33024, 0x000084D0 }, /* GL_TEXTURE16 */ - { 33037, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 33054, 0x000084D1 }, /* GL_TEXTURE17 */ - { 33067, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 33084, 0x000084D2 }, /* GL_TEXTURE18 */ - { 33097, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 33114, 0x000084D3 }, /* GL_TEXTURE19 */ - { 33127, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 33144, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 33160, 0x000084C2 }, /* GL_TEXTURE2 */ - { 33172, 0x000084D4 }, /* GL_TEXTURE20 */ - { 33185, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 33202, 0x000084D5 }, /* GL_TEXTURE21 */ - { 33215, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 33232, 0x000084D6 }, /* GL_TEXTURE22 */ - { 33245, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 33262, 0x000084D7 }, /* GL_TEXTURE23 */ - { 33275, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 33292, 0x000084D8 }, /* GL_TEXTURE24 */ - { 33305, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 33322, 0x000084D9 }, /* GL_TEXTURE25 */ - { 33335, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 33352, 0x000084DA }, /* GL_TEXTURE26 */ - { 33365, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 33382, 0x000084DB }, /* GL_TEXTURE27 */ - { 33395, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 33412, 0x000084DC }, /* GL_TEXTURE28 */ - { 33425, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 33442, 0x000084DD }, /* GL_TEXTURE29 */ - { 33455, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 33472, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 33488, 0x000084C3 }, /* GL_TEXTURE3 */ - { 33500, 0x000084DE }, /* GL_TEXTURE30 */ - { 33513, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 33530, 0x000084DF }, /* GL_TEXTURE31 */ - { 33543, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 33560, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 33576, 0x000084C4 }, /* GL_TEXTURE4 */ - { 33588, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 33604, 0x000084C5 }, /* GL_TEXTURE5 */ - { 33616, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 33632, 0x000084C6 }, /* GL_TEXTURE6 */ - { 33644, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 33660, 0x000084C7 }, /* GL_TEXTURE7 */ - { 33672, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 33688, 0x000084C8 }, /* GL_TEXTURE8 */ - { 33700, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 33716, 0x000084C9 }, /* GL_TEXTURE9 */ - { 33728, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 33744, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 33758, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ - { 33782, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 33796, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ - { 33820, 0x0000806F }, /* GL_TEXTURE_3D */ - { 33834, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 33856, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 33882, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 33904, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 33926, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - { 33958, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 33980, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - { 34012, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 34034, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 34062, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 34094, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 34127, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 34159, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 34174, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 34195, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 34220, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 34238, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 34262, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 34293, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 34323, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 34353, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 34388, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 34419, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 34457, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 34484, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 34516, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 34550, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 34574, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 34602, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 34626, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 34654, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 34687, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 34711, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 34733, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 34755, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 34781, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 34815, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 34848, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 34885, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 34913, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 34945, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 34968, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 35006, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 35048, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 35079, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 35107, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 35137, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 35165, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 35185, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 35209, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 35240, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 35275, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 35306, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 35341, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 35372, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 35407, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 35438, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 35473, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 35504, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 35539, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 35570, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 35605, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - { 35634, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 35651, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 35673, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 35699, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 35714, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 35735, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 35755, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 35781, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 35801, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 35818, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 35835, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 35852, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 35869, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 35894, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 35916, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 35942, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 35960, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 35986, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 36012, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 36042, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 36069, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 36094, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 36114, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 36138, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 36165, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 36192, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 36219, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 36245, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 36275, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 36297, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 36315, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 36345, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 36373, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 36401, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 36429, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 36450, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 36469, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 36491, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 36510, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 36530, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - { 36560, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - { 36591, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 36616, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 36640, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 36660, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 36684, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 36704, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 36727, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ - { 36751, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - { 36781, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 36806, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 36840, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 36857, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 36875, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 36893, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 36911, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 36931, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 36950, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 36979, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 36996, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 37022, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 37052, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 37084, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 37114, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 37148, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 37164, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 37195, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 37230, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 37258, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 37290, 0x00000004 }, /* GL_TRIANGLES */ - { 37303, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 37319, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 37340, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 37358, 0x00000001 }, /* GL_TRUE */ - { 37366, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 37386, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 37409, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 37429, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 37450, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 37472, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 37494, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 37514, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 37535, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 37552, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 37579, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 37602, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 37618, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 37645, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ - { 37666, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 37690, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 37721, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 37745, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 37773, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ - { 37796, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 37814, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 37844, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 37870, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 37900, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 37926, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 37950, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 37978, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 38006, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 38033, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 38065, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 38096, 0x00008CA2 }, /* GL_UPPER_LEFT */ - { 38110, 0x00002A20 }, /* GL_V2F */ - { 38117, 0x00002A21 }, /* GL_V3F */ - { 38124, 0x00008B83 }, /* GL_VALIDATE_STATUS */ - { 38143, 0x00001F00 }, /* GL_VENDOR */ - { 38153, 0x00001F02 }, /* GL_VERSION */ - { 38164, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 38180, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ - { 38204, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 38234, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 38265, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 38300, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 38324, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 38345, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 38368, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 38389, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 38416, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 38444, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 38472, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 38500, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 38528, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 38556, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 38584, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 38611, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 38638, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 38665, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 38692, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 38719, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 38746, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 38773, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 38800, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 38827, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 38865, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 38907, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 38938, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 38973, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 39007, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 39045, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 39076, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 39111, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 39139, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 39171, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 39201, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 39235, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 39263, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 39295, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 39315, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 39337, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 39366, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 39387, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 39416, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 39449, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 39481, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 39508, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 39539, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 39569, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 39586, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 39607, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 39634, 0x00000BA2 }, /* GL_VIEWPORT */ - { 39646, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 39662, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 39682, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 39713, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 39748, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 39776, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 39801, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 39828, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 39853, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 39877, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 39896, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 39910, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 39928, 0x00001506 }, /* GL_XOR */ - { 39935, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 39954, 0x00008757 }, /* GL_YCBCR_MESA */ - { 39968, 0x00000000 }, /* GL_ZERO */ - { 39976, 0x00000D16 }, /* GL_ZOOM_X */ - { 39986, 0x00000D17 }, /* GL_ZOOM_Y */ + { 779, 0x0000911A }, /* GL_ALREADY_SIGNALED */ + { 799, 0x00000207 }, /* GL_ALWAYS */ + { 809, 0x00001200 }, /* GL_AMBIENT */ + { 820, 0x00001602 }, /* GL_AMBIENT_AND_DIFFUSE */ + { 843, 0x00001501 }, /* GL_AND */ + { 850, 0x00001504 }, /* GL_AND_INVERTED */ + { 866, 0x00001502 }, /* GL_AND_REVERSE */ + { 881, 0x00008892 }, /* GL_ARRAY_BUFFER */ + { 897, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */ + { 921, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */ + { 949, 0x00008B85 }, /* GL_ATTACHED_SHADERS */ + { 969, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */ + { 996, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */ + { 1020, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */ + { 1046, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */ + { 1070, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */ + { 1092, 0x00000D80 }, /* GL_AUTO_NORMAL */ + { 1107, 0x00000409 }, /* GL_AUX0 */ + { 1115, 0x0000040A }, /* GL_AUX1 */ + { 1123, 0x0000040B }, /* GL_AUX2 */ + { 1131, 0x0000040C }, /* GL_AUX3 */ + { 1139, 0x00000C00 }, /* GL_AUX_BUFFERS */ + { 1154, 0x00000405 }, /* GL_BACK */ + { 1162, 0x00000402 }, /* GL_BACK_LEFT */ + { 1175, 0x00000403 }, /* GL_BACK_RIGHT */ + { 1189, 0x000080E0 }, /* GL_BGR */ + { 1196, 0x000080E1 }, /* GL_BGRA */ + { 1204, 0x00001A00 }, /* GL_BITMAP */ + { 1214, 0x00000704 }, /* GL_BITMAP_TOKEN */ + { 1230, 0x00000BE2 }, /* GL_BLEND */ + { 1239, 0x00008005 }, /* GL_BLEND_COLOR */ + { 1254, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ + { 1273, 0x00000BE0 }, /* GL_BLEND_DST */ + { 1286, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ + { 1305, 0x000080C8 }, /* GL_BLEND_DST_RGB */ + { 1322, 0x00008009 }, /* GL_BLEND_EQUATION */ + { 1340, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */ + { 1364, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ + { 1392, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ + { 1414, 0x00008009 }, /* GL_BLEND_EQUATION_RGB */ + { 1436, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ + { 1462, 0x00000BE1 }, /* GL_BLEND_SRC */ + { 1475, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ + { 1494, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ + { 1511, 0x00001905 }, /* GL_BLUE */ + { 1519, 0x00000D1B }, /* GL_BLUE_BIAS */ + { 1532, 0x00000D54 }, /* GL_BLUE_BITS */ + { 1545, 0x00000D1A }, /* GL_BLUE_SCALE */ + { 1559, 0x00008B56 }, /* GL_BOOL */ + { 1567, 0x00008B56 }, /* GL_BOOL_ARB */ + { 1579, 0x00008B57 }, /* GL_BOOL_VEC2 */ + { 1592, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ + { 1609, 0x00008B58 }, /* GL_BOOL_VEC3 */ + { 1622, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ + { 1639, 0x00008B59 }, /* GL_BOOL_VEC4 */ + { 1652, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ + { 1669, 0x000088BB }, /* GL_BUFFER_ACCESS */ + { 1686, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ + { 1707, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ + { 1738, 0x000088BC }, /* GL_BUFFER_MAPPED */ + { 1755, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ + { 1776, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ + { 1798, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ + { 1824, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ + { 1858, 0x00008764 }, /* GL_BUFFER_SIZE */ + { 1873, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ + { 1892, 0x00008765 }, /* GL_BUFFER_USAGE */ + { 1908, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ + { 1928, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */ + { 1947, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */ + { 1973, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */ + { 1996, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ + { 2024, 0x0000877C }, /* GL_BUMP_TARGET_ATI */ + { 2043, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */ + { 2065, 0x00001400 }, /* GL_BYTE */ + { 2073, 0x00002A24 }, /* GL_C3F_V3F */ + { 2084, 0x00002A26 }, /* GL_C4F_N3F_V3F */ + { 2099, 0x00002A22 }, /* GL_C4UB_V2F */ + { 2111, 0x00002A23 }, /* GL_C4UB_V3F */ + { 2123, 0x00000901 }, /* GL_CCW */ + { 2130, 0x00002900 }, /* GL_CLAMP */ + { 2139, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ + { 2158, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ + { 2181, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ + { 2205, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ + { 2222, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ + { 2244, 0x00001500 }, /* GL_CLEAR */ + { 2253, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ + { 2278, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ + { 2307, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ + { 2333, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + { 2362, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ + { 2388, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ + { 2415, 0x00003000 }, /* GL_CLIP_PLANE0 */ + { 2430, 0x00003001 }, /* GL_CLIP_PLANE1 */ + { 2445, 0x00003002 }, /* GL_CLIP_PLANE2 */ + { 2460, 0x00003003 }, /* GL_CLIP_PLANE3 */ + { 2475, 0x00003004 }, /* GL_CLIP_PLANE4 */ + { 2490, 0x00003005 }, /* GL_CLIP_PLANE5 */ + { 2505, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + { 2538, 0x00000A00 }, /* GL_COEFF */ + { 2547, 0x00001800 }, /* GL_COLOR */ + { 2556, 0x00008076 }, /* GL_COLOR_ARRAY */ + { 2571, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + { 2601, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 2635, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ + { 2658, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ + { 2678, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ + { 2700, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ + { 2720, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */ + { 2741, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ + { 2766, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */ + { 2787, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */ + { 2809, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ + { 2835, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */ + { 2857, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ + { 2883, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */ + { 2905, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ + { 2931, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */ + { 2953, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ + { 2979, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */ + { 3001, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ + { 3027, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */ + { 3049, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ + { 3075, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ + { 3100, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */ + { 3121, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ + { 3146, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */ + { 3167, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ + { 3192, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */ + { 3213, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ + { 3238, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */ + { 3259, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ + { 3284, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */ + { 3305, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ + { 3330, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */ + { 3351, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ + { 3376, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */ + { 3397, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ + { 3422, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */ + { 3443, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ + { 3468, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ + { 3488, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ + { 3509, 0x00001900 }, /* GL_COLOR_INDEX */ + { 3524, 0x00001603 }, /* GL_COLOR_INDEXES */ + { 3541, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ + { 3559, 0x00000B57 }, /* GL_COLOR_MATERIAL */ + { 3577, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ + { 3600, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ + { 3628, 0x000080B1 }, /* GL_COLOR_MATRIX */ + { 3644, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ + { 3664, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ + { 3692, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 3724, 0x00008458 }, /* GL_COLOR_SUM */ + { 3737, 0x00008458 }, /* GL_COLOR_SUM_ARB */ + { 3754, 0x000080D0 }, /* GL_COLOR_TABLE */ + { 3769, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ + { 3795, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ + { 3825, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ + { 3855, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ + { 3875, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ + { 3899, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ + { 3924, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ + { 3953, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ + { 3982, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ + { 4004, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ + { 4030, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ + { 4056, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ + { 4082, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ + { 4112, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ + { 4142, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + { 4172, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ + { 4206, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ + { 4240, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + { 4270, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ + { 4304, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ + { 4338, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ + { 4362, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ + { 4390, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ + { 4418, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ + { 4439, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ + { 4464, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ + { 4485, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ + { 4510, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ + { 4535, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ + { 4554, 0x00008570 }, /* GL_COMBINE */ + { 4565, 0x00008503 }, /* GL_COMBINE4 */ + { 4577, 0x00008572 }, /* GL_COMBINE_ALPHA */ + { 4594, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ + { 4615, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ + { 4636, 0x00008570 }, /* GL_COMBINE_ARB */ + { 4651, 0x00008570 }, /* GL_COMBINE_EXT */ + { 4666, 0x00008571 }, /* GL_COMBINE_RGB */ + { 4681, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ + { 4700, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ + { 4719, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */ + { 4755, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ + { 4779, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ + { 4807, 0x00001300 }, /* GL_COMPILE */ + { 4818, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ + { 4841, 0x00008B81 }, /* GL_COMPILE_STATUS */ + { 4859, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ + { 4879, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ + { 4903, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ + { 4927, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ + { 4955, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ + { 4979, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + { 5009, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ + { 5043, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ + { 5071, 0x000084ED }, /* GL_COMPRESSED_RGB */ + { 5089, 0x000084EE }, /* GL_COMPRESSED_RGBA */ + { 5108, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ + { 5131, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + { 5160, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + { 5193, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + { 5226, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + { 5259, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ + { 5281, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + { 5309, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + { 5341, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */ + { 5366, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ + { 5397, 0x00008C48 }, /* GL_COMPRESSED_SRGB */ + { 5416, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */ + { 5441, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ + { 5471, 0x0000911C }, /* GL_CONDITION_SATISFIED */ + { 5494, 0x00008576 }, /* GL_CONSTANT */ + { 5506, 0x00008003 }, /* GL_CONSTANT_ALPHA */ + { 5524, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ + { 5546, 0x00008576 }, /* GL_CONSTANT_ARB */ + { 5562, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ + { 5586, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ + { 5608, 0x00008001 }, /* GL_CONSTANT_COLOR */ + { 5626, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ + { 5648, 0x00008576 }, /* GL_CONSTANT_EXT */ + { 5664, 0x00008010 }, /* GL_CONVOLUTION_1D */ + { 5682, 0x00008011 }, /* GL_CONVOLUTION_2D */ + { 5700, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ + { 5728, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ + { 5759, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ + { 5786, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ + { 5817, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ + { 5844, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ + { 5875, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ + { 5903, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ + { 5935, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ + { 5957, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ + { 5983, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ + { 6005, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ + { 6031, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ + { 6052, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ + { 6077, 0x00008862 }, /* GL_COORD_REPLACE */ + { 6094, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ + { 6115, 0x00008862 }, /* GL_COORD_REPLACE_NV */ + { 6135, 0x00001503 }, /* GL_COPY */ + { 6143, 0x0000150C }, /* GL_COPY_INVERTED */ + { 6160, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ + { 6180, 0x00008F36 }, /* GL_COPY_READ_BUFFER */ + { 6200, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */ + { 6221, 0x00000B44 }, /* GL_CULL_FACE */ + { 6234, 0x00000B45 }, /* GL_CULL_FACE_MODE */ + { 6252, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ + { 6271, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + { 6303, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + { 6338, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ + { 6359, 0x00000001 }, /* GL_CURRENT_BIT */ + { 6374, 0x00000B00 }, /* GL_CURRENT_COLOR */ + { 6391, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ + { 6412, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ + { 6438, 0x00000B01 }, /* GL_CURRENT_INDEX */ + { 6455, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ + { 6477, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ + { 6505, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ + { 6526, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + { 6560, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ + { 6593, 0x00000B02 }, /* GL_CURRENT_NORMAL */ + { 6611, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + { 6641, 0x00008B8D }, /* GL_CURRENT_PROGRAM */ + { 6660, 0x00008865 }, /* GL_CURRENT_QUERY */ + { 6677, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ + { 6698, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ + { 6722, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ + { 6749, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ + { 6773, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ + { 6800, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ + { 6833, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ + { 6867, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + { 6900, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ + { 6927, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ + { 6953, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */ + { 6978, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ + { 7007, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ + { 7029, 0x00000900 }, /* GL_CW */ + { 7035, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ + { 7056, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ + { 7077, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ + { 7097, 0x00002101 }, /* GL_DECAL */ + { 7106, 0x00001E03 }, /* GL_DECR */ + { 7114, 0x00008508 }, /* GL_DECR_WRAP */ + { 7127, 0x00008508 }, /* GL_DECR_WRAP_EXT */ + { 7144, 0x00008B80 }, /* GL_DELETE_STATUS */ + { 7161, 0x00001801 }, /* GL_DEPTH */ + { 7170, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */ + { 7190, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */ + { 7210, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ + { 7234, 0x00000D1F }, /* GL_DEPTH_BIAS */ + { 7248, 0x00000D56 }, /* GL_DEPTH_BITS */ + { 7262, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ + { 7282, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ + { 7307, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ + { 7327, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ + { 7345, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ + { 7366, 0x00001902 }, /* GL_DEPTH_COMPONENT */ + { 7385, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ + { 7406, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ + { 7431, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ + { 7457, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ + { 7478, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ + { 7503, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ + { 7529, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ + { 7550, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ + { 7575, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ + { 7601, 0x00000B74 }, /* GL_DEPTH_FUNC */ + { 7615, 0x00000B70 }, /* GL_DEPTH_RANGE */ + { 7630, 0x00000D1E }, /* GL_DEPTH_SCALE */ + { 7645, 0x000084F9 }, /* GL_DEPTH_STENCIL */ + { 7662, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */ + { 7690, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ + { 7710, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + { 7738, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + { 7766, 0x00000B71 }, /* GL_DEPTH_TEST */ + { 7780, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ + { 7802, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ + { 7828, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ + { 7847, 0x00001201 }, /* GL_DIFFUSE */ + { 7858, 0x00000BD0 }, /* GL_DITHER */ + { 7868, 0x00000A02 }, /* GL_DOMAIN */ + { 7878, 0x00001100 }, /* GL_DONT_CARE */ + { 7891, 0x000086AE }, /* GL_DOT3_RGB */ + { 7903, 0x000086AF }, /* GL_DOT3_RGBA */ + { 7916, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ + { 7933, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ + { 7950, 0x000086AE }, /* GL_DOT3_RGB_ARB */ + { 7966, 0x00008740 }, /* GL_DOT3_RGB_EXT */ + { 7982, 0x0000140A }, /* GL_DOUBLE */ + { 7992, 0x00000C32 }, /* GL_DOUBLEBUFFER */ + { 8008, 0x00000C01 }, /* GL_DRAW_BUFFER */ + { 8023, 0x00008825 }, /* GL_DRAW_BUFFER0 */ + { 8039, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ + { 8059, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ + { 8079, 0x00008826 }, /* GL_DRAW_BUFFER1 */ + { 8095, 0x0000882F }, /* GL_DRAW_BUFFER10 */ + { 8112, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ + { 8133, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ + { 8154, 0x00008830 }, /* GL_DRAW_BUFFER11 */ + { 8171, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ + { 8192, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ + { 8213, 0x00008831 }, /* GL_DRAW_BUFFER12 */ + { 8230, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ + { 8251, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ + { 8272, 0x00008832 }, /* GL_DRAW_BUFFER13 */ + { 8289, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ + { 8310, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ + { 8331, 0x00008833 }, /* GL_DRAW_BUFFER14 */ + { 8348, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ + { 8369, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ + { 8390, 0x00008834 }, /* GL_DRAW_BUFFER15 */ + { 8407, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ + { 8428, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ + { 8449, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ + { 8469, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ + { 8489, 0x00008827 }, /* GL_DRAW_BUFFER2 */ + { 8505, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ + { 8525, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ + { 8545, 0x00008828 }, /* GL_DRAW_BUFFER3 */ + { 8561, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ + { 8581, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ + { 8601, 0x00008829 }, /* GL_DRAW_BUFFER4 */ + { 8617, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ + { 8637, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ + { 8657, 0x0000882A }, /* GL_DRAW_BUFFER5 */ + { 8673, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ + { 8693, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ + { 8713, 0x0000882B }, /* GL_DRAW_BUFFER6 */ + { 8729, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ + { 8749, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ + { 8769, 0x0000882C }, /* GL_DRAW_BUFFER7 */ + { 8785, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ + { 8805, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ + { 8825, 0x0000882D }, /* GL_DRAW_BUFFER8 */ + { 8841, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ + { 8861, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ + { 8881, 0x0000882E }, /* GL_DRAW_BUFFER9 */ + { 8897, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ + { 8917, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ + { 8937, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */ + { 8957, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + { 8989, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ + { 9013, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ + { 9033, 0x00000304 }, /* GL_DST_ALPHA */ + { 9046, 0x00000306 }, /* GL_DST_COLOR */ + { 9059, 0x0000877A }, /* GL_DU8DV8_ATI */ + { 9073, 0x00008779 }, /* GL_DUDV_ATI */ + { 9085, 0x000088EA }, /* GL_DYNAMIC_COPY */ + { 9101, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ + { 9121, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ + { 9137, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ + { 9157, 0x000088E9 }, /* GL_DYNAMIC_READ */ + { 9173, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ + { 9193, 0x00000B43 }, /* GL_EDGE_FLAG */ + { 9206, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ + { 9225, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + { 9259, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ + { 9297, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ + { 9324, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + { 9350, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ + { 9374, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + { 9406, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ + { 9442, 0x00001600 }, /* GL_EMISSION */ + { 9454, 0x00002000 }, /* GL_ENABLE_BIT */ + { 9468, 0x00000202 }, /* GL_EQUAL */ + { 9477, 0x00001509 }, /* GL_EQUIV */ + { 9486, 0x00010000 }, /* GL_EVAL_BIT */ + { 9498, 0x00000800 }, /* GL_EXP */ + { 9505, 0x00000801 }, /* GL_EXP2 */ + { 9513, 0x00001F03 }, /* GL_EXTENSIONS */ + { 9527, 0x00002400 }, /* GL_EYE_LINEAR */ + { 9541, 0x00002502 }, /* GL_EYE_PLANE */ + { 9554, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ + { 9579, 0x0000855B }, /* GL_EYE_RADIAL_NV */ + { 9596, 0x00000000 }, /* GL_FALSE */ + { 9605, 0x00001101 }, /* GL_FASTEST */ + { 9616, 0x00001C01 }, /* GL_FEEDBACK */ + { 9628, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ + { 9655, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ + { 9679, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ + { 9703, 0x00001B02 }, /* GL_FILL */ + { 9711, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */ + { 9742, 0x00001D00 }, /* GL_FLAT */ + { 9750, 0x00001406 }, /* GL_FLOAT */ + { 9759, 0x00008B5A }, /* GL_FLOAT_MAT2 */ + { 9773, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ + { 9791, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */ + { 9807, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */ + { 9823, 0x00008B5B }, /* GL_FLOAT_MAT3 */ + { 9837, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ + { 9855, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */ + { 9871, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */ + { 9887, 0x00008B5C }, /* GL_FLOAT_MAT4 */ + { 9901, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ + { 9919, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */ + { 9935, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */ + { 9951, 0x00008B50 }, /* GL_FLOAT_VEC2 */ + { 9965, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ + { 9983, 0x00008B51 }, /* GL_FLOAT_VEC3 */ + { 9997, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ + { 10015, 0x00008B52 }, /* GL_FLOAT_VEC4 */ + { 10029, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ + { 10047, 0x00000B60 }, /* GL_FOG */ + { 10054, 0x00000080 }, /* GL_FOG_BIT */ + { 10065, 0x00000B66 }, /* GL_FOG_COLOR */ + { 10078, 0x00008451 }, /* GL_FOG_COORD */ + { 10091, 0x00008451 }, /* GL_FOG_COORDINATE */ + { 10109, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ + { 10133, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + { 10172, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ + { 10215, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + { 10247, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + { 10278, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + { 10307, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ + { 10332, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ + { 10351, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ + { 10385, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ + { 10412, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ + { 10438, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ + { 10462, 0x00008450 }, /* GL_FOG_COORD_SRC */ + { 10479, 0x00000B62 }, /* GL_FOG_DENSITY */ + { 10494, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ + { 10518, 0x00000B64 }, /* GL_FOG_END */ + { 10529, 0x00000C54 }, /* GL_FOG_HINT */ + { 10541, 0x00000B61 }, /* GL_FOG_INDEX */ + { 10554, 0x00000B65 }, /* GL_FOG_MODE */ + { 10566, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ + { 10585, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ + { 10610, 0x00000B63 }, /* GL_FOG_START */ + { 10623, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ + { 10641, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ + { 10665, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ + { 10684, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ + { 10707, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + { 10742, 0x00008D40 }, /* GL_FRAMEBUFFER */ + { 10757, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ + { 10794, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ + { 10830, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ + { 10871, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ + { 10912, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ + { 10949, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ + { 10986, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + { 11024, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + { 11066, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + { 11104, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + { 11146, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + { 11181, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + { 11220, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + { 11269, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + { 11317, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + { 11369, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + { 11409, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ + { 11453, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + { 11493, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + { 11537, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ + { 11564, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ + { 11588, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + { 11616, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ + { 11639, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ + { 11658, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + { 11695, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + { 11736, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + { 11777, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + { 11819, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + { 11870, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + { 11908, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + { 11953, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + { 12002, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + { 12040, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + { 12082, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + { 12114, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ + { 12139, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ + { 12166, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + { 12197, 0x00000404 }, /* GL_FRONT */ + { 12206, 0x00000408 }, /* GL_FRONT_AND_BACK */ + { 12224, 0x00000B46 }, /* GL_FRONT_FACE */ + { 12238, 0x00000400 }, /* GL_FRONT_LEFT */ + { 12252, 0x00000401 }, /* GL_FRONT_RIGHT */ + { 12267, 0x00008006 }, /* GL_FUNC_ADD */ + { 12279, 0x00008006 }, /* GL_FUNC_ADD_EXT */ + { 12295, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ + { 12320, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ + { 12349, 0x0000800A }, /* GL_FUNC_SUBTRACT */ + { 12366, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ + { 12387, 0x00008191 }, /* GL_GENERATE_MIPMAP */ + { 12406, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ + { 12430, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ + { 12459, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ + { 12483, 0x00000206 }, /* GL_GEQUAL */ + { 12493, 0x00000204 }, /* GL_GREATER */ + { 12504, 0x00001904 }, /* GL_GREEN */ + { 12513, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 12527, 0x00000D53 }, /* GL_GREEN_BITS */ + { 12541, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 12556, 0x00008000 }, /* GL_HINT_BIT */ + { 12568, 0x00008024 }, /* GL_HISTOGRAM */ + { 12581, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 12605, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 12633, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 12656, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 12683, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 12700, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 12720, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 12744, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 12768, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 12796, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 12824, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 12856, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 12878, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 12904, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 12922, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 12944, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 12963, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 12986, 0x0000862A }, /* GL_IDENTITY_NV */ + { 13001, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 13021, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 13061, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 13099, 0x00001E02 }, /* GL_INCR */ + { 13107, 0x00008507 }, /* GL_INCR_WRAP */ + { 13120, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 13137, 0x00008222 }, /* GL_INDEX */ + { 13146, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 13161, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 13191, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 13225, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 13248, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 13270, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 13290, 0x00000D51 }, /* GL_INDEX_BITS */ + { 13304, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 13325, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 13343, 0x00000C30 }, /* GL_INDEX_MODE */ + { 13357, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 13373, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 13388, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 13407, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 13426, 0x00001404 }, /* GL_INT */ + { 13433, 0x00008049 }, /* GL_INTENSITY */ + { 13446, 0x0000804C }, /* GL_INTENSITY12 */ + { 13461, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 13480, 0x0000804D }, /* GL_INTENSITY16 */ + { 13495, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 13514, 0x0000804A }, /* GL_INTENSITY4 */ + { 13528, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 13546, 0x0000804B }, /* GL_INTENSITY8 */ + { 13560, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 13578, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 13595, 0x00008575 }, /* GL_INTERPOLATE */ + { 13610, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 13629, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 13648, 0x00008B53 }, /* GL_INT_VEC2 */ + { 13660, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 13676, 0x00008B54 }, /* GL_INT_VEC3 */ + { 13688, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 13704, 0x00008B55 }, /* GL_INT_VEC4 */ + { 13716, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 13732, 0x00000500 }, /* GL_INVALID_ENUM */ + { 13748, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + { 13781, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 13818, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 13839, 0x00000501 }, /* GL_INVALID_VALUE */ + { 13856, 0x0000862B }, /* GL_INVERSE_NV */ + { 13870, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 13894, 0x0000150A }, /* GL_INVERT */ + { 13904, 0x00001E00 }, /* GL_KEEP */ + { 13912, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ + { 13942, 0x00000406 }, /* GL_LEFT */ + { 13950, 0x00000203 }, /* GL_LEQUAL */ + { 13960, 0x00000201 }, /* GL_LESS */ + { 13968, 0x00004000 }, /* GL_LIGHT0 */ + { 13978, 0x00004001 }, /* GL_LIGHT1 */ + { 13988, 0x00004002 }, /* GL_LIGHT2 */ + { 13998, 0x00004003 }, /* GL_LIGHT3 */ + { 14008, 0x00004004 }, /* GL_LIGHT4 */ + { 14018, 0x00004005 }, /* GL_LIGHT5 */ + { 14028, 0x00004006 }, /* GL_LIGHT6 */ + { 14038, 0x00004007 }, /* GL_LIGHT7 */ + { 14048, 0x00000B50 }, /* GL_LIGHTING */ + { 14060, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 14076, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 14099, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 14128, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 14161, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 14189, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 14213, 0x00001B01 }, /* GL_LINE */ + { 14221, 0x00002601 }, /* GL_LINEAR */ + { 14231, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 14253, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 14283, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 14314, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 14338, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 14363, 0x00000001 }, /* GL_LINES */ + { 14372, 0x00000004 }, /* GL_LINE_BIT */ + { 14384, 0x00000002 }, /* GL_LINE_LOOP */ + { 14397, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 14417, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 14432, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 14452, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 14468, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 14492, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 14515, 0x00000003 }, /* GL_LINE_STRIP */ + { 14529, 0x00000702 }, /* GL_LINE_TOKEN */ + { 14543, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 14557, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 14583, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 14603, 0x00008B82 }, /* GL_LINK_STATUS */ + { 14618, 0x00000B32 }, /* GL_LIST_BASE */ + { 14631, 0x00020000 }, /* GL_LIST_BIT */ + { 14643, 0x00000B33 }, /* GL_LIST_INDEX */ + { 14657, 0x00000B30 }, /* GL_LIST_MODE */ + { 14670, 0x00000101 }, /* GL_LOAD */ + { 14678, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 14690, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 14707, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 14721, 0x00001909 }, /* GL_LUMINANCE */ + { 14734, 0x00008041 }, /* GL_LUMINANCE12 */ + { 14749, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 14772, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 14799, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 14821, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 14847, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 14866, 0x00008042 }, /* GL_LUMINANCE16 */ + { 14881, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 14904, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 14931, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 14950, 0x0000803F }, /* GL_LUMINANCE4 */ + { 14964, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 14985, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 15010, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 15028, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 15049, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 15074, 0x00008040 }, /* GL_LUMINANCE8 */ + { 15088, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 15109, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 15134, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 15152, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 15171, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 15187, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 15207, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 15229, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 15243, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 15258, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 15282, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 15306, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 15330, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 15354, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 15371, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 15388, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 15416, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 15445, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 15474, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 15503, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 15532, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 15561, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 15590, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 15618, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 15646, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 15674, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 15702, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 15730, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 15758, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 15786, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 15814, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 15842, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 15858, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 15878, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 15900, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 15914, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 15929, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 15953, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 15977, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 16001, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 16025, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 16042, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 16059, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 16087, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 16116, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 16145, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 16174, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 16203, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 16232, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 16261, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 16289, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 16317, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 16345, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 16373, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 16401, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 16429, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 16457, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 16485, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 16513, 0x00000D10 }, /* GL_MAP_COLOR */ + { 16526, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ + { 16552, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ + { 16581, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ + { 16609, 0x00000001 }, /* GL_MAP_READ_BIT */ + { 16625, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 16640, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ + { 16666, 0x00000002 }, /* GL_MAP_WRITE_BIT */ + { 16683, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 16698, 0x00008630 }, /* GL_MATRIX0_NV */ + { 16712, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 16728, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 16744, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 16760, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 16776, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 16792, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 16808, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 16824, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 16840, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 16856, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 16872, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 16887, 0x00008631 }, /* GL_MATRIX1_NV */ + { 16901, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 16917, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 16933, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 16949, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 16965, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 16981, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 16997, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 17013, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 17029, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 17045, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 17061, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 17076, 0x00008632 }, /* GL_MATRIX2_NV */ + { 17090, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 17106, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 17122, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 17137, 0x00008633 }, /* GL_MATRIX3_NV */ + { 17151, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 17166, 0x00008634 }, /* GL_MATRIX4_NV */ + { 17180, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 17195, 0x00008635 }, /* GL_MATRIX5_NV */ + { 17209, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 17224, 0x00008636 }, /* GL_MATRIX6_NV */ + { 17238, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 17253, 0x00008637 }, /* GL_MATRIX7_NV */ + { 17267, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 17282, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 17297, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 17323, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 17357, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 17388, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 17421, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 17452, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 17467, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 17489, 0x00008008 }, /* GL_MAX */ + { 17496, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 17519, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 17551, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 17577, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 17610, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 17636, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 17670, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 17689, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 17718, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 17750, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 17786, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 17822, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 17862, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 17888, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 17918, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 17943, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 17972, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 18001, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 18034, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 18054, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 18078, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 18102, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 18126, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 18151, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 18169, 0x00008008 }, /* GL_MAX_EXT */ + { 18180, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 18215, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 18254, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 18268, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 18288, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 18326, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 18355, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 18379, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 18407, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 18430, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 18467, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 18503, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 18530, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 18559, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 18593, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 18629, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 18656, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 18688, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 18724, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 18753, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 18782, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 18810, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 18848, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 18892, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 18935, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 18969, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 19008, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 19045, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 19083, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 19126, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 19169, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 19199, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 19230, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 19266, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 19302, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 19332, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 19366, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 19399, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 19428, 0x00008D57 }, /* GL_MAX_SAMPLES */ + { 19443, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + { 19470, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 19490, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 19514, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 19536, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 19562, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 19589, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 19620, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 19644, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 19678, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 19698, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 19725, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 19746, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 19771, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 19796, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 19831, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 19853, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 19879, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 19901, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 19927, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 19961, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 19999, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 20032, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 20069, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 20093, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 20114, 0x00008007 }, /* GL_MIN */ + { 20121, 0x0000802E }, /* GL_MINMAX */ + { 20131, 0x0000802E }, /* GL_MINMAX_EXT */ + { 20145, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 20162, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 20183, 0x00008030 }, /* GL_MINMAX_SINK */ + { 20198, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 20217, 0x00008007 }, /* GL_MIN_EXT */ + { 20228, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 20247, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 20270, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 20293, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 20313, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 20333, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 20363, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 20391, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 20419, 0x00001700 }, /* GL_MODELVIEW */ + { 20432, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 20450, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 20469, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 20488, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 20507, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 20526, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 20545, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 20564, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 20583, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 20602, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 20621, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 20640, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 20658, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 20677, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 20696, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 20715, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 20734, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 20753, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 20772, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 20791, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 20810, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 20829, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 20848, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 20866, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 20885, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 20904, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 20922, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 20940, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 20958, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 20976, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 20994, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 21012, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 21030, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 21050, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 21077, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 21102, 0x00002100 }, /* GL_MODULATE */ + { 21114, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 21134, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 21161, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 21186, 0x00000103 }, /* GL_MULT */ + { 21194, 0x0000809D }, /* GL_MULTISAMPLE */ + { 21209, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 21229, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 21248, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 21267, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 21291, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 21314, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 21344, 0x00002A25 }, /* GL_N3F_V3F */ + { 21355, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 21375, 0x0000150E }, /* GL_NAND */ + { 21383, 0x00002600 }, /* GL_NEAREST */ + { 21394, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 21425, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 21457, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 21482, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 21508, 0x00000200 }, /* GL_NEVER */ + { 21517, 0x00001102 }, /* GL_NICEST */ + { 21527, 0x00000000 }, /* GL_NONE */ + { 21535, 0x00001505 }, /* GL_NOOP */ + { 21543, 0x00001508 }, /* GL_NOR */ + { 21550, 0x00000BA1 }, /* GL_NORMALIZE */ + { 21563, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 21579, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 21610, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 21645, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 21669, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 21692, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 21713, 0x00008511 }, /* GL_NORMAL_MAP */ + { 21727, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 21745, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 21762, 0x00000205 }, /* GL_NOTEQUAL */ + { 21774, 0x00000000 }, /* GL_NO_ERROR */ + { 21786, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 21820, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 21858, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 21890, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 21932, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 21962, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 22002, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 22033, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 22062, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 22090, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 22120, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 22137, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 22163, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 22179, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 22214, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 22236, 0x00009112 }, /* GL_OBJECT_TYPE */ + { 22251, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 22270, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 22300, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 22321, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 22349, 0x00000001 }, /* GL_ONE */ + { 22356, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 22384, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 22416, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 22444, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 22476, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 22499, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 22522, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 22545, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 22568, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 22586, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 22608, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 22630, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 22646, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 22666, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 22686, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 22704, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 22726, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 22748, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 22764, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 22784, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 22804, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 22822, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 22844, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 22866, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 22882, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 22902, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 22922, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 22943, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 22962, 0x00001507 }, /* GL_OR */ + { 22968, 0x00000A01 }, /* GL_ORDER */ + { 22977, 0x0000150D }, /* GL_OR_INVERTED */ + { 22992, 0x0000150B }, /* GL_OR_REVERSE */ + { 23006, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 23023, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 23041, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 23062, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 23082, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 23100, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 23119, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 23139, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 23159, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 23177, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 23196, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 23221, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 23245, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 23266, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 23288, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 23310, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 23335, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 23359, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 23380, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 23402, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 23424, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 23446, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 23477, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 23497, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 23522, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 23542, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 23567, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 23587, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 23612, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 23632, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 23657, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 23677, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 23702, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 23722, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 23747, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 23767, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 23792, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 23812, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 23837, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 23857, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 23882, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 23902, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 23927, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 23945, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ + { 23966, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ + { 23995, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 24028, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 24053, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ + { 24076, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 24107, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 24142, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 24169, 0x00001B00 }, /* GL_POINT */ + { 24178, 0x00000000 }, /* GL_POINTS */ + { 24188, 0x00000002 }, /* GL_POINT_BIT */ + { 24201, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 24231, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 24265, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 24299, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 24334, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 24363, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 24396, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 24429, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 24463, 0x00000B11 }, /* GL_POINT_SIZE */ + { 24477, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 24503, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 24521, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 24543, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 24565, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 24588, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 24606, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 24628, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 24650, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 24673, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 24693, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 24709, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 24730, 0x00008861 }, /* GL_POINT_SPRITE */ + { 24746, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 24766, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 24795, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 24814, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 24840, 0x00000701 }, /* GL_POINT_TOKEN */ + { 24855, 0x00000009 }, /* GL_POLYGON */ + { 24866, 0x00000008 }, /* GL_POLYGON_BIT */ + { 24881, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 24897, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 24920, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 24945, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 24968, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 24991, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 25015, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 25039, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 25057, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 25080, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 25099, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 25122, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 25139, 0x00001203 }, /* GL_POSITION */ + { 25151, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 25183, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 25219, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 25252, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 25289, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 25320, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 25355, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 25387, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 25423, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 25456, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 25488, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 25524, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 25557, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 25594, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 25624, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 25658, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 25689, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 25724, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 25755, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 25790, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 25822, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 25858, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 25888, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 25922, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 25953, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 25988, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 26020, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 26051, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 26086, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 26118, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 26154, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 26183, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 26216, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 26246, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 26280, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 26319, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 26352, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 26392, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 26426, 0x00008578 }, /* GL_PREVIOUS */ + { 26438, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 26454, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 26470, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 26487, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 26508, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 26529, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 26562, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 26594, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 26617, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 26640, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 26670, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 26699, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 26727, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 26749, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 26777, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 26805, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 26827, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 26848, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 26888, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 26927, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 26957, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 26992, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 27025, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 27059, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 27098, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 27137, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 27159, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 27185, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 27209, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 27232, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 27254, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 27275, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 27296, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 27323, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 27355, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 27387, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 27422, 0x00001701 }, /* GL_PROJECTION */ + { 27436, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 27457, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 27483, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ + { 27507, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 27528, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 27547, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 27570, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 27609, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 27647, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 27667, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 27697, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 27721, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 27741, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 27771, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 27795, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 27815, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 27848, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 27874, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 27904, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 27935, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 27965, 0x00002003 }, /* GL_Q */ + { 27970, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 27995, 0x00000007 }, /* GL_QUADS */ + { 28004, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + { 28052, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 28069, 0x00000008 }, /* GL_QUAD_STRIP */ + { 28083, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 28105, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 28131, 0x00008866 }, /* GL_QUERY_RESULT */ + { 28147, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 28167, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 28193, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 28223, 0x00002002 }, /* GL_R */ + { 28228, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 28240, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 28273, 0x00000C02 }, /* GL_READ_BUFFER */ + { 28288, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ + { 28308, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 28340, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 28364, 0x000088B8 }, /* GL_READ_ONLY */ + { 28377, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 28394, 0x000088BA }, /* GL_READ_WRITE */ + { 28408, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 28426, 0x00001903 }, /* GL_RED */ + { 28433, 0x00008016 }, /* GL_REDUCE */ + { 28443, 0x00008016 }, /* GL_REDUCE_EXT */ + { 28457, 0x00000D15 }, /* GL_RED_BIAS */ + { 28469, 0x00000D52 }, /* GL_RED_BITS */ + { 28481, 0x00000D14 }, /* GL_RED_SCALE */ + { 28494, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 28512, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 28534, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 28555, 0x00001C00 }, /* GL_RENDER */ + { 28565, 0x00008D41 }, /* GL_RENDERBUFFER */ + { 28581, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ + { 28608, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 28636, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ + { 28662, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ + { 28689, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 28709, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ + { 28736, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ + { 28759, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 28786, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + { 28818, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 28854, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ + { 28879, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ + { 28903, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ + { 28932, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ + { 28954, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 28980, 0x00001F01 }, /* GL_RENDERER */ + { 28992, 0x00000C40 }, /* GL_RENDER_MODE */ + { 29007, 0x00002901 }, /* GL_REPEAT */ + { 29017, 0x00001E01 }, /* GL_REPLACE */ + { 29028, 0x00008062 }, /* GL_REPLACE_EXT */ + { 29043, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 29066, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 29084, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 29106, 0x00000102 }, /* GL_RETURN */ + { 29116, 0x00001907 }, /* GL_RGB */ + { 29123, 0x00008052 }, /* GL_RGB10 */ + { 29132, 0x00008059 }, /* GL_RGB10_A2 */ + { 29144, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 29160, 0x00008052 }, /* GL_RGB10_EXT */ + { 29173, 0x00008053 }, /* GL_RGB12 */ + { 29182, 0x00008053 }, /* GL_RGB12_EXT */ + { 29195, 0x00008054 }, /* GL_RGB16 */ + { 29204, 0x00008054 }, /* GL_RGB16_EXT */ + { 29217, 0x0000804E }, /* GL_RGB2_EXT */ + { 29229, 0x0000804F }, /* GL_RGB4 */ + { 29237, 0x0000804F }, /* GL_RGB4_EXT */ + { 29249, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 29262, 0x00008050 }, /* GL_RGB5 */ + { 29270, 0x00008057 }, /* GL_RGB5_A1 */ + { 29281, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 29296, 0x00008050 }, /* GL_RGB5_EXT */ + { 29308, 0x00008051 }, /* GL_RGB8 */ + { 29316, 0x00008051 }, /* GL_RGB8_EXT */ + { 29328, 0x00001908 }, /* GL_RGBA */ + { 29336, 0x0000805A }, /* GL_RGBA12 */ + { 29346, 0x0000805A }, /* GL_RGBA12_EXT */ + { 29360, 0x0000805B }, /* GL_RGBA16 */ + { 29370, 0x0000805B }, /* GL_RGBA16_EXT */ + { 29384, 0x00008055 }, /* GL_RGBA2 */ + { 29393, 0x00008055 }, /* GL_RGBA2_EXT */ + { 29406, 0x00008056 }, /* GL_RGBA4 */ + { 29415, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 29434, 0x00008056 }, /* GL_RGBA4_EXT */ + { 29447, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 29461, 0x00008058 }, /* GL_RGBA8 */ + { 29470, 0x00008058 }, /* GL_RGBA8_EXT */ + { 29483, 0x00008F97 }, /* GL_RGBA8_SNORM */ + { 29498, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 29516, 0x00000C31 }, /* GL_RGBA_MODE */ + { 29529, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 29542, 0x00008F93 }, /* GL_RGBA_SNORM */ + { 29556, 0x000083A0 }, /* GL_RGB_S3TC */ + { 29568, 0x00008573 }, /* GL_RGB_SCALE */ + { 29581, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 29598, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 29615, 0x00000407 }, /* GL_RIGHT */ + { 29624, 0x00002000 }, /* GL_S */ + { 29629, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 29643, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 29664, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 29678, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 29699, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 29713, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 29729, 0x000080A9 }, /* GL_SAMPLES */ + { 29740, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 29756, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 29771, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 29789, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 29811, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 29839, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 29871, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 29894, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 29921, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 29939, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 29962, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 29984, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 30003, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 30026, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 30052, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 30082, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 30107, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 30136, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 30151, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 30166, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 30182, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 30207, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 30247, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 30291, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 30324, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 30354, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 30386, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 30416, 0x00001C02 }, /* GL_SELECT */ + { 30426, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 30454, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 30479, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 30495, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 30522, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 30553, 0x0000150F }, /* GL_SET */ + { 30560, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 30581, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 30605, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 30620, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 30635, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 30663, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 30686, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 30716, 0x00001601 }, /* GL_SHININESS */ + { 30729, 0x00001402 }, /* GL_SHORT */ + { 30738, 0x00009119 }, /* GL_SIGNALED */ + { 30750, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ + { 30771, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 30787, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 30807, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 30826, 0x00008C46 }, /* GL_SLUMINANCE */ + { 30840, 0x00008C47 }, /* GL_SLUMINANCE8 */ + { 30855, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ + { 30877, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ + { 30897, 0x00001D01 }, /* GL_SMOOTH */ + { 30907, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 30940, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 30967, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 31000, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 31027, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 31044, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 31065, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 31086, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 31101, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 31120, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 31139, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 31156, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 31177, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 31198, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 31213, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 31232, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 31251, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 31268, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 31289, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 31310, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 31325, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 31344, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 31363, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 31383, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 31401, 0x00001202 }, /* GL_SPECULAR */ + { 31413, 0x00002402 }, /* GL_SPHERE_MAP */ + { 31427, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 31442, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 31460, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 31477, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 31491, 0x00008580 }, /* GL_SRC0_RGB */ + { 31503, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 31517, 0x00008581 }, /* GL_SRC1_RGB */ + { 31529, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 31543, 0x00008582 }, /* GL_SRC2_RGB */ + { 31555, 0x00000302 }, /* GL_SRC_ALPHA */ + { 31568, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 31590, 0x00000300 }, /* GL_SRC_COLOR */ + { 31603, 0x00008C40 }, /* GL_SRGB */ + { 31611, 0x00008C41 }, /* GL_SRGB8 */ + { 31620, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ + { 31636, 0x00008C42 }, /* GL_SRGB_ALPHA */ + { 31650, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 31668, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 31687, 0x000088E6 }, /* GL_STATIC_COPY */ + { 31702, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 31721, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 31736, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 31755, 0x000088E5 }, /* GL_STATIC_READ */ + { 31770, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 31789, 0x00001802 }, /* GL_STENCIL */ + { 31800, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ + { 31822, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 31848, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 31869, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 31894, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 31915, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 31940, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 31972, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 32008, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 32040, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 32076, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 32096, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 32123, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 32149, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 32165, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 32187, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 32210, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 32226, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 32242, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 32259, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 32282, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 32304, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 32326, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 32348, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 32369, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 32396, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 32423, 0x00000B97 }, /* GL_STENCIL_REF */ + { 32438, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 32454, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 32483, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 32505, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 32526, 0x00000C33 }, /* GL_STEREO */ + { 32536, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ + { 32560, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ + { 32585, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ + { 32609, 0x000088E2 }, /* GL_STREAM_COPY */ + { 32624, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 32643, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 32658, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 32677, 0x000088E1 }, /* GL_STREAM_READ */ + { 32692, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 32711, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 32728, 0x000084E7 }, /* GL_SUBTRACT */ + { 32740, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 32756, 0x00009113 }, /* GL_SYNC_CONDITION */ + { 32774, 0x00009116 }, /* GL_SYNC_FENCE */ + { 32788, 0x00009115 }, /* GL_SYNC_FLAGS */ + { 32802, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ + { 32829, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + { 32859, 0x00009114 }, /* GL_SYNC_STATUS */ + { 32874, 0x00002001 }, /* GL_T */ + { 32879, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 32894, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 32913, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 32929, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 32944, 0x00002A27 }, /* GL_T2F_V3F */ + { 32955, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 32974, 0x00002A28 }, /* GL_T4F_V4F */ + { 32985, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 33008, 0x00001702 }, /* GL_TEXTURE */ + { 33019, 0x000084C0 }, /* GL_TEXTURE0 */ + { 33031, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 33047, 0x000084C1 }, /* GL_TEXTURE1 */ + { 33059, 0x000084CA }, /* GL_TEXTURE10 */ + { 33072, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 33089, 0x000084CB }, /* GL_TEXTURE11 */ + { 33102, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 33119, 0x000084CC }, /* GL_TEXTURE12 */ + { 33132, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 33149, 0x000084CD }, /* GL_TEXTURE13 */ + { 33162, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 33179, 0x000084CE }, /* GL_TEXTURE14 */ + { 33192, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 33209, 0x000084CF }, /* GL_TEXTURE15 */ + { 33222, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 33239, 0x000084D0 }, /* GL_TEXTURE16 */ + { 33252, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 33269, 0x000084D1 }, /* GL_TEXTURE17 */ + { 33282, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 33299, 0x000084D2 }, /* GL_TEXTURE18 */ + { 33312, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 33329, 0x000084D3 }, /* GL_TEXTURE19 */ + { 33342, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 33359, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 33375, 0x000084C2 }, /* GL_TEXTURE2 */ + { 33387, 0x000084D4 }, /* GL_TEXTURE20 */ + { 33400, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 33417, 0x000084D5 }, /* GL_TEXTURE21 */ + { 33430, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 33447, 0x000084D6 }, /* GL_TEXTURE22 */ + { 33460, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 33477, 0x000084D7 }, /* GL_TEXTURE23 */ + { 33490, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 33507, 0x000084D8 }, /* GL_TEXTURE24 */ + { 33520, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 33537, 0x000084D9 }, /* GL_TEXTURE25 */ + { 33550, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 33567, 0x000084DA }, /* GL_TEXTURE26 */ + { 33580, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 33597, 0x000084DB }, /* GL_TEXTURE27 */ + { 33610, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 33627, 0x000084DC }, /* GL_TEXTURE28 */ + { 33640, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 33657, 0x000084DD }, /* GL_TEXTURE29 */ + { 33670, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 33687, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 33703, 0x000084C3 }, /* GL_TEXTURE3 */ + { 33715, 0x000084DE }, /* GL_TEXTURE30 */ + { 33728, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 33745, 0x000084DF }, /* GL_TEXTURE31 */ + { 33758, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 33775, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 33791, 0x000084C4 }, /* GL_TEXTURE4 */ + { 33803, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 33819, 0x000084C5 }, /* GL_TEXTURE5 */ + { 33831, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 33847, 0x000084C6 }, /* GL_TEXTURE6 */ + { 33859, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 33875, 0x000084C7 }, /* GL_TEXTURE7 */ + { 33887, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 33903, 0x000084C8 }, /* GL_TEXTURE8 */ + { 33915, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 33931, 0x000084C9 }, /* GL_TEXTURE9 */ + { 33943, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 33959, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 33973, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 33997, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 34011, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 34035, 0x0000806F }, /* GL_TEXTURE_3D */ + { 34049, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 34071, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 34097, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 34119, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 34141, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 34173, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 34195, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 34227, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 34249, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 34277, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 34309, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 34342, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 34374, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 34389, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 34410, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 34435, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 34453, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 34477, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 34508, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 34538, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 34568, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 34603, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 34634, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 34672, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 34699, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 34731, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 34765, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 34789, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 34817, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 34841, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 34869, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 34902, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 34926, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 34948, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 34970, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 34996, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 35030, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 35063, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 35100, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 35128, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 35160, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 35183, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 35221, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 35263, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 35294, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 35322, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 35352, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 35380, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 35400, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 35424, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 35455, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 35490, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 35521, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 35556, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 35587, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 35622, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 35653, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 35688, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 35719, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 35754, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 35785, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 35820, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + { 35849, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 35866, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 35888, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 35914, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 35929, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 35950, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 35970, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 35996, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 36016, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 36033, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 36050, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 36067, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 36084, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 36109, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 36131, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 36157, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 36175, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 36201, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 36227, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 36257, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 36284, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 36309, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 36329, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 36353, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 36380, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 36407, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 36434, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 36460, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 36490, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 36512, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 36530, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 36560, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 36588, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 36616, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 36644, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 36665, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 36684, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 36706, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 36725, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 36745, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + { 36775, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + { 36806, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 36831, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 36855, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 36875, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 36899, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 36919, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 36942, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ + { 36966, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + { 36996, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 37021, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 37055, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 37072, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 37090, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 37108, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 37126, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ + { 37145, 0xFFFFFFFFFFFFFFFF }, /* GL_TIMEOUT_IGNORED */ + { 37164, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 37184, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 37203, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 37232, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 37249, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 37275, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 37305, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 37337, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 37367, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 37401, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 37417, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 37448, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 37483, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 37511, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 37543, 0x00000004 }, /* GL_TRIANGLES */ + { 37556, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 37572, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 37593, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 37611, 0x00000001 }, /* GL_TRUE */ + { 37619, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 37639, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 37662, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 37682, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 37703, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 37725, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 37747, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 37767, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 37788, 0x00009118 }, /* GL_UNSIGNALED */ + { 37802, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 37819, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 37846, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 37869, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 37885, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 37912, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ + { 37933, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 37957, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 37988, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 38012, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 38040, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ + { 38063, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 38081, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 38111, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 38137, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 38167, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 38193, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 38217, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 38245, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 38273, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 38300, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 38332, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 38363, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 38377, 0x00002A20 }, /* GL_V2F */ + { 38384, 0x00002A21 }, /* GL_V3F */ + { 38391, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 38410, 0x00001F00 }, /* GL_VENDOR */ + { 38420, 0x00001F02 }, /* GL_VERSION */ + { 38431, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 38447, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ + { 38471, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 38501, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 38532, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 38567, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 38591, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 38612, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 38635, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 38656, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 38683, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 38711, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 38739, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 38767, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 38795, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 38823, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 38851, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 38878, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 38905, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 38932, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 38959, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 38986, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 39013, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 39040, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 39067, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 39094, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 39132, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 39174, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 39205, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 39240, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 39274, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 39312, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 39343, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 39378, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 39406, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 39438, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 39468, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 39502, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 39530, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 39562, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 39582, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 39604, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 39633, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 39654, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 39683, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 39716, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 39748, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 39775, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 39806, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 39836, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 39853, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 39874, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 39901, 0x00000BA2 }, /* GL_VIEWPORT */ + { 39913, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 39929, 0x0000911D }, /* GL_WAIT_FAILED */ + { 39944, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 39964, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 39995, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 40030, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 40058, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 40083, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 40110, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 40135, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 40159, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 40178, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 40192, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 40210, 0x00001506 }, /* GL_XOR */ + { 40217, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 40236, 0x00008757 }, /* GL_YCBCR_MESA */ + { 40250, 0x00000000 }, /* GL_ZERO */ + { 40258, 0x00000D16 }, /* GL_ZOOM_X */ + { 40268, 0x00000D17 }, /* GL_ZOOM_Y */ }; -static const unsigned reduced_enums[1333] = +static const unsigned reduced_enums[1347] = { - 473, /* GL_FALSE */ - 689, /* GL_LINES */ - 691, /* GL_LINE_LOOP */ - 698, /* GL_LINE_STRIP */ - 1730, /* GL_TRIANGLES */ - 1733, /* GL_TRIANGLE_STRIP */ - 1731, /* GL_TRIANGLE_FAN */ - 1267, /* GL_QUADS */ - 1270, /* GL_QUAD_STRIP */ - 1154, /* GL_POLYGON */ - 1166, /* GL_POLYGON_STIPPLE_BIT */ - 1115, /* GL_PIXEL_MODE_BIT */ - 676, /* GL_LIGHTING_BIT */ - 502, /* GL_FOG_BIT */ + 475, /* GL_FALSE */ + 691, /* GL_LINES */ + 693, /* GL_LINE_LOOP */ + 700, /* GL_LINE_STRIP */ + 1743, /* GL_TRIANGLES */ + 1746, /* GL_TRIANGLE_STRIP */ + 1744, /* GL_TRIANGLE_FAN */ + 1271, /* GL_QUADS */ + 1274, /* GL_QUAD_STRIP */ + 1158, /* GL_POLYGON */ + 1170, /* GL_POLYGON_STIPPLE_BIT */ + 1119, /* GL_PIXEL_MODE_BIT */ + 678, /* GL_LIGHTING_BIT */ + 504, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 708, /* GL_LOAD */ - 1322, /* GL_RETURN */ - 988, /* GL_MULT */ + 710, /* GL_LOAD */ + 1326, /* GL_RETURN */ + 991, /* GL_MULT */ 23, /* GL_ADD */ - 1004, /* GL_NEVER */ - 666, /* GL_LESS */ - 463, /* GL_EQUAL */ - 665, /* GL_LEQUAL */ - 588, /* GL_GREATER */ - 1019, /* GL_NOTEQUAL */ - 587, /* GL_GEQUAL */ - 46, /* GL_ALWAYS */ - 1462, /* GL_SRC_COLOR */ - 1048, /* GL_ONE_MINUS_SRC_COLOR */ - 1460, /* GL_SRC_ALPHA */ - 1047, /* GL_ONE_MINUS_SRC_ALPHA */ - 442, /* GL_DST_ALPHA */ - 1045, /* GL_ONE_MINUS_DST_ALPHA */ - 443, /* GL_DST_COLOR */ - 1046, /* GL_ONE_MINUS_DST_COLOR */ - 1461, /* GL_SRC_ALPHA_SATURATE */ - 575, /* GL_FRONT_LEFT */ - 576, /* GL_FRONT_RIGHT */ - 68, /* GL_BACK_LEFT */ - 69, /* GL_BACK_RIGHT */ - 572, /* GL_FRONT */ - 67, /* GL_BACK */ - 664, /* GL_LEFT */ - 1364, /* GL_RIGHT */ - 573, /* GL_FRONT_AND_BACK */ - 62, /* GL_AUX0 */ - 63, /* GL_AUX1 */ - 64, /* GL_AUX2 */ - 65, /* GL_AUX3 */ - 654, /* GL_INVALID_ENUM */ - 658, /* GL_INVALID_VALUE */ - 657, /* GL_INVALID_OPERATION */ - 1467, /* GL_STACK_OVERFLOW */ - 1468, /* GL_STACK_UNDERFLOW */ - 1073, /* GL_OUT_OF_MEMORY */ - 655, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + 1007, /* GL_NEVER */ + 668, /* GL_LESS */ + 465, /* GL_EQUAL */ + 667, /* GL_LEQUAL */ + 590, /* GL_GREATER */ + 1022, /* GL_NOTEQUAL */ + 589, /* GL_GEQUAL */ + 47, /* GL_ALWAYS */ + 1467, /* GL_SRC_COLOR */ + 1052, /* GL_ONE_MINUS_SRC_COLOR */ + 1465, /* GL_SRC_ALPHA */ + 1051, /* GL_ONE_MINUS_SRC_ALPHA */ + 444, /* GL_DST_ALPHA */ + 1049, /* GL_ONE_MINUS_DST_ALPHA */ + 445, /* GL_DST_COLOR */ + 1050, /* GL_ONE_MINUS_DST_COLOR */ + 1466, /* GL_SRC_ALPHA_SATURATE */ + 577, /* GL_FRONT_LEFT */ + 578, /* GL_FRONT_RIGHT */ + 69, /* GL_BACK_LEFT */ + 70, /* GL_BACK_RIGHT */ + 574, /* GL_FRONT */ + 68, /* GL_BACK */ + 666, /* GL_LEFT */ + 1368, /* GL_RIGHT */ + 575, /* GL_FRONT_AND_BACK */ + 63, /* GL_AUX0 */ + 64, /* GL_AUX1 */ + 65, /* GL_AUX2 */ + 66, /* GL_AUX3 */ + 656, /* GL_INVALID_ENUM */ + 660, /* GL_INVALID_VALUE */ + 659, /* GL_INVALID_OPERATION */ + 1472, /* GL_STACK_OVERFLOW */ + 1473, /* GL_STACK_UNDERFLOW */ + 1077, /* GL_OUT_OF_MEMORY */ + 657, /* GL_INVALID_FRAMEBUFFER_OPERATION */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 1093, /* GL_PASS_THROUGH_TOKEN */ - 1153, /* GL_POINT_TOKEN */ - 699, /* GL_LINE_TOKEN */ - 1167, /* GL_POLYGON_TOKEN */ - 73, /* GL_BITMAP_TOKEN */ - 441, /* GL_DRAW_PIXEL_TOKEN */ - 299, /* GL_COPY_PIXEL_TOKEN */ - 692, /* GL_LINE_RESET_TOKEN */ - 466, /* GL_EXP */ - 467, /* GL_EXP2 */ - 335, /* GL_CW */ - 124, /* GL_CCW */ - 145, /* GL_COEFF */ - 1070, /* GL_ORDER */ - 379, /* GL_DOMAIN */ - 309, /* GL_CURRENT_COLOR */ - 312, /* GL_CURRENT_INDEX */ - 318, /* GL_CURRENT_NORMAL */ - 331, /* GL_CURRENT_TEXTURE_COORDS */ - 323, /* GL_CURRENT_RASTER_COLOR */ - 325, /* GL_CURRENT_RASTER_INDEX */ - 329, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ - 326, /* GL_CURRENT_RASTER_POSITION */ - 327, /* GL_CURRENT_RASTER_POSITION_VALID */ - 324, /* GL_CURRENT_RASTER_DISTANCE */ - 1146, /* GL_POINT_SMOOTH */ - 1135, /* GL_POINT_SIZE */ - 1145, /* GL_POINT_SIZE_RANGE */ - 1136, /* GL_POINT_SIZE_GRANULARITY */ - 693, /* GL_LINE_SMOOTH */ - 700, /* GL_LINE_WIDTH */ - 702, /* GL_LINE_WIDTH_RANGE */ - 701, /* GL_LINE_WIDTH_GRANULARITY */ - 695, /* GL_LINE_STIPPLE */ - 696, /* GL_LINE_STIPPLE_PATTERN */ - 697, /* GL_LINE_STIPPLE_REPEAT */ - 707, /* GL_LIST_MODE */ - 872, /* GL_MAX_LIST_NESTING */ - 704, /* GL_LIST_BASE */ - 706, /* GL_LIST_INDEX */ - 1156, /* GL_POLYGON_MODE */ - 1163, /* GL_POLYGON_SMOOTH */ - 1165, /* GL_POLYGON_STIPPLE */ - 452, /* GL_EDGE_FLAG */ - 302, /* GL_CULL_FACE */ - 303, /* GL_CULL_FACE_MODE */ - 574, /* GL_FRONT_FACE */ - 675, /* GL_LIGHTING */ - 680, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 681, /* GL_LIGHT_MODEL_TWO_SIDE */ - 677, /* GL_LIGHT_MODEL_AMBIENT */ - 1410, /* GL_SHADE_MODEL */ - 192, /* GL_COLOR_MATERIAL_FACE */ - 193, /* GL_COLOR_MATERIAL_PARAMETER */ - 191, /* GL_COLOR_MATERIAL */ - 501, /* GL_FOG */ - 523, /* GL_FOG_INDEX */ - 519, /* GL_FOG_DENSITY */ - 527, /* GL_FOG_START */ - 521, /* GL_FOG_END */ - 524, /* GL_FOG_MODE */ - 503, /* GL_FOG_COLOR */ - 366, /* GL_DEPTH_RANGE */ - 373, /* GL_DEPTH_TEST */ - 376, /* GL_DEPTH_WRITEMASK */ - 354, /* GL_DEPTH_CLEAR_VALUE */ - 365, /* GL_DEPTH_FUNC */ + 1097, /* GL_PASS_THROUGH_TOKEN */ + 1157, /* GL_POINT_TOKEN */ + 701, /* GL_LINE_TOKEN */ + 1171, /* GL_POLYGON_TOKEN */ + 74, /* GL_BITMAP_TOKEN */ + 443, /* GL_DRAW_PIXEL_TOKEN */ + 301, /* GL_COPY_PIXEL_TOKEN */ + 694, /* GL_LINE_RESET_TOKEN */ + 468, /* GL_EXP */ + 469, /* GL_EXP2 */ + 337, /* GL_CW */ + 125, /* GL_CCW */ + 146, /* GL_COEFF */ + 1074, /* GL_ORDER */ + 381, /* GL_DOMAIN */ + 311, /* GL_CURRENT_COLOR */ + 314, /* GL_CURRENT_INDEX */ + 320, /* GL_CURRENT_NORMAL */ + 333, /* GL_CURRENT_TEXTURE_COORDS */ + 325, /* GL_CURRENT_RASTER_COLOR */ + 327, /* GL_CURRENT_RASTER_INDEX */ + 331, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + 328, /* GL_CURRENT_RASTER_POSITION */ + 329, /* GL_CURRENT_RASTER_POSITION_VALID */ + 326, /* GL_CURRENT_RASTER_DISTANCE */ + 1150, /* GL_POINT_SMOOTH */ + 1139, /* GL_POINT_SIZE */ + 1149, /* GL_POINT_SIZE_RANGE */ + 1140, /* GL_POINT_SIZE_GRANULARITY */ + 695, /* GL_LINE_SMOOTH */ + 702, /* GL_LINE_WIDTH */ + 704, /* GL_LINE_WIDTH_RANGE */ + 703, /* GL_LINE_WIDTH_GRANULARITY */ + 697, /* GL_LINE_STIPPLE */ + 698, /* GL_LINE_STIPPLE_PATTERN */ + 699, /* GL_LINE_STIPPLE_REPEAT */ + 709, /* GL_LIST_MODE */ + 874, /* GL_MAX_LIST_NESTING */ + 706, /* GL_LIST_BASE */ + 708, /* GL_LIST_INDEX */ + 1160, /* GL_POLYGON_MODE */ + 1167, /* GL_POLYGON_SMOOTH */ + 1169, /* GL_POLYGON_STIPPLE */ + 454, /* GL_EDGE_FLAG */ + 304, /* GL_CULL_FACE */ + 305, /* GL_CULL_FACE_MODE */ + 576, /* GL_FRONT_FACE */ + 677, /* GL_LIGHTING */ + 682, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 683, /* GL_LIGHT_MODEL_TWO_SIDE */ + 679, /* GL_LIGHT_MODEL_AMBIENT */ + 1414, /* GL_SHADE_MODEL */ + 193, /* GL_COLOR_MATERIAL_FACE */ + 194, /* GL_COLOR_MATERIAL_PARAMETER */ + 192, /* GL_COLOR_MATERIAL */ + 503, /* GL_FOG */ + 525, /* GL_FOG_INDEX */ + 521, /* GL_FOG_DENSITY */ + 529, /* GL_FOG_START */ + 523, /* GL_FOG_END */ + 526, /* GL_FOG_MODE */ + 505, /* GL_FOG_COLOR */ + 368, /* GL_DEPTH_RANGE */ + 375, /* GL_DEPTH_TEST */ + 378, /* GL_DEPTH_WRITEMASK */ + 356, /* GL_DEPTH_CLEAR_VALUE */ + 367, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1503, /* GL_STENCIL_TEST */ - 1491, /* GL_STENCIL_CLEAR_VALUE */ - 1493, /* GL_STENCIL_FUNC */ - 1505, /* GL_STENCIL_VALUE_MASK */ - 1492, /* GL_STENCIL_FAIL */ - 1500, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1501, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1502, /* GL_STENCIL_REF */ - 1506, /* GL_STENCIL_WRITEMASK */ - 841, /* GL_MATRIX_MODE */ - 1009, /* GL_NORMALIZE */ - 1823, /* GL_VIEWPORT */ - 983, /* GL_MODELVIEW_STACK_DEPTH */ - 1246, /* GL_PROJECTION_STACK_DEPTH */ - 1707, /* GL_TEXTURE_STACK_DEPTH */ - 981, /* GL_MODELVIEW_MATRIX */ - 1245, /* GL_PROJECTION_MATRIX */ - 1690, /* GL_TEXTURE_MATRIX */ - 60, /* GL_ATTRIB_STACK_DEPTH */ - 135, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + 1508, /* GL_STENCIL_TEST */ + 1496, /* GL_STENCIL_CLEAR_VALUE */ + 1498, /* GL_STENCIL_FUNC */ + 1510, /* GL_STENCIL_VALUE_MASK */ + 1497, /* GL_STENCIL_FAIL */ + 1505, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1506, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1507, /* GL_STENCIL_REF */ + 1511, /* GL_STENCIL_WRITEMASK */ + 843, /* GL_MATRIX_MODE */ + 1012, /* GL_NORMALIZE */ + 1837, /* GL_VIEWPORT */ + 986, /* GL_MODELVIEW_STACK_DEPTH */ + 1250, /* GL_PROJECTION_STACK_DEPTH */ + 1718, /* GL_TEXTURE_STACK_DEPTH */ + 984, /* GL_MODELVIEW_MATRIX */ + 1249, /* GL_PROJECTION_MATRIX */ + 1701, /* GL_TEXTURE_MATRIX */ + 61, /* GL_ATTRIB_STACK_DEPTH */ + 136, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ 43, /* GL_ALPHA_TEST */ 44, /* GL_ALPHA_TEST_FUNC */ 45, /* GL_ALPHA_TEST_REF */ - 378, /* GL_DITHER */ - 77, /* GL_BLEND_DST */ - 86, /* GL_BLEND_SRC */ - 74, /* GL_BLEND */ - 710, /* GL_LOGIC_OP_MODE */ - 628, /* GL_INDEX_LOGIC_OP */ - 190, /* GL_COLOR_LOGIC_OP */ - 66, /* GL_AUX_BUFFERS */ - 389, /* GL_DRAW_BUFFER */ - 1280, /* GL_READ_BUFFER */ - 1391, /* GL_SCISSOR_BOX */ - 1392, /* GL_SCISSOR_TEST */ - 627, /* GL_INDEX_CLEAR_VALUE */ - 632, /* GL_INDEX_WRITEMASK */ - 187, /* GL_COLOR_CLEAR_VALUE */ - 229, /* GL_COLOR_WRITEMASK */ - 629, /* GL_INDEX_MODE */ - 1357, /* GL_RGBA_MODE */ - 388, /* GL_DOUBLEBUFFER */ - 1507, /* GL_STEREO */ - 1315, /* GL_RENDER_MODE */ - 1094, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1147, /* GL_POINT_SMOOTH_HINT */ - 694, /* GL_LINE_SMOOTH_HINT */ - 1164, /* GL_POLYGON_SMOOTH_HINT */ - 522, /* GL_FOG_HINT */ - 1671, /* GL_TEXTURE_GEN_S */ - 1672, /* GL_TEXTURE_GEN_T */ - 1670, /* GL_TEXTURE_GEN_R */ - 1669, /* GL_TEXTURE_GEN_Q */ - 1107, /* GL_PIXEL_MAP_I_TO_I */ - 1113, /* GL_PIXEL_MAP_S_TO_S */ - 1109, /* GL_PIXEL_MAP_I_TO_R */ - 1105, /* GL_PIXEL_MAP_I_TO_G */ - 1103, /* GL_PIXEL_MAP_I_TO_B */ - 1101, /* GL_PIXEL_MAP_I_TO_A */ - 1111, /* GL_PIXEL_MAP_R_TO_R */ - 1099, /* GL_PIXEL_MAP_G_TO_G */ - 1097, /* GL_PIXEL_MAP_B_TO_B */ - 1095, /* GL_PIXEL_MAP_A_TO_A */ - 1108, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 1114, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 1110, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 1106, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 1104, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 1102, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 1112, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 1100, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 1098, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 1096, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 1742, /* GL_UNPACK_SWAP_BYTES */ - 1737, /* GL_UNPACK_LSB_FIRST */ - 1738, /* GL_UNPACK_ROW_LENGTH */ - 1741, /* GL_UNPACK_SKIP_ROWS */ - 1740, /* GL_UNPACK_SKIP_PIXELS */ - 1735, /* GL_UNPACK_ALIGNMENT */ - 1082, /* GL_PACK_SWAP_BYTES */ - 1077, /* GL_PACK_LSB_FIRST */ - 1078, /* GL_PACK_ROW_LENGTH */ - 1081, /* GL_PACK_SKIP_ROWS */ - 1080, /* GL_PACK_SKIP_PIXELS */ - 1074, /* GL_PACK_ALIGNMENT */ - 788, /* GL_MAP_COLOR */ - 793, /* GL_MAP_STENCIL */ - 631, /* GL_INDEX_SHIFT */ - 630, /* GL_INDEX_OFFSET */ - 1293, /* GL_RED_SCALE */ - 1291, /* GL_RED_BIAS */ - 1840, /* GL_ZOOM_X */ - 1841, /* GL_ZOOM_Y */ - 592, /* GL_GREEN_SCALE */ - 590, /* GL_GREEN_BIAS */ - 92, /* GL_BLUE_SCALE */ - 90, /* GL_BLUE_BIAS */ + 380, /* GL_DITHER */ + 78, /* GL_BLEND_DST */ + 87, /* GL_BLEND_SRC */ + 75, /* GL_BLEND */ + 712, /* GL_LOGIC_OP_MODE */ + 630, /* GL_INDEX_LOGIC_OP */ + 191, /* GL_COLOR_LOGIC_OP */ + 67, /* GL_AUX_BUFFERS */ + 391, /* GL_DRAW_BUFFER */ + 1284, /* GL_READ_BUFFER */ + 1395, /* GL_SCISSOR_BOX */ + 1396, /* GL_SCISSOR_TEST */ + 629, /* GL_INDEX_CLEAR_VALUE */ + 634, /* GL_INDEX_WRITEMASK */ + 188, /* GL_COLOR_CLEAR_VALUE */ + 230, /* GL_COLOR_WRITEMASK */ + 631, /* GL_INDEX_MODE */ + 1361, /* GL_RGBA_MODE */ + 390, /* GL_DOUBLEBUFFER */ + 1512, /* GL_STEREO */ + 1319, /* GL_RENDER_MODE */ + 1098, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1151, /* GL_POINT_SMOOTH_HINT */ + 696, /* GL_LINE_SMOOTH_HINT */ + 1168, /* GL_POLYGON_SMOOTH_HINT */ + 524, /* GL_FOG_HINT */ + 1682, /* GL_TEXTURE_GEN_S */ + 1683, /* GL_TEXTURE_GEN_T */ + 1681, /* GL_TEXTURE_GEN_R */ + 1680, /* GL_TEXTURE_GEN_Q */ + 1111, /* GL_PIXEL_MAP_I_TO_I */ + 1117, /* GL_PIXEL_MAP_S_TO_S */ + 1113, /* GL_PIXEL_MAP_I_TO_R */ + 1109, /* GL_PIXEL_MAP_I_TO_G */ + 1107, /* GL_PIXEL_MAP_I_TO_B */ + 1105, /* GL_PIXEL_MAP_I_TO_A */ + 1115, /* GL_PIXEL_MAP_R_TO_R */ + 1103, /* GL_PIXEL_MAP_G_TO_G */ + 1101, /* GL_PIXEL_MAP_B_TO_B */ + 1099, /* GL_PIXEL_MAP_A_TO_A */ + 1112, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1118, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1114, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1110, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1108, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1106, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1116, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1104, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1102, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1100, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 1755, /* GL_UNPACK_SWAP_BYTES */ + 1750, /* GL_UNPACK_LSB_FIRST */ + 1751, /* GL_UNPACK_ROW_LENGTH */ + 1754, /* GL_UNPACK_SKIP_ROWS */ + 1753, /* GL_UNPACK_SKIP_PIXELS */ + 1748, /* GL_UNPACK_ALIGNMENT */ + 1086, /* GL_PACK_SWAP_BYTES */ + 1081, /* GL_PACK_LSB_FIRST */ + 1082, /* GL_PACK_ROW_LENGTH */ + 1085, /* GL_PACK_SKIP_ROWS */ + 1084, /* GL_PACK_SKIP_PIXELS */ + 1078, /* GL_PACK_ALIGNMENT */ + 790, /* GL_MAP_COLOR */ + 795, /* GL_MAP_STENCIL */ + 633, /* GL_INDEX_SHIFT */ + 632, /* GL_INDEX_OFFSET */ + 1297, /* GL_RED_SCALE */ + 1295, /* GL_RED_BIAS */ + 1855, /* GL_ZOOM_X */ + 1856, /* GL_ZOOM_Y */ + 594, /* GL_GREEN_SCALE */ + 592, /* GL_GREEN_BIAS */ + 93, /* GL_BLUE_SCALE */ + 91, /* GL_BLUE_BIAS */ 42, /* GL_ALPHA_SCALE */ 40, /* GL_ALPHA_BIAS */ - 367, /* GL_DEPTH_SCALE */ - 348, /* GL_DEPTH_BIAS */ - 867, /* GL_MAX_EVAL_ORDER */ - 871, /* GL_MAX_LIGHTS */ - 850, /* GL_MAX_CLIP_PLANES */ - 916, /* GL_MAX_TEXTURE_SIZE */ - 877, /* GL_MAX_PIXEL_MAP_TABLE */ - 846, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 874, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 875, /* GL_MAX_NAME_STACK_DEPTH */ - 903, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 917, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 931, /* GL_MAX_VIEWPORT_DIMS */ - 847, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1517, /* GL_SUBPIXEL_BITS */ - 626, /* GL_INDEX_BITS */ - 1292, /* GL_RED_BITS */ - 591, /* GL_GREEN_BITS */ - 91, /* GL_BLUE_BITS */ + 369, /* GL_DEPTH_SCALE */ + 350, /* GL_DEPTH_BIAS */ + 869, /* GL_MAX_EVAL_ORDER */ + 873, /* GL_MAX_LIGHTS */ + 852, /* GL_MAX_CLIP_PLANES */ + 919, /* GL_MAX_TEXTURE_SIZE */ + 879, /* GL_MAX_PIXEL_MAP_TABLE */ + 848, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 876, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 877, /* GL_MAX_NAME_STACK_DEPTH */ + 905, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 920, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 934, /* GL_MAX_VIEWPORT_DIMS */ + 849, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1522, /* GL_SUBPIXEL_BITS */ + 628, /* GL_INDEX_BITS */ + 1296, /* GL_RED_BITS */ + 593, /* GL_GREEN_BITS */ + 92, /* GL_BLUE_BITS */ 41, /* GL_ALPHA_BITS */ - 349, /* GL_DEPTH_BITS */ - 1489, /* GL_STENCIL_BITS */ + 351, /* GL_DEPTH_BITS */ + 1494, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 997, /* GL_NAME_STACK_DEPTH */ - 61, /* GL_AUTO_NORMAL */ - 734, /* GL_MAP1_COLOR_4 */ - 737, /* GL_MAP1_INDEX */ - 738, /* GL_MAP1_NORMAL */ - 739, /* GL_MAP1_TEXTURE_COORD_1 */ - 740, /* GL_MAP1_TEXTURE_COORD_2 */ - 741, /* GL_MAP1_TEXTURE_COORD_3 */ - 742, /* GL_MAP1_TEXTURE_COORD_4 */ - 743, /* GL_MAP1_VERTEX_3 */ - 744, /* GL_MAP1_VERTEX_4 */ - 761, /* GL_MAP2_COLOR_4 */ - 764, /* GL_MAP2_INDEX */ - 765, /* GL_MAP2_NORMAL */ - 766, /* GL_MAP2_TEXTURE_COORD_1 */ - 767, /* GL_MAP2_TEXTURE_COORD_2 */ - 768, /* GL_MAP2_TEXTURE_COORD_3 */ - 769, /* GL_MAP2_TEXTURE_COORD_4 */ - 770, /* GL_MAP2_VERTEX_3 */ - 771, /* GL_MAP2_VERTEX_4 */ - 735, /* GL_MAP1_GRID_DOMAIN */ - 736, /* GL_MAP1_GRID_SEGMENTS */ - 762, /* GL_MAP2_GRID_DOMAIN */ - 763, /* GL_MAP2_GRID_SEGMENTS */ - 1594, /* GL_TEXTURE_1D */ - 1596, /* GL_TEXTURE_2D */ - 476, /* GL_FEEDBACK_BUFFER_POINTER */ - 477, /* GL_FEEDBACK_BUFFER_SIZE */ - 478, /* GL_FEEDBACK_BUFFER_TYPE */ - 1401, /* GL_SELECTION_BUFFER_POINTER */ - 1402, /* GL_SELECTION_BUFFER_SIZE */ - 1712, /* GL_TEXTURE_WIDTH */ - 1676, /* GL_TEXTURE_HEIGHT */ - 1631, /* GL_TEXTURE_COMPONENTS */ - 1615, /* GL_TEXTURE_BORDER_COLOR */ - 1614, /* GL_TEXTURE_BORDER */ - 380, /* GL_DONT_CARE */ - 474, /* GL_FASTEST */ - 1005, /* GL_NICEST */ - 47, /* GL_AMBIENT */ - 377, /* GL_DIFFUSE */ - 1449, /* GL_SPECULAR */ - 1168, /* GL_POSITION */ - 1452, /* GL_SPOT_DIRECTION */ - 1453, /* GL_SPOT_EXPONENT */ - 1451, /* GL_SPOT_CUTOFF */ - 273, /* GL_CONSTANT_ATTENUATION */ - 684, /* GL_LINEAR_ATTENUATION */ - 1266, /* GL_QUADRATIC_ATTENUATION */ - 243, /* GL_COMPILE */ - 244, /* GL_COMPILE_AND_EXECUTE */ - 119, /* GL_BYTE */ - 1743, /* GL_UNSIGNED_BYTE */ - 1415, /* GL_SHORT */ - 1754, /* GL_UNSIGNED_SHORT */ - 634, /* GL_INT */ - 1746, /* GL_UNSIGNED_INT */ - 482, /* GL_FLOAT */ + 1000, /* GL_NAME_STACK_DEPTH */ + 62, /* GL_AUTO_NORMAL */ + 736, /* GL_MAP1_COLOR_4 */ + 739, /* GL_MAP1_INDEX */ + 740, /* GL_MAP1_NORMAL */ + 741, /* GL_MAP1_TEXTURE_COORD_1 */ + 742, /* GL_MAP1_TEXTURE_COORD_2 */ + 743, /* GL_MAP1_TEXTURE_COORD_3 */ + 744, /* GL_MAP1_TEXTURE_COORD_4 */ + 745, /* GL_MAP1_VERTEX_3 */ + 746, /* GL_MAP1_VERTEX_4 */ + 763, /* GL_MAP2_COLOR_4 */ + 766, /* GL_MAP2_INDEX */ + 767, /* GL_MAP2_NORMAL */ + 768, /* GL_MAP2_TEXTURE_COORD_1 */ + 769, /* GL_MAP2_TEXTURE_COORD_2 */ + 770, /* GL_MAP2_TEXTURE_COORD_3 */ + 771, /* GL_MAP2_TEXTURE_COORD_4 */ + 772, /* GL_MAP2_VERTEX_3 */ + 773, /* GL_MAP2_VERTEX_4 */ + 737, /* GL_MAP1_GRID_DOMAIN */ + 738, /* GL_MAP1_GRID_SEGMENTS */ + 764, /* GL_MAP2_GRID_DOMAIN */ + 765, /* GL_MAP2_GRID_SEGMENTS */ + 1605, /* GL_TEXTURE_1D */ + 1607, /* GL_TEXTURE_2D */ + 478, /* GL_FEEDBACK_BUFFER_POINTER */ + 479, /* GL_FEEDBACK_BUFFER_SIZE */ + 480, /* GL_FEEDBACK_BUFFER_TYPE */ + 1405, /* GL_SELECTION_BUFFER_POINTER */ + 1406, /* GL_SELECTION_BUFFER_SIZE */ + 1723, /* GL_TEXTURE_WIDTH */ + 1687, /* GL_TEXTURE_HEIGHT */ + 1642, /* GL_TEXTURE_COMPONENTS */ + 1626, /* GL_TEXTURE_BORDER_COLOR */ + 1625, /* GL_TEXTURE_BORDER */ + 382, /* GL_DONT_CARE */ + 476, /* GL_FASTEST */ + 1008, /* GL_NICEST */ + 48, /* GL_AMBIENT */ + 379, /* GL_DIFFUSE */ + 1454, /* GL_SPECULAR */ + 1172, /* GL_POSITION */ + 1457, /* GL_SPOT_DIRECTION */ + 1458, /* GL_SPOT_EXPONENT */ + 1456, /* GL_SPOT_CUTOFF */ + 275, /* GL_CONSTANT_ATTENUATION */ + 686, /* GL_LINEAR_ATTENUATION */ + 1270, /* GL_QUADRATIC_ATTENUATION */ + 244, /* GL_COMPILE */ + 245, /* GL_COMPILE_AND_EXECUTE */ + 120, /* GL_BYTE */ + 1757, /* GL_UNSIGNED_BYTE */ + 1419, /* GL_SHORT */ + 1768, /* GL_UNSIGNED_SHORT */ + 636, /* GL_INT */ + 1760, /* GL_UNSIGNED_INT */ + 484, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ 7, /* GL_4_BYTES */ - 387, /* GL_DOUBLE */ - 131, /* GL_CLEAR */ - 49, /* GL_AND */ - 51, /* GL_AND_REVERSE */ - 297, /* GL_COPY */ - 50, /* GL_AND_INVERTED */ - 1007, /* GL_NOOP */ - 1836, /* GL_XOR */ - 1069, /* GL_OR */ - 1008, /* GL_NOR */ - 464, /* GL_EQUIV */ - 661, /* GL_INVERT */ - 1072, /* GL_OR_REVERSE */ - 298, /* GL_COPY_INVERTED */ - 1071, /* GL_OR_INVERTED */ - 998, /* GL_NAND */ - 1406, /* GL_SET */ - 461, /* GL_EMISSION */ - 1414, /* GL_SHININESS */ - 48, /* GL_AMBIENT_AND_DIFFUSE */ - 189, /* GL_COLOR_INDEXES */ - 948, /* GL_MODELVIEW */ - 1244, /* GL_PROJECTION */ - 1529, /* GL_TEXTURE */ - 146, /* GL_COLOR */ - 344, /* GL_DEPTH */ - 1475, /* GL_STENCIL */ - 188, /* GL_COLOR_INDEX */ - 1494, /* GL_STENCIL_INDEX */ - 355, /* GL_DEPTH_COMPONENT */ - 1288, /* GL_RED */ - 589, /* GL_GREEN */ - 89, /* GL_BLUE */ + 389, /* GL_DOUBLE */ + 132, /* GL_CLEAR */ + 50, /* GL_AND */ + 52, /* GL_AND_REVERSE */ + 299, /* GL_COPY */ + 51, /* GL_AND_INVERTED */ + 1010, /* GL_NOOP */ + 1851, /* GL_XOR */ + 1073, /* GL_OR */ + 1011, /* GL_NOR */ + 466, /* GL_EQUIV */ + 663, /* GL_INVERT */ + 1076, /* GL_OR_REVERSE */ + 300, /* GL_COPY_INVERTED */ + 1075, /* GL_OR_INVERTED */ + 1001, /* GL_NAND */ + 1410, /* GL_SET */ + 463, /* GL_EMISSION */ + 1418, /* GL_SHININESS */ + 49, /* GL_AMBIENT_AND_DIFFUSE */ + 190, /* GL_COLOR_INDEXES */ + 951, /* GL_MODELVIEW */ + 1248, /* GL_PROJECTION */ + 1540, /* GL_TEXTURE */ + 147, /* GL_COLOR */ + 346, /* GL_DEPTH */ + 1480, /* GL_STENCIL */ + 189, /* GL_COLOR_INDEX */ + 1499, /* GL_STENCIL_INDEX */ + 357, /* GL_DEPTH_COMPONENT */ + 1292, /* GL_RED */ + 591, /* GL_GREEN */ + 90, /* GL_BLUE */ 31, /* GL_ALPHA */ - 1323, /* GL_RGB */ - 1342, /* GL_RGBA */ - 712, /* GL_LUMINANCE */ - 733, /* GL_LUMINANCE_ALPHA */ - 72, /* GL_BITMAP */ - 1124, /* GL_POINT */ - 682, /* GL_LINE */ - 479, /* GL_FILL */ - 1297, /* GL_RENDER */ - 475, /* GL_FEEDBACK */ - 1400, /* GL_SELECT */ - 481, /* GL_FLAT */ - 1424, /* GL_SMOOTH */ - 662, /* GL_KEEP */ - 1317, /* GL_REPLACE */ - 616, /* GL_INCR */ - 340, /* GL_DECR */ - 1769, /* GL_VENDOR */ - 1314, /* GL_RENDERER */ - 1770, /* GL_VERSION */ - 468, /* GL_EXTENSIONS */ - 1365, /* GL_S */ - 1520, /* GL_T */ - 1277, /* GL_R */ - 1265, /* GL_Q */ - 984, /* GL_MODULATE */ - 339, /* GL_DECAL */ - 1666, /* GL_TEXTURE_ENV_MODE */ - 1665, /* GL_TEXTURE_ENV_COLOR */ - 1664, /* GL_TEXTURE_ENV */ - 469, /* GL_EYE_LINEAR */ - 1031, /* GL_OBJECT_LINEAR */ - 1450, /* GL_SPHERE_MAP */ - 1668, /* GL_TEXTURE_GEN_MODE */ - 1033, /* GL_OBJECT_PLANE */ - 470, /* GL_EYE_PLANE */ - 999, /* GL_NEAREST */ - 683, /* GL_LINEAR */ - 1003, /* GL_NEAREST_MIPMAP_NEAREST */ - 688, /* GL_LINEAR_MIPMAP_NEAREST */ - 1002, /* GL_NEAREST_MIPMAP_LINEAR */ - 687, /* GL_LINEAR_MIPMAP_LINEAR */ - 1689, /* GL_TEXTURE_MAG_FILTER */ - 1697, /* GL_TEXTURE_MIN_FILTER */ - 1714, /* GL_TEXTURE_WRAP_S */ - 1715, /* GL_TEXTURE_WRAP_T */ - 125, /* GL_CLAMP */ - 1316, /* GL_REPEAT */ - 1162, /* GL_POLYGON_OFFSET_UNITS */ - 1161, /* GL_POLYGON_OFFSET_POINT */ - 1160, /* GL_POLYGON_OFFSET_LINE */ - 1278, /* GL_R3_G3_B2 */ - 1766, /* GL_V2F */ - 1767, /* GL_V3F */ - 122, /* GL_C4UB_V2F */ - 123, /* GL_C4UB_V3F */ - 120, /* GL_C3F_V3F */ - 996, /* GL_N3F_V3F */ - 121, /* GL_C4F_N3F_V3F */ - 1525, /* GL_T2F_V3F */ - 1527, /* GL_T4F_V4F */ - 1523, /* GL_T2F_C4UB_V3F */ - 1521, /* GL_T2F_C3F_V3F */ - 1524, /* GL_T2F_N3F_V3F */ - 1522, /* GL_T2F_C4F_N3F_V3F */ - 1526, /* GL_T4F_C4F_N3F_V4F */ - 138, /* GL_CLIP_PLANE0 */ - 139, /* GL_CLIP_PLANE1 */ - 140, /* GL_CLIP_PLANE2 */ - 141, /* GL_CLIP_PLANE3 */ - 142, /* GL_CLIP_PLANE4 */ - 143, /* GL_CLIP_PLANE5 */ - 667, /* GL_LIGHT0 */ - 668, /* GL_LIGHT1 */ - 669, /* GL_LIGHT2 */ - 670, /* GL_LIGHT3 */ - 671, /* GL_LIGHT4 */ - 672, /* GL_LIGHT5 */ - 673, /* GL_LIGHT6 */ - 674, /* GL_LIGHT7 */ - 593, /* GL_HINT_BIT */ - 275, /* GL_CONSTANT_COLOR */ - 1043, /* GL_ONE_MINUS_CONSTANT_COLOR */ - 270, /* GL_CONSTANT_ALPHA */ - 1041, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - 75, /* GL_BLEND_COLOR */ - 577, /* GL_FUNC_ADD */ - 932, /* GL_MIN */ - 843, /* GL_MAX */ - 80, /* GL_BLEND_EQUATION */ - 581, /* GL_FUNC_SUBTRACT */ - 579, /* GL_FUNC_REVERSE_SUBTRACT */ - 278, /* GL_CONVOLUTION_1D */ - 279, /* GL_CONVOLUTION_2D */ - 1403, /* GL_SEPARABLE_2D */ - 282, /* GL_CONVOLUTION_BORDER_MODE */ - 286, /* GL_CONVOLUTION_FILTER_SCALE */ - 284, /* GL_CONVOLUTION_FILTER_BIAS */ - 1289, /* GL_REDUCE */ - 288, /* GL_CONVOLUTION_FORMAT */ - 292, /* GL_CONVOLUTION_WIDTH */ - 290, /* GL_CONVOLUTION_HEIGHT */ - 858, /* GL_MAX_CONVOLUTION_WIDTH */ - 856, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1201, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1197, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1192, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1188, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1199, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1195, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1190, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1186, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - 594, /* GL_HISTOGRAM */ - 1249, /* GL_PROXY_HISTOGRAM */ - 610, /* GL_HISTOGRAM_WIDTH */ - 600, /* GL_HISTOGRAM_FORMAT */ - 606, /* GL_HISTOGRAM_RED_SIZE */ - 602, /* GL_HISTOGRAM_GREEN_SIZE */ - 597, /* GL_HISTOGRAM_BLUE_SIZE */ - 595, /* GL_HISTOGRAM_ALPHA_SIZE */ - 604, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - 608, /* GL_HISTOGRAM_SINK */ - 933, /* GL_MINMAX */ - 935, /* GL_MINMAX_FORMAT */ - 937, /* GL_MINMAX_SINK */ - 1528, /* GL_TABLE_TOO_LARGE_EXT */ - 1745, /* GL_UNSIGNED_BYTE_3_3_2 */ - 1756, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 1758, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 1751, /* GL_UNSIGNED_INT_8_8_8_8 */ - 1747, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1159, /* GL_POLYGON_OFFSET_FILL */ - 1158, /* GL_POLYGON_OFFSET_FACTOR */ - 1157, /* GL_POLYGON_OFFSET_BIAS */ - 1320, /* GL_RESCALE_NORMAL */ + 1327, /* GL_RGB */ + 1346, /* GL_RGBA */ + 714, /* GL_LUMINANCE */ + 735, /* GL_LUMINANCE_ALPHA */ + 73, /* GL_BITMAP */ + 1128, /* GL_POINT */ + 684, /* GL_LINE */ + 481, /* GL_FILL */ + 1301, /* GL_RENDER */ + 477, /* GL_FEEDBACK */ + 1404, /* GL_SELECT */ + 483, /* GL_FLAT */ + 1429, /* GL_SMOOTH */ + 664, /* GL_KEEP */ + 1321, /* GL_REPLACE */ + 618, /* GL_INCR */ + 342, /* GL_DECR */ + 1783, /* GL_VENDOR */ + 1318, /* GL_RENDERER */ + 1784, /* GL_VERSION */ + 470, /* GL_EXTENSIONS */ + 1369, /* GL_S */ + 1531, /* GL_T */ + 1281, /* GL_R */ + 1269, /* GL_Q */ + 987, /* GL_MODULATE */ + 341, /* GL_DECAL */ + 1677, /* GL_TEXTURE_ENV_MODE */ + 1676, /* GL_TEXTURE_ENV_COLOR */ + 1675, /* GL_TEXTURE_ENV */ + 471, /* GL_EYE_LINEAR */ + 1034, /* GL_OBJECT_LINEAR */ + 1455, /* GL_SPHERE_MAP */ + 1679, /* GL_TEXTURE_GEN_MODE */ + 1036, /* GL_OBJECT_PLANE */ + 472, /* GL_EYE_PLANE */ + 1002, /* GL_NEAREST */ + 685, /* GL_LINEAR */ + 1006, /* GL_NEAREST_MIPMAP_NEAREST */ + 690, /* GL_LINEAR_MIPMAP_NEAREST */ + 1005, /* GL_NEAREST_MIPMAP_LINEAR */ + 689, /* GL_LINEAR_MIPMAP_LINEAR */ + 1700, /* GL_TEXTURE_MAG_FILTER */ + 1708, /* GL_TEXTURE_MIN_FILTER */ + 1725, /* GL_TEXTURE_WRAP_S */ + 1726, /* GL_TEXTURE_WRAP_T */ + 126, /* GL_CLAMP */ + 1320, /* GL_REPEAT */ + 1166, /* GL_POLYGON_OFFSET_UNITS */ + 1165, /* GL_POLYGON_OFFSET_POINT */ + 1164, /* GL_POLYGON_OFFSET_LINE */ + 1282, /* GL_R3_G3_B2 */ + 1780, /* GL_V2F */ + 1781, /* GL_V3F */ + 123, /* GL_C4UB_V2F */ + 124, /* GL_C4UB_V3F */ + 121, /* GL_C3F_V3F */ + 999, /* GL_N3F_V3F */ + 122, /* GL_C4F_N3F_V3F */ + 1536, /* GL_T2F_V3F */ + 1538, /* GL_T4F_V4F */ + 1534, /* GL_T2F_C4UB_V3F */ + 1532, /* GL_T2F_C3F_V3F */ + 1535, /* GL_T2F_N3F_V3F */ + 1533, /* GL_T2F_C4F_N3F_V3F */ + 1537, /* GL_T4F_C4F_N3F_V4F */ + 139, /* GL_CLIP_PLANE0 */ + 140, /* GL_CLIP_PLANE1 */ + 141, /* GL_CLIP_PLANE2 */ + 142, /* GL_CLIP_PLANE3 */ + 143, /* GL_CLIP_PLANE4 */ + 144, /* GL_CLIP_PLANE5 */ + 669, /* GL_LIGHT0 */ + 670, /* GL_LIGHT1 */ + 671, /* GL_LIGHT2 */ + 672, /* GL_LIGHT3 */ + 673, /* GL_LIGHT4 */ + 674, /* GL_LIGHT5 */ + 675, /* GL_LIGHT6 */ + 676, /* GL_LIGHT7 */ + 595, /* GL_HINT_BIT */ + 277, /* GL_CONSTANT_COLOR */ + 1047, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 272, /* GL_CONSTANT_ALPHA */ + 1045, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 76, /* GL_BLEND_COLOR */ + 579, /* GL_FUNC_ADD */ + 935, /* GL_MIN */ + 845, /* GL_MAX */ + 81, /* GL_BLEND_EQUATION */ + 583, /* GL_FUNC_SUBTRACT */ + 581, /* GL_FUNC_REVERSE_SUBTRACT */ + 280, /* GL_CONVOLUTION_1D */ + 281, /* GL_CONVOLUTION_2D */ + 1407, /* GL_SEPARABLE_2D */ + 284, /* GL_CONVOLUTION_BORDER_MODE */ + 288, /* GL_CONVOLUTION_FILTER_SCALE */ + 286, /* GL_CONVOLUTION_FILTER_BIAS */ + 1293, /* GL_REDUCE */ + 290, /* GL_CONVOLUTION_FORMAT */ + 294, /* GL_CONVOLUTION_WIDTH */ + 292, /* GL_CONVOLUTION_HEIGHT */ + 860, /* GL_MAX_CONVOLUTION_WIDTH */ + 858, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1205, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1201, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1196, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1192, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1203, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1199, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1194, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1190, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 596, /* GL_HISTOGRAM */ + 1253, /* GL_PROXY_HISTOGRAM */ + 612, /* GL_HISTOGRAM_WIDTH */ + 602, /* GL_HISTOGRAM_FORMAT */ + 608, /* GL_HISTOGRAM_RED_SIZE */ + 604, /* GL_HISTOGRAM_GREEN_SIZE */ + 599, /* GL_HISTOGRAM_BLUE_SIZE */ + 597, /* GL_HISTOGRAM_ALPHA_SIZE */ + 606, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 610, /* GL_HISTOGRAM_SINK */ + 936, /* GL_MINMAX */ + 938, /* GL_MINMAX_FORMAT */ + 940, /* GL_MINMAX_SINK */ + 1539, /* GL_TABLE_TOO_LARGE_EXT */ + 1759, /* GL_UNSIGNED_BYTE_3_3_2 */ + 1770, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 1772, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 1765, /* GL_UNSIGNED_INT_8_8_8_8 */ + 1761, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1163, /* GL_POLYGON_OFFSET_FILL */ + 1162, /* GL_POLYGON_OFFSET_FACTOR */ + 1161, /* GL_POLYGON_OFFSET_BIAS */ + 1324, /* GL_RESCALE_NORMAL */ 36, /* GL_ALPHA4 */ 38, /* GL_ALPHA8 */ 32, /* GL_ALPHA12 */ 34, /* GL_ALPHA16 */ - 723, /* GL_LUMINANCE4 */ - 729, /* GL_LUMINANCE8 */ - 713, /* GL_LUMINANCE12 */ - 719, /* GL_LUMINANCE16 */ - 724, /* GL_LUMINANCE4_ALPHA4 */ - 727, /* GL_LUMINANCE6_ALPHA2 */ - 730, /* GL_LUMINANCE8_ALPHA8 */ - 716, /* GL_LUMINANCE12_ALPHA4 */ - 714, /* GL_LUMINANCE12_ALPHA12 */ - 720, /* GL_LUMINANCE16_ALPHA16 */ - 635, /* GL_INTENSITY */ - 640, /* GL_INTENSITY4 */ - 642, /* GL_INTENSITY8 */ - 636, /* GL_INTENSITY12 */ - 638, /* GL_INTENSITY16 */ - 1332, /* GL_RGB2_EXT */ - 1333, /* GL_RGB4 */ - 1336, /* GL_RGB5 */ - 1340, /* GL_RGB8 */ - 1324, /* GL_RGB10 */ - 1328, /* GL_RGB12 */ - 1330, /* GL_RGB16 */ - 1347, /* GL_RGBA2 */ - 1349, /* GL_RGBA4 */ - 1337, /* GL_RGB5_A1 */ - 1353, /* GL_RGBA8 */ - 1325, /* GL_RGB10_A2 */ - 1343, /* GL_RGBA12 */ - 1345, /* GL_RGBA16 */ - 1704, /* GL_TEXTURE_RED_SIZE */ - 1674, /* GL_TEXTURE_GREEN_SIZE */ - 1612, /* GL_TEXTURE_BLUE_SIZE */ - 1599, /* GL_TEXTURE_ALPHA_SIZE */ - 1687, /* GL_TEXTURE_LUMINANCE_SIZE */ - 1678, /* GL_TEXTURE_INTENSITY_SIZE */ - 1318, /* GL_REPLACE_EXT */ - 1253, /* GL_PROXY_TEXTURE_1D */ - 1256, /* GL_PROXY_TEXTURE_2D */ - 1710, /* GL_TEXTURE_TOO_LARGE_EXT */ - 1699, /* GL_TEXTURE_PRIORITY */ - 1706, /* GL_TEXTURE_RESIDENT */ - 1602, /* GL_TEXTURE_BINDING_1D */ - 1604, /* GL_TEXTURE_BINDING_2D */ - 1606, /* GL_TEXTURE_BINDING_3D */ - 1079, /* GL_PACK_SKIP_IMAGES */ - 1075, /* GL_PACK_IMAGE_HEIGHT */ - 1739, /* GL_UNPACK_SKIP_IMAGES */ - 1736, /* GL_UNPACK_IMAGE_HEIGHT */ - 1598, /* GL_TEXTURE_3D */ - 1259, /* GL_PROXY_TEXTURE_3D */ - 1661, /* GL_TEXTURE_DEPTH */ - 1713, /* GL_TEXTURE_WRAP_R */ - 844, /* GL_MAX_3D_TEXTURE_SIZE */ - 1771, /* GL_VERTEX_ARRAY */ - 1010, /* GL_NORMAL_ARRAY */ - 147, /* GL_COLOR_ARRAY */ - 620, /* GL_INDEX_ARRAY */ - 1639, /* GL_TEXTURE_COORD_ARRAY */ - 453, /* GL_EDGE_FLAG_ARRAY */ - 1777, /* GL_VERTEX_ARRAY_SIZE */ - 1779, /* GL_VERTEX_ARRAY_TYPE */ - 1778, /* GL_VERTEX_ARRAY_STRIDE */ - 1015, /* GL_NORMAL_ARRAY_TYPE */ - 1014, /* GL_NORMAL_ARRAY_STRIDE */ - 151, /* GL_COLOR_ARRAY_SIZE */ - 153, /* GL_COLOR_ARRAY_TYPE */ - 152, /* GL_COLOR_ARRAY_STRIDE */ - 625, /* GL_INDEX_ARRAY_TYPE */ - 624, /* GL_INDEX_ARRAY_STRIDE */ - 1643, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 1645, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 1644, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - 457, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 1776, /* GL_VERTEX_ARRAY_POINTER */ - 1013, /* GL_NORMAL_ARRAY_POINTER */ - 150, /* GL_COLOR_ARRAY_POINTER */ - 623, /* GL_INDEX_ARRAY_POINTER */ - 1642, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - 456, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 989, /* GL_MULTISAMPLE */ - 1377, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1379, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1384, /* GL_SAMPLE_COVERAGE */ - 1381, /* GL_SAMPLE_BUFFERS */ - 1372, /* GL_SAMPLES */ - 1388, /* GL_SAMPLE_COVERAGE_VALUE */ - 1386, /* GL_SAMPLE_COVERAGE_INVERT */ - 194, /* GL_COLOR_MATRIX */ - 196, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 852, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1184, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1180, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1175, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1171, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1182, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1178, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1173, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1169, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 1622, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1260, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 1624, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - 79, /* GL_BLEND_DST_RGB */ - 88, /* GL_BLEND_SRC_RGB */ - 78, /* GL_BLEND_DST_ALPHA */ - 87, /* GL_BLEND_SRC_ALPHA */ - 200, /* GL_COLOR_TABLE */ - 1194, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1177, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1248, /* GL_PROXY_COLOR_TABLE */ - 1252, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1251, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - 224, /* GL_COLOR_TABLE_SCALE */ - 204, /* GL_COLOR_TABLE_BIAS */ - 209, /* GL_COLOR_TABLE_FORMAT */ - 226, /* GL_COLOR_TABLE_WIDTH */ - 221, /* GL_COLOR_TABLE_RED_SIZE */ - 212, /* GL_COLOR_TABLE_GREEN_SIZE */ - 206, /* GL_COLOR_TABLE_BLUE_SIZE */ - 201, /* GL_COLOR_TABLE_ALPHA_SIZE */ - 218, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ - 215, /* GL_COLOR_TABLE_INTENSITY_SIZE */ - 70, /* GL_BGR */ - 71, /* GL_BGRA */ - 866, /* GL_MAX_ELEMENTS_VERTICES */ - 865, /* GL_MAX_ELEMENTS_INDICES */ - 1677, /* GL_TEXTURE_INDEX_SIZE_EXT */ - 144, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1141, /* GL_POINT_SIZE_MIN */ - 1137, /* GL_POINT_SIZE_MAX */ - 1131, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 1127, /* GL_POINT_DISTANCE_ATTENUATION */ - 126, /* GL_CLAMP_TO_BORDER */ - 129, /* GL_CLAMP_TO_EDGE */ - 1698, /* GL_TEXTURE_MIN_LOD */ - 1696, /* GL_TEXTURE_MAX_LOD */ - 1601, /* GL_TEXTURE_BASE_LEVEL */ - 1695, /* GL_TEXTURE_MAX_LEVEL */ - 613, /* GL_IGNORE_BORDER_HP */ - 274, /* GL_CONSTANT_BORDER_HP */ - 1319, /* GL_REPLICATE_BORDER_HP */ - 280, /* GL_CONVOLUTION_BORDER_COLOR */ - 1038, /* GL_OCCLUSION_TEST_HP */ - 1039, /* GL_OCCLUSION_TEST_RESULT_HP */ - 685, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 1616, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 1618, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 1620, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 1621, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1619, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 1617, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 848, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 849, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1204, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1206, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1203, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1205, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 1685, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 1686, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 1684, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - 583, /* GL_GENERATE_MIPMAP */ - 584, /* GL_GENERATE_MIPMAP_HINT */ - 525, /* GL_FOG_OFFSET_SGIX */ - 526, /* GL_FOG_OFFSET_VALUE_SGIX */ - 1630, /* GL_TEXTURE_COMPARE_SGIX */ - 1629, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 1681, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 1673, /* GL_TEXTURE_GEQUAL_R_SGIX */ - 356, /* GL_DEPTH_COMPONENT16 */ - 359, /* GL_DEPTH_COMPONENT24 */ - 362, /* GL_DEPTH_COMPONENT32 */ - 304, /* GL_CULL_VERTEX_EXT */ - 306, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ - 305, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 1833, /* GL_WRAP_BORDER_SUN */ - 1623, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 678, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1417, /* GL_SINGLE_COLOR */ - 1404, /* GL_SEPARATE_SPECULAR_COLOR */ - 1413, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - 536, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ - 537, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ - 544, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ - 539, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ - 535, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ - 534, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ - 538, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ - 545, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ - 556, /* GL_FRAMEBUFFER_DEFAULT */ - 569, /* GL_FRAMEBUFFER_UNDEFINED */ - 369, /* GL_DEPTH_STENCIL_ATTACHMENT */ - 619, /* GL_INDEX */ - 1744, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 1759, /* GL_UNSIGNED_SHORT_5_6_5 */ - 1760, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 1757, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 1755, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 1752, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 1750, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 1693, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 1694, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 1692, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 940, /* GL_MIRRORED_REPEAT */ - 1360, /* GL_RGB_S3TC */ - 1335, /* GL_RGB4_S3TC */ - 1358, /* GL_RGBA_S3TC */ - 1352, /* GL_RGBA4_S3TC */ - 1356, /* GL_RGBA_DXT5_S3TC */ - 1350, /* GL_RGBA4_DXT5_S3TC */ - 263, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ - 258, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ - 259, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ - 260, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 1001, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 1000, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 686, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - 512, /* GL_FOG_COORDINATE_SOURCE */ - 504, /* GL_FOG_COORD */ - 528, /* GL_FRAGMENT_DEPTH */ - 310, /* GL_CURRENT_FOG_COORD */ - 511, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - 510, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - 509, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - 506, /* GL_FOG_COORDINATE_ARRAY */ - 198, /* GL_COLOR_SUM */ - 330, /* GL_CURRENT_SECONDARY_COLOR */ - 1397, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1399, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1398, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1396, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1393, /* GL_SECONDARY_COLOR_ARRAY */ - 328, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ + 725, /* GL_LUMINANCE4 */ + 731, /* GL_LUMINANCE8 */ + 715, /* GL_LUMINANCE12 */ + 721, /* GL_LUMINANCE16 */ + 726, /* GL_LUMINANCE4_ALPHA4 */ + 729, /* GL_LUMINANCE6_ALPHA2 */ + 732, /* GL_LUMINANCE8_ALPHA8 */ + 718, /* GL_LUMINANCE12_ALPHA4 */ + 716, /* GL_LUMINANCE12_ALPHA12 */ + 722, /* GL_LUMINANCE16_ALPHA16 */ + 637, /* GL_INTENSITY */ + 642, /* GL_INTENSITY4 */ + 644, /* GL_INTENSITY8 */ + 638, /* GL_INTENSITY12 */ + 640, /* GL_INTENSITY16 */ + 1336, /* GL_RGB2_EXT */ + 1337, /* GL_RGB4 */ + 1340, /* GL_RGB5 */ + 1344, /* GL_RGB8 */ + 1328, /* GL_RGB10 */ + 1332, /* GL_RGB12 */ + 1334, /* GL_RGB16 */ + 1351, /* GL_RGBA2 */ + 1353, /* GL_RGBA4 */ + 1341, /* GL_RGB5_A1 */ + 1357, /* GL_RGBA8 */ + 1329, /* GL_RGB10_A2 */ + 1347, /* GL_RGBA12 */ + 1349, /* GL_RGBA16 */ + 1715, /* GL_TEXTURE_RED_SIZE */ + 1685, /* GL_TEXTURE_GREEN_SIZE */ + 1623, /* GL_TEXTURE_BLUE_SIZE */ + 1610, /* GL_TEXTURE_ALPHA_SIZE */ + 1698, /* GL_TEXTURE_LUMINANCE_SIZE */ + 1689, /* GL_TEXTURE_INTENSITY_SIZE */ + 1322, /* GL_REPLACE_EXT */ + 1257, /* GL_PROXY_TEXTURE_1D */ + 1260, /* GL_PROXY_TEXTURE_2D */ + 1721, /* GL_TEXTURE_TOO_LARGE_EXT */ + 1710, /* GL_TEXTURE_PRIORITY */ + 1717, /* GL_TEXTURE_RESIDENT */ + 1613, /* GL_TEXTURE_BINDING_1D */ + 1615, /* GL_TEXTURE_BINDING_2D */ + 1617, /* GL_TEXTURE_BINDING_3D */ + 1083, /* GL_PACK_SKIP_IMAGES */ + 1079, /* GL_PACK_IMAGE_HEIGHT */ + 1752, /* GL_UNPACK_SKIP_IMAGES */ + 1749, /* GL_UNPACK_IMAGE_HEIGHT */ + 1609, /* GL_TEXTURE_3D */ + 1263, /* GL_PROXY_TEXTURE_3D */ + 1672, /* GL_TEXTURE_DEPTH */ + 1724, /* GL_TEXTURE_WRAP_R */ + 846, /* GL_MAX_3D_TEXTURE_SIZE */ + 1785, /* GL_VERTEX_ARRAY */ + 1013, /* GL_NORMAL_ARRAY */ + 148, /* GL_COLOR_ARRAY */ + 622, /* GL_INDEX_ARRAY */ + 1650, /* GL_TEXTURE_COORD_ARRAY */ + 455, /* GL_EDGE_FLAG_ARRAY */ + 1791, /* GL_VERTEX_ARRAY_SIZE */ + 1793, /* GL_VERTEX_ARRAY_TYPE */ + 1792, /* GL_VERTEX_ARRAY_STRIDE */ + 1018, /* GL_NORMAL_ARRAY_TYPE */ + 1017, /* GL_NORMAL_ARRAY_STRIDE */ + 152, /* GL_COLOR_ARRAY_SIZE */ + 154, /* GL_COLOR_ARRAY_TYPE */ + 153, /* GL_COLOR_ARRAY_STRIDE */ + 627, /* GL_INDEX_ARRAY_TYPE */ + 626, /* GL_INDEX_ARRAY_STRIDE */ + 1654, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 1656, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 1655, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 459, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + 1790, /* GL_VERTEX_ARRAY_POINTER */ + 1016, /* GL_NORMAL_ARRAY_POINTER */ + 151, /* GL_COLOR_ARRAY_POINTER */ + 625, /* GL_INDEX_ARRAY_POINTER */ + 1653, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 458, /* GL_EDGE_FLAG_ARRAY_POINTER */ + 992, /* GL_MULTISAMPLE */ + 1381, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1383, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1388, /* GL_SAMPLE_COVERAGE */ + 1385, /* GL_SAMPLE_BUFFERS */ + 1376, /* GL_SAMPLES */ + 1392, /* GL_SAMPLE_COVERAGE_VALUE */ + 1390, /* GL_SAMPLE_COVERAGE_INVERT */ + 195, /* GL_COLOR_MATRIX */ + 197, /* GL_COLOR_MATRIX_STACK_DEPTH */ + 854, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1188, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1184, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1179, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1175, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1186, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1182, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1177, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1173, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 1633, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1264, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 1635, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 80, /* GL_BLEND_DST_RGB */ + 89, /* GL_BLEND_SRC_RGB */ + 79, /* GL_BLEND_DST_ALPHA */ + 88, /* GL_BLEND_SRC_ALPHA */ + 201, /* GL_COLOR_TABLE */ + 1198, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1181, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1252, /* GL_PROXY_COLOR_TABLE */ + 1256, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1255, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 225, /* GL_COLOR_TABLE_SCALE */ + 205, /* GL_COLOR_TABLE_BIAS */ + 210, /* GL_COLOR_TABLE_FORMAT */ + 227, /* GL_COLOR_TABLE_WIDTH */ + 222, /* GL_COLOR_TABLE_RED_SIZE */ + 213, /* GL_COLOR_TABLE_GREEN_SIZE */ + 207, /* GL_COLOR_TABLE_BLUE_SIZE */ + 202, /* GL_COLOR_TABLE_ALPHA_SIZE */ + 219, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + 216, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + 71, /* GL_BGR */ + 72, /* GL_BGRA */ + 868, /* GL_MAX_ELEMENTS_VERTICES */ + 867, /* GL_MAX_ELEMENTS_INDICES */ + 1688, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 145, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + 1145, /* GL_POINT_SIZE_MIN */ + 1141, /* GL_POINT_SIZE_MAX */ + 1135, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1131, /* GL_POINT_DISTANCE_ATTENUATION */ + 127, /* GL_CLAMP_TO_BORDER */ + 130, /* GL_CLAMP_TO_EDGE */ + 1709, /* GL_TEXTURE_MIN_LOD */ + 1707, /* GL_TEXTURE_MAX_LOD */ + 1612, /* GL_TEXTURE_BASE_LEVEL */ + 1706, /* GL_TEXTURE_MAX_LEVEL */ + 615, /* GL_IGNORE_BORDER_HP */ + 276, /* GL_CONSTANT_BORDER_HP */ + 1323, /* GL_REPLICATE_BORDER_HP */ + 282, /* GL_CONVOLUTION_BORDER_COLOR */ + 1042, /* GL_OCCLUSION_TEST_HP */ + 1043, /* GL_OCCLUSION_TEST_RESULT_HP */ + 687, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 1627, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 1629, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 1631, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 1632, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1630, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 1628, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 850, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 851, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1208, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1210, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1207, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1209, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 1696, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 1697, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 1695, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 585, /* GL_GENERATE_MIPMAP */ + 586, /* GL_GENERATE_MIPMAP_HINT */ + 527, /* GL_FOG_OFFSET_SGIX */ + 528, /* GL_FOG_OFFSET_VALUE_SGIX */ + 1641, /* GL_TEXTURE_COMPARE_SGIX */ + 1640, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 1692, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 1684, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 358, /* GL_DEPTH_COMPONENT16 */ + 361, /* GL_DEPTH_COMPONENT24 */ + 364, /* GL_DEPTH_COMPONENT32 */ + 306, /* GL_CULL_VERTEX_EXT */ + 308, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + 307, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + 1848, /* GL_WRAP_BORDER_SUN */ + 1634, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 680, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1422, /* GL_SINGLE_COLOR */ + 1408, /* GL_SEPARATE_SPECULAR_COLOR */ + 1417, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 538, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ + 539, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ + 546, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + 541, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ + 537, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ + 536, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ + 540, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ + 547, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + 558, /* GL_FRAMEBUFFER_DEFAULT */ + 571, /* GL_FRAMEBUFFER_UNDEFINED */ + 371, /* GL_DEPTH_STENCIL_ATTACHMENT */ + 621, /* GL_INDEX */ + 1758, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 1773, /* GL_UNSIGNED_SHORT_5_6_5 */ + 1774, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 1771, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 1769, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 1766, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 1764, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 1704, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 1705, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 1703, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 943, /* GL_MIRRORED_REPEAT */ + 1364, /* GL_RGB_S3TC */ + 1339, /* GL_RGB4_S3TC */ + 1362, /* GL_RGBA_S3TC */ + 1356, /* GL_RGBA4_S3TC */ + 1360, /* GL_RGBA_DXT5_S3TC */ + 1354, /* GL_RGBA4_DXT5_S3TC */ + 264, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + 259, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + 260, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + 261, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + 1004, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 1003, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 688, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 514, /* GL_FOG_COORDINATE_SOURCE */ + 506, /* GL_FOG_COORD */ + 530, /* GL_FRAGMENT_DEPTH */ + 312, /* GL_CURRENT_FOG_COORD */ + 513, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + 512, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + 511, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + 508, /* GL_FOG_COORDINATE_ARRAY */ + 199, /* GL_COLOR_SUM */ + 332, /* GL_CURRENT_SECONDARY_COLOR */ + 1401, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1403, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1402, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1400, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1397, /* GL_SECONDARY_COLOR_ARRAY */ + 330, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ 28, /* GL_ALIASED_POINT_SIZE_RANGE */ 27, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1530, /* GL_TEXTURE0 */ - 1532, /* GL_TEXTURE1 */ - 1554, /* GL_TEXTURE2 */ - 1576, /* GL_TEXTURE3 */ - 1582, /* GL_TEXTURE4 */ - 1584, /* GL_TEXTURE5 */ - 1586, /* GL_TEXTURE6 */ - 1588, /* GL_TEXTURE7 */ - 1590, /* GL_TEXTURE8 */ - 1592, /* GL_TEXTURE9 */ - 1533, /* GL_TEXTURE10 */ - 1535, /* GL_TEXTURE11 */ - 1537, /* GL_TEXTURE12 */ - 1539, /* GL_TEXTURE13 */ - 1541, /* GL_TEXTURE14 */ - 1543, /* GL_TEXTURE15 */ - 1545, /* GL_TEXTURE16 */ - 1547, /* GL_TEXTURE17 */ - 1549, /* GL_TEXTURE18 */ - 1551, /* GL_TEXTURE19 */ - 1555, /* GL_TEXTURE20 */ - 1557, /* GL_TEXTURE21 */ - 1559, /* GL_TEXTURE22 */ - 1561, /* GL_TEXTURE23 */ - 1563, /* GL_TEXTURE24 */ - 1565, /* GL_TEXTURE25 */ - 1567, /* GL_TEXTURE26 */ - 1569, /* GL_TEXTURE27 */ - 1571, /* GL_TEXTURE28 */ - 1573, /* GL_TEXTURE29 */ - 1577, /* GL_TEXTURE30 */ - 1579, /* GL_TEXTURE31 */ + 1541, /* GL_TEXTURE0 */ + 1543, /* GL_TEXTURE1 */ + 1565, /* GL_TEXTURE2 */ + 1587, /* GL_TEXTURE3 */ + 1593, /* GL_TEXTURE4 */ + 1595, /* GL_TEXTURE5 */ + 1597, /* GL_TEXTURE6 */ + 1599, /* GL_TEXTURE7 */ + 1601, /* GL_TEXTURE8 */ + 1603, /* GL_TEXTURE9 */ + 1544, /* GL_TEXTURE10 */ + 1546, /* GL_TEXTURE11 */ + 1548, /* GL_TEXTURE12 */ + 1550, /* GL_TEXTURE13 */ + 1552, /* GL_TEXTURE14 */ + 1554, /* GL_TEXTURE15 */ + 1556, /* GL_TEXTURE16 */ + 1558, /* GL_TEXTURE17 */ + 1560, /* GL_TEXTURE18 */ + 1562, /* GL_TEXTURE19 */ + 1566, /* GL_TEXTURE20 */ + 1568, /* GL_TEXTURE21 */ + 1570, /* GL_TEXTURE22 */ + 1572, /* GL_TEXTURE23 */ + 1574, /* GL_TEXTURE24 */ + 1576, /* GL_TEXTURE25 */ + 1578, /* GL_TEXTURE26 */ + 1580, /* GL_TEXTURE27 */ + 1582, /* GL_TEXTURE28 */ + 1584, /* GL_TEXTURE29 */ + 1588, /* GL_TEXTURE30 */ + 1590, /* GL_TEXTURE31 */ 18, /* GL_ACTIVE_TEXTURE */ - 132, /* GL_CLIENT_ACTIVE_TEXTURE */ - 918, /* GL_MAX_TEXTURE_UNITS */ - 1723, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 1726, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 1728, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 1720, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1518, /* GL_SUBTRACT */ - 906, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - 246, /* GL_COMPRESSED_ALPHA */ - 250, /* GL_COMPRESSED_LUMINANCE */ - 251, /* GL_COMPRESSED_LUMINANCE_ALPHA */ - 248, /* GL_COMPRESSED_INTENSITY */ - 254, /* GL_COMPRESSED_RGB */ - 255, /* GL_COMPRESSED_RGBA */ - 1637, /* GL_TEXTURE_COMPRESSION_HINT */ - 1702, /* GL_TEXTURE_RECTANGLE_ARB */ - 1609, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - 1263, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - 904, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - 368, /* GL_DEPTH_STENCIL */ - 1748, /* GL_UNSIGNED_INT_24_8 */ - 914, /* GL_MAX_TEXTURE_LOD_BIAS */ - 1691, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 915, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 1667, /* GL_TEXTURE_FILTER_CONTROL */ - 1682, /* GL_TEXTURE_LOD_BIAS */ - 231, /* GL_COMBINE4 */ - 908, /* GL_MAX_SHININESS_NV */ - 909, /* GL_MAX_SPOT_EXPONENT_NV */ - 617, /* GL_INCR_WRAP */ - 341, /* GL_DECR_WRAP */ - 960, /* GL_MODELVIEW1_ARB */ - 1016, /* GL_NORMAL_MAP */ - 1294, /* GL_REFLECTION_MAP */ - 1646, /* GL_TEXTURE_CUBE_MAP */ - 1607, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 1654, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 1648, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 1656, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 1650, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 1658, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 1652, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1261, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 860, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 995, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - 520, /* GL_FOG_DISTANCE_MODE_NV */ - 472, /* GL_EYE_RADIAL_NV */ - 471, /* GL_EYE_PLANE_ABSOLUTE_NV */ - 230, /* GL_COMBINE */ - 237, /* GL_COMBINE_RGB */ - 232, /* GL_COMBINE_ALPHA */ - 1361, /* GL_RGB_SCALE */ + 133, /* GL_CLIENT_ACTIVE_TEXTURE */ + 921, /* GL_MAX_TEXTURE_UNITS */ + 1736, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 1739, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 1741, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 1733, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1523, /* GL_SUBTRACT */ + 908, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + 247, /* GL_COMPRESSED_ALPHA */ + 251, /* GL_COMPRESSED_LUMINANCE */ + 252, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + 249, /* GL_COMPRESSED_INTENSITY */ + 255, /* GL_COMPRESSED_RGB */ + 256, /* GL_COMPRESSED_RGBA */ + 1648, /* GL_TEXTURE_COMPRESSION_HINT */ + 1713, /* GL_TEXTURE_RECTANGLE_ARB */ + 1620, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + 1267, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + 906, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + 370, /* GL_DEPTH_STENCIL */ + 1762, /* GL_UNSIGNED_INT_24_8 */ + 917, /* GL_MAX_TEXTURE_LOD_BIAS */ + 1702, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 918, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 1678, /* GL_TEXTURE_FILTER_CONTROL */ + 1693, /* GL_TEXTURE_LOD_BIAS */ + 232, /* GL_COMBINE4 */ + 911, /* GL_MAX_SHININESS_NV */ + 912, /* GL_MAX_SPOT_EXPONENT_NV */ + 619, /* GL_INCR_WRAP */ + 343, /* GL_DECR_WRAP */ + 963, /* GL_MODELVIEW1_ARB */ + 1019, /* GL_NORMAL_MAP */ + 1298, /* GL_REFLECTION_MAP */ + 1657, /* GL_TEXTURE_CUBE_MAP */ + 1618, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 1665, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 1659, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 1667, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 1661, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 1669, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 1663, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1265, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 862, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 998, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 522, /* GL_FOG_DISTANCE_MODE_NV */ + 474, /* GL_EYE_RADIAL_NV */ + 473, /* GL_EYE_PLANE_ABSOLUTE_NV */ + 231, /* GL_COMBINE */ + 238, /* GL_COMBINE_RGB */ + 233, /* GL_COMBINE_ALPHA */ + 1365, /* GL_RGB_SCALE */ 24, /* GL_ADD_SIGNED */ - 645, /* GL_INTERPOLATE */ - 269, /* GL_CONSTANT */ - 1210, /* GL_PRIMARY_COLOR */ - 1207, /* GL_PREVIOUS */ - 1432, /* GL_SOURCE0_RGB */ - 1438, /* GL_SOURCE1_RGB */ - 1444, /* GL_SOURCE2_RGB */ - 1448, /* GL_SOURCE3_RGB_NV */ - 1429, /* GL_SOURCE0_ALPHA */ - 1435, /* GL_SOURCE1_ALPHA */ - 1441, /* GL_SOURCE2_ALPHA */ - 1447, /* GL_SOURCE3_ALPHA_NV */ - 1052, /* GL_OPERAND0_RGB */ - 1058, /* GL_OPERAND1_RGB */ - 1064, /* GL_OPERAND2_RGB */ - 1068, /* GL_OPERAND3_RGB_NV */ - 1049, /* GL_OPERAND0_ALPHA */ - 1055, /* GL_OPERAND1_ALPHA */ - 1061, /* GL_OPERAND2_ALPHA */ - 1067, /* GL_OPERAND3_ALPHA_NV */ - 1772, /* GL_VERTEX_ARRAY_BINDING */ - 1700, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - 1701, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - 1837, /* GL_YCBCR_422_APPLE */ - 1761, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 1763, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 1709, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - 1509, /* GL_STORAGE_PRIVATE_APPLE */ - 1508, /* GL_STORAGE_CACHED_APPLE */ - 1510, /* GL_STORAGE_SHARED_APPLE */ - 1419, /* GL_SLICE_ACCUM_SUN */ - 1269, /* GL_QUAD_MESH_SUN */ - 1732, /* GL_TRIANGLE_MESH_SUN */ - 1811, /* GL_VERTEX_PROGRAM_ARB */ - 1822, /* GL_VERTEX_STATE_PROGRAM_NV */ - 1798, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 1804, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 1806, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 1808, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - 332, /* GL_CURRENT_VERTEX_ATTRIB */ - 1223, /* GL_PROGRAM_LENGTH_ARB */ - 1237, /* GL_PROGRAM_STRING_ARB */ - 982, /* GL_MODELVIEW_PROJECTION_NV */ - 612, /* GL_IDENTITY_NV */ - 659, /* GL_INVERSE_NV */ - 1725, /* GL_TRANSPOSE_NV */ - 660, /* GL_INVERSE_TRANSPOSE_NV */ - 890, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 889, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 797, /* GL_MATRIX0_NV */ - 809, /* GL_MATRIX1_NV */ - 821, /* GL_MATRIX2_NV */ - 825, /* GL_MATRIX3_NV */ - 827, /* GL_MATRIX4_NV */ - 829, /* GL_MATRIX5_NV */ - 831, /* GL_MATRIX6_NV */ - 833, /* GL_MATRIX7_NV */ - 316, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ - 313, /* GL_CURRENT_MATRIX_ARB */ - 1814, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - 1817, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - 1235, /* GL_PROGRAM_PARAMETER_NV */ - 1802, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - 1239, /* GL_PROGRAM_TARGET_NV */ - 1236, /* GL_PROGRAM_RESIDENT_NV */ - 1717, /* GL_TRACK_MATRIX_NV */ - 1718, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 1812, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1217, /* GL_PROGRAM_ERROR_POSITION_ARB */ - 353, /* GL_DEPTH_CLAMP_NV */ - 1780, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 1787, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 1788, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 1789, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 1790, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 1791, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 1792, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 1793, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 1794, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 1795, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 1781, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 1782, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 1783, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 1784, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 1785, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 1786, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 745, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 752, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 753, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 754, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 755, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 756, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 757, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 758, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 759, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 760, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 746, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 747, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 748, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 749, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 750, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 751, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 772, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 779, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 780, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 781, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 782, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 783, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 784, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1216, /* GL_PROGRAM_BINDING_ARB */ - 786, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 787, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 773, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 774, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 775, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 776, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 777, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 778, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 1635, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 1632, /* GL_TEXTURE_COMPRESSED */ - 1021, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - 268, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 930, /* GL_MAX_VERTEX_UNITS_ARB */ + 647, /* GL_INTERPOLATE */ + 271, /* GL_CONSTANT */ + 1214, /* GL_PRIMARY_COLOR */ + 1211, /* GL_PREVIOUS */ + 1437, /* GL_SOURCE0_RGB */ + 1443, /* GL_SOURCE1_RGB */ + 1449, /* GL_SOURCE2_RGB */ + 1453, /* GL_SOURCE3_RGB_NV */ + 1434, /* GL_SOURCE0_ALPHA */ + 1440, /* GL_SOURCE1_ALPHA */ + 1446, /* GL_SOURCE2_ALPHA */ + 1452, /* GL_SOURCE3_ALPHA_NV */ + 1056, /* GL_OPERAND0_RGB */ + 1062, /* GL_OPERAND1_RGB */ + 1068, /* GL_OPERAND2_RGB */ + 1072, /* GL_OPERAND3_RGB_NV */ + 1053, /* GL_OPERAND0_ALPHA */ + 1059, /* GL_OPERAND1_ALPHA */ + 1065, /* GL_OPERAND2_ALPHA */ + 1071, /* GL_OPERAND3_ALPHA_NV */ + 1786, /* GL_VERTEX_ARRAY_BINDING */ + 1711, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + 1712, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + 1852, /* GL_YCBCR_422_APPLE */ + 1775, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 1777, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 1720, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + 1514, /* GL_STORAGE_PRIVATE_APPLE */ + 1513, /* GL_STORAGE_CACHED_APPLE */ + 1515, /* GL_STORAGE_SHARED_APPLE */ + 1424, /* GL_SLICE_ACCUM_SUN */ + 1273, /* GL_QUAD_MESH_SUN */ + 1745, /* GL_TRIANGLE_MESH_SUN */ + 1825, /* GL_VERTEX_PROGRAM_ARB */ + 1836, /* GL_VERTEX_STATE_PROGRAM_NV */ + 1812, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 1818, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 1820, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 1822, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 334, /* GL_CURRENT_VERTEX_ATTRIB */ + 1227, /* GL_PROGRAM_LENGTH_ARB */ + 1241, /* GL_PROGRAM_STRING_ARB */ + 985, /* GL_MODELVIEW_PROJECTION_NV */ + 614, /* GL_IDENTITY_NV */ + 661, /* GL_INVERSE_NV */ + 1738, /* GL_TRANSPOSE_NV */ + 662, /* GL_INVERSE_TRANSPOSE_NV */ + 892, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 891, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 799, /* GL_MATRIX0_NV */ + 811, /* GL_MATRIX1_NV */ + 823, /* GL_MATRIX2_NV */ + 827, /* GL_MATRIX3_NV */ + 829, /* GL_MATRIX4_NV */ + 831, /* GL_MATRIX5_NV */ + 833, /* GL_MATRIX6_NV */ + 835, /* GL_MATRIX7_NV */ + 318, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + 315, /* GL_CURRENT_MATRIX_ARB */ + 1828, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + 1831, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1239, /* GL_PROGRAM_PARAMETER_NV */ + 1816, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1243, /* GL_PROGRAM_TARGET_NV */ + 1240, /* GL_PROGRAM_RESIDENT_NV */ + 1730, /* GL_TRACK_MATRIX_NV */ + 1731, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 1826, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1221, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 355, /* GL_DEPTH_CLAMP_NV */ + 1794, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 1801, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 1802, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 1803, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 1804, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 1805, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 1806, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 1807, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 1808, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 1809, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 1795, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 1796, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 1797, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 1798, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 1799, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 1800, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 747, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 754, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 755, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 756, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 757, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 758, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 759, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 760, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 761, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 762, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 748, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 749, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 750, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 751, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 752, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 753, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 774, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 781, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 782, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 783, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 784, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 785, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 786, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1220, /* GL_PROGRAM_BINDING_ARB */ + 788, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 789, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 775, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 776, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 777, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 778, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 779, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 780, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 1646, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 1643, /* GL_TEXTURE_COMPRESSED */ + 1024, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 269, /* GL_COMPRESSED_TEXTURE_FORMATS */ + 933, /* GL_MAX_VERTEX_UNITS_ARB */ 22, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 1832, /* GL_WEIGHT_SUM_UNITY_ARB */ - 1810, /* GL_VERTEX_BLEND_ARB */ - 334, /* GL_CURRENT_WEIGHT_ARB */ - 1831, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 1830, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 1829, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 1828, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 1825, /* GL_WEIGHT_ARRAY_ARB */ - 381, /* GL_DOT3_RGB */ - 382, /* GL_DOT3_RGBA */ - 262, /* GL_COMPRESSED_RGB_FXT1_3DFX */ - 257, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 990, /* GL_MULTISAMPLE_3DFX */ - 1382, /* GL_SAMPLE_BUFFERS_3DFX */ - 1373, /* GL_SAMPLES_3DFX */ - 971, /* GL_MODELVIEW2_ARB */ - 974, /* GL_MODELVIEW3_ARB */ - 975, /* GL_MODELVIEW4_ARB */ - 976, /* GL_MODELVIEW5_ARB */ - 977, /* GL_MODELVIEW6_ARB */ - 978, /* GL_MODELVIEW7_ARB */ - 979, /* GL_MODELVIEW8_ARB */ - 980, /* GL_MODELVIEW9_ARB */ - 950, /* GL_MODELVIEW10_ARB */ - 951, /* GL_MODELVIEW11_ARB */ - 952, /* GL_MODELVIEW12_ARB */ - 953, /* GL_MODELVIEW13_ARB */ - 954, /* GL_MODELVIEW14_ARB */ - 955, /* GL_MODELVIEW15_ARB */ - 956, /* GL_MODELVIEW16_ARB */ - 957, /* GL_MODELVIEW17_ARB */ - 958, /* GL_MODELVIEW18_ARB */ - 959, /* GL_MODELVIEW19_ARB */ - 961, /* GL_MODELVIEW20_ARB */ - 962, /* GL_MODELVIEW21_ARB */ - 963, /* GL_MODELVIEW22_ARB */ - 964, /* GL_MODELVIEW23_ARB */ - 965, /* GL_MODELVIEW24_ARB */ - 966, /* GL_MODELVIEW25_ARB */ - 967, /* GL_MODELVIEW26_ARB */ - 968, /* GL_MODELVIEW27_ARB */ - 969, /* GL_MODELVIEW28_ARB */ - 970, /* GL_MODELVIEW29_ARB */ - 972, /* GL_MODELVIEW30_ARB */ - 973, /* GL_MODELVIEW31_ARB */ - 386, /* GL_DOT3_RGB_EXT */ - 384, /* GL_DOT3_RGBA_EXT */ - 944, /* GL_MIRROR_CLAMP_EXT */ - 947, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 985, /* GL_MODULATE_ADD_ATI */ - 986, /* GL_MODULATE_SIGNED_ADD_ATI */ - 987, /* GL_MODULATE_SUBTRACT_ATI */ - 1838, /* GL_YCBCR_MESA */ - 1076, /* GL_PACK_INVERT_MESA */ - 337, /* GL_DEBUG_OBJECT_MESA */ - 338, /* GL_DEBUG_PRINT_MESA */ - 336, /* GL_DEBUG_ASSERT_MESA */ - 109, /* GL_BUFFER_SIZE */ - 111, /* GL_BUFFER_USAGE */ - 115, /* GL_BUMP_ROT_MATRIX_ATI */ - 116, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ - 114, /* GL_BUMP_NUM_TEX_UNITS_ATI */ - 118, /* GL_BUMP_TEX_UNITS_ATI */ - 445, /* GL_DUDV_ATI */ - 444, /* GL_DU8DV8_ATI */ - 113, /* GL_BUMP_ENVMAP_ATI */ - 117, /* GL_BUMP_TARGET_ATI */ - 1480, /* GL_STENCIL_BACK_FUNC */ - 1478, /* GL_STENCIL_BACK_FAIL */ - 1482, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - 1484, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - 529, /* GL_FRAGMENT_PROGRAM_ARB */ - 1214, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1242, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1241, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1226, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1232, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1231, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 879, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 902, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 901, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 892, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 898, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 897, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 862, /* GL_MAX_DRAW_BUFFERS */ - 390, /* GL_DRAW_BUFFER0 */ - 393, /* GL_DRAW_BUFFER1 */ - 414, /* GL_DRAW_BUFFER2 */ - 417, /* GL_DRAW_BUFFER3 */ - 420, /* GL_DRAW_BUFFER4 */ - 423, /* GL_DRAW_BUFFER5 */ - 426, /* GL_DRAW_BUFFER6 */ - 429, /* GL_DRAW_BUFFER7 */ - 432, /* GL_DRAW_BUFFER8 */ - 435, /* GL_DRAW_BUFFER9 */ - 394, /* GL_DRAW_BUFFER10 */ - 397, /* GL_DRAW_BUFFER11 */ - 400, /* GL_DRAW_BUFFER12 */ - 403, /* GL_DRAW_BUFFER13 */ - 406, /* GL_DRAW_BUFFER14 */ - 409, /* GL_DRAW_BUFFER15 */ - 81, /* GL_BLEND_EQUATION_ALPHA */ - 842, /* GL_MATRIX_PALETTE_ARB */ - 873, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 876, /* GL_MAX_PALETTE_MATRICES_ARB */ - 319, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 836, /* GL_MATRIX_INDEX_ARRAY_ARB */ - 314, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 838, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 840, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 839, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 837, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 1662, /* GL_TEXTURE_DEPTH_SIZE */ - 374, /* GL_DEPTH_TEXTURE_MODE */ - 1627, /* GL_TEXTURE_COMPARE_MODE */ - 1625, /* GL_TEXTURE_COMPARE_FUNC */ - 241, /* GL_COMPARE_R_TO_TEXTURE */ - 1148, /* GL_POINT_SPRITE */ - 294, /* GL_COORD_REPLACE */ - 1152, /* GL_POINT_SPRITE_R_MODE_NV */ - 1271, /* GL_QUERY_COUNTER_BITS */ - 321, /* GL_CURRENT_QUERY */ - 1273, /* GL_QUERY_RESULT */ - 1275, /* GL_QUERY_RESULT_AVAILABLE */ - 924, /* GL_MAX_VERTEX_ATTRIBS */ - 1800, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - 372, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - 371, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 910, /* GL_MAX_TEXTURE_COORDS */ - 912, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - 1219, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1221, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1220, /* GL_PROGRAM_FORMAT_ARB */ - 1711, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - 351, /* GL_DEPTH_BOUNDS_TEST_EXT */ - 350, /* GL_DEPTH_BOUNDS_EXT */ - 52, /* GL_ARRAY_BUFFER */ - 458, /* GL_ELEMENT_ARRAY_BUFFER */ - 53, /* GL_ARRAY_BUFFER_BINDING */ - 459, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 1774, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 1011, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - 148, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - 621, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 1640, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - 454, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1394, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - 507, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 1826, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 1796, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1222, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 885, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1228, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 894, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1240, /* GL_PROGRAM_TEMPORARIES_ARB */ - 900, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1230, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 896, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1234, /* GL_PROGRAM_PARAMETERS_ARB */ - 899, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1229, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 895, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1215, /* GL_PROGRAM_ATTRIBS_ARB */ - 880, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1227, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 893, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1213, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 878, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1225, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 891, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 886, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 882, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1243, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 1722, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1284, /* GL_READ_ONLY */ - 1834, /* GL_WRITE_ONLY */ - 1286, /* GL_READ_WRITE */ - 101, /* GL_BUFFER_ACCESS */ - 104, /* GL_BUFFER_MAPPED */ - 106, /* GL_BUFFER_MAP_POINTER */ - 1716, /* GL_TIME_ELAPSED_EXT */ - 796, /* GL_MATRIX0_ARB */ - 808, /* GL_MATRIX1_ARB */ - 820, /* GL_MATRIX2_ARB */ - 824, /* GL_MATRIX3_ARB */ - 826, /* GL_MATRIX4_ARB */ - 828, /* GL_MATRIX5_ARB */ - 830, /* GL_MATRIX6_ARB */ - 832, /* GL_MATRIX7_ARB */ - 834, /* GL_MATRIX8_ARB */ - 835, /* GL_MATRIX9_ARB */ - 798, /* GL_MATRIX10_ARB */ - 799, /* GL_MATRIX11_ARB */ - 800, /* GL_MATRIX12_ARB */ - 801, /* GL_MATRIX13_ARB */ - 802, /* GL_MATRIX14_ARB */ - 803, /* GL_MATRIX15_ARB */ - 804, /* GL_MATRIX16_ARB */ - 805, /* GL_MATRIX17_ARB */ - 806, /* GL_MATRIX18_ARB */ - 807, /* GL_MATRIX19_ARB */ - 810, /* GL_MATRIX20_ARB */ - 811, /* GL_MATRIX21_ARB */ - 812, /* GL_MATRIX22_ARB */ - 813, /* GL_MATRIX23_ARB */ - 814, /* GL_MATRIX24_ARB */ - 815, /* GL_MATRIX25_ARB */ - 816, /* GL_MATRIX26_ARB */ - 817, /* GL_MATRIX27_ARB */ - 818, /* GL_MATRIX28_ARB */ - 819, /* GL_MATRIX29_ARB */ - 822, /* GL_MATRIX30_ARB */ - 823, /* GL_MATRIX31_ARB */ - 1513, /* GL_STREAM_DRAW */ - 1515, /* GL_STREAM_READ */ - 1511, /* GL_STREAM_COPY */ - 1471, /* GL_STATIC_DRAW */ - 1473, /* GL_STATIC_READ */ - 1469, /* GL_STATIC_COPY */ - 448, /* GL_DYNAMIC_DRAW */ - 450, /* GL_DYNAMIC_READ */ - 446, /* GL_DYNAMIC_COPY */ - 1116, /* GL_PIXEL_PACK_BUFFER */ - 1120, /* GL_PIXEL_UNPACK_BUFFER */ - 1117, /* GL_PIXEL_PACK_BUFFER_BINDING */ - 1121, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - 345, /* GL_DEPTH24_STENCIL8 */ - 1708, /* GL_TEXTURE_STENCIL_SIZE */ - 1660, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - 881, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 884, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 888, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 887, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 845, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - 1504, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 1847, /* GL_WEIGHT_SUM_UNITY_ARB */ + 1824, /* GL_VERTEX_BLEND_ARB */ + 336, /* GL_CURRENT_WEIGHT_ARB */ + 1846, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 1845, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 1844, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 1843, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 1840, /* GL_WEIGHT_ARRAY_ARB */ + 383, /* GL_DOT3_RGB */ + 384, /* GL_DOT3_RGBA */ + 263, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + 258, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + 993, /* GL_MULTISAMPLE_3DFX */ + 1386, /* GL_SAMPLE_BUFFERS_3DFX */ + 1377, /* GL_SAMPLES_3DFX */ + 974, /* GL_MODELVIEW2_ARB */ + 977, /* GL_MODELVIEW3_ARB */ + 978, /* GL_MODELVIEW4_ARB */ + 979, /* GL_MODELVIEW5_ARB */ + 980, /* GL_MODELVIEW6_ARB */ + 981, /* GL_MODELVIEW7_ARB */ + 982, /* GL_MODELVIEW8_ARB */ + 983, /* GL_MODELVIEW9_ARB */ + 953, /* GL_MODELVIEW10_ARB */ + 954, /* GL_MODELVIEW11_ARB */ + 955, /* GL_MODELVIEW12_ARB */ + 956, /* GL_MODELVIEW13_ARB */ + 957, /* GL_MODELVIEW14_ARB */ + 958, /* GL_MODELVIEW15_ARB */ + 959, /* GL_MODELVIEW16_ARB */ + 960, /* GL_MODELVIEW17_ARB */ + 961, /* GL_MODELVIEW18_ARB */ + 962, /* GL_MODELVIEW19_ARB */ + 964, /* GL_MODELVIEW20_ARB */ + 965, /* GL_MODELVIEW21_ARB */ + 966, /* GL_MODELVIEW22_ARB */ + 967, /* GL_MODELVIEW23_ARB */ + 968, /* GL_MODELVIEW24_ARB */ + 969, /* GL_MODELVIEW25_ARB */ + 970, /* GL_MODELVIEW26_ARB */ + 971, /* GL_MODELVIEW27_ARB */ + 972, /* GL_MODELVIEW28_ARB */ + 973, /* GL_MODELVIEW29_ARB */ + 975, /* GL_MODELVIEW30_ARB */ + 976, /* GL_MODELVIEW31_ARB */ + 388, /* GL_DOT3_RGB_EXT */ + 386, /* GL_DOT3_RGBA_EXT */ + 947, /* GL_MIRROR_CLAMP_EXT */ + 950, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 988, /* GL_MODULATE_ADD_ATI */ + 989, /* GL_MODULATE_SIGNED_ADD_ATI */ + 990, /* GL_MODULATE_SUBTRACT_ATI */ + 1853, /* GL_YCBCR_MESA */ + 1080, /* GL_PACK_INVERT_MESA */ + 339, /* GL_DEBUG_OBJECT_MESA */ + 340, /* GL_DEBUG_PRINT_MESA */ + 338, /* GL_DEBUG_ASSERT_MESA */ + 110, /* GL_BUFFER_SIZE */ + 112, /* GL_BUFFER_USAGE */ + 116, /* GL_BUMP_ROT_MATRIX_ATI */ + 117, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ + 115, /* GL_BUMP_NUM_TEX_UNITS_ATI */ + 119, /* GL_BUMP_TEX_UNITS_ATI */ + 447, /* GL_DUDV_ATI */ + 446, /* GL_DU8DV8_ATI */ + 114, /* GL_BUMP_ENVMAP_ATI */ + 118, /* GL_BUMP_TARGET_ATI */ + 1485, /* GL_STENCIL_BACK_FUNC */ + 1483, /* GL_STENCIL_BACK_FAIL */ + 1487, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1489, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 531, /* GL_FRAGMENT_PROGRAM_ARB */ + 1218, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1246, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1245, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1230, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1236, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1235, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 881, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 904, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 903, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 894, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 900, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 899, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 864, /* GL_MAX_DRAW_BUFFERS */ + 392, /* GL_DRAW_BUFFER0 */ + 395, /* GL_DRAW_BUFFER1 */ + 416, /* GL_DRAW_BUFFER2 */ + 419, /* GL_DRAW_BUFFER3 */ + 422, /* GL_DRAW_BUFFER4 */ + 425, /* GL_DRAW_BUFFER5 */ + 428, /* GL_DRAW_BUFFER6 */ + 431, /* GL_DRAW_BUFFER7 */ + 434, /* GL_DRAW_BUFFER8 */ + 437, /* GL_DRAW_BUFFER9 */ + 396, /* GL_DRAW_BUFFER10 */ + 399, /* GL_DRAW_BUFFER11 */ + 402, /* GL_DRAW_BUFFER12 */ + 405, /* GL_DRAW_BUFFER13 */ + 408, /* GL_DRAW_BUFFER14 */ + 411, /* GL_DRAW_BUFFER15 */ + 82, /* GL_BLEND_EQUATION_ALPHA */ + 844, /* GL_MATRIX_PALETTE_ARB */ + 875, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 878, /* GL_MAX_PALETTE_MATRICES_ARB */ + 321, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + 838, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 316, /* GL_CURRENT_MATRIX_INDEX_ARB */ + 840, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 842, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 841, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 839, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 1673, /* GL_TEXTURE_DEPTH_SIZE */ + 376, /* GL_DEPTH_TEXTURE_MODE */ + 1638, /* GL_TEXTURE_COMPARE_MODE */ + 1636, /* GL_TEXTURE_COMPARE_FUNC */ + 242, /* GL_COMPARE_R_TO_TEXTURE */ + 1152, /* GL_POINT_SPRITE */ + 296, /* GL_COORD_REPLACE */ + 1156, /* GL_POINT_SPRITE_R_MODE_NV */ + 1275, /* GL_QUERY_COUNTER_BITS */ + 323, /* GL_CURRENT_QUERY */ + 1277, /* GL_QUERY_RESULT */ + 1279, /* GL_QUERY_RESULT_AVAILABLE */ + 927, /* GL_MAX_VERTEX_ATTRIBS */ + 1814, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 374, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + 373, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + 913, /* GL_MAX_TEXTURE_COORDS */ + 915, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1223, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1225, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1224, /* GL_PROGRAM_FORMAT_ARB */ + 1722, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 353, /* GL_DEPTH_BOUNDS_TEST_EXT */ + 352, /* GL_DEPTH_BOUNDS_EXT */ + 53, /* GL_ARRAY_BUFFER */ + 460, /* GL_ELEMENT_ARRAY_BUFFER */ + 54, /* GL_ARRAY_BUFFER_BINDING */ + 461, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + 1788, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 1014, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 149, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + 623, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 1651, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 456, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + 1398, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 509, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + 1841, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 1810, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1226, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 887, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1232, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 896, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1244, /* GL_PROGRAM_TEMPORARIES_ARB */ + 902, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1234, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 898, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1238, /* GL_PROGRAM_PARAMETERS_ARB */ + 901, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1233, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 897, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1219, /* GL_PROGRAM_ATTRIBS_ARB */ + 882, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1231, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 895, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1217, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 880, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1229, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 893, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 888, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 884, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1247, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 1735, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1288, /* GL_READ_ONLY */ + 1849, /* GL_WRITE_ONLY */ + 1290, /* GL_READ_WRITE */ + 102, /* GL_BUFFER_ACCESS */ + 105, /* GL_BUFFER_MAPPED */ + 107, /* GL_BUFFER_MAP_POINTER */ + 1729, /* GL_TIME_ELAPSED_EXT */ + 798, /* GL_MATRIX0_ARB */ + 810, /* GL_MATRIX1_ARB */ + 822, /* GL_MATRIX2_ARB */ + 826, /* GL_MATRIX3_ARB */ + 828, /* GL_MATRIX4_ARB */ + 830, /* GL_MATRIX5_ARB */ + 832, /* GL_MATRIX6_ARB */ + 834, /* GL_MATRIX7_ARB */ + 836, /* GL_MATRIX8_ARB */ + 837, /* GL_MATRIX9_ARB */ + 800, /* GL_MATRIX10_ARB */ + 801, /* GL_MATRIX11_ARB */ + 802, /* GL_MATRIX12_ARB */ + 803, /* GL_MATRIX13_ARB */ + 804, /* GL_MATRIX14_ARB */ + 805, /* GL_MATRIX15_ARB */ + 806, /* GL_MATRIX16_ARB */ + 807, /* GL_MATRIX17_ARB */ + 808, /* GL_MATRIX18_ARB */ + 809, /* GL_MATRIX19_ARB */ + 812, /* GL_MATRIX20_ARB */ + 813, /* GL_MATRIX21_ARB */ + 814, /* GL_MATRIX22_ARB */ + 815, /* GL_MATRIX23_ARB */ + 816, /* GL_MATRIX24_ARB */ + 817, /* GL_MATRIX25_ARB */ + 818, /* GL_MATRIX26_ARB */ + 819, /* GL_MATRIX27_ARB */ + 820, /* GL_MATRIX28_ARB */ + 821, /* GL_MATRIX29_ARB */ + 824, /* GL_MATRIX30_ARB */ + 825, /* GL_MATRIX31_ARB */ + 1518, /* GL_STREAM_DRAW */ + 1520, /* GL_STREAM_READ */ + 1516, /* GL_STREAM_COPY */ + 1476, /* GL_STATIC_DRAW */ + 1478, /* GL_STATIC_READ */ + 1474, /* GL_STATIC_COPY */ + 450, /* GL_DYNAMIC_DRAW */ + 452, /* GL_DYNAMIC_READ */ + 448, /* GL_DYNAMIC_COPY */ + 1120, /* GL_PIXEL_PACK_BUFFER */ + 1124, /* GL_PIXEL_UNPACK_BUFFER */ + 1121, /* GL_PIXEL_PACK_BUFFER_BINDING */ + 1125, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + 347, /* GL_DEPTH24_STENCIL8 */ + 1719, /* GL_TEXTURE_STENCIL_SIZE */ + 1671, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + 883, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 886, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 890, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 889, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 847, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + 1509, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ 17, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 945, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1375, /* GL_SAMPLES_PASSED */ - 108, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ - 103, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - 530, /* GL_FRAGMENT_SHADER */ - 1820, /* GL_VERTEX_SHADER */ - 1233, /* GL_PROGRAM_OBJECT_ARB */ - 1407, /* GL_SHADER_OBJECT_ARB */ - 869, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - 928, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - 922, /* GL_MAX_VARYING_FLOATS */ - 926, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - 854, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - 1036, /* GL_OBJECT_TYPE_ARB */ - 1409, /* GL_SHADER_TYPE */ - 495, /* GL_FLOAT_VEC2 */ - 497, /* GL_FLOAT_VEC3 */ - 499, /* GL_FLOAT_VEC4 */ - 648, /* GL_INT_VEC2 */ - 650, /* GL_INT_VEC3 */ - 652, /* GL_INT_VEC4 */ - 93, /* GL_BOOL */ - 95, /* GL_BOOL_VEC2 */ - 97, /* GL_BOOL_VEC3 */ - 99, /* GL_BOOL_VEC4 */ - 483, /* GL_FLOAT_MAT2 */ - 487, /* GL_FLOAT_MAT3 */ - 491, /* GL_FLOAT_MAT4 */ - 1366, /* GL_SAMPLER_1D */ - 1368, /* GL_SAMPLER_2D */ - 1370, /* GL_SAMPLER_3D */ - 1371, /* GL_SAMPLER_CUBE */ - 1367, /* GL_SAMPLER_1D_SHADOW */ - 1369, /* GL_SAMPLER_2D_SHADOW */ - 485, /* GL_FLOAT_MAT2x3 */ - 486, /* GL_FLOAT_MAT2x4 */ - 489, /* GL_FLOAT_MAT3x2 */ - 490, /* GL_FLOAT_MAT3x4 */ - 493, /* GL_FLOAT_MAT4x2 */ - 494, /* GL_FLOAT_MAT4x3 */ - 343, /* GL_DELETE_STATUS */ - 245, /* GL_COMPILE_STATUS */ - 703, /* GL_LINK_STATUS */ - 1768, /* GL_VALIDATE_STATUS */ - 633, /* GL_INFO_LOG_LENGTH */ - 55, /* GL_ATTACHED_SHADERS */ + 948, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1379, /* GL_SAMPLES_PASSED */ + 109, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ + 104, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ + 532, /* GL_FRAGMENT_SHADER */ + 1834, /* GL_VERTEX_SHADER */ + 1237, /* GL_PROGRAM_OBJECT_ARB */ + 1411, /* GL_SHADER_OBJECT_ARB */ + 871, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 931, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 925, /* GL_MAX_VARYING_FLOATS */ + 929, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 856, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 1040, /* GL_OBJECT_TYPE_ARB */ + 1413, /* GL_SHADER_TYPE */ + 497, /* GL_FLOAT_VEC2 */ + 499, /* GL_FLOAT_VEC3 */ + 501, /* GL_FLOAT_VEC4 */ + 650, /* GL_INT_VEC2 */ + 652, /* GL_INT_VEC3 */ + 654, /* GL_INT_VEC4 */ + 94, /* GL_BOOL */ + 96, /* GL_BOOL_VEC2 */ + 98, /* GL_BOOL_VEC3 */ + 100, /* GL_BOOL_VEC4 */ + 485, /* GL_FLOAT_MAT2 */ + 489, /* GL_FLOAT_MAT3 */ + 493, /* GL_FLOAT_MAT4 */ + 1370, /* GL_SAMPLER_1D */ + 1372, /* GL_SAMPLER_2D */ + 1374, /* GL_SAMPLER_3D */ + 1375, /* GL_SAMPLER_CUBE */ + 1371, /* GL_SAMPLER_1D_SHADOW */ + 1373, /* GL_SAMPLER_2D_SHADOW */ + 487, /* GL_FLOAT_MAT2x3 */ + 488, /* GL_FLOAT_MAT2x4 */ + 491, /* GL_FLOAT_MAT3x2 */ + 492, /* GL_FLOAT_MAT3x4 */ + 495, /* GL_FLOAT_MAT4x2 */ + 496, /* GL_FLOAT_MAT4x3 */ + 345, /* GL_DELETE_STATUS */ + 246, /* GL_COMPILE_STATUS */ + 705, /* GL_LINK_STATUS */ + 1782, /* GL_VALIDATE_STATUS */ + 635, /* GL_INFO_LOG_LENGTH */ + 56, /* GL_ATTACHED_SHADERS */ 20, /* GL_ACTIVE_UNIFORMS */ 21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ - 1408, /* GL_SHADER_SOURCE_LENGTH */ + 1412, /* GL_SHADER_SOURCE_LENGTH */ 15, /* GL_ACTIVE_ATTRIBUTES */ 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ - 532, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - 1411, /* GL_SHADING_LANGUAGE_VERSION */ - 320, /* GL_CURRENT_PROGRAM */ - 1085, /* GL_PALETTE4_RGB8_OES */ - 1087, /* GL_PALETTE4_RGBA8_OES */ - 1083, /* GL_PALETTE4_R5_G6_B5_OES */ - 1086, /* GL_PALETTE4_RGBA4_OES */ - 1084, /* GL_PALETTE4_RGB5_A1_OES */ - 1090, /* GL_PALETTE8_RGB8_OES */ - 1092, /* GL_PALETTE8_RGBA8_OES */ - 1088, /* GL_PALETTE8_R5_G6_B5_OES */ - 1091, /* GL_PALETTE8_RGBA4_OES */ - 1089, /* GL_PALETTE8_RGB5_A1_OES */ - 615, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - 614, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - 1753, /* GL_UNSIGNED_NORMALIZED */ - 1595, /* GL_TEXTURE_1D_ARRAY_EXT */ - 1254, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - 1597, /* GL_TEXTURE_2D_ARRAY_EXT */ - 1257, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - 1603, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - 1605, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - 1463, /* GL_SRGB */ - 1464, /* GL_SRGB8 */ - 1466, /* GL_SRGB_ALPHA */ - 1465, /* GL_SRGB8_ALPHA8 */ - 1423, /* GL_SLUMINANCE_ALPHA */ - 1422, /* GL_SLUMINANCE8_ALPHA8 */ - 1420, /* GL_SLUMINANCE */ - 1421, /* GL_SLUMINANCE8 */ - 266, /* GL_COMPRESSED_SRGB */ - 267, /* GL_COMPRESSED_SRGB_ALPHA */ - 264, /* GL_COMPRESSED_SLUMINANCE */ - 265, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - 1150, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 711, /* GL_LOWER_LEFT */ - 1765, /* GL_UPPER_LEFT */ - 1486, /* GL_STENCIL_BACK_REF */ - 1487, /* GL_STENCIL_BACK_VALUE_MASK */ - 1488, /* GL_STENCIL_BACK_WRITEMASK */ - 439, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - 1300, /* GL_RENDERBUFFER_BINDING_EXT */ - 1281, /* GL_READ_FRAMEBUFFER */ - 438, /* GL_DRAW_FRAMEBUFFER */ - 1282, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - 1310, /* GL_RENDERBUFFER_SAMPLES */ - 542, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ - 540, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ - 551, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ - 547, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ - 549, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ - 554, /* GL_FRAMEBUFFER_COMPLETE */ - 558, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ - 564, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ - 562, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - 560, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - 563, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - 561, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - 567, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - 570, /* GL_FRAMEBUFFER_UNSUPPORTED */ - 568, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 851, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - 154, /* GL_COLOR_ATTACHMENT0 */ - 156, /* GL_COLOR_ATTACHMENT1 */ - 170, /* GL_COLOR_ATTACHMENT2 */ - 172, /* GL_COLOR_ATTACHMENT3 */ - 174, /* GL_COLOR_ATTACHMENT4 */ - 176, /* GL_COLOR_ATTACHMENT5 */ - 178, /* GL_COLOR_ATTACHMENT6 */ - 180, /* GL_COLOR_ATTACHMENT7 */ - 182, /* GL_COLOR_ATTACHMENT8 */ - 184, /* GL_COLOR_ATTACHMENT9 */ - 157, /* GL_COLOR_ATTACHMENT10 */ - 159, /* GL_COLOR_ATTACHMENT11 */ - 161, /* GL_COLOR_ATTACHMENT12 */ - 163, /* GL_COLOR_ATTACHMENT13 */ - 165, /* GL_COLOR_ATTACHMENT14 */ - 167, /* GL_COLOR_ATTACHMENT15 */ - 346, /* GL_DEPTH_ATTACHMENT */ - 1476, /* GL_STENCIL_ATTACHMENT */ - 533, /* GL_FRAMEBUFFER */ - 1298, /* GL_RENDERBUFFER */ - 1312, /* GL_RENDERBUFFER_WIDTH */ - 1305, /* GL_RENDERBUFFER_HEIGHT */ - 1307, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - 1499, /* GL_STENCIL_INDEX_EXT */ - 1496, /* GL_STENCIL_INDEX1_EXT */ - 1497, /* GL_STENCIL_INDEX4_EXT */ - 1498, /* GL_STENCIL_INDEX8_EXT */ - 1495, /* GL_STENCIL_INDEX16_EXT */ - 1309, /* GL_RENDERBUFFER_RED_SIZE */ - 1304, /* GL_RENDERBUFFER_GREEN_SIZE */ - 1301, /* GL_RENDERBUFFER_BLUE_SIZE */ - 1299, /* GL_RENDERBUFFER_ALPHA_SIZE */ - 1302, /* GL_RENDERBUFFER_DEPTH_SIZE */ - 1311, /* GL_RENDERBUFFER_STENCIL_SIZE */ - 566, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - 907, /* GL_MAX_SAMPLES */ - 1268, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - 480, /* GL_FIRST_VERTEX_CONVENTION_EXT */ - 663, /* GL_LAST_VERTEX_CONVENTION_EXT */ - 1247, /* GL_PROVOKING_VERTEX_EXT */ - 300, /* GL_COPY_READ_BUFFER */ - 301, /* GL_COPY_WRITE_BUFFER */ - 1359, /* GL_RGBA_SNORM */ - 1355, /* GL_RGBA8_SNORM */ - 1416, /* GL_SIGNED_NORMALIZED */ - 465, /* GL_EVAL_BIT */ - 1279, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 705, /* GL_LIST_BIT */ - 1611, /* GL_TEXTURE_BIT */ - 1390, /* GL_SCISSOR_BIT */ + 534, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + 1415, /* GL_SHADING_LANGUAGE_VERSION */ + 322, /* GL_CURRENT_PROGRAM */ + 1089, /* GL_PALETTE4_RGB8_OES */ + 1091, /* GL_PALETTE4_RGBA8_OES */ + 1087, /* GL_PALETTE4_R5_G6_B5_OES */ + 1090, /* GL_PALETTE4_RGBA4_OES */ + 1088, /* GL_PALETTE4_RGB5_A1_OES */ + 1094, /* GL_PALETTE8_RGB8_OES */ + 1096, /* GL_PALETTE8_RGBA8_OES */ + 1092, /* GL_PALETTE8_R5_G6_B5_OES */ + 1095, /* GL_PALETTE8_RGBA4_OES */ + 1093, /* GL_PALETTE8_RGB5_A1_OES */ + 617, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + 616, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + 1767, /* GL_UNSIGNED_NORMALIZED */ + 1606, /* GL_TEXTURE_1D_ARRAY_EXT */ + 1258, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + 1608, /* GL_TEXTURE_2D_ARRAY_EXT */ + 1261, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + 1614, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + 1616, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + 1468, /* GL_SRGB */ + 1469, /* GL_SRGB8 */ + 1471, /* GL_SRGB_ALPHA */ + 1470, /* GL_SRGB8_ALPHA8 */ + 1428, /* GL_SLUMINANCE_ALPHA */ + 1427, /* GL_SLUMINANCE8_ALPHA8 */ + 1425, /* GL_SLUMINANCE */ + 1426, /* GL_SLUMINANCE8 */ + 267, /* GL_COMPRESSED_SRGB */ + 268, /* GL_COMPRESSED_SRGB_ALPHA */ + 265, /* GL_COMPRESSED_SLUMINANCE */ + 266, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ + 1154, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 713, /* GL_LOWER_LEFT */ + 1779, /* GL_UPPER_LEFT */ + 1491, /* GL_STENCIL_BACK_REF */ + 1492, /* GL_STENCIL_BACK_VALUE_MASK */ + 1493, /* GL_STENCIL_BACK_WRITEMASK */ + 441, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + 1304, /* GL_RENDERBUFFER_BINDING_EXT */ + 1285, /* GL_READ_FRAMEBUFFER */ + 440, /* GL_DRAW_FRAMEBUFFER */ + 1286, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + 1314, /* GL_RENDERBUFFER_SAMPLES */ + 544, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + 542, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + 553, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + 549, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + 551, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + 556, /* GL_FRAMEBUFFER_COMPLETE */ + 560, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + 566, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + 564, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + 562, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + 565, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + 563, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + 569, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + 572, /* GL_FRAMEBUFFER_UNSUPPORTED */ + 570, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + 853, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + 155, /* GL_COLOR_ATTACHMENT0 */ + 157, /* GL_COLOR_ATTACHMENT1 */ + 171, /* GL_COLOR_ATTACHMENT2 */ + 173, /* GL_COLOR_ATTACHMENT3 */ + 175, /* GL_COLOR_ATTACHMENT4 */ + 177, /* GL_COLOR_ATTACHMENT5 */ + 179, /* GL_COLOR_ATTACHMENT6 */ + 181, /* GL_COLOR_ATTACHMENT7 */ + 183, /* GL_COLOR_ATTACHMENT8 */ + 185, /* GL_COLOR_ATTACHMENT9 */ + 158, /* GL_COLOR_ATTACHMENT10 */ + 160, /* GL_COLOR_ATTACHMENT11 */ + 162, /* GL_COLOR_ATTACHMENT12 */ + 164, /* GL_COLOR_ATTACHMENT13 */ + 166, /* GL_COLOR_ATTACHMENT14 */ + 168, /* GL_COLOR_ATTACHMENT15 */ + 348, /* GL_DEPTH_ATTACHMENT */ + 1481, /* GL_STENCIL_ATTACHMENT */ + 535, /* GL_FRAMEBUFFER */ + 1302, /* GL_RENDERBUFFER */ + 1316, /* GL_RENDERBUFFER_WIDTH */ + 1309, /* GL_RENDERBUFFER_HEIGHT */ + 1311, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + 1504, /* GL_STENCIL_INDEX_EXT */ + 1501, /* GL_STENCIL_INDEX1_EXT */ + 1502, /* GL_STENCIL_INDEX4_EXT */ + 1503, /* GL_STENCIL_INDEX8_EXT */ + 1500, /* GL_STENCIL_INDEX16_EXT */ + 1313, /* GL_RENDERBUFFER_RED_SIZE */ + 1308, /* GL_RENDERBUFFER_GREEN_SIZE */ + 1305, /* GL_RENDERBUFFER_BLUE_SIZE */ + 1303, /* GL_RENDERBUFFER_ALPHA_SIZE */ + 1306, /* GL_RENDERBUFFER_DEPTH_SIZE */ + 1315, /* GL_RENDERBUFFER_STENCIL_SIZE */ + 568, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + 909, /* GL_MAX_SAMPLES */ + 1272, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + 482, /* GL_FIRST_VERTEX_CONVENTION_EXT */ + 665, /* GL_LAST_VERTEX_CONVENTION_EXT */ + 1251, /* GL_PROVOKING_VERTEX_EXT */ + 302, /* GL_COPY_READ_BUFFER */ + 303, /* GL_COPY_WRITE_BUFFER */ + 1363, /* GL_RGBA_SNORM */ + 1359, /* GL_RGBA8_SNORM */ + 1421, /* GL_SIGNED_NORMALIZED */ + 910, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + 1039, /* GL_OBJECT_TYPE */ + 1525, /* GL_SYNC_CONDITION */ + 1530, /* GL_SYNC_STATUS */ + 1527, /* GL_SYNC_FLAGS */ + 1526, /* GL_SYNC_FENCE */ + 1529, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + 1756, /* GL_UNSIGNALED */ + 1420, /* GL_SIGNALED */ + 46, /* GL_ALREADY_SIGNALED */ + 1727, /* GL_TIMEOUT_EXPIRED */ + 270, /* GL_CONDITION_SATISFIED */ + 1839, /* GL_WAIT_FAILED */ + 467, /* GL_EVAL_BIT */ + 1283, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 707, /* GL_LIST_BIT */ + 1622, /* GL_TEXTURE_BIT */ + 1394, /* GL_SCISSOR_BIT */ 29, /* GL_ALL_ATTRIB_BITS */ - 992, /* GL_MULTISAMPLE_BIT */ + 995, /* GL_MULTISAMPLE_BIT */ 30, /* GL_ALL_CLIENT_ATTRIB_BITS */ + 1728, /* GL_TIMEOUT_IGNORED */ }; typedef int (*cfunc)(const void *, const void *); diff --git a/src/mesa/sparc/glapi_sparc.S b/src/mesa/sparc/glapi_sparc.S index 34c1e09ad8..5b2c9e4a9a 100644 --- a/src/mesa/sparc/glapi_sparc.S +++ b/src/mesa/sparc/glapi_sparc.S @@ -764,23 +764,30 @@ gl_dispatch_functions_start: GL_STUB(glBindVertexArray, _gloffset_BindVertexArray) GL_STUB(glGenVertexArrays, _gloffset_GenVertexArrays) GL_STUB(glCopyBufferSubData, _gloffset_CopyBufferSubData) + GL_STUB(glClientWaitSync, _gloffset_ClientWaitSync) + GL_STUB(glDeleteSync, _gloffset_DeleteSync) + GL_STUB(glFenceSync, _gloffset_FenceSync) + GL_STUB(glGetInteger64v, _gloffset_GetInteger64v) + GL_STUB(glGetSynciv, _gloffset_GetSynciv) + GL_STUB(glIsSync, _gloffset_IsSync) + GL_STUB(glWaitSync, _gloffset_WaitSync) GL_STUB(glPolygonOffsetEXT, _gloffset_PolygonOffsetEXT) - GL_STUB(gl_dispatch_stub_568, _gloffset_GetPixelTexGenParameterfvSGIS) - HIDDEN(gl_dispatch_stub_568) - GL_STUB(gl_dispatch_stub_569, _gloffset_GetPixelTexGenParameterivSGIS) - HIDDEN(gl_dispatch_stub_569) - GL_STUB(gl_dispatch_stub_570, _gloffset_PixelTexGenParameterfSGIS) - HIDDEN(gl_dispatch_stub_570) - GL_STUB(gl_dispatch_stub_571, _gloffset_PixelTexGenParameterfvSGIS) - HIDDEN(gl_dispatch_stub_571) - GL_STUB(gl_dispatch_stub_572, _gloffset_PixelTexGenParameteriSGIS) - HIDDEN(gl_dispatch_stub_572) - GL_STUB(gl_dispatch_stub_573, _gloffset_PixelTexGenParameterivSGIS) - HIDDEN(gl_dispatch_stub_573) - GL_STUB(gl_dispatch_stub_574, _gloffset_SampleMaskSGIS) - HIDDEN(gl_dispatch_stub_574) - GL_STUB(gl_dispatch_stub_575, _gloffset_SamplePatternSGIS) + GL_STUB(gl_dispatch_stub_575, _gloffset_GetPixelTexGenParameterfvSGIS) HIDDEN(gl_dispatch_stub_575) + GL_STUB(gl_dispatch_stub_576, _gloffset_GetPixelTexGenParameterivSGIS) + HIDDEN(gl_dispatch_stub_576) + GL_STUB(gl_dispatch_stub_577, _gloffset_PixelTexGenParameterfSGIS) + HIDDEN(gl_dispatch_stub_577) + GL_STUB(gl_dispatch_stub_578, _gloffset_PixelTexGenParameterfvSGIS) + HIDDEN(gl_dispatch_stub_578) + GL_STUB(gl_dispatch_stub_579, _gloffset_PixelTexGenParameteriSGIS) + HIDDEN(gl_dispatch_stub_579) + GL_STUB(gl_dispatch_stub_580, _gloffset_PixelTexGenParameterivSGIS) + HIDDEN(gl_dispatch_stub_580) + GL_STUB(gl_dispatch_stub_581, _gloffset_SampleMaskSGIS) + HIDDEN(gl_dispatch_stub_581) + GL_STUB(gl_dispatch_stub_582, _gloffset_SamplePatternSGIS) + HIDDEN(gl_dispatch_stub_582) GL_STUB(glColorPointerEXT, _gloffset_ColorPointerEXT) GL_STUB(glEdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT) GL_STUB(glIndexPointerEXT, _gloffset_IndexPointerEXT) @@ -791,10 +798,10 @@ gl_dispatch_functions_start: GL_STUB(glPointParameterfvEXT, _gloffset_PointParameterfvEXT) GL_STUB(glLockArraysEXT, _gloffset_LockArraysEXT) GL_STUB(glUnlockArraysEXT, _gloffset_UnlockArraysEXT) - GL_STUB(gl_dispatch_stub_586, _gloffset_CullParameterdvEXT) - HIDDEN(gl_dispatch_stub_586) - GL_STUB(gl_dispatch_stub_587, _gloffset_CullParameterfvEXT) - HIDDEN(gl_dispatch_stub_587) + GL_STUB(gl_dispatch_stub_593, _gloffset_CullParameterdvEXT) + HIDDEN(gl_dispatch_stub_593) + GL_STUB(gl_dispatch_stub_594, _gloffset_CullParameterfvEXT) + HIDDEN(gl_dispatch_stub_594) GL_STUB(glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT) GL_STUB(glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT) GL_STUB(glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT) @@ -819,8 +826,8 @@ gl_dispatch_functions_start: GL_STUB(glFogCoorddvEXT, _gloffset_FogCoorddvEXT) GL_STUB(glFogCoordfEXT, _gloffset_FogCoordfEXT) GL_STUB(glFogCoordfvEXT, _gloffset_FogCoordfvEXT) - GL_STUB(gl_dispatch_stub_612, _gloffset_PixelTexGenSGIX) - HIDDEN(gl_dispatch_stub_612) + GL_STUB(gl_dispatch_stub_619, _gloffset_PixelTexGenSGIX) + HIDDEN(gl_dispatch_stub_619) GL_STUB(glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT) GL_STUB(glFlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV) GL_STUB(glVertexArrayRangeNV, _gloffset_VertexArrayRangeNV) @@ -862,24 +869,24 @@ gl_dispatch_functions_start: GL_STUB(glWindowPos4ivMESA, _gloffset_WindowPos4ivMESA) GL_STUB(glWindowPos4sMESA, _gloffset_WindowPos4sMESA) GL_STUB(glWindowPos4svMESA, _gloffset_WindowPos4svMESA) - GL_STUB(gl_dispatch_stub_654, _gloffset_MultiModeDrawArraysIBM) - HIDDEN(gl_dispatch_stub_654) - GL_STUB(gl_dispatch_stub_655, _gloffset_MultiModeDrawElementsIBM) - HIDDEN(gl_dispatch_stub_655) - GL_STUB(gl_dispatch_stub_656, _gloffset_DeleteFencesNV) - HIDDEN(gl_dispatch_stub_656) - GL_STUB(gl_dispatch_stub_657, _gloffset_FinishFenceNV) - HIDDEN(gl_dispatch_stub_657) - GL_STUB(gl_dispatch_stub_658, _gloffset_GenFencesNV) - HIDDEN(gl_dispatch_stub_658) - GL_STUB(gl_dispatch_stub_659, _gloffset_GetFenceivNV) - HIDDEN(gl_dispatch_stub_659) - GL_STUB(gl_dispatch_stub_660, _gloffset_IsFenceNV) - HIDDEN(gl_dispatch_stub_660) - GL_STUB(gl_dispatch_stub_661, _gloffset_SetFenceNV) + GL_STUB(gl_dispatch_stub_661, _gloffset_MultiModeDrawArraysIBM) HIDDEN(gl_dispatch_stub_661) - GL_STUB(gl_dispatch_stub_662, _gloffset_TestFenceNV) + GL_STUB(gl_dispatch_stub_662, _gloffset_MultiModeDrawElementsIBM) HIDDEN(gl_dispatch_stub_662) + GL_STUB(gl_dispatch_stub_663, _gloffset_DeleteFencesNV) + HIDDEN(gl_dispatch_stub_663) + GL_STUB(gl_dispatch_stub_664, _gloffset_FinishFenceNV) + HIDDEN(gl_dispatch_stub_664) + GL_STUB(gl_dispatch_stub_665, _gloffset_GenFencesNV) + HIDDEN(gl_dispatch_stub_665) + GL_STUB(gl_dispatch_stub_666, _gloffset_GetFenceivNV) + HIDDEN(gl_dispatch_stub_666) + GL_STUB(gl_dispatch_stub_667, _gloffset_IsFenceNV) + HIDDEN(gl_dispatch_stub_667) + GL_STUB(gl_dispatch_stub_668, _gloffset_SetFenceNV) + HIDDEN(gl_dispatch_stub_668) + GL_STUB(gl_dispatch_stub_669, _gloffset_TestFenceNV) + HIDDEN(gl_dispatch_stub_669) GL_STUB(glAreProgramsResidentNV, _gloffset_AreProgramsResidentNV) GL_STUB(glBindProgramNV, _gloffset_BindProgramNV) GL_STUB(glDeleteProgramsNV, _gloffset_DeleteProgramsNV) @@ -960,26 +967,26 @@ gl_dispatch_functions_start: GL_STUB(glSetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI) GL_STUB(glPointParameteriNV, _gloffset_PointParameteriNV) GL_STUB(glPointParameterivNV, _gloffset_PointParameterivNV) - GL_STUB(gl_dispatch_stub_743, _gloffset_ActiveStencilFaceEXT) - HIDDEN(gl_dispatch_stub_743) - GL_STUB(gl_dispatch_stub_744, _gloffset_BindVertexArrayAPPLE) - HIDDEN(gl_dispatch_stub_744) - GL_STUB(gl_dispatch_stub_745, _gloffset_DeleteVertexArraysAPPLE) - HIDDEN(gl_dispatch_stub_745) - GL_STUB(gl_dispatch_stub_746, _gloffset_GenVertexArraysAPPLE) - HIDDEN(gl_dispatch_stub_746) - GL_STUB(gl_dispatch_stub_747, _gloffset_IsVertexArrayAPPLE) - HIDDEN(gl_dispatch_stub_747) + GL_STUB(gl_dispatch_stub_750, _gloffset_ActiveStencilFaceEXT) + HIDDEN(gl_dispatch_stub_750) + GL_STUB(gl_dispatch_stub_751, _gloffset_BindVertexArrayAPPLE) + HIDDEN(gl_dispatch_stub_751) + GL_STUB(gl_dispatch_stub_752, _gloffset_DeleteVertexArraysAPPLE) + HIDDEN(gl_dispatch_stub_752) + GL_STUB(gl_dispatch_stub_753, _gloffset_GenVertexArraysAPPLE) + HIDDEN(gl_dispatch_stub_753) + GL_STUB(gl_dispatch_stub_754, _gloffset_IsVertexArrayAPPLE) + HIDDEN(gl_dispatch_stub_754) GL_STUB(glGetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV) GL_STUB(glGetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV) GL_STUB(glProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV) GL_STUB(glProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV) GL_STUB(glProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV) GL_STUB(glProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV) - GL_STUB(gl_dispatch_stub_754, _gloffset_DepthBoundsEXT) - HIDDEN(gl_dispatch_stub_754) - GL_STUB(gl_dispatch_stub_755, _gloffset_BlendEquationSeparateEXT) - HIDDEN(gl_dispatch_stub_755) + GL_STUB(gl_dispatch_stub_761, _gloffset_DepthBoundsEXT) + HIDDEN(gl_dispatch_stub_761) + GL_STUB(gl_dispatch_stub_762, _gloffset_BlendEquationSeparateEXT) + HIDDEN(gl_dispatch_stub_762) GL_STUB(glBindFramebufferEXT, _gloffset_BindFramebufferEXT) GL_STUB(glBindRenderbufferEXT, _gloffset_BindRenderbufferEXT) GL_STUB(glCheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT) @@ -997,28 +1004,28 @@ gl_dispatch_functions_start: GL_STUB(glIsFramebufferEXT, _gloffset_IsFramebufferEXT) GL_STUB(glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT) GL_STUB(glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT) - GL_STUB(gl_dispatch_stub_773, _gloffset_BlitFramebufferEXT) - HIDDEN(gl_dispatch_stub_773) - GL_STUB(gl_dispatch_stub_774, _gloffset_BufferParameteriAPPLE) - HIDDEN(gl_dispatch_stub_774) - GL_STUB(gl_dispatch_stub_775, _gloffset_FlushMappedBufferRangeAPPLE) - HIDDEN(gl_dispatch_stub_775) - GL_STUB(glFramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT) - GL_STUB(glProvokingVertexEXT, _gloffset_ProvokingVertexEXT) - GL_STUB(gl_dispatch_stub_778, _gloffset_GetTexParameterPointervAPPLE) - HIDDEN(gl_dispatch_stub_778) - GL_STUB(gl_dispatch_stub_779, _gloffset_TextureRangeAPPLE) - HIDDEN(gl_dispatch_stub_779) - GL_STUB(gl_dispatch_stub_780, _gloffset_StencilFuncSeparateATI) + GL_STUB(gl_dispatch_stub_780, _gloffset_BlitFramebufferEXT) HIDDEN(gl_dispatch_stub_780) - GL_STUB(gl_dispatch_stub_781, _gloffset_ProgramEnvParameters4fvEXT) + GL_STUB(gl_dispatch_stub_781, _gloffset_BufferParameteriAPPLE) HIDDEN(gl_dispatch_stub_781) - GL_STUB(gl_dispatch_stub_782, _gloffset_ProgramLocalParameters4fvEXT) + GL_STUB(gl_dispatch_stub_782, _gloffset_FlushMappedBufferRangeAPPLE) HIDDEN(gl_dispatch_stub_782) - GL_STUB(gl_dispatch_stub_783, _gloffset_GetQueryObjecti64vEXT) - HIDDEN(gl_dispatch_stub_783) - GL_STUB(gl_dispatch_stub_784, _gloffset_GetQueryObjectui64vEXT) - HIDDEN(gl_dispatch_stub_784) + GL_STUB(glFramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT) + GL_STUB(glProvokingVertexEXT, _gloffset_ProvokingVertexEXT) + GL_STUB(gl_dispatch_stub_785, _gloffset_GetTexParameterPointervAPPLE) + HIDDEN(gl_dispatch_stub_785) + GL_STUB(gl_dispatch_stub_786, _gloffset_TextureRangeAPPLE) + HIDDEN(gl_dispatch_stub_786) + GL_STUB(gl_dispatch_stub_787, _gloffset_StencilFuncSeparateATI) + HIDDEN(gl_dispatch_stub_787) + GL_STUB(gl_dispatch_stub_788, _gloffset_ProgramEnvParameters4fvEXT) + HIDDEN(gl_dispatch_stub_788) + GL_STUB(gl_dispatch_stub_789, _gloffset_ProgramLocalParameters4fvEXT) + HIDDEN(gl_dispatch_stub_789) + GL_STUB(gl_dispatch_stub_790, _gloffset_GetQueryObjecti64vEXT) + HIDDEN(gl_dispatch_stub_790) + GL_STUB(gl_dispatch_stub_791, _gloffset_GetQueryObjectui64vEXT) + HIDDEN(gl_dispatch_stub_791) GL_STUB_ALIAS(glArrayElementEXT, glArrayElement) GL_STUB_ALIAS(glBindTextureEXT, glBindTexture) GL_STUB_ALIAS(glDrawArraysEXT, glDrawArrays) diff --git a/src/mesa/x86-64/glapi_x86-64.S b/src/mesa/x86-64/glapi_x86-64.S index 10525d4c65..db917f3982 100644 --- a/src/mesa/x86-64/glapi_x86-64.S +++ b/src/mesa/x86-64/glapi_x86-64.S @@ -21349,13 +21349,264 @@ GL_PREFIX(CopyBufferSubData): #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CopyBufferSubData), .-GL_PREFIX(CopyBufferSubData) + .p2align 4,,15 + .globl GL_PREFIX(ClientWaitSync) + .type GL_PREFIX(ClientWaitSync), @function +GL_PREFIX(ClientWaitSync): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4536(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + call _x86_64_get_dispatch@PLT + popq %rdx + popq %rsi + popq %rdi + movq 4536(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4536(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 4536(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(ClientWaitSync), .-GL_PREFIX(ClientWaitSync) + + .p2align 4,,15 + .globl GL_PREFIX(DeleteSync) + .type GL_PREFIX(DeleteSync), @function +GL_PREFIX(DeleteSync): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4544(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 4544(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4544(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 4544(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(DeleteSync), .-GL_PREFIX(DeleteSync) + + .p2align 4,,15 + .globl GL_PREFIX(FenceSync) + .type GL_PREFIX(FenceSync), @function +GL_PREFIX(FenceSync): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4552(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi + popq %rdi + movq 4552(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4552(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4552(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(FenceSync), .-GL_PREFIX(FenceSync) + + .p2align 4,,15 + .globl GL_PREFIX(GetInteger64v) + .type GL_PREFIX(GetInteger64v), @function +GL_PREFIX(GetInteger64v): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4560(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi + popq %rdi + movq 4560(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4560(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4560(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetInteger64v), .-GL_PREFIX(GetInteger64v) + + .p2align 4,,15 + .globl GL_PREFIX(GetSynciv) + .type GL_PREFIX(GetSynciv), @function +GL_PREFIX(GetSynciv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4568(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + call _x86_64_get_dispatch@PLT + popq %r8 + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 4568(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4568(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + call _glapi_get_dispatch + popq %r8 + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 4568(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetSynciv), .-GL_PREFIX(GetSynciv) + + .p2align 4,,15 + .globl GL_PREFIX(IsSync) + .type GL_PREFIX(IsSync), @function +GL_PREFIX(IsSync): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4576(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 4576(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4576(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 4576(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(IsSync), .-GL_PREFIX(IsSync) + + .p2align 4,,15 + .globl GL_PREFIX(WaitSync) + .type GL_PREFIX(WaitSync), @function +GL_PREFIX(WaitSync): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4584(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + call _x86_64_get_dispatch@PLT + popq %rdx + popq %rsi + popq %rdi + movq 4584(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4584(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 4584(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(WaitSync), .-GL_PREFIX(WaitSync) + .p2align 4,,15 .globl GL_PREFIX(PolygonOffsetEXT) .type GL_PREFIX(PolygonOffsetEXT), @function GL_PREFIX(PolygonOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4536(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -21365,13 +21616,13 @@ GL_PREFIX(PolygonOffsetEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4536(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4536(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -21381,19 +21632,19 @@ GL_PREFIX(PolygonOffsetEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4536(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_568) - .type GL_PREFIX(_dispatch_stub_568), @function - HIDDEN(GL_PREFIX(_dispatch_stub_568)) -GL_PREFIX(_dispatch_stub_568): + .globl GL_PREFIX(_dispatch_stub_575) + .type GL_PREFIX(_dispatch_stub_575), @function + HIDDEN(GL_PREFIX(_dispatch_stub_575)) +GL_PREFIX(_dispatch_stub_575): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4544(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21403,13 +21654,13 @@ GL_PREFIX(_dispatch_stub_568): popq %rbp popq %rsi popq %rdi - movq 4544(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4544(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21419,19 +21670,19 @@ GL_PREFIX(_dispatch_stub_568): popq %rbp popq %rsi popq %rdi - movq 4544(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_568), .-GL_PREFIX(_dispatch_stub_568) + .size GL_PREFIX(_dispatch_stub_575), .-GL_PREFIX(_dispatch_stub_575) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_569) - .type GL_PREFIX(_dispatch_stub_569), @function - HIDDEN(GL_PREFIX(_dispatch_stub_569)) -GL_PREFIX(_dispatch_stub_569): + .globl GL_PREFIX(_dispatch_stub_576) + .type GL_PREFIX(_dispatch_stub_576), @function + HIDDEN(GL_PREFIX(_dispatch_stub_576)) +GL_PREFIX(_dispatch_stub_576): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4552(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21441,13 +21692,13 @@ GL_PREFIX(_dispatch_stub_569): popq %rbp popq %rsi popq %rdi - movq 4552(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4552(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21457,19 +21708,19 @@ GL_PREFIX(_dispatch_stub_569): popq %rbp popq %rsi popq %rdi - movq 4552(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_569), .-GL_PREFIX(_dispatch_stub_569) + .size GL_PREFIX(_dispatch_stub_576), .-GL_PREFIX(_dispatch_stub_576) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_570) - .type GL_PREFIX(_dispatch_stub_570), @function - HIDDEN(GL_PREFIX(_dispatch_stub_570)) -GL_PREFIX(_dispatch_stub_570): + .globl GL_PREFIX(_dispatch_stub_577) + .type GL_PREFIX(_dispatch_stub_577), @function + HIDDEN(GL_PREFIX(_dispatch_stub_577)) +GL_PREFIX(_dispatch_stub_577): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4560(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -21479,13 +21730,13 @@ GL_PREFIX(_dispatch_stub_570): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4560(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4560(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -21495,19 +21746,19 @@ GL_PREFIX(_dispatch_stub_570): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4560(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_570), .-GL_PREFIX(_dispatch_stub_570) + .size GL_PREFIX(_dispatch_stub_577), .-GL_PREFIX(_dispatch_stub_577) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_571) - .type GL_PREFIX(_dispatch_stub_571), @function - HIDDEN(GL_PREFIX(_dispatch_stub_571)) -GL_PREFIX(_dispatch_stub_571): + .globl GL_PREFIX(_dispatch_stub_578) + .type GL_PREFIX(_dispatch_stub_578), @function + HIDDEN(GL_PREFIX(_dispatch_stub_578)) +GL_PREFIX(_dispatch_stub_578): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4568(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21517,13 +21768,13 @@ GL_PREFIX(_dispatch_stub_571): popq %rbp popq %rsi popq %rdi - movq 4568(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4568(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21533,19 +21784,19 @@ GL_PREFIX(_dispatch_stub_571): popq %rbp popq %rsi popq %rdi - movq 4568(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_571), .-GL_PREFIX(_dispatch_stub_571) + .size GL_PREFIX(_dispatch_stub_578), .-GL_PREFIX(_dispatch_stub_578) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_572) - .type GL_PREFIX(_dispatch_stub_572), @function - HIDDEN(GL_PREFIX(_dispatch_stub_572)) -GL_PREFIX(_dispatch_stub_572): + .globl GL_PREFIX(_dispatch_stub_579) + .type GL_PREFIX(_dispatch_stub_579), @function + HIDDEN(GL_PREFIX(_dispatch_stub_579)) +GL_PREFIX(_dispatch_stub_579): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4576(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21555,13 +21806,13 @@ GL_PREFIX(_dispatch_stub_572): popq %rbp popq %rsi popq %rdi - movq 4576(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4576(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21571,19 +21822,19 @@ GL_PREFIX(_dispatch_stub_572): popq %rbp popq %rsi popq %rdi - movq 4576(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_572), .-GL_PREFIX(_dispatch_stub_572) + .size GL_PREFIX(_dispatch_stub_579), .-GL_PREFIX(_dispatch_stub_579) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_573) - .type GL_PREFIX(_dispatch_stub_573), @function - HIDDEN(GL_PREFIX(_dispatch_stub_573)) -GL_PREFIX(_dispatch_stub_573): + .globl GL_PREFIX(_dispatch_stub_580) + .type GL_PREFIX(_dispatch_stub_580), @function + HIDDEN(GL_PREFIX(_dispatch_stub_580)) +GL_PREFIX(_dispatch_stub_580): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4584(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21593,13 +21844,13 @@ GL_PREFIX(_dispatch_stub_573): popq %rbp popq %rsi popq %rdi - movq 4584(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4584(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21609,19 +21860,19 @@ GL_PREFIX(_dispatch_stub_573): popq %rbp popq %rsi popq %rdi - movq 4584(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_573), .-GL_PREFIX(_dispatch_stub_573) + .size GL_PREFIX(_dispatch_stub_580), .-GL_PREFIX(_dispatch_stub_580) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_574) - .type GL_PREFIX(_dispatch_stub_574), @function - HIDDEN(GL_PREFIX(_dispatch_stub_574)) -GL_PREFIX(_dispatch_stub_574): + .globl GL_PREFIX(_dispatch_stub_581) + .type GL_PREFIX(_dispatch_stub_581), @function + HIDDEN(GL_PREFIX(_dispatch_stub_581)) +GL_PREFIX(_dispatch_stub_581): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4592(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21631,13 +21882,13 @@ GL_PREFIX(_dispatch_stub_574): popq %rbp popq %rsi popq %rdi - movq 4592(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4592(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21647,40 +21898,40 @@ GL_PREFIX(_dispatch_stub_574): popq %rbp popq %rsi popq %rdi - movq 4592(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_574), .-GL_PREFIX(_dispatch_stub_574) + .size GL_PREFIX(_dispatch_stub_581), .-GL_PREFIX(_dispatch_stub_581) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_575) - .type GL_PREFIX(_dispatch_stub_575), @function - HIDDEN(GL_PREFIX(_dispatch_stub_575)) -GL_PREFIX(_dispatch_stub_575): + .globl GL_PREFIX(_dispatch_stub_582) + .type GL_PREFIX(_dispatch_stub_582), @function + HIDDEN(GL_PREFIX(_dispatch_stub_582)) +GL_PREFIX(_dispatch_stub_582): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4600(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4600(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4600(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4600(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_575), .-GL_PREFIX(_dispatch_stub_575) + .size GL_PREFIX(_dispatch_stub_582), .-GL_PREFIX(_dispatch_stub_582) .p2align 4,,15 .globl GL_PREFIX(ColorPointerEXT) @@ -21688,7 +21939,7 @@ GL_PREFIX(_dispatch_stub_575): GL_PREFIX(ColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4608(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21702,13 +21953,13 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4608(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4608(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21722,7 +21973,7 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4608(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorPointerEXT), .-GL_PREFIX(ColorPointerEXT) @@ -21733,7 +21984,7 @@ GL_PREFIX(ColorPointerEXT): GL_PREFIX(EdgeFlagPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4616(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21743,13 +21994,13 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4616(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4616(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21759,7 +22010,7 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4616(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EdgeFlagPointerEXT), .-GL_PREFIX(EdgeFlagPointerEXT) @@ -21770,7 +22021,7 @@ GL_PREFIX(EdgeFlagPointerEXT): GL_PREFIX(IndexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4624(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21784,13 +22035,13 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4624(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4624(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21804,7 +22055,7 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4624(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IndexPointerEXT), .-GL_PREFIX(IndexPointerEXT) @@ -21815,7 +22066,7 @@ GL_PREFIX(IndexPointerEXT): GL_PREFIX(NormalPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4632(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21829,13 +22080,13 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4632(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4632(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21849,7 +22100,7 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4632(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(NormalPointerEXT), .-GL_PREFIX(NormalPointerEXT) @@ -21860,7 +22111,7 @@ GL_PREFIX(NormalPointerEXT): GL_PREFIX(TexCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4640(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21874,13 +22125,13 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4640(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4640(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21894,7 +22145,7 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4640(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexCoordPointerEXT), .-GL_PREFIX(TexCoordPointerEXT) @@ -21905,7 +22156,7 @@ GL_PREFIX(TexCoordPointerEXT): GL_PREFIX(VertexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4648(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21919,13 +22170,13 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4648(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4648(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21939,7 +22190,7 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4648(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexPointerEXT), .-GL_PREFIX(VertexPointerEXT) @@ -21950,7 +22201,7 @@ GL_PREFIX(VertexPointerEXT): GL_PREFIX(PointParameterfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4656(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -21960,13 +22211,13 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4656(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4656(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -21976,7 +22227,7 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4656(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfEXT), .-GL_PREFIX(PointParameterfEXT) @@ -21987,7 +22238,7 @@ GL_PREFIX(PointParameterfEXT): GL_PREFIX(PointParameterfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4664(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21997,13 +22248,13 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4664(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4664(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22013,7 +22264,7 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4664(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfvEXT), .-GL_PREFIX(PointParameterfvEXT) @@ -22024,7 +22275,7 @@ GL_PREFIX(PointParameterfvEXT): GL_PREFIX(LockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4672(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22034,13 +22285,13 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4672(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4672(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22050,7 +22301,7 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4672(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LockArraysEXT), .-GL_PREFIX(LockArraysEXT) @@ -22061,37 +22312,37 @@ GL_PREFIX(LockArraysEXT): GL_PREFIX(UnlockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4680(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4680(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4680(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4680(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UnlockArraysEXT), .-GL_PREFIX(UnlockArraysEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_586) - .type GL_PREFIX(_dispatch_stub_586), @function - HIDDEN(GL_PREFIX(_dispatch_stub_586)) -GL_PREFIX(_dispatch_stub_586): + .globl GL_PREFIX(_dispatch_stub_593) + .type GL_PREFIX(_dispatch_stub_593), @function + HIDDEN(GL_PREFIX(_dispatch_stub_593)) +GL_PREFIX(_dispatch_stub_593): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4688(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22101,13 +22352,13 @@ GL_PREFIX(_dispatch_stub_586): popq %rbp popq %rsi popq %rdi - movq 4688(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4688(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22117,19 +22368,19 @@ GL_PREFIX(_dispatch_stub_586): popq %rbp popq %rsi popq %rdi - movq 4688(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_586), .-GL_PREFIX(_dispatch_stub_586) + .size GL_PREFIX(_dispatch_stub_593), .-GL_PREFIX(_dispatch_stub_593) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_587) - .type GL_PREFIX(_dispatch_stub_587), @function - HIDDEN(GL_PREFIX(_dispatch_stub_587)) -GL_PREFIX(_dispatch_stub_587): + .globl GL_PREFIX(_dispatch_stub_594) + .type GL_PREFIX(_dispatch_stub_594), @function + HIDDEN(GL_PREFIX(_dispatch_stub_594)) +GL_PREFIX(_dispatch_stub_594): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4696(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22139,13 +22390,13 @@ GL_PREFIX(_dispatch_stub_587): popq %rbp popq %rsi popq %rdi - movq 4696(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4696(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22155,10 +22406,10 @@ GL_PREFIX(_dispatch_stub_587): popq %rbp popq %rsi popq %rdi - movq 4696(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_587), .-GL_PREFIX(_dispatch_stub_587) + .size GL_PREFIX(_dispatch_stub_594), .-GL_PREFIX(_dispatch_stub_594) .p2align 4,,15 .globl GL_PREFIX(SecondaryColor3bEXT) @@ -22166,7 +22417,7 @@ GL_PREFIX(_dispatch_stub_587): GL_PREFIX(SecondaryColor3bEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4704(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22176,13 +22427,13 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4704(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4704(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22192,7 +22443,7 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4704(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bEXT), .-GL_PREFIX(SecondaryColor3bEXT) @@ -22203,25 +22454,25 @@ GL_PREFIX(SecondaryColor3bEXT): GL_PREFIX(SecondaryColor3bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4712(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4712(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4712(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4712(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bvEXT), .-GL_PREFIX(SecondaryColor3bvEXT) @@ -22232,7 +22483,7 @@ GL_PREFIX(SecondaryColor3bvEXT): GL_PREFIX(SecondaryColor3dEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4720(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22244,13 +22495,13 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4720(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4720(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22262,7 +22513,7 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4720(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dEXT), .-GL_PREFIX(SecondaryColor3dEXT) @@ -22273,25 +22524,25 @@ GL_PREFIX(SecondaryColor3dEXT): GL_PREFIX(SecondaryColor3dvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4728(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4728(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4728(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4728(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dvEXT), .-GL_PREFIX(SecondaryColor3dvEXT) @@ -22302,7 +22553,7 @@ GL_PREFIX(SecondaryColor3dvEXT): GL_PREFIX(SecondaryColor3fEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4736(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22314,13 +22565,13 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4736(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4736(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22332,7 +22583,7 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4736(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fEXT), .-GL_PREFIX(SecondaryColor3fEXT) @@ -22343,25 +22594,25 @@ GL_PREFIX(SecondaryColor3fEXT): GL_PREFIX(SecondaryColor3fvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4744(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4744(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4744(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4744(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fvEXT), .-GL_PREFIX(SecondaryColor3fvEXT) @@ -22372,7 +22623,7 @@ GL_PREFIX(SecondaryColor3fvEXT): GL_PREFIX(SecondaryColor3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4752(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22382,13 +22633,13 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 4752(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4752(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22398,7 +22649,7 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 4752(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3iEXT), .-GL_PREFIX(SecondaryColor3iEXT) @@ -22409,25 +22660,25 @@ GL_PREFIX(SecondaryColor3iEXT): GL_PREFIX(SecondaryColor3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4760(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4760(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4760(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4760(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ivEXT), .-GL_PREFIX(SecondaryColor3ivEXT) @@ -22438,7 +22689,7 @@ GL_PREFIX(SecondaryColor3ivEXT): GL_PREFIX(SecondaryColor3sEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4768(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22448,13 +22699,13 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 4768(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4768(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22464,7 +22715,7 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 4768(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3sEXT), .-GL_PREFIX(SecondaryColor3sEXT) @@ -22475,25 +22726,25 @@ GL_PREFIX(SecondaryColor3sEXT): GL_PREFIX(SecondaryColor3svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4776(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4776(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4776(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4776(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3svEXT), .-GL_PREFIX(SecondaryColor3svEXT) @@ -22504,7 +22755,7 @@ GL_PREFIX(SecondaryColor3svEXT): GL_PREFIX(SecondaryColor3ubEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4784(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22514,13 +22765,13 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 4784(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4784(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22530,7 +22781,7 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 4784(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubEXT), .-GL_PREFIX(SecondaryColor3ubEXT) @@ -22541,25 +22792,25 @@ GL_PREFIX(SecondaryColor3ubEXT): GL_PREFIX(SecondaryColor3ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4792(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4792(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4792(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4792(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubvEXT), .-GL_PREFIX(SecondaryColor3ubvEXT) @@ -22570,7 +22821,7 @@ GL_PREFIX(SecondaryColor3ubvEXT): GL_PREFIX(SecondaryColor3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4800(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22580,13 +22831,13 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 4800(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4800(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22596,7 +22847,7 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 4800(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uiEXT), .-GL_PREFIX(SecondaryColor3uiEXT) @@ -22607,25 +22858,25 @@ GL_PREFIX(SecondaryColor3uiEXT): GL_PREFIX(SecondaryColor3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4808(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4808(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4808(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4808(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uivEXT), .-GL_PREFIX(SecondaryColor3uivEXT) @@ -22636,7 +22887,7 @@ GL_PREFIX(SecondaryColor3uivEXT): GL_PREFIX(SecondaryColor3usEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4816(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22646,13 +22897,13 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 4816(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4816(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22662,7 +22913,7 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 4816(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usEXT), .-GL_PREFIX(SecondaryColor3usEXT) @@ -22673,25 +22924,25 @@ GL_PREFIX(SecondaryColor3usEXT): GL_PREFIX(SecondaryColor3usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4824(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4824(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4824(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4824(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usvEXT), .-GL_PREFIX(SecondaryColor3usvEXT) @@ -22702,7 +22953,7 @@ GL_PREFIX(SecondaryColor3usvEXT): GL_PREFIX(SecondaryColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4832(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22716,13 +22967,13 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4832(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4832(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22736,7 +22987,7 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4832(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColorPointerEXT), .-GL_PREFIX(SecondaryColorPointerEXT) @@ -22747,7 +22998,7 @@ GL_PREFIX(SecondaryColorPointerEXT): GL_PREFIX(MultiDrawArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4840(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22761,13 +23012,13 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 4840(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4840(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22781,7 +23032,7 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 4840(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawArraysEXT), .-GL_PREFIX(MultiDrawArraysEXT) @@ -22792,7 +23043,7 @@ GL_PREFIX(MultiDrawArraysEXT): GL_PREFIX(MultiDrawElementsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4848(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22806,13 +23057,13 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4848(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22826,7 +23077,7 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsEXT), .-GL_PREFIX(MultiDrawElementsEXT) @@ -22837,7 +23088,7 @@ GL_PREFIX(MultiDrawElementsEXT): GL_PREFIX(FogCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4856(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22847,13 +23098,13 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4856(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4856(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22863,7 +23114,7 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4856(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordPointerEXT), .-GL_PREFIX(FogCoordPointerEXT) @@ -22874,7 +23125,7 @@ GL_PREFIX(FogCoordPointerEXT): GL_PREFIX(FogCoorddEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4864(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -22882,13 +23133,13 @@ GL_PREFIX(FogCoorddEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 4864(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4864(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -22896,7 +23147,7 @@ GL_PREFIX(FogCoorddEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 4864(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddEXT), .-GL_PREFIX(FogCoorddEXT) @@ -22907,25 +23158,25 @@ GL_PREFIX(FogCoorddEXT): GL_PREFIX(FogCoorddvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4872(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4872(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4872(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4872(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddvEXT), .-GL_PREFIX(FogCoorddvEXT) @@ -22936,7 +23187,7 @@ GL_PREFIX(FogCoorddvEXT): GL_PREFIX(FogCoordfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4880(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -22944,13 +23195,13 @@ GL_PREFIX(FogCoordfEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 4880(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4880(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -22958,7 +23209,7 @@ GL_PREFIX(FogCoordfEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 4880(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfEXT), .-GL_PREFIX(FogCoordfEXT) @@ -22969,58 +23220,58 @@ GL_PREFIX(FogCoordfEXT): GL_PREFIX(FogCoordfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4888(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4888(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4888(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4888(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfvEXT), .-GL_PREFIX(FogCoordfvEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_612) - .type GL_PREFIX(_dispatch_stub_612), @function - HIDDEN(GL_PREFIX(_dispatch_stub_612)) -GL_PREFIX(_dispatch_stub_612): + .globl GL_PREFIX(_dispatch_stub_619) + .type GL_PREFIX(_dispatch_stub_619), @function + HIDDEN(GL_PREFIX(_dispatch_stub_619)) +GL_PREFIX(_dispatch_stub_619): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4896(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4896(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4896(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4896(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_612), .-GL_PREFIX(_dispatch_stub_612) + .size GL_PREFIX(_dispatch_stub_619), .-GL_PREFIX(_dispatch_stub_619) .p2align 4,,15 .globl GL_PREFIX(BlendFuncSeparateEXT) @@ -23028,7 +23279,7 @@ GL_PREFIX(_dispatch_stub_612): GL_PREFIX(BlendFuncSeparateEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4904(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23042,13 +23293,13 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4904(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23062,7 +23313,7 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFuncSeparateEXT), .-GL_PREFIX(BlendFuncSeparateEXT) @@ -23073,25 +23324,25 @@ GL_PREFIX(BlendFuncSeparateEXT): GL_PREFIX(FlushVertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4912(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4912(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4912(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4912(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushVertexArrayRangeNV), .-GL_PREFIX(FlushVertexArrayRangeNV) @@ -23102,7 +23353,7 @@ GL_PREFIX(FlushVertexArrayRangeNV): GL_PREFIX(VertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4920(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23112,13 +23363,13 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 4920(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4920(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23128,7 +23379,7 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 4920(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexArrayRangeNV), .-GL_PREFIX(VertexArrayRangeNV) @@ -23139,7 +23390,7 @@ GL_PREFIX(VertexArrayRangeNV): GL_PREFIX(CombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4928(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23157,13 +23408,13 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4928(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23181,7 +23432,7 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerInputNV), .-GL_PREFIX(CombinerInputNV) @@ -23192,7 +23443,7 @@ GL_PREFIX(CombinerInputNV): GL_PREFIX(CombinerOutputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4936(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23210,13 +23461,13 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4936(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23234,7 +23485,7 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerOutputNV), .-GL_PREFIX(CombinerOutputNV) @@ -23245,7 +23496,7 @@ GL_PREFIX(CombinerOutputNV): GL_PREFIX(CombinerParameterfNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4944(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23255,13 +23506,13 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4944(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4944(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23271,7 +23522,7 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4944(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfNV), .-GL_PREFIX(CombinerParameterfNV) @@ -23282,7 +23533,7 @@ GL_PREFIX(CombinerParameterfNV): GL_PREFIX(CombinerParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4952(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23292,13 +23543,13 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 4952(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4952(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23308,7 +23559,7 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 4952(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfvNV), .-GL_PREFIX(CombinerParameterfvNV) @@ -23319,7 +23570,7 @@ GL_PREFIX(CombinerParameterfvNV): GL_PREFIX(CombinerParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4960(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23329,13 +23580,13 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 4960(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4960(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23345,7 +23596,7 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 4960(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameteriNV), .-GL_PREFIX(CombinerParameteriNV) @@ -23356,7 +23607,7 @@ GL_PREFIX(CombinerParameteriNV): GL_PREFIX(CombinerParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4968(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23366,13 +23617,13 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 4968(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4968(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23382,7 +23633,7 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 4968(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterivNV), .-GL_PREFIX(CombinerParameterivNV) @@ -23393,7 +23644,7 @@ GL_PREFIX(CombinerParameterivNV): GL_PREFIX(FinalCombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4976(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23407,13 +23658,13 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4976(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4976(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23427,7 +23678,7 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4976(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FinalCombinerInputNV), .-GL_PREFIX(FinalCombinerInputNV) @@ -23438,7 +23689,7 @@ GL_PREFIX(FinalCombinerInputNV): GL_PREFIX(GetCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4984(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23452,13 +23703,13 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 4984(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4984(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23472,7 +23723,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 4984(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterfvNV), .-GL_PREFIX(GetCombinerInputParameterfvNV) @@ -23483,7 +23734,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): GL_PREFIX(GetCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4992(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23497,13 +23748,13 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 4992(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4992(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23517,7 +23768,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 4992(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterivNV), .-GL_PREFIX(GetCombinerInputParameterivNV) @@ -23528,7 +23779,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): GL_PREFIX(GetCombinerOutputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5000(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23542,13 +23793,13 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5000(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23562,7 +23813,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterfvNV), .-GL_PREFIX(GetCombinerOutputParameterfvNV) @@ -23573,7 +23824,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): GL_PREFIX(GetCombinerOutputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5008(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23587,13 +23838,13 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5008(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5008(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23607,7 +23858,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5008(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterivNV), .-GL_PREFIX(GetCombinerOutputParameterivNV) @@ -23618,7 +23869,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): GL_PREFIX(GetFinalCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5016(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23628,13 +23879,13 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5016(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23644,7 +23895,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterfvNV), .-GL_PREFIX(GetFinalCombinerInputParameterfvNV) @@ -23655,7 +23906,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): GL_PREFIX(GetFinalCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5024(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23665,13 +23916,13 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5024(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5024(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23681,7 +23932,7 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5024(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterivNV), .-GL_PREFIX(GetFinalCombinerInputParameterivNV) @@ -23692,25 +23943,25 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): GL_PREFIX(ResizeBuffersMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5032(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5032(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5032(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5032(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResizeBuffersMESA), .-GL_PREFIX(ResizeBuffersMESA) @@ -23721,7 +23972,7 @@ GL_PREFIX(ResizeBuffersMESA): GL_PREFIX(WindowPos2dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5040(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23731,13 +23982,13 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5040(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5040(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23747,7 +23998,7 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5040(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dMESA), .-GL_PREFIX(WindowPos2dMESA) @@ -23758,25 +24009,25 @@ GL_PREFIX(WindowPos2dMESA): GL_PREFIX(WindowPos2dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5048(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5048(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5048(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5048(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dvMESA), .-GL_PREFIX(WindowPos2dvMESA) @@ -23787,7 +24038,7 @@ GL_PREFIX(WindowPos2dvMESA): GL_PREFIX(WindowPos2fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5056(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23797,13 +24048,13 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5056(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5056(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23813,7 +24064,7 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5056(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fMESA), .-GL_PREFIX(WindowPos2fMESA) @@ -23824,25 +24075,25 @@ GL_PREFIX(WindowPos2fMESA): GL_PREFIX(WindowPos2fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5064(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5064(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5064(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5064(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fvMESA), .-GL_PREFIX(WindowPos2fvMESA) @@ -23853,7 +24104,7 @@ GL_PREFIX(WindowPos2fvMESA): GL_PREFIX(WindowPos2iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5072(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23863,13 +24114,13 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5072(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5072(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23879,7 +24130,7 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5072(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2iMESA), .-GL_PREFIX(WindowPos2iMESA) @@ -23890,25 +24141,25 @@ GL_PREFIX(WindowPos2iMESA): GL_PREFIX(WindowPos2ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5080(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5080(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5080(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5080(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2ivMESA), .-GL_PREFIX(WindowPos2ivMESA) @@ -23919,7 +24170,7 @@ GL_PREFIX(WindowPos2ivMESA): GL_PREFIX(WindowPos2sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5088(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23929,13 +24180,13 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5088(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5088(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23945,7 +24196,7 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5088(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2sMESA), .-GL_PREFIX(WindowPos2sMESA) @@ -23956,25 +24207,25 @@ GL_PREFIX(WindowPos2sMESA): GL_PREFIX(WindowPos2svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5096(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5096(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5096(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5096(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2svMESA), .-GL_PREFIX(WindowPos2svMESA) @@ -23985,7 +24236,7 @@ GL_PREFIX(WindowPos2svMESA): GL_PREFIX(WindowPos3dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5104(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23997,13 +24248,13 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5104(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5104(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24015,7 +24266,7 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5104(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dMESA), .-GL_PREFIX(WindowPos3dMESA) @@ -24026,25 +24277,25 @@ GL_PREFIX(WindowPos3dMESA): GL_PREFIX(WindowPos3dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5112(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5112(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5112(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5112(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dvMESA), .-GL_PREFIX(WindowPos3dvMESA) @@ -24055,7 +24306,7 @@ GL_PREFIX(WindowPos3dvMESA): GL_PREFIX(WindowPos3fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5120(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24067,13 +24318,13 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5120(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5120(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24085,7 +24336,7 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5120(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fMESA), .-GL_PREFIX(WindowPos3fMESA) @@ -24096,25 +24347,25 @@ GL_PREFIX(WindowPos3fMESA): GL_PREFIX(WindowPos3fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5128(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5128(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5128(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5128(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fvMESA), .-GL_PREFIX(WindowPos3fvMESA) @@ -24125,7 +24376,7 @@ GL_PREFIX(WindowPos3fvMESA): GL_PREFIX(WindowPos3iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5136(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24135,13 +24386,13 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5136(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5136(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24151,7 +24402,7 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5136(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3iMESA), .-GL_PREFIX(WindowPos3iMESA) @@ -24162,25 +24413,25 @@ GL_PREFIX(WindowPos3iMESA): GL_PREFIX(WindowPos3ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5144(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5144(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5144(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5144(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3ivMESA), .-GL_PREFIX(WindowPos3ivMESA) @@ -24191,7 +24442,7 @@ GL_PREFIX(WindowPos3ivMESA): GL_PREFIX(WindowPos3sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5152(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24201,13 +24452,13 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5152(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5152(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24217,7 +24468,7 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5152(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3sMESA), .-GL_PREFIX(WindowPos3sMESA) @@ -24228,25 +24479,25 @@ GL_PREFIX(WindowPos3sMESA): GL_PREFIX(WindowPos3svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5160(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5160(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5160(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5160(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3svMESA), .-GL_PREFIX(WindowPos3svMESA) @@ -24257,7 +24508,7 @@ GL_PREFIX(WindowPos3svMESA): GL_PREFIX(WindowPos4dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5168(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -24271,13 +24522,13 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5168(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5168(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -24291,7 +24542,7 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5168(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dMESA), .-GL_PREFIX(WindowPos4dMESA) @@ -24302,25 +24553,25 @@ GL_PREFIX(WindowPos4dMESA): GL_PREFIX(WindowPos4dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5176(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5176(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5176(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5176(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dvMESA), .-GL_PREFIX(WindowPos4dvMESA) @@ -24331,7 +24582,7 @@ GL_PREFIX(WindowPos4dvMESA): GL_PREFIX(WindowPos4fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5184(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -24345,13 +24596,13 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5184(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5184(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -24365,7 +24616,7 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5184(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fMESA), .-GL_PREFIX(WindowPos4fMESA) @@ -24376,25 +24627,25 @@ GL_PREFIX(WindowPos4fMESA): GL_PREFIX(WindowPos4fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5192(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5192(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5192(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5192(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fvMESA), .-GL_PREFIX(WindowPos4fvMESA) @@ -24405,7 +24656,7 @@ GL_PREFIX(WindowPos4fvMESA): GL_PREFIX(WindowPos4iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5200(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24419,13 +24670,13 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5200(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5200(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24439,7 +24690,7 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5200(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4iMESA), .-GL_PREFIX(WindowPos4iMESA) @@ -24450,25 +24701,25 @@ GL_PREFIX(WindowPos4iMESA): GL_PREFIX(WindowPos4ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5208(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5208(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5208(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5208(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4ivMESA), .-GL_PREFIX(WindowPos4ivMESA) @@ -24479,7 +24730,7 @@ GL_PREFIX(WindowPos4ivMESA): GL_PREFIX(WindowPos4sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5216(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24493,13 +24744,13 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5216(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5216(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24513,7 +24764,7 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5216(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4sMESA), .-GL_PREFIX(WindowPos4sMESA) @@ -24524,37 +24775,37 @@ GL_PREFIX(WindowPos4sMESA): GL_PREFIX(WindowPos4svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5224(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5224(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5224(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5224(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_654) - .type GL_PREFIX(_dispatch_stub_654), @function - HIDDEN(GL_PREFIX(_dispatch_stub_654)) -GL_PREFIX(_dispatch_stub_654): + .globl GL_PREFIX(_dispatch_stub_661) + .type GL_PREFIX(_dispatch_stub_661), @function + HIDDEN(GL_PREFIX(_dispatch_stub_661)) +GL_PREFIX(_dispatch_stub_661): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5232(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24568,13 +24819,13 @@ GL_PREFIX(_dispatch_stub_654): popq %rdx popq %rsi popq %rdi - movq 5232(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5232(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24588,19 +24839,19 @@ GL_PREFIX(_dispatch_stub_654): popq %rdx popq %rsi popq %rdi - movq 5232(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_654), .-GL_PREFIX(_dispatch_stub_654) + .size GL_PREFIX(_dispatch_stub_661), .-GL_PREFIX(_dispatch_stub_661) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_655) - .type GL_PREFIX(_dispatch_stub_655), @function - HIDDEN(GL_PREFIX(_dispatch_stub_655)) -GL_PREFIX(_dispatch_stub_655): + .globl GL_PREFIX(_dispatch_stub_662) + .type GL_PREFIX(_dispatch_stub_662), @function + HIDDEN(GL_PREFIX(_dispatch_stub_662)) +GL_PREFIX(_dispatch_stub_662): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5240(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24618,13 +24869,13 @@ GL_PREFIX(_dispatch_stub_655): popq %rdx popq %rsi popq %rdi - movq 5240(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5240(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24642,19 +24893,19 @@ GL_PREFIX(_dispatch_stub_655): popq %rdx popq %rsi popq %rdi - movq 5240(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_655), .-GL_PREFIX(_dispatch_stub_655) + .size GL_PREFIX(_dispatch_stub_662), .-GL_PREFIX(_dispatch_stub_662) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_656) - .type GL_PREFIX(_dispatch_stub_656), @function - HIDDEN(GL_PREFIX(_dispatch_stub_656)) -GL_PREFIX(_dispatch_stub_656): + .globl GL_PREFIX(_dispatch_stub_663) + .type GL_PREFIX(_dispatch_stub_663), @function + HIDDEN(GL_PREFIX(_dispatch_stub_663)) +GL_PREFIX(_dispatch_stub_663): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5248(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24664,13 +24915,13 @@ GL_PREFIX(_dispatch_stub_656): popq %rbp popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5248(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24680,49 +24931,49 @@ GL_PREFIX(_dispatch_stub_656): popq %rbp popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_656), .-GL_PREFIX(_dispatch_stub_656) + .size GL_PREFIX(_dispatch_stub_663), .-GL_PREFIX(_dispatch_stub_663) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_657) - .type GL_PREFIX(_dispatch_stub_657), @function - HIDDEN(GL_PREFIX(_dispatch_stub_657)) -GL_PREFIX(_dispatch_stub_657): + .globl GL_PREFIX(_dispatch_stub_664) + .type GL_PREFIX(_dispatch_stub_664), @function + HIDDEN(GL_PREFIX(_dispatch_stub_664)) +GL_PREFIX(_dispatch_stub_664): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5256(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5256(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5256(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5256(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_657), .-GL_PREFIX(_dispatch_stub_657) + .size GL_PREFIX(_dispatch_stub_664), .-GL_PREFIX(_dispatch_stub_664) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_658) - .type GL_PREFIX(_dispatch_stub_658), @function - HIDDEN(GL_PREFIX(_dispatch_stub_658)) -GL_PREFIX(_dispatch_stub_658): + .globl GL_PREFIX(_dispatch_stub_665) + .type GL_PREFIX(_dispatch_stub_665), @function + HIDDEN(GL_PREFIX(_dispatch_stub_665)) +GL_PREFIX(_dispatch_stub_665): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5264(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24732,13 +24983,13 @@ GL_PREFIX(_dispatch_stub_658): popq %rbp popq %rsi popq %rdi - movq 5264(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5264(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24748,19 +24999,19 @@ GL_PREFIX(_dispatch_stub_658): popq %rbp popq %rsi popq %rdi - movq 5264(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_658), .-GL_PREFIX(_dispatch_stub_658) + .size GL_PREFIX(_dispatch_stub_665), .-GL_PREFIX(_dispatch_stub_665) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_659) - .type GL_PREFIX(_dispatch_stub_659), @function - HIDDEN(GL_PREFIX(_dispatch_stub_659)) -GL_PREFIX(_dispatch_stub_659): + .globl GL_PREFIX(_dispatch_stub_666) + .type GL_PREFIX(_dispatch_stub_666), @function + HIDDEN(GL_PREFIX(_dispatch_stub_666)) +GL_PREFIX(_dispatch_stub_666): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5272(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24770,13 +25021,13 @@ GL_PREFIX(_dispatch_stub_659): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5272(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24786,49 +25037,49 @@ GL_PREFIX(_dispatch_stub_659): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_659), .-GL_PREFIX(_dispatch_stub_659) + .size GL_PREFIX(_dispatch_stub_666), .-GL_PREFIX(_dispatch_stub_666) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_660) - .type GL_PREFIX(_dispatch_stub_660), @function - HIDDEN(GL_PREFIX(_dispatch_stub_660)) -GL_PREFIX(_dispatch_stub_660): + .globl GL_PREFIX(_dispatch_stub_667) + .type GL_PREFIX(_dispatch_stub_667), @function + HIDDEN(GL_PREFIX(_dispatch_stub_667)) +GL_PREFIX(_dispatch_stub_667): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5280(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5280(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5280(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5280(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_660), .-GL_PREFIX(_dispatch_stub_660) + .size GL_PREFIX(_dispatch_stub_667), .-GL_PREFIX(_dispatch_stub_667) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_661) - .type GL_PREFIX(_dispatch_stub_661), @function - HIDDEN(GL_PREFIX(_dispatch_stub_661)) -GL_PREFIX(_dispatch_stub_661): + .globl GL_PREFIX(_dispatch_stub_668) + .type GL_PREFIX(_dispatch_stub_668), @function + HIDDEN(GL_PREFIX(_dispatch_stub_668)) +GL_PREFIX(_dispatch_stub_668): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5288(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24838,13 +25089,13 @@ GL_PREFIX(_dispatch_stub_661): popq %rbp popq %rsi popq %rdi - movq 5288(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5288(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24854,40 +25105,40 @@ GL_PREFIX(_dispatch_stub_661): popq %rbp popq %rsi popq %rdi - movq 5288(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_661), .-GL_PREFIX(_dispatch_stub_661) + .size GL_PREFIX(_dispatch_stub_668), .-GL_PREFIX(_dispatch_stub_668) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_662) - .type GL_PREFIX(_dispatch_stub_662), @function - HIDDEN(GL_PREFIX(_dispatch_stub_662)) -GL_PREFIX(_dispatch_stub_662): + .globl GL_PREFIX(_dispatch_stub_669) + .type GL_PREFIX(_dispatch_stub_669), @function + HIDDEN(GL_PREFIX(_dispatch_stub_669)) +GL_PREFIX(_dispatch_stub_669): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5296(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5296(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5296(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5296(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_662), .-GL_PREFIX(_dispatch_stub_662) + .size GL_PREFIX(_dispatch_stub_669), .-GL_PREFIX(_dispatch_stub_669) .p2align 4,,15 .globl GL_PREFIX(AreProgramsResidentNV) @@ -24895,7 +25146,7 @@ GL_PREFIX(_dispatch_stub_662): GL_PREFIX(AreProgramsResidentNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5304(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24905,13 +25156,13 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5304(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5304(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24921,7 +25172,7 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5304(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AreProgramsResidentNV), .-GL_PREFIX(AreProgramsResidentNV) @@ -24932,7 +25183,7 @@ GL_PREFIX(AreProgramsResidentNV): GL_PREFIX(BindProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5312(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24942,13 +25193,13 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5312(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5312(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24958,7 +25209,7 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5312(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindProgramNV), .-GL_PREFIX(BindProgramNV) @@ -24969,7 +25220,7 @@ GL_PREFIX(BindProgramNV): GL_PREFIX(DeleteProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5320(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24979,13 +25230,13 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5320(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24995,7 +25246,7 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteProgramsNV), .-GL_PREFIX(DeleteProgramsNV) @@ -25006,7 +25257,7 @@ GL_PREFIX(DeleteProgramsNV): GL_PREFIX(ExecuteProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5328(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25016,13 +25267,13 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5328(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5328(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25032,7 +25283,7 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5328(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ExecuteProgramNV), .-GL_PREFIX(ExecuteProgramNV) @@ -25043,7 +25294,7 @@ GL_PREFIX(ExecuteProgramNV): GL_PREFIX(GenProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5336(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25053,13 +25304,13 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5336(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5336(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25069,7 +25320,7 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5336(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenProgramsNV), .-GL_PREFIX(GenProgramsNV) @@ -25080,7 +25331,7 @@ GL_PREFIX(GenProgramsNV): GL_PREFIX(GetProgramParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5344(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25094,13 +25345,13 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5344(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5344(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25114,7 +25365,7 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5344(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterdvNV), .-GL_PREFIX(GetProgramParameterdvNV) @@ -25125,7 +25376,7 @@ GL_PREFIX(GetProgramParameterdvNV): GL_PREFIX(GetProgramParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5352(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25139,13 +25390,13 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5352(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5352(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25159,7 +25410,7 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5352(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterfvNV), .-GL_PREFIX(GetProgramParameterfvNV) @@ -25170,7 +25421,7 @@ GL_PREFIX(GetProgramParameterfvNV): GL_PREFIX(GetProgramStringNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5360(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25180,13 +25431,13 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5360(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5360(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25196,7 +25447,7 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5360(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramStringNV), .-GL_PREFIX(GetProgramStringNV) @@ -25207,7 +25458,7 @@ GL_PREFIX(GetProgramStringNV): GL_PREFIX(GetProgramivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5368(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25217,13 +25468,13 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5368(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25233,7 +25484,7 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramivNV), .-GL_PREFIX(GetProgramivNV) @@ -25244,7 +25495,7 @@ GL_PREFIX(GetProgramivNV): GL_PREFIX(GetTrackMatrixivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5376(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25258,13 +25509,13 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5376(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5376(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25278,7 +25529,7 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5376(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTrackMatrixivNV), .-GL_PREFIX(GetTrackMatrixivNV) @@ -25289,7 +25540,7 @@ GL_PREFIX(GetTrackMatrixivNV): GL_PREFIX(GetVertexAttribPointervNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5384(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25299,13 +25550,13 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5384(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25315,7 +25566,7 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribPointervNV), .-GL_PREFIX(GetVertexAttribPointervNV) @@ -25326,7 +25577,7 @@ GL_PREFIX(GetVertexAttribPointervNV): GL_PREFIX(GetVertexAttribdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5392(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25336,13 +25587,13 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5392(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5392(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25352,7 +25603,7 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5392(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribdvNV), .-GL_PREFIX(GetVertexAttribdvNV) @@ -25363,7 +25614,7 @@ GL_PREFIX(GetVertexAttribdvNV): GL_PREFIX(GetVertexAttribfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5400(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25373,13 +25624,13 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5400(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25389,7 +25640,7 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribfvNV), .-GL_PREFIX(GetVertexAttribfvNV) @@ -25400,7 +25651,7 @@ GL_PREFIX(GetVertexAttribfvNV): GL_PREFIX(GetVertexAttribivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5408(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25410,13 +25661,13 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5408(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5408(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25426,7 +25677,7 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5408(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribivNV), .-GL_PREFIX(GetVertexAttribivNV) @@ -25437,25 +25688,25 @@ GL_PREFIX(GetVertexAttribivNV): GL_PREFIX(IsProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5416(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5416(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5416(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5416(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsProgramNV), .-GL_PREFIX(IsProgramNV) @@ -25466,7 +25717,7 @@ GL_PREFIX(IsProgramNV): GL_PREFIX(LoadProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5424(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25480,13 +25731,13 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5424(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5424(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25500,7 +25751,7 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5424(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadProgramNV), .-GL_PREFIX(LoadProgramNV) @@ -25511,7 +25762,7 @@ GL_PREFIX(LoadProgramNV): GL_PREFIX(ProgramParameters4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5432(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25525,13 +25776,13 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5432(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25545,7 +25796,7 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4dvNV), .-GL_PREFIX(ProgramParameters4dvNV) @@ -25556,7 +25807,7 @@ GL_PREFIX(ProgramParameters4dvNV): GL_PREFIX(ProgramParameters4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5440(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25570,13 +25821,13 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5440(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5440(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25590,7 +25841,7 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5440(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4fvNV), .-GL_PREFIX(ProgramParameters4fvNV) @@ -25601,7 +25852,7 @@ GL_PREFIX(ProgramParameters4fvNV): GL_PREFIX(RequestResidentProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5448(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25611,13 +25862,13 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5448(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25627,7 +25878,7 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RequestResidentProgramsNV), .-GL_PREFIX(RequestResidentProgramsNV) @@ -25638,7 +25889,7 @@ GL_PREFIX(RequestResidentProgramsNV): GL_PREFIX(TrackMatrixNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5456(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25652,13 +25903,13 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5456(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25672,7 +25923,7 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TrackMatrixNV), .-GL_PREFIX(TrackMatrixNV) @@ -25683,7 +25934,7 @@ GL_PREFIX(TrackMatrixNV): GL_PREFIX(VertexAttrib1dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5464(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25693,13 +25944,13 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5464(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5464(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25709,7 +25960,7 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5464(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dNV), .-GL_PREFIX(VertexAttrib1dNV) @@ -25720,7 +25971,7 @@ GL_PREFIX(VertexAttrib1dNV): GL_PREFIX(VertexAttrib1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5472(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25730,13 +25981,13 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5472(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5472(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25746,7 +25997,7 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5472(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dvNV), .-GL_PREFIX(VertexAttrib1dvNV) @@ -25757,7 +26008,7 @@ GL_PREFIX(VertexAttrib1dvNV): GL_PREFIX(VertexAttrib1fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5480(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25767,13 +26018,13 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5480(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5480(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25783,7 +26034,7 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5480(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fNV), .-GL_PREFIX(VertexAttrib1fNV) @@ -25794,7 +26045,7 @@ GL_PREFIX(VertexAttrib1fNV): GL_PREFIX(VertexAttrib1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5488(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25804,13 +26055,13 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5488(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5488(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25820,7 +26071,7 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5488(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fvNV), .-GL_PREFIX(VertexAttrib1fvNV) @@ -25831,7 +26082,7 @@ GL_PREFIX(VertexAttrib1fvNV): GL_PREFIX(VertexAttrib1sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5496(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25841,13 +26092,13 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5496(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25857,7 +26108,7 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1sNV), .-GL_PREFIX(VertexAttrib1sNV) @@ -25868,7 +26119,7 @@ GL_PREFIX(VertexAttrib1sNV): GL_PREFIX(VertexAttrib1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5504(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25878,13 +26129,13 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5504(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5504(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25894,7 +26145,7 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5504(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1svNV), .-GL_PREFIX(VertexAttrib1svNV) @@ -25905,7 +26156,7 @@ GL_PREFIX(VertexAttrib1svNV): GL_PREFIX(VertexAttrib2dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5512(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25917,13 +26168,13 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5512(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5512(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25935,7 +26186,7 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5512(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dNV), .-GL_PREFIX(VertexAttrib2dNV) @@ -25946,7 +26197,7 @@ GL_PREFIX(VertexAttrib2dNV): GL_PREFIX(VertexAttrib2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5520(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25956,13 +26207,13 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5520(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5520(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25972,7 +26223,7 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5520(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dvNV), .-GL_PREFIX(VertexAttrib2dvNV) @@ -25983,7 +26234,7 @@ GL_PREFIX(VertexAttrib2dvNV): GL_PREFIX(VertexAttrib2fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5528(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25995,13 +26246,13 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5528(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5528(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26013,7 +26264,7 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5528(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fNV), .-GL_PREFIX(VertexAttrib2fNV) @@ -26024,7 +26275,7 @@ GL_PREFIX(VertexAttrib2fNV): GL_PREFIX(VertexAttrib2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5536(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26034,13 +26285,13 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5536(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5536(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26050,7 +26301,7 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5536(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fvNV), .-GL_PREFIX(VertexAttrib2fvNV) @@ -26061,7 +26312,7 @@ GL_PREFIX(VertexAttrib2fvNV): GL_PREFIX(VertexAttrib2sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5544(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26071,13 +26322,13 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5544(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26087,7 +26338,7 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2sNV), .-GL_PREFIX(VertexAttrib2sNV) @@ -26098,7 +26349,7 @@ GL_PREFIX(VertexAttrib2sNV): GL_PREFIX(VertexAttrib2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5552(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26108,13 +26359,13 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5552(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26124,7 +26375,7 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2svNV), .-GL_PREFIX(VertexAttrib2svNV) @@ -26135,7 +26386,7 @@ GL_PREFIX(VertexAttrib2svNV): GL_PREFIX(VertexAttrib3dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5560(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26149,13 +26400,13 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5560(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5560(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26169,7 +26420,7 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5560(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dNV), .-GL_PREFIX(VertexAttrib3dNV) @@ -26180,7 +26431,7 @@ GL_PREFIX(VertexAttrib3dNV): GL_PREFIX(VertexAttrib3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5568(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26190,13 +26441,13 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5568(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26206,7 +26457,7 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dvNV), .-GL_PREFIX(VertexAttrib3dvNV) @@ -26217,7 +26468,7 @@ GL_PREFIX(VertexAttrib3dvNV): GL_PREFIX(VertexAttrib3fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5576(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26231,13 +26482,13 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5576(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5576(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26251,7 +26502,7 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5576(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fNV), .-GL_PREFIX(VertexAttrib3fNV) @@ -26262,7 +26513,7 @@ GL_PREFIX(VertexAttrib3fNV): GL_PREFIX(VertexAttrib3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5584(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26272,13 +26523,13 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5584(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26288,7 +26539,7 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fvNV), .-GL_PREFIX(VertexAttrib3fvNV) @@ -26299,7 +26550,7 @@ GL_PREFIX(VertexAttrib3fvNV): GL_PREFIX(VertexAttrib3sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5592(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26313,13 +26564,13 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5592(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26333,7 +26584,7 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3sNV), .-GL_PREFIX(VertexAttrib3sNV) @@ -26344,7 +26595,7 @@ GL_PREFIX(VertexAttrib3sNV): GL_PREFIX(VertexAttrib3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5600(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26354,13 +26605,13 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5600(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26370,7 +26621,7 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3svNV), .-GL_PREFIX(VertexAttrib3svNV) @@ -26381,7 +26632,7 @@ GL_PREFIX(VertexAttrib3svNV): GL_PREFIX(VertexAttrib4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5608(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26397,13 +26648,13 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5608(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5608(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26419,7 +26670,7 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5608(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dNV), .-GL_PREFIX(VertexAttrib4dNV) @@ -26430,7 +26681,7 @@ GL_PREFIX(VertexAttrib4dNV): GL_PREFIX(VertexAttrib4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5616(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26440,13 +26691,13 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5616(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26456,7 +26707,7 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dvNV), .-GL_PREFIX(VertexAttrib4dvNV) @@ -26467,7 +26718,7 @@ GL_PREFIX(VertexAttrib4dvNV): GL_PREFIX(VertexAttrib4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5624(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26483,13 +26734,13 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5624(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5624(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26505,7 +26756,7 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5624(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fNV), .-GL_PREFIX(VertexAttrib4fNV) @@ -26516,7 +26767,7 @@ GL_PREFIX(VertexAttrib4fNV): GL_PREFIX(VertexAttrib4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5632(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26526,13 +26777,13 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5632(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26542,7 +26793,7 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fvNV), .-GL_PREFIX(VertexAttrib4fvNV) @@ -26553,7 +26804,7 @@ GL_PREFIX(VertexAttrib4fvNV): GL_PREFIX(VertexAttrib4sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5640(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26567,13 +26818,13 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5640(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26587,7 +26838,7 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4sNV), .-GL_PREFIX(VertexAttrib4sNV) @@ -26598,7 +26849,7 @@ GL_PREFIX(VertexAttrib4sNV): GL_PREFIX(VertexAttrib4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5648(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26608,13 +26859,13 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5648(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26624,7 +26875,7 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4svNV), .-GL_PREFIX(VertexAttrib4svNV) @@ -26635,7 +26886,7 @@ GL_PREFIX(VertexAttrib4svNV): GL_PREFIX(VertexAttrib4ubNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5656(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26649,13 +26900,13 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5656(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5656(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26669,7 +26920,7 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5656(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubNV), .-GL_PREFIX(VertexAttrib4ubNV) @@ -26680,7 +26931,7 @@ GL_PREFIX(VertexAttrib4ubNV): GL_PREFIX(VertexAttrib4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5664(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26690,13 +26941,13 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5664(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5664(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26706,7 +26957,7 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5664(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubvNV), .-GL_PREFIX(VertexAttrib4ubvNV) @@ -26717,7 +26968,7 @@ GL_PREFIX(VertexAttrib4ubvNV): GL_PREFIX(VertexAttribPointerNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5672(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26731,13 +26982,13 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5672(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5672(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26751,7 +27002,7 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5672(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribPointerNV), .-GL_PREFIX(VertexAttribPointerNV) @@ -26762,7 +27013,7 @@ GL_PREFIX(VertexAttribPointerNV): GL_PREFIX(VertexAttribs1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5680(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26772,13 +27023,13 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5680(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26788,7 +27039,7 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1dvNV), .-GL_PREFIX(VertexAttribs1dvNV) @@ -26799,7 +27050,7 @@ GL_PREFIX(VertexAttribs1dvNV): GL_PREFIX(VertexAttribs1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5688(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26809,13 +27060,13 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5688(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26825,7 +27076,7 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1fvNV), .-GL_PREFIX(VertexAttribs1fvNV) @@ -26836,7 +27087,7 @@ GL_PREFIX(VertexAttribs1fvNV): GL_PREFIX(VertexAttribs1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5696(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26846,13 +27097,13 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5696(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26862,7 +27113,7 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1svNV), .-GL_PREFIX(VertexAttribs1svNV) @@ -26873,7 +27124,7 @@ GL_PREFIX(VertexAttribs1svNV): GL_PREFIX(VertexAttribs2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5704(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26883,13 +27134,13 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5704(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26899,7 +27150,7 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2dvNV), .-GL_PREFIX(VertexAttribs2dvNV) @@ -26910,7 +27161,7 @@ GL_PREFIX(VertexAttribs2dvNV): GL_PREFIX(VertexAttribs2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5712(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26920,13 +27171,13 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5712(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26936,7 +27187,7 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2fvNV), .-GL_PREFIX(VertexAttribs2fvNV) @@ -26947,7 +27198,7 @@ GL_PREFIX(VertexAttribs2fvNV): GL_PREFIX(VertexAttribs2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5720(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26957,13 +27208,13 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5720(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5720(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26973,7 +27224,7 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5720(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2svNV), .-GL_PREFIX(VertexAttribs2svNV) @@ -26984,7 +27235,7 @@ GL_PREFIX(VertexAttribs2svNV): GL_PREFIX(VertexAttribs3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5728(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26994,13 +27245,13 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5728(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27010,7 +27261,7 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3dvNV), .-GL_PREFIX(VertexAttribs3dvNV) @@ -27021,7 +27272,7 @@ GL_PREFIX(VertexAttribs3dvNV): GL_PREFIX(VertexAttribs3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5736(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27031,13 +27282,13 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5736(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27047,7 +27298,7 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3fvNV), .-GL_PREFIX(VertexAttribs3fvNV) @@ -27058,7 +27309,7 @@ GL_PREFIX(VertexAttribs3fvNV): GL_PREFIX(VertexAttribs3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5744(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27068,13 +27319,13 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5744(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27084,7 +27335,7 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3svNV), .-GL_PREFIX(VertexAttribs3svNV) @@ -27095,7 +27346,7 @@ GL_PREFIX(VertexAttribs3svNV): GL_PREFIX(VertexAttribs4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5752(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27105,13 +27356,13 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5752(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27121,7 +27372,7 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4dvNV), .-GL_PREFIX(VertexAttribs4dvNV) @@ -27132,7 +27383,7 @@ GL_PREFIX(VertexAttribs4dvNV): GL_PREFIX(VertexAttribs4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5760(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27142,13 +27393,13 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5760(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27158,7 +27409,7 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4fvNV), .-GL_PREFIX(VertexAttribs4fvNV) @@ -27169,7 +27420,7 @@ GL_PREFIX(VertexAttribs4fvNV): GL_PREFIX(VertexAttribs4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5768(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27179,13 +27430,13 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5768(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27195,7 +27446,7 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4svNV), .-GL_PREFIX(VertexAttribs4svNV) @@ -27206,7 +27457,7 @@ GL_PREFIX(VertexAttribs4svNV): GL_PREFIX(VertexAttribs4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5776(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27216,13 +27467,13 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 5776(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5776(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27232,7 +27483,7 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 5776(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4ubvNV), .-GL_PREFIX(VertexAttribs4ubvNV) @@ -27243,7 +27494,7 @@ GL_PREFIX(VertexAttribs4ubvNV): GL_PREFIX(GetTexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5784(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27253,13 +27504,13 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5784(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27269,7 +27520,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterfvATI), .-GL_PREFIX(GetTexBumpParameterfvATI) @@ -27280,7 +27531,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): GL_PREFIX(GetTexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5792(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27290,13 +27541,13 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5792(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27306,7 +27557,7 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterivATI), .-GL_PREFIX(GetTexBumpParameterivATI) @@ -27317,7 +27568,7 @@ GL_PREFIX(GetTexBumpParameterivATI): GL_PREFIX(TexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5800(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27327,13 +27578,13 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5800(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27343,7 +27594,7 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterfvATI), .-GL_PREFIX(TexBumpParameterfvATI) @@ -27354,7 +27605,7 @@ GL_PREFIX(TexBumpParameterfvATI): GL_PREFIX(TexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5808(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27364,13 +27615,13 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5808(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5808(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27380,7 +27631,7 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5808(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterivATI), .-GL_PREFIX(TexBumpParameterivATI) @@ -27391,7 +27642,7 @@ GL_PREFIX(TexBumpParameterivATI): GL_PREFIX(AlphaFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5816(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27409,13 +27660,13 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5816(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27433,7 +27684,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp1ATI), .-GL_PREFIX(AlphaFragmentOp1ATI) @@ -27444,7 +27695,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): GL_PREFIX(AlphaFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5824(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27462,13 +27713,13 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5824(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5824(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27486,7 +27737,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5824(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp2ATI), .-GL_PREFIX(AlphaFragmentOp2ATI) @@ -27497,7 +27748,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): GL_PREFIX(AlphaFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5832(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27515,13 +27766,13 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5832(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27539,7 +27790,7 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp3ATI), .-GL_PREFIX(AlphaFragmentOp3ATI) @@ -27550,25 +27801,25 @@ GL_PREFIX(AlphaFragmentOp3ATI): GL_PREFIX(BeginFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5840(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5840(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5840(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5840(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginFragmentShaderATI), .-GL_PREFIX(BeginFragmentShaderATI) @@ -27579,25 +27830,25 @@ GL_PREFIX(BeginFragmentShaderATI): GL_PREFIX(BindFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5848(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5848(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5848(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5848(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragmentShaderATI), .-GL_PREFIX(BindFragmentShaderATI) @@ -27608,7 +27859,7 @@ GL_PREFIX(BindFragmentShaderATI): GL_PREFIX(ColorFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5856(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27626,13 +27877,13 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5856(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27650,7 +27901,7 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp1ATI), .-GL_PREFIX(ColorFragmentOp1ATI) @@ -27661,7 +27912,7 @@ GL_PREFIX(ColorFragmentOp1ATI): GL_PREFIX(ColorFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5864(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27679,13 +27930,13 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5864(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27703,7 +27954,7 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp2ATI), .-GL_PREFIX(ColorFragmentOp2ATI) @@ -27714,7 +27965,7 @@ GL_PREFIX(ColorFragmentOp2ATI): GL_PREFIX(ColorFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5872(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27732,13 +27983,13 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5872(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5872(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27756,7 +28007,7 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5872(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp3ATI), .-GL_PREFIX(ColorFragmentOp3ATI) @@ -27767,25 +28018,25 @@ GL_PREFIX(ColorFragmentOp3ATI): GL_PREFIX(DeleteFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5880(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5880(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5880(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5880(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFragmentShaderATI), .-GL_PREFIX(DeleteFragmentShaderATI) @@ -27796,25 +28047,25 @@ GL_PREFIX(DeleteFragmentShaderATI): GL_PREFIX(EndFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5888(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5888(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5888(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5888(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndFragmentShaderATI), .-GL_PREFIX(EndFragmentShaderATI) @@ -27825,25 +28076,25 @@ GL_PREFIX(EndFragmentShaderATI): GL_PREFIX(GenFragmentShadersATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5896(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5896(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5896(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5896(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFragmentShadersATI), .-GL_PREFIX(GenFragmentShadersATI) @@ -27854,7 +28105,7 @@ GL_PREFIX(GenFragmentShadersATI): GL_PREFIX(PassTexCoordATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5904(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27864,13 +28115,13 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 5904(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5904(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27880,7 +28131,7 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 5904(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PassTexCoordATI), .-GL_PREFIX(PassTexCoordATI) @@ -27891,7 +28142,7 @@ GL_PREFIX(PassTexCoordATI): GL_PREFIX(SampleMapATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5912(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27901,13 +28152,13 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5912(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27917,7 +28168,7 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SampleMapATI), .-GL_PREFIX(SampleMapATI) @@ -27928,7 +28179,7 @@ GL_PREFIX(SampleMapATI): GL_PREFIX(SetFragmentShaderConstantATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5920(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27938,13 +28189,13 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5920(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27954,7 +28205,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SetFragmentShaderConstantATI), .-GL_PREFIX(SetFragmentShaderConstantATI) @@ -27965,7 +28216,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): GL_PREFIX(PointParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5928(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27975,13 +28226,13 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5928(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27991,7 +28242,7 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameteriNV), .-GL_PREFIX(PointParameteriNV) @@ -28002,7 +28253,7 @@ GL_PREFIX(PointParameteriNV): GL_PREFIX(PointParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5936(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28012,13 +28263,13 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5936(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28028,79 +28279,79 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_743) - .type GL_PREFIX(_dispatch_stub_743), @function - HIDDEN(GL_PREFIX(_dispatch_stub_743)) -GL_PREFIX(_dispatch_stub_743): + .globl GL_PREFIX(_dispatch_stub_750) + .type GL_PREFIX(_dispatch_stub_750), @function + HIDDEN(GL_PREFIX(_dispatch_stub_750)) +GL_PREFIX(_dispatch_stub_750): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5944(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5944(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5944(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5944(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_743), .-GL_PREFIX(_dispatch_stub_743) + .size GL_PREFIX(_dispatch_stub_750), .-GL_PREFIX(_dispatch_stub_750) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_744) - .type GL_PREFIX(_dispatch_stub_744), @function - HIDDEN(GL_PREFIX(_dispatch_stub_744)) -GL_PREFIX(_dispatch_stub_744): + .globl GL_PREFIX(_dispatch_stub_751) + .type GL_PREFIX(_dispatch_stub_751), @function + HIDDEN(GL_PREFIX(_dispatch_stub_751)) +GL_PREFIX(_dispatch_stub_751): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5952(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5952(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5952(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5952(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_744), .-GL_PREFIX(_dispatch_stub_744) + .size GL_PREFIX(_dispatch_stub_751), .-GL_PREFIX(_dispatch_stub_751) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_745) - .type GL_PREFIX(_dispatch_stub_745), @function - HIDDEN(GL_PREFIX(_dispatch_stub_745)) -GL_PREFIX(_dispatch_stub_745): + .globl GL_PREFIX(_dispatch_stub_752) + .type GL_PREFIX(_dispatch_stub_752), @function + HIDDEN(GL_PREFIX(_dispatch_stub_752)) +GL_PREFIX(_dispatch_stub_752): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5960(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28110,13 +28361,13 @@ GL_PREFIX(_dispatch_stub_745): popq %rbp popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5960(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28126,19 +28377,19 @@ GL_PREFIX(_dispatch_stub_745): popq %rbp popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_745), .-GL_PREFIX(_dispatch_stub_745) + .size GL_PREFIX(_dispatch_stub_752), .-GL_PREFIX(_dispatch_stub_752) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_746) - .type GL_PREFIX(_dispatch_stub_746), @function - HIDDEN(GL_PREFIX(_dispatch_stub_746)) -GL_PREFIX(_dispatch_stub_746): + .globl GL_PREFIX(_dispatch_stub_753) + .type GL_PREFIX(_dispatch_stub_753), @function + HIDDEN(GL_PREFIX(_dispatch_stub_753)) +GL_PREFIX(_dispatch_stub_753): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5968(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28148,13 +28399,13 @@ GL_PREFIX(_dispatch_stub_746): popq %rbp popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5968(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28164,40 +28415,40 @@ GL_PREFIX(_dispatch_stub_746): popq %rbp popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_746), .-GL_PREFIX(_dispatch_stub_746) + .size GL_PREFIX(_dispatch_stub_753), .-GL_PREFIX(_dispatch_stub_753) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_747) - .type GL_PREFIX(_dispatch_stub_747), @function - HIDDEN(GL_PREFIX(_dispatch_stub_747)) -GL_PREFIX(_dispatch_stub_747): + .globl GL_PREFIX(_dispatch_stub_754) + .type GL_PREFIX(_dispatch_stub_754), @function + HIDDEN(GL_PREFIX(_dispatch_stub_754)) +GL_PREFIX(_dispatch_stub_754): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5976(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5976(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5976(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5976(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_747), .-GL_PREFIX(_dispatch_stub_747) + .size GL_PREFIX(_dispatch_stub_754), .-GL_PREFIX(_dispatch_stub_754) .p2align 4,,15 .globl GL_PREFIX(GetProgramNamedParameterdvNV) @@ -28205,7 +28456,7 @@ GL_PREFIX(_dispatch_stub_747): GL_PREFIX(GetProgramNamedParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5984(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28219,13 +28470,13 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5984(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28239,7 +28490,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterdvNV), .-GL_PREFIX(GetProgramNamedParameterdvNV) @@ -28250,7 +28501,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): GL_PREFIX(GetProgramNamedParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5992(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28264,13 +28515,13 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5992(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5992(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28284,7 +28535,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5992(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterfvNV), .-GL_PREFIX(GetProgramNamedParameterfvNV) @@ -28295,7 +28546,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): GL_PREFIX(ProgramNamedParameter4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6000(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -28315,13 +28566,13 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6000(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6000(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -28341,7 +28592,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6000(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dNV), .-GL_PREFIX(ProgramNamedParameter4dNV) @@ -28352,7 +28603,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): GL_PREFIX(ProgramNamedParameter4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6008(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28366,13 +28617,13 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6008(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28386,7 +28637,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dvNV), .-GL_PREFIX(ProgramNamedParameter4dvNV) @@ -28397,7 +28648,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): GL_PREFIX(ProgramNamedParameter4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6016(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -28417,13 +28668,13 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6016(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6016(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -28443,7 +28694,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6016(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fNV), .-GL_PREFIX(ProgramNamedParameter4fNV) @@ -28454,7 +28705,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): GL_PREFIX(ProgramNamedParameter4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6024(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28468,13 +28719,13 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6024(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28488,19 +28739,19 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fvNV), .-GL_PREFIX(ProgramNamedParameter4fvNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_754) - .type GL_PREFIX(_dispatch_stub_754), @function - HIDDEN(GL_PREFIX(_dispatch_stub_754)) -GL_PREFIX(_dispatch_stub_754): + .globl GL_PREFIX(_dispatch_stub_761) + .type GL_PREFIX(_dispatch_stub_761), @function + HIDDEN(GL_PREFIX(_dispatch_stub_761)) +GL_PREFIX(_dispatch_stub_761): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6032(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28510,13 +28761,13 @@ GL_PREFIX(_dispatch_stub_754): popq %rbp popq %rsi popq %rdi - movq 6032(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6032(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28526,19 +28777,19 @@ GL_PREFIX(_dispatch_stub_754): popq %rbp popq %rsi popq %rdi - movq 6032(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_754), .-GL_PREFIX(_dispatch_stub_754) + .size GL_PREFIX(_dispatch_stub_761), .-GL_PREFIX(_dispatch_stub_761) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_755) - .type GL_PREFIX(_dispatch_stub_755), @function - HIDDEN(GL_PREFIX(_dispatch_stub_755)) -GL_PREFIX(_dispatch_stub_755): + .globl GL_PREFIX(_dispatch_stub_762) + .type GL_PREFIX(_dispatch_stub_762), @function + HIDDEN(GL_PREFIX(_dispatch_stub_762)) +GL_PREFIX(_dispatch_stub_762): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6040(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28548,13 +28799,13 @@ GL_PREFIX(_dispatch_stub_755): popq %rbp popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6040(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28564,10 +28815,10 @@ GL_PREFIX(_dispatch_stub_755): popq %rbp popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_755), .-GL_PREFIX(_dispatch_stub_755) + .size GL_PREFIX(_dispatch_stub_762), .-GL_PREFIX(_dispatch_stub_762) .p2align 4,,15 .globl GL_PREFIX(BindFramebufferEXT) @@ -28575,7 +28826,7 @@ GL_PREFIX(_dispatch_stub_755): GL_PREFIX(BindFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6048(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28585,13 +28836,13 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6048(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28601,7 +28852,7 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFramebufferEXT), .-GL_PREFIX(BindFramebufferEXT) @@ -28612,7 +28863,7 @@ GL_PREFIX(BindFramebufferEXT): GL_PREFIX(BindRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6056(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28622,13 +28873,13 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6056(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28638,7 +28889,7 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindRenderbufferEXT), .-GL_PREFIX(BindRenderbufferEXT) @@ -28649,25 +28900,25 @@ GL_PREFIX(BindRenderbufferEXT): GL_PREFIX(CheckFramebufferStatusEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6064(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6064(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6064(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6064(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CheckFramebufferStatusEXT), .-GL_PREFIX(CheckFramebufferStatusEXT) @@ -28678,7 +28929,7 @@ GL_PREFIX(CheckFramebufferStatusEXT): GL_PREFIX(DeleteFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6072(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28688,13 +28939,13 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6072(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6072(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28704,7 +28955,7 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6072(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFramebuffersEXT), .-GL_PREFIX(DeleteFramebuffersEXT) @@ -28715,7 +28966,7 @@ GL_PREFIX(DeleteFramebuffersEXT): GL_PREFIX(DeleteRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6080(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28725,13 +28976,13 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6080(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28741,7 +28992,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteRenderbuffersEXT), .-GL_PREFIX(DeleteRenderbuffersEXT) @@ -28752,7 +29003,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): GL_PREFIX(FramebufferRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6088(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28766,13 +29017,13 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6088(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28786,7 +29037,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferRenderbufferEXT), .-GL_PREFIX(FramebufferRenderbufferEXT) @@ -28797,7 +29048,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): GL_PREFIX(FramebufferTexture1DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6096(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28811,13 +29062,13 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6096(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6096(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28831,7 +29082,7 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6096(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture1DEXT), .-GL_PREFIX(FramebufferTexture1DEXT) @@ -28842,7 +29093,7 @@ GL_PREFIX(FramebufferTexture1DEXT): GL_PREFIX(FramebufferTexture2DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6104(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28856,13 +29107,13 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6104(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28876,7 +29127,7 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture2DEXT), .-GL_PREFIX(FramebufferTexture2DEXT) @@ -28887,7 +29138,7 @@ GL_PREFIX(FramebufferTexture2DEXT): GL_PREFIX(FramebufferTexture3DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6112(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28905,13 +29156,13 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6112(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28929,7 +29180,7 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture3DEXT), .-GL_PREFIX(FramebufferTexture3DEXT) @@ -28940,7 +29191,7 @@ GL_PREFIX(FramebufferTexture3DEXT): GL_PREFIX(GenFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6120(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28950,13 +29201,13 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6120(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28966,7 +29217,7 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFramebuffersEXT), .-GL_PREFIX(GenFramebuffersEXT) @@ -28977,7 +29228,7 @@ GL_PREFIX(GenFramebuffersEXT): GL_PREFIX(GenRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6128(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28987,13 +29238,13 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6128(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29003,7 +29254,7 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenRenderbuffersEXT), .-GL_PREFIX(GenRenderbuffersEXT) @@ -29014,25 +29265,25 @@ GL_PREFIX(GenRenderbuffersEXT): GL_PREFIX(GenerateMipmapEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6136(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6136(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6136(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6136(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenerateMipmapEXT), .-GL_PREFIX(GenerateMipmapEXT) @@ -29043,7 +29294,7 @@ GL_PREFIX(GenerateMipmapEXT): GL_PREFIX(GetFramebufferAttachmentParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6144(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29057,13 +29308,13 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6144(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29077,7 +29328,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFramebufferAttachmentParameterivEXT), .-GL_PREFIX(GetFramebufferAttachmentParameterivEXT) @@ -29088,7 +29339,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): GL_PREFIX(GetRenderbufferParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6152(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29098,13 +29349,13 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6152(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29114,7 +29365,7 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetRenderbufferParameterivEXT), .-GL_PREFIX(GetRenderbufferParameterivEXT) @@ -29125,25 +29376,25 @@ GL_PREFIX(GetRenderbufferParameterivEXT): GL_PREFIX(IsFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6160(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6160(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6160(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6160(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsFramebufferEXT), .-GL_PREFIX(IsFramebufferEXT) @@ -29154,25 +29405,25 @@ GL_PREFIX(IsFramebufferEXT): GL_PREFIX(IsRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6168(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6168(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6168(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6168(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsRenderbufferEXT), .-GL_PREFIX(IsRenderbufferEXT) @@ -29183,7 +29434,7 @@ GL_PREFIX(IsRenderbufferEXT): GL_PREFIX(RenderbufferStorageEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6176(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29197,13 +29448,13 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6176(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29217,19 +29468,19 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_773) - .type GL_PREFIX(_dispatch_stub_773), @function - HIDDEN(GL_PREFIX(_dispatch_stub_773)) -GL_PREFIX(_dispatch_stub_773): + .globl GL_PREFIX(_dispatch_stub_780) + .type GL_PREFIX(_dispatch_stub_780), @function + HIDDEN(GL_PREFIX(_dispatch_stub_780)) +GL_PREFIX(_dispatch_stub_780): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6184(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29247,13 +29498,13 @@ GL_PREFIX(_dispatch_stub_773): popq %rdx popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6184(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29271,19 +29522,19 @@ GL_PREFIX(_dispatch_stub_773): popq %rdx popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_773), .-GL_PREFIX(_dispatch_stub_773) + .size GL_PREFIX(_dispatch_stub_780), .-GL_PREFIX(_dispatch_stub_780) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_774) - .type GL_PREFIX(_dispatch_stub_774), @function - HIDDEN(GL_PREFIX(_dispatch_stub_774)) -GL_PREFIX(_dispatch_stub_774): + .globl GL_PREFIX(_dispatch_stub_781) + .type GL_PREFIX(_dispatch_stub_781), @function + HIDDEN(GL_PREFIX(_dispatch_stub_781)) +GL_PREFIX(_dispatch_stub_781): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6192(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29293,13 +29544,13 @@ GL_PREFIX(_dispatch_stub_774): popq %rdx popq %rsi popq %rdi - movq 6192(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6192(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29309,19 +29560,19 @@ GL_PREFIX(_dispatch_stub_774): popq %rdx popq %rsi popq %rdi - movq 6192(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_774), .-GL_PREFIX(_dispatch_stub_774) + .size GL_PREFIX(_dispatch_stub_781), .-GL_PREFIX(_dispatch_stub_781) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_775) - .type GL_PREFIX(_dispatch_stub_775), @function - HIDDEN(GL_PREFIX(_dispatch_stub_775)) -GL_PREFIX(_dispatch_stub_775): + .globl GL_PREFIX(_dispatch_stub_782) + .type GL_PREFIX(_dispatch_stub_782), @function + HIDDEN(GL_PREFIX(_dispatch_stub_782)) +GL_PREFIX(_dispatch_stub_782): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6200(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29331,13 +29582,13 @@ GL_PREFIX(_dispatch_stub_775): popq %rdx popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6200(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29347,10 +29598,10 @@ GL_PREFIX(_dispatch_stub_775): popq %rdx popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_775), .-GL_PREFIX(_dispatch_stub_775) + .size GL_PREFIX(_dispatch_stub_782), .-GL_PREFIX(_dispatch_stub_782) .p2align 4,,15 .globl GL_PREFIX(FramebufferTextureLayerEXT) @@ -29358,7 +29609,7 @@ GL_PREFIX(_dispatch_stub_775): GL_PREFIX(FramebufferTextureLayerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6208(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29372,13 +29623,13 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6208(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29392,7 +29643,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT) @@ -29403,37 +29654,37 @@ GL_PREFIX(FramebufferTextureLayerEXT): GL_PREFIX(ProvokingVertexEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6216(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6216(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6216(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6216(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProvokingVertexEXT), .-GL_PREFIX(ProvokingVertexEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_778) - .type GL_PREFIX(_dispatch_stub_778), @function - HIDDEN(GL_PREFIX(_dispatch_stub_778)) -GL_PREFIX(_dispatch_stub_778): + .globl GL_PREFIX(_dispatch_stub_785) + .type GL_PREFIX(_dispatch_stub_785), @function + HIDDEN(GL_PREFIX(_dispatch_stub_785)) +GL_PREFIX(_dispatch_stub_785): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6224(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29443,13 +29694,13 @@ GL_PREFIX(_dispatch_stub_778): popq %rdx popq %rsi popq %rdi - movq 6224(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6224(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29459,19 +29710,19 @@ GL_PREFIX(_dispatch_stub_778): popq %rdx popq %rsi popq %rdi - movq 6224(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_778), .-GL_PREFIX(_dispatch_stub_778) + .size GL_PREFIX(_dispatch_stub_785), .-GL_PREFIX(_dispatch_stub_785) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_779) - .type GL_PREFIX(_dispatch_stub_779), @function - HIDDEN(GL_PREFIX(_dispatch_stub_779)) -GL_PREFIX(_dispatch_stub_779): + .globl GL_PREFIX(_dispatch_stub_786) + .type GL_PREFIX(_dispatch_stub_786), @function + HIDDEN(GL_PREFIX(_dispatch_stub_786)) +GL_PREFIX(_dispatch_stub_786): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6232(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29481,13 +29732,13 @@ GL_PREFIX(_dispatch_stub_779): popq %rdx popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6232(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29497,19 +29748,19 @@ GL_PREFIX(_dispatch_stub_779): popq %rdx popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_779), .-GL_PREFIX(_dispatch_stub_779) + .size GL_PREFIX(_dispatch_stub_786), .-GL_PREFIX(_dispatch_stub_786) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_780) - .type GL_PREFIX(_dispatch_stub_780), @function - HIDDEN(GL_PREFIX(_dispatch_stub_780)) -GL_PREFIX(_dispatch_stub_780): + .globl GL_PREFIX(_dispatch_stub_787) + .type GL_PREFIX(_dispatch_stub_787), @function + HIDDEN(GL_PREFIX(_dispatch_stub_787)) +GL_PREFIX(_dispatch_stub_787): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6240(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29523,13 +29774,13 @@ GL_PREFIX(_dispatch_stub_780): popq %rdx popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6240(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29543,19 +29794,19 @@ GL_PREFIX(_dispatch_stub_780): popq %rdx popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_780), .-GL_PREFIX(_dispatch_stub_780) + .size GL_PREFIX(_dispatch_stub_787), .-GL_PREFIX(_dispatch_stub_787) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_781) - .type GL_PREFIX(_dispatch_stub_781), @function - HIDDEN(GL_PREFIX(_dispatch_stub_781)) -GL_PREFIX(_dispatch_stub_781): + .globl GL_PREFIX(_dispatch_stub_788) + .type GL_PREFIX(_dispatch_stub_788), @function + HIDDEN(GL_PREFIX(_dispatch_stub_788)) +GL_PREFIX(_dispatch_stub_788): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6248(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29569,13 +29820,13 @@ GL_PREFIX(_dispatch_stub_781): popq %rdx popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6248(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29589,19 +29840,19 @@ GL_PREFIX(_dispatch_stub_781): popq %rdx popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_781), .-GL_PREFIX(_dispatch_stub_781) + .size GL_PREFIX(_dispatch_stub_788), .-GL_PREFIX(_dispatch_stub_788) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_782) - .type GL_PREFIX(_dispatch_stub_782), @function - HIDDEN(GL_PREFIX(_dispatch_stub_782)) -GL_PREFIX(_dispatch_stub_782): + .globl GL_PREFIX(_dispatch_stub_789) + .type GL_PREFIX(_dispatch_stub_789), @function + HIDDEN(GL_PREFIX(_dispatch_stub_789)) +GL_PREFIX(_dispatch_stub_789): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6256(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29615,13 +29866,13 @@ GL_PREFIX(_dispatch_stub_782): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6256(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29635,19 +29886,19 @@ GL_PREFIX(_dispatch_stub_782): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_782), .-GL_PREFIX(_dispatch_stub_782) + .size GL_PREFIX(_dispatch_stub_789), .-GL_PREFIX(_dispatch_stub_789) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_783) - .type GL_PREFIX(_dispatch_stub_783), @function - HIDDEN(GL_PREFIX(_dispatch_stub_783)) -GL_PREFIX(_dispatch_stub_783): + .globl GL_PREFIX(_dispatch_stub_790) + .type GL_PREFIX(_dispatch_stub_790), @function + HIDDEN(GL_PREFIX(_dispatch_stub_790)) +GL_PREFIX(_dispatch_stub_790): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6264(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29657,13 +29908,13 @@ GL_PREFIX(_dispatch_stub_783): popq %rdx popq %rsi popq %rdi - movq 6264(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6264(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29673,19 +29924,19 @@ GL_PREFIX(_dispatch_stub_783): popq %rdx popq %rsi popq %rdi - movq 6264(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_783), .-GL_PREFIX(_dispatch_stub_783) + .size GL_PREFIX(_dispatch_stub_790), .-GL_PREFIX(_dispatch_stub_790) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_784) - .type GL_PREFIX(_dispatch_stub_784), @function - HIDDEN(GL_PREFIX(_dispatch_stub_784)) -GL_PREFIX(_dispatch_stub_784): + .globl GL_PREFIX(_dispatch_stub_791) + .type GL_PREFIX(_dispatch_stub_791), @function + HIDDEN(GL_PREFIX(_dispatch_stub_791)) +GL_PREFIX(_dispatch_stub_791): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6272(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29695,13 +29946,13 @@ GL_PREFIX(_dispatch_stub_784): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6272(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29711,10 +29962,10 @@ GL_PREFIX(_dispatch_stub_784): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_784), .-GL_PREFIX(_dispatch_stub_784) + .size GL_PREFIX(_dispatch_stub_791), .-GL_PREFIX(_dispatch_stub_791) .globl GL_PREFIX(ArrayElementEXT) ; .set GL_PREFIX(ArrayElementEXT), GL_PREFIX(ArrayElement) .globl GL_PREFIX(BindTextureEXT) ; .set GL_PREFIX(BindTextureEXT), GL_PREFIX(BindTexture) @@ -29969,9 +30220,9 @@ GL_PREFIX(_dispatch_stub_784): .globl GL_PREFIX(IsProgramARB) ; .set GL_PREFIX(IsProgramARB), GL_PREFIX(IsProgramNV) .globl GL_PREFIX(PointParameteri) ; .set GL_PREFIX(PointParameteri), GL_PREFIX(PointParameteriNV) .globl GL_PREFIX(PointParameteriv) ; .set GL_PREFIX(PointParameteriv), GL_PREFIX(PointParameterivNV) - .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_745) - .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_747) - .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_755) + .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_752) + .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_754) + .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_762) .globl GL_PREFIX(BindFramebuffer) ; .set GL_PREFIX(BindFramebuffer), GL_PREFIX(BindFramebufferEXT) .globl GL_PREFIX(BindRenderbuffer) ; .set GL_PREFIX(BindRenderbuffer), GL_PREFIX(BindRenderbufferEXT) .globl GL_PREFIX(CheckFramebufferStatus) ; .set GL_PREFIX(CheckFramebufferStatus), GL_PREFIX(CheckFramebufferStatusEXT) @@ -29989,7 +30240,7 @@ GL_PREFIX(_dispatch_stub_784): .globl GL_PREFIX(IsFramebuffer) ; .set GL_PREFIX(IsFramebuffer), GL_PREFIX(IsFramebufferEXT) .globl GL_PREFIX(IsRenderbuffer) ; .set GL_PREFIX(IsRenderbuffer), GL_PREFIX(IsRenderbufferEXT) .globl GL_PREFIX(RenderbufferStorage) ; .set GL_PREFIX(RenderbufferStorage), GL_PREFIX(RenderbufferStorageEXT) - .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_773) + .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_780) .globl GL_PREFIX(FramebufferTextureLayer) ; .set GL_PREFIX(FramebufferTextureLayer), GL_PREFIX(FramebufferTextureLayerEXT) #if defined(GLX_USE_TLS) && defined(__linux__) diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S index 204175b72d..46794adaf7 100644 --- a/src/mesa/x86/glapi_x86.S +++ b/src/mesa/x86/glapi_x86.S @@ -718,23 +718,30 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(BindVertexArray, _gloffset_BindVertexArray, BindVertexArray@4) GL_STUB(GenVertexArrays, _gloffset_GenVertexArrays, GenVertexArrays@8) GL_STUB(CopyBufferSubData, _gloffset_CopyBufferSubData, CopyBufferSubData@20) + GL_STUB(ClientWaitSync, _gloffset_ClientWaitSync, ClientWaitSync@12) + GL_STUB(DeleteSync, _gloffset_DeleteSync, DeleteSync@4) + GL_STUB(FenceSync, _gloffset_FenceSync, FenceSync@8) + GL_STUB(GetInteger64v, _gloffset_GetInteger64v, GetInteger64v@8) + GL_STUB(GetSynciv, _gloffset_GetSynciv, GetSynciv@20) + GL_STUB(IsSync, _gloffset_IsSync, IsSync@4) + GL_STUB(WaitSync, _gloffset_WaitSync, WaitSync@12) GL_STUB(PolygonOffsetEXT, _gloffset_PolygonOffsetEXT, PolygonOffsetEXT@8) - GL_STUB(_dispatch_stub_568, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_568@8) - HIDDEN(GL_PREFIX(_dispatch_stub_568, _dispatch_stub_568@8)) - GL_STUB(_dispatch_stub_569, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_569@8) - HIDDEN(GL_PREFIX(_dispatch_stub_569, _dispatch_stub_569@8)) - GL_STUB(_dispatch_stub_570, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_570@8) - HIDDEN(GL_PREFIX(_dispatch_stub_570, _dispatch_stub_570@8)) - GL_STUB(_dispatch_stub_571, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_571@8) - HIDDEN(GL_PREFIX(_dispatch_stub_571, _dispatch_stub_571@8)) - GL_STUB(_dispatch_stub_572, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_572@8) - HIDDEN(GL_PREFIX(_dispatch_stub_572, _dispatch_stub_572@8)) - GL_STUB(_dispatch_stub_573, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_573@8) - HIDDEN(GL_PREFIX(_dispatch_stub_573, _dispatch_stub_573@8)) - GL_STUB(_dispatch_stub_574, _gloffset_SampleMaskSGIS, _dispatch_stub_574@8) - HIDDEN(GL_PREFIX(_dispatch_stub_574, _dispatch_stub_574@8)) - GL_STUB(_dispatch_stub_575, _gloffset_SamplePatternSGIS, _dispatch_stub_575@4) - HIDDEN(GL_PREFIX(_dispatch_stub_575, _dispatch_stub_575@4)) + GL_STUB(_dispatch_stub_575, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_575@8) + HIDDEN(GL_PREFIX(_dispatch_stub_575, _dispatch_stub_575@8)) + GL_STUB(_dispatch_stub_576, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_576@8) + HIDDEN(GL_PREFIX(_dispatch_stub_576, _dispatch_stub_576@8)) + GL_STUB(_dispatch_stub_577, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_577@8) + HIDDEN(GL_PREFIX(_dispatch_stub_577, _dispatch_stub_577@8)) + GL_STUB(_dispatch_stub_578, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_578@8) + HIDDEN(GL_PREFIX(_dispatch_stub_578, _dispatch_stub_578@8)) + GL_STUB(_dispatch_stub_579, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_579@8) + HIDDEN(GL_PREFIX(_dispatch_stub_579, _dispatch_stub_579@8)) + GL_STUB(_dispatch_stub_580, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_580@8) + HIDDEN(GL_PREFIX(_dispatch_stub_580, _dispatch_stub_580@8)) + GL_STUB(_dispatch_stub_581, _gloffset_SampleMaskSGIS, _dispatch_stub_581@8) + HIDDEN(GL_PREFIX(_dispatch_stub_581, _dispatch_stub_581@8)) + GL_STUB(_dispatch_stub_582, _gloffset_SamplePatternSGIS, _dispatch_stub_582@4) + HIDDEN(GL_PREFIX(_dispatch_stub_582, _dispatch_stub_582@4)) GL_STUB(ColorPointerEXT, _gloffset_ColorPointerEXT, ColorPointerEXT@20) GL_STUB(EdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT, EdgeFlagPointerEXT@12) GL_STUB(IndexPointerEXT, _gloffset_IndexPointerEXT, IndexPointerEXT@16) @@ -745,10 +752,10 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(PointParameterfvEXT, _gloffset_PointParameterfvEXT, PointParameterfvEXT@8) GL_STUB(LockArraysEXT, _gloffset_LockArraysEXT, LockArraysEXT@8) GL_STUB(UnlockArraysEXT, _gloffset_UnlockArraysEXT, UnlockArraysEXT@0) - GL_STUB(_dispatch_stub_586, _gloffset_CullParameterdvEXT, _dispatch_stub_586@8) - HIDDEN(GL_PREFIX(_dispatch_stub_586, _dispatch_stub_586@8)) - GL_STUB(_dispatch_stub_587, _gloffset_CullParameterfvEXT, _dispatch_stub_587@8) - HIDDEN(GL_PREFIX(_dispatch_stub_587, _dispatch_stub_587@8)) + GL_STUB(_dispatch_stub_593, _gloffset_CullParameterdvEXT, _dispatch_stub_593@8) + HIDDEN(GL_PREFIX(_dispatch_stub_593, _dispatch_stub_593@8)) + GL_STUB(_dispatch_stub_594, _gloffset_CullParameterfvEXT, _dispatch_stub_594@8) + HIDDEN(GL_PREFIX(_dispatch_stub_594, _dispatch_stub_594@8)) GL_STUB(SecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT, SecondaryColor3bEXT@12) GL_STUB(SecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) GL_STUB(SecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT, SecondaryColor3dEXT@24) @@ -773,8 +780,8 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(FogCoorddvEXT, _gloffset_FogCoorddvEXT, FogCoorddvEXT@4) GL_STUB(FogCoordfEXT, _gloffset_FogCoordfEXT, FogCoordfEXT@4) GL_STUB(FogCoordfvEXT, _gloffset_FogCoordfvEXT, FogCoordfvEXT@4) - GL_STUB(_dispatch_stub_612, _gloffset_PixelTexGenSGIX, _dispatch_stub_612@4) - HIDDEN(GL_PREFIX(_dispatch_stub_612, _dispatch_stub_612@4)) + GL_STUB(_dispatch_stub_619, _gloffset_PixelTexGenSGIX, _dispatch_stub_619@4) + HIDDEN(GL_PREFIX(_dispatch_stub_619, _dispatch_stub_619@4)) GL_STUB(BlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) GL_STUB(FlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV, FlushVertexArrayRangeNV@0) GL_STUB(VertexArrayRangeNV, _gloffset_VertexArrayRangeNV, VertexArrayRangeNV@8) @@ -816,24 +823,24 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(WindowPos4ivMESA, _gloffset_WindowPos4ivMESA, WindowPos4ivMESA@4) GL_STUB(WindowPos4sMESA, _gloffset_WindowPos4sMESA, WindowPos4sMESA@16) GL_STUB(WindowPos4svMESA, _gloffset_WindowPos4svMESA, WindowPos4svMESA@4) - GL_STUB(_dispatch_stub_654, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_654@20) - HIDDEN(GL_PREFIX(_dispatch_stub_654, _dispatch_stub_654@20)) - GL_STUB(_dispatch_stub_655, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_655@24) - HIDDEN(GL_PREFIX(_dispatch_stub_655, _dispatch_stub_655@24)) - GL_STUB(_dispatch_stub_656, _gloffset_DeleteFencesNV, _dispatch_stub_656@8) - HIDDEN(GL_PREFIX(_dispatch_stub_656, _dispatch_stub_656@8)) - GL_STUB(_dispatch_stub_657, _gloffset_FinishFenceNV, _dispatch_stub_657@4) - HIDDEN(GL_PREFIX(_dispatch_stub_657, _dispatch_stub_657@4)) - GL_STUB(_dispatch_stub_658, _gloffset_GenFencesNV, _dispatch_stub_658@8) - HIDDEN(GL_PREFIX(_dispatch_stub_658, _dispatch_stub_658@8)) - GL_STUB(_dispatch_stub_659, _gloffset_GetFenceivNV, _dispatch_stub_659@12) - HIDDEN(GL_PREFIX(_dispatch_stub_659, _dispatch_stub_659@12)) - GL_STUB(_dispatch_stub_660, _gloffset_IsFenceNV, _dispatch_stub_660@4) - HIDDEN(GL_PREFIX(_dispatch_stub_660, _dispatch_stub_660@4)) - GL_STUB(_dispatch_stub_661, _gloffset_SetFenceNV, _dispatch_stub_661@8) - HIDDEN(GL_PREFIX(_dispatch_stub_661, _dispatch_stub_661@8)) - GL_STUB(_dispatch_stub_662, _gloffset_TestFenceNV, _dispatch_stub_662@4) - HIDDEN(GL_PREFIX(_dispatch_stub_662, _dispatch_stub_662@4)) + GL_STUB(_dispatch_stub_661, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_661@20) + HIDDEN(GL_PREFIX(_dispatch_stub_661, _dispatch_stub_661@20)) + GL_STUB(_dispatch_stub_662, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_662@24) + HIDDEN(GL_PREFIX(_dispatch_stub_662, _dispatch_stub_662@24)) + GL_STUB(_dispatch_stub_663, _gloffset_DeleteFencesNV, _dispatch_stub_663@8) + HIDDEN(GL_PREFIX(_dispatch_stub_663, _dispatch_stub_663@8)) + GL_STUB(_dispatch_stub_664, _gloffset_FinishFenceNV, _dispatch_stub_664@4) + HIDDEN(GL_PREFIX(_dispatch_stub_664, _dispatch_stub_664@4)) + GL_STUB(_dispatch_stub_665, _gloffset_GenFencesNV, _dispatch_stub_665@8) + HIDDEN(GL_PREFIX(_dispatch_stub_665, _dispatch_stub_665@8)) + GL_STUB(_dispatch_stub_666, _gloffset_GetFenceivNV, _dispatch_stub_666@12) + HIDDEN(GL_PREFIX(_dispatch_stub_666, _dispatch_stub_666@12)) + GL_STUB(_dispatch_stub_667, _gloffset_IsFenceNV, _dispatch_stub_667@4) + HIDDEN(GL_PREFIX(_dispatch_stub_667, _dispatch_stub_667@4)) + GL_STUB(_dispatch_stub_668, _gloffset_SetFenceNV, _dispatch_stub_668@8) + HIDDEN(GL_PREFIX(_dispatch_stub_668, _dispatch_stub_668@8)) + GL_STUB(_dispatch_stub_669, _gloffset_TestFenceNV, _dispatch_stub_669@4) + HIDDEN(GL_PREFIX(_dispatch_stub_669, _dispatch_stub_669@4)) GL_STUB(AreProgramsResidentNV, _gloffset_AreProgramsResidentNV, AreProgramsResidentNV@12) GL_STUB(BindProgramNV, _gloffset_BindProgramNV, BindProgramNV@8) GL_STUB(DeleteProgramsNV, _gloffset_DeleteProgramsNV, DeleteProgramsNV@8) @@ -914,26 +921,26 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(SetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI, SetFragmentShaderConstantATI@8) GL_STUB(PointParameteriNV, _gloffset_PointParameteriNV, PointParameteriNV@8) GL_STUB(PointParameterivNV, _gloffset_PointParameterivNV, PointParameterivNV@8) - GL_STUB(_dispatch_stub_743, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_743@4) - HIDDEN(GL_PREFIX(_dispatch_stub_743, _dispatch_stub_743@4)) - GL_STUB(_dispatch_stub_744, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_744@4) - HIDDEN(GL_PREFIX(_dispatch_stub_744, _dispatch_stub_744@4)) - GL_STUB(_dispatch_stub_745, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_745@8) - HIDDEN(GL_PREFIX(_dispatch_stub_745, _dispatch_stub_745@8)) - GL_STUB(_dispatch_stub_746, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_746@8) - HIDDEN(GL_PREFIX(_dispatch_stub_746, _dispatch_stub_746@8)) - GL_STUB(_dispatch_stub_747, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_747@4) - HIDDEN(GL_PREFIX(_dispatch_stub_747, _dispatch_stub_747@4)) + GL_STUB(_dispatch_stub_750, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_750@4) + HIDDEN(GL_PREFIX(_dispatch_stub_750, _dispatch_stub_750@4)) + GL_STUB(_dispatch_stub_751, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_751@4) + HIDDEN(GL_PREFIX(_dispatch_stub_751, _dispatch_stub_751@4)) + GL_STUB(_dispatch_stub_752, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_752@8) + HIDDEN(GL_PREFIX(_dispatch_stub_752, _dispatch_stub_752@8)) + GL_STUB(_dispatch_stub_753, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_753@8) + HIDDEN(GL_PREFIX(_dispatch_stub_753, _dispatch_stub_753@8)) + GL_STUB(_dispatch_stub_754, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_754@4) + HIDDEN(GL_PREFIX(_dispatch_stub_754, _dispatch_stub_754@4)) GL_STUB(GetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV, GetProgramNamedParameterdvNV@16) GL_STUB(GetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV, GetProgramNamedParameterfvNV@16) GL_STUB(ProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV, ProgramNamedParameter4dNV@44) GL_STUB(ProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV, ProgramNamedParameter4dvNV@16) GL_STUB(ProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV, ProgramNamedParameter4fNV@28) GL_STUB(ProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV, ProgramNamedParameter4fvNV@16) - GL_STUB(_dispatch_stub_754, _gloffset_DepthBoundsEXT, _dispatch_stub_754@16) - HIDDEN(GL_PREFIX(_dispatch_stub_754, _dispatch_stub_754@16)) - GL_STUB(_dispatch_stub_755, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_755@8) - HIDDEN(GL_PREFIX(_dispatch_stub_755, _dispatch_stub_755@8)) + GL_STUB(_dispatch_stub_761, _gloffset_DepthBoundsEXT, _dispatch_stub_761@16) + HIDDEN(GL_PREFIX(_dispatch_stub_761, _dispatch_stub_761@16)) + GL_STUB(_dispatch_stub_762, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_762@8) + HIDDEN(GL_PREFIX(_dispatch_stub_762, _dispatch_stub_762@8)) GL_STUB(BindFramebufferEXT, _gloffset_BindFramebufferEXT, BindFramebufferEXT@8) GL_STUB(BindRenderbufferEXT, _gloffset_BindRenderbufferEXT, BindRenderbufferEXT@8) GL_STUB(CheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) @@ -951,28 +958,28 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(IsFramebufferEXT, _gloffset_IsFramebufferEXT, IsFramebufferEXT@4) GL_STUB(IsRenderbufferEXT, _gloffset_IsRenderbufferEXT, IsRenderbufferEXT@4) GL_STUB(RenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB(_dispatch_stub_773, _gloffset_BlitFramebufferEXT, _dispatch_stub_773@40) - HIDDEN(GL_PREFIX(_dispatch_stub_773, _dispatch_stub_773@40)) - GL_STUB(_dispatch_stub_774, _gloffset_BufferParameteriAPPLE, _dispatch_stub_774@12) - HIDDEN(GL_PREFIX(_dispatch_stub_774, _dispatch_stub_774@12)) - GL_STUB(_dispatch_stub_775, _gloffset_FlushMappedBufferRangeAPPLE, _dispatch_stub_775@12) - HIDDEN(GL_PREFIX(_dispatch_stub_775, _dispatch_stub_775@12)) + GL_STUB(_dispatch_stub_780, _gloffset_BlitFramebufferEXT, _dispatch_stub_780@40) + HIDDEN(GL_PREFIX(_dispatch_stub_780, _dispatch_stub_780@40)) + GL_STUB(_dispatch_stub_781, _gloffset_BufferParameteriAPPLE, _dispatch_stub_781@12) + HIDDEN(GL_PREFIX(_dispatch_stub_781, _dispatch_stub_781@12)) + GL_STUB(_dispatch_stub_782, _gloffset_FlushMappedBufferRangeAPPLE, _dispatch_stub_782@12) + HIDDEN(GL_PREFIX(_dispatch_stub_782, _dispatch_stub_782@12)) GL_STUB(FramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) GL_STUB(ProvokingVertexEXT, _gloffset_ProvokingVertexEXT, ProvokingVertexEXT@4) - GL_STUB(_dispatch_stub_778, _gloffset_GetTexParameterPointervAPPLE, _dispatch_stub_778@12) - HIDDEN(GL_PREFIX(_dispatch_stub_778, _dispatch_stub_778@12)) - GL_STUB(_dispatch_stub_779, _gloffset_TextureRangeAPPLE, _dispatch_stub_779@12) - HIDDEN(GL_PREFIX(_dispatch_stub_779, _dispatch_stub_779@12)) - GL_STUB(_dispatch_stub_780, _gloffset_StencilFuncSeparateATI, _dispatch_stub_780@16) - HIDDEN(GL_PREFIX(_dispatch_stub_780, _dispatch_stub_780@16)) - GL_STUB(_dispatch_stub_781, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_781@16) - HIDDEN(GL_PREFIX(_dispatch_stub_781, _dispatch_stub_781@16)) - GL_STUB(_dispatch_stub_782, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_782@16) - HIDDEN(GL_PREFIX(_dispatch_stub_782, _dispatch_stub_782@16)) - GL_STUB(_dispatch_stub_783, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_783@12) - HIDDEN(GL_PREFIX(_dispatch_stub_783, _dispatch_stub_783@12)) - GL_STUB(_dispatch_stub_784, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_784@12) - HIDDEN(GL_PREFIX(_dispatch_stub_784, _dispatch_stub_784@12)) + GL_STUB(_dispatch_stub_785, _gloffset_GetTexParameterPointervAPPLE, _dispatch_stub_785@12) + HIDDEN(GL_PREFIX(_dispatch_stub_785, _dispatch_stub_785@12)) + GL_STUB(_dispatch_stub_786, _gloffset_TextureRangeAPPLE, _dispatch_stub_786@12) + HIDDEN(GL_PREFIX(_dispatch_stub_786, _dispatch_stub_786@12)) + GL_STUB(_dispatch_stub_787, _gloffset_StencilFuncSeparateATI, _dispatch_stub_787@16) + HIDDEN(GL_PREFIX(_dispatch_stub_787, _dispatch_stub_787@16)) + GL_STUB(_dispatch_stub_788, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_788@16) + HIDDEN(GL_PREFIX(_dispatch_stub_788, _dispatch_stub_788@16)) + GL_STUB(_dispatch_stub_789, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_789@16) + HIDDEN(GL_PREFIX(_dispatch_stub_789, _dispatch_stub_789@16)) + GL_STUB(_dispatch_stub_790, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_790@12) + HIDDEN(GL_PREFIX(_dispatch_stub_790, _dispatch_stub_790@12)) + GL_STUB(_dispatch_stub_791, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_791@12) + HIDDEN(GL_PREFIX(_dispatch_stub_791, _dispatch_stub_791@12)) GL_STUB_ALIAS(ArrayElementEXT, _gloffset_ArrayElement, ArrayElementEXT@4, ArrayElement, ArrayElement@4) GL_STUB_ALIAS(BindTextureEXT, _gloffset_BindTexture, BindTextureEXT@8, BindTexture, BindTexture@8) GL_STUB_ALIAS(DrawArraysEXT, _gloffset_DrawArrays, DrawArraysEXT@12, DrawArrays, DrawArrays@12) -- cgit v1.2.3 From 96bdd993ec2e02da676b2f7c6a15017e022e7185 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 28 Aug 2009 15:53:00 -0700 Subject: Eliminate trailing whitespace in extension_helper.c --- src/mesa/drivers/dri/common/extension_helper.h | 1346 ++++++++++++------------ src/mesa/glapi/extension_helper.py | 2 +- 2 files changed, 674 insertions(+), 674 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/common/extension_helper.h b/src/mesa/drivers/dri/common/extension_helper.h index 790a2bc896..40a030ce0d 100644 --- a/src/mesa/drivers/dri/common/extension_helper.h +++ b/src/mesa/drivers/dri/common/extension_helper.h @@ -33,7 +33,7 @@ #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char UniformMatrix3fvARB_names[] = +static const char UniformMatrix3fvARB_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix3fv\0" "glUniformMatrix3fvARB\0" @@ -41,7 +41,7 @@ static const char UniformMatrix3fvARB_names[] = #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_multisample) -static const char SampleCoverageARB_names[] = +static const char SampleCoverageARB_names[] = "fi\0" /* Parameter signature */ "glSampleCoverage\0" "glSampleCoverageARB\0" @@ -49,7 +49,7 @@ static const char SampleCoverageARB_names[] = #endif #if defined(need_GL_EXT_convolution) -static const char ConvolutionFilter1D_names[] = +static const char ConvolutionFilter1D_names[] = "iiiiip\0" /* Parameter signature */ "glConvolutionFilter1D\0" "glConvolutionFilter1DEXT\0" @@ -57,7 +57,7 @@ static const char ConvolutionFilter1D_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_occlusion_query) -static const char BeginQueryARB_names[] = +static const char BeginQueryARB_names[] = "ii\0" /* Parameter signature */ "glBeginQuery\0" "glBeginQueryARB\0" @@ -65,7 +65,7 @@ static const char BeginQueryARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_NV_point_sprite) -static const char PointParameteriNV_names[] = +static const char PointParameteriNV_names[] = "ii\0" /* Parameter signature */ "glPointParameteri\0" "glPointParameteriNV\0" @@ -73,14 +73,14 @@ static const char PointParameteriNV_names[] = #endif #if defined(need_GL_VERSION_2_0) -static const char GetProgramiv_names[] = +static const char GetProgramiv_names[] = "iip\0" /* Parameter signature */ "glGetProgramiv\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord3sARB_names[] = +static const char MultiTexCoord3sARB_names[] = "iiii\0" /* Parameter signature */ "glMultiTexCoord3s\0" "glMultiTexCoord3sARB\0" @@ -88,7 +88,7 @@ static const char MultiTexCoord3sARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3iEXT_names[] = +static const char SecondaryColor3iEXT_names[] = "iii\0" /* Parameter signature */ "glSecondaryColor3i\0" "glSecondaryColor3iEXT\0" @@ -96,7 +96,7 @@ static const char SecondaryColor3iEXT_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos3fMESA_names[] = +static const char WindowPos3fMESA_names[] = "fff\0" /* Parameter signature */ "glWindowPos3f\0" "glWindowPos3fARB\0" @@ -105,14 +105,14 @@ static const char WindowPos3fMESA_names[] = #endif #if defined(need_GL_SGIS_pixel_texture) -static const char PixelTexGenParameterfvSGIS_names[] = +static const char PixelTexGenParameterfvSGIS_names[] = "ip\0" /* Parameter signature */ "glPixelTexGenParameterfvSGIS\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char ActiveTextureARB_names[] = +static const char ActiveTextureARB_names[] = "i\0" /* Parameter signature */ "glActiveTexture\0" "glActiveTextureARB\0" @@ -120,7 +120,7 @@ static const char ActiveTextureARB_names[] = #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_blit) -static const char BlitFramebufferEXT_names[] = +static const char BlitFramebufferEXT_names[] = "iiiiiiiiii\0" /* Parameter signature */ "glBlitFramebuffer\0" "glBlitFramebufferEXT\0" @@ -128,21 +128,21 @@ static const char BlitFramebufferEXT_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4ubvNV_names[] = +static const char VertexAttrib4ubvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4ubvNV\0" ""; #endif #if defined(need_GL_NV_fragment_program) -static const char GetProgramNamedParameterdvNV_names[] = +static const char GetProgramNamedParameterdvNV_names[] = "iipp\0" /* Parameter signature */ "glGetProgramNamedParameterdvNV\0" ""; #endif #if defined(need_GL_EXT_histogram) -static const char Histogram_names[] = +static const char Histogram_names[] = "iiii\0" /* Parameter signature */ "glHistogram\0" "glHistogramEXT\0" @@ -150,14 +150,14 @@ static const char Histogram_names[] = #endif #if defined(need_GL_SGIS_texture4D) -static const char TexImage4DSGIS_names[] = +static const char TexImage4DSGIS_names[] = "iiiiiiiiiip\0" /* Parameter signature */ "glTexImage4DSGIS\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos2dvMESA_names[] = +static const char WindowPos2dvMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos2dv\0" "glWindowPos2dvARB\0" @@ -166,14 +166,14 @@ static const char WindowPos2dvMESA_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiColor3fVertex3fvSUN_names[] = +static const char ReplacementCodeuiColor3fVertex3fvSUN_names[] = "ppp\0" /* Parameter signature */ "glReplacementCodeuiColor3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_EXT_blend_equation_separate) || defined(need_GL_ATI_blend_equation_separate) -static const char BlendEquationSeparateEXT_names[] = +static const char BlendEquationSeparateEXT_names[] = "ii\0" /* Parameter signature */ "glBlendEquationSeparate\0" "glBlendEquationSeparateEXT\0" @@ -182,14 +182,14 @@ static const char BlendEquationSeparateEXT_names[] = #endif #if defined(need_GL_SGIX_list_priority) -static const char ListParameterfSGIX_names[] = +static const char ListParameterfSGIX_names[] = "iif\0" /* Parameter signature */ "glListParameterfSGIX\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3bEXT_names[] = +static const char SecondaryColor3bEXT_names[] = "iii\0" /* Parameter signature */ "glSecondaryColor3b\0" "glSecondaryColor3bEXT\0" @@ -197,21 +197,21 @@ static const char SecondaryColor3bEXT_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord4fColor4fNormal3fVertex4fvSUN_names[] = +static const char TexCoord4fColor4fNormal3fVertex4fvSUN_names[] = "pppp\0" /* Parameter signature */ "glTexCoord4fColor4fNormal3fVertex4fvSUN\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4svNV_names[] = +static const char VertexAttrib4svNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4svNV\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char GetBufferSubDataARB_names[] = +static const char GetBufferSubDataARB_names[] = "iiip\0" /* Parameter signature */ "glGetBufferSubData\0" "glGetBufferSubDataARB\0" @@ -219,7 +219,7 @@ static const char GetBufferSubDataARB_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char BufferSubDataARB_names[] = +static const char BufferSubDataARB_names[] = "iiip\0" /* Parameter signature */ "glBufferSubData\0" "glBufferSubDataARB\0" @@ -227,21 +227,21 @@ static const char BufferSubDataARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fColor4ubVertex3fvSUN_names[] = +static const char TexCoord2fColor4ubVertex3fvSUN_names[] = "ppp\0" /* Parameter signature */ "glTexCoord2fColor4ubVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char AttachShader_names[] = +static const char AttachShader_names[] = "ii\0" /* Parameter signature */ "glAttachShader\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib2fARB_names[] = +static const char VertexAttrib2fARB_names[] = "iff\0" /* Parameter signature */ "glVertexAttrib2f\0" "glVertexAttrib2fARB\0" @@ -249,14 +249,14 @@ static const char VertexAttrib2fARB_names[] = #endif #if defined(need_GL_MESA_shader_debug) -static const char GetDebugLogLengthMESA_names[] = +static const char GetDebugLogLengthMESA_names[] = "iii\0" /* Parameter signature */ "glGetDebugLogLengthMESA\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib3fARB_names[] = +static const char VertexAttrib3fARB_names[] = "ifff\0" /* Parameter signature */ "glVertexAttrib3f\0" "glVertexAttrib3fARB\0" @@ -264,7 +264,7 @@ static const char VertexAttrib3fARB_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_occlusion_query) -static const char GetQueryivARB_names[] = +static const char GetQueryivARB_names[] = "iip\0" /* Parameter signature */ "glGetQueryiv\0" "glGetQueryivARB\0" @@ -272,7 +272,7 @@ static const char GetQueryivARB_names[] = #endif #if defined(need_GL_EXT_texture3D) -static const char TexImage3D_names[] = +static const char TexImage3D_names[] = "iiiiiiiiip\0" /* Parameter signature */ "glTexImage3D\0" "glTexImage3DEXT\0" @@ -280,14 +280,14 @@ static const char TexImage3D_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiVertex3fvSUN_names[] = +static const char ReplacementCodeuiVertex3fvSUN_names[] = "pp\0" /* Parameter signature */ "glReplacementCodeuiVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_occlusion_query) -static const char GetQueryObjectivARB_names[] = +static const char GetQueryObjectivARB_names[] = "iip\0" /* Parameter signature */ "glGetQueryObjectiv\0" "glGetQueryObjectivARB\0" @@ -295,14 +295,14 @@ static const char GetQueryObjectivARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiTexCoord2fVertex3fvSUN_names[] = +static const char ReplacementCodeuiTexCoord2fVertex3fvSUN_names[] = "ppp\0" /* Parameter signature */ "glReplacementCodeuiTexCoord2fVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_texture_compression) -static const char CompressedTexSubImage2DARB_names[] = +static const char CompressedTexSubImage2DARB_names[] = "iiiiiiiip\0" /* Parameter signature */ "glCompressedTexSubImage2D\0" "glCompressedTexSubImage2DARB\0" @@ -310,14 +310,14 @@ static const char CompressedTexSubImage2DARB_names[] = #endif #if defined(need_GL_NV_register_combiners) -static const char CombinerOutputNV_names[] = +static const char CombinerOutputNV_names[] = "iiiiiiiiii\0" /* Parameter signature */ "glCombinerOutputNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform2fARB_names[] = +static const char Uniform2fARB_names[] = "iff\0" /* Parameter signature */ "glUniform2f\0" "glUniform2fARB\0" @@ -325,7 +325,7 @@ static const char Uniform2fARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib1svARB_names[] = +static const char VertexAttrib1svARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib1sv\0" "glVertexAttrib1svARB\0" @@ -333,14 +333,14 @@ static const char VertexAttrib1svARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs1dvNV_names[] = +static const char VertexAttribs1dvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs1dvNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform2ivARB_names[] = +static const char Uniform2ivARB_names[] = "iip\0" /* Parameter signature */ "glUniform2iv\0" "glUniform2ivARB\0" @@ -348,28 +348,28 @@ static const char Uniform2ivARB_names[] = #endif #if defined(need_GL_HP_image_transform) -static const char GetImageTransformParameterfvHP_names[] = +static const char GetImageTransformParameterfvHP_names[] = "iip\0" /* Parameter signature */ "glGetImageTransformParameterfvHP\0" ""; #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightubvARB_names[] = +static const char WeightubvARB_names[] = "ip\0" /* Parameter signature */ "glWeightubvARB\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib1fvNV_names[] = +static const char VertexAttrib1fvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib1fvNV\0" ""; #endif #if defined(need_GL_EXT_convolution) -static const char CopyConvolutionFilter1D_names[] = +static const char CopyConvolutionFilter1D_names[] = "iiiii\0" /* Parameter signature */ "glCopyConvolutionFilter1D\0" "glCopyConvolutionFilter1DEXT\0" @@ -377,28 +377,28 @@ static const char CopyConvolutionFilter1D_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiNormal3fVertex3fSUN_names[] = +static const char ReplacementCodeuiNormal3fVertex3fSUN_names[] = "iffffff\0" /* Parameter signature */ "glReplacementCodeuiNormal3fVertex3fSUN\0" ""; #endif #if defined(need_GL_ARB_sync) -static const char DeleteSync_names[] = +static const char DeleteSync_names[] = "i\0" /* Parameter signature */ "glDeleteSync\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentMaterialfvSGIX_names[] = +static const char FragmentMaterialfvSGIX_names[] = "iip\0" /* Parameter signature */ "glFragmentMaterialfvSGIX\0" ""; #endif #if defined(need_GL_EXT_blend_color) -static const char BlendColor_names[] = +static const char BlendColor_names[] = "ffff\0" /* Parameter signature */ "glBlendColor\0" "glBlendColorEXT\0" @@ -406,7 +406,7 @@ static const char BlendColor_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char UniformMatrix4fvARB_names[] = +static const char UniformMatrix4fvARB_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix4fv\0" "glUniformMatrix4fvARB\0" @@ -414,7 +414,7 @@ static const char UniformMatrix4fvARB_names[] = #endif #if defined(need_GL_ARB_vertex_array_object) || defined(need_GL_APPLE_vertex_array_object) -static const char DeleteVertexArraysAPPLE_names[] = +static const char DeleteVertexArraysAPPLE_names[] = "ip\0" /* Parameter signature */ "glDeleteVertexArrays\0" "glDeleteVertexArraysAPPLE\0" @@ -422,28 +422,28 @@ static const char DeleteVertexArraysAPPLE_names[] = #endif #if defined(need_GL_SGIX_instruments) -static const char ReadInstrumentsSGIX_names[] = +static const char ReadInstrumentsSGIX_names[] = "i\0" /* Parameter signature */ "glReadInstrumentsSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_1) -static const char UniformMatrix2x4fv_names[] = +static const char UniformMatrix2x4fv_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix2x4fv\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char Color4ubVertex3fvSUN_names[] = +static const char Color4ubVertex3fvSUN_names[] = "pp\0" /* Parameter signature */ "glColor4ubVertex3fvSUN\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_texture_array) -static const char FramebufferTextureLayerEXT_names[] = +static const char FramebufferTextureLayerEXT_names[] = "iiiii\0" /* Parameter signature */ "glFramebufferTextureLayer\0" "glFramebufferTextureLayerEXT\0" @@ -451,14 +451,14 @@ static const char FramebufferTextureLayerEXT_names[] = #endif #if defined(need_GL_SGIX_list_priority) -static const char GetListParameterfvSGIX_names[] = +static const char GetListParameterfvSGIX_names[] = "iip\0" /* Parameter signature */ "glGetListParameterfvSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4NusvARB_names[] = +static const char VertexAttrib4NusvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4Nusv\0" "glVertexAttrib4NusvARB\0" @@ -466,35 +466,35 @@ static const char VertexAttrib4NusvARB_names[] = #endif #if defined(need_GL_MESA_window_pos) -static const char WindowPos4svMESA_names[] = +static const char WindowPos4svMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos4svMESA\0" ""; #endif #if defined(need_GL_ARB_shader_objects) -static const char CreateProgramObjectARB_names[] = +static const char CreateProgramObjectARB_names[] = "\0" /* Parameter signature */ "glCreateProgramObjectARB\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentLightModelivSGIX_names[] = +static const char FragmentLightModelivSGIX_names[] = "ip\0" /* Parameter signature */ "glFragmentLightModelivSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_1) -static const char UniformMatrix4x3fv_names[] = +static const char UniformMatrix4x3fv_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix4x3fv\0" ""; #endif #if defined(need_GL_EXT_texture_object) -static const char PrioritizeTextures_names[] = +static const char PrioritizeTextures_names[] = "ipp\0" /* Parameter signature */ "glPrioritizeTextures\0" "glPrioritizeTexturesEXT\0" @@ -502,28 +502,28 @@ static const char PrioritizeTextures_names[] = #endif #if defined(need_GL_SGIX_async) -static const char AsyncMarkerSGIX_names[] = +static const char AsyncMarkerSGIX_names[] = "i\0" /* Parameter signature */ "glAsyncMarkerSGIX\0" ""; #endif #if defined(need_GL_SUN_global_alpha) -static const char GlobalAlphaFactorubSUN_names[] = +static const char GlobalAlphaFactorubSUN_names[] = "i\0" /* Parameter signature */ "glGlobalAlphaFactorubSUN\0" ""; #endif #if defined(need_GL_MESA_shader_debug) -static const char ClearDebugLogMESA_names[] = +static const char ClearDebugLogMESA_names[] = "iii\0" /* Parameter signature */ "glClearDebugLogMESA\0" ""; #endif #if defined(need_GL_EXT_histogram) -static const char ResetHistogram_names[] = +static const char ResetHistogram_names[] = "i\0" /* Parameter signature */ "glResetHistogram\0" "glResetHistogramEXT\0" @@ -531,14 +531,14 @@ static const char ResetHistogram_names[] = #endif #if defined(need_GL_NV_fragment_program) -static const char GetProgramNamedParameterfvNV_names[] = +static const char GetProgramNamedParameterfvNV_names[] = "iipp\0" /* Parameter signature */ "glGetProgramNamedParameterfvNV\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_point_parameters) || defined(need_GL_EXT_point_parameters) || defined(need_GL_SGIS_point_parameters) -static const char PointParameterfEXT_names[] = +static const char PointParameterfEXT_names[] = "if\0" /* Parameter signature */ "glPointParameterf\0" "glPointParameterfARB\0" @@ -548,35 +548,35 @@ static const char PointParameterfEXT_names[] = #endif #if defined(need_GL_SGIX_polynomial_ffd) -static const char LoadIdentityDeformationMapSGIX_names[] = +static const char LoadIdentityDeformationMapSGIX_names[] = "i\0" /* Parameter signature */ "glLoadIdentityDeformationMapSGIX\0" ""; #endif #if defined(need_GL_NV_fence) -static const char GenFencesNV_names[] = +static const char GenFencesNV_names[] = "ip\0" /* Parameter signature */ "glGenFencesNV\0" ""; #endif #if defined(need_GL_HP_image_transform) -static const char ImageTransformParameterfHP_names[] = +static const char ImageTransformParameterfHP_names[] = "iif\0" /* Parameter signature */ "glImageTransformParameterfHP\0" ""; #endif #if defined(need_GL_ARB_matrix_palette) -static const char MatrixIndexusvARB_names[] = +static const char MatrixIndexusvARB_names[] = "ip\0" /* Parameter signature */ "glMatrixIndexusvARB\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char DisableVertexAttribArrayARB_names[] = +static const char DisableVertexAttribArrayARB_names[] = "i\0" /* Parameter signature */ "glDisableVertexAttribArray\0" "glDisableVertexAttribArrayARB\0" @@ -584,21 +584,21 @@ static const char DisableVertexAttribArrayARB_names[] = #endif #if defined(need_GL_VERSION_2_0) -static const char StencilMaskSeparate_names[] = +static const char StencilMaskSeparate_names[] = "ii\0" /* Parameter signature */ "glStencilMaskSeparate\0" ""; #endif #if defined(need_GL_ARB_vertex_program) -static const char ProgramLocalParameter4dARB_names[] = +static const char ProgramLocalParameter4dARB_names[] = "iidddd\0" /* Parameter signature */ "glProgramLocalParameter4dARB\0" ""; #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_texture_compression) -static const char CompressedTexImage3DARB_names[] = +static const char CompressedTexImage3DARB_names[] = "iiiiiiiip\0" /* Parameter signature */ "glCompressedTexImage3D\0" "glCompressedTexImage3DARB\0" @@ -606,7 +606,7 @@ static const char CompressedTexImage3DARB_names[] = #endif #if defined(need_GL_EXT_convolution) -static const char GetConvolutionParameteriv_names[] = +static const char GetConvolutionParameteriv_names[] = "iip\0" /* Parameter signature */ "glGetConvolutionParameteriv\0" "glGetConvolutionParameterivEXT\0" @@ -614,7 +614,7 @@ static const char GetConvolutionParameteriv_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib1fARB_names[] = +static const char VertexAttrib1fARB_names[] = "if\0" /* Parameter signature */ "glVertexAttrib1f\0" "glVertexAttrib1fARB\0" @@ -622,14 +622,14 @@ static const char VertexAttrib1fARB_names[] = #endif #if defined(need_GL_NV_fence) -static const char TestFenceNV_names[] = +static const char TestFenceNV_names[] = "i\0" /* Parameter signature */ "glTestFenceNV\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord1fvARB_names[] = +static const char MultiTexCoord1fvARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord1fv\0" "glMultiTexCoord1fvARB\0" @@ -637,56 +637,56 @@ static const char MultiTexCoord1fvARB_names[] = #endif #if defined(need_GL_ATI_fragment_shader) -static const char ColorFragmentOp2ATI_names[] = +static const char ColorFragmentOp2ATI_names[] = "iiiiiiiiii\0" /* Parameter signature */ "glColorFragmentOp2ATI\0" ""; #endif #if defined(need_GL_IBM_vertex_array_lists) -static const char SecondaryColorPointerListIBM_names[] = +static const char SecondaryColorPointerListIBM_names[] = "iiipi\0" /* Parameter signature */ "glSecondaryColorPointerListIBM\0" ""; #endif #if defined(need_GL_SGIS_pixel_texture) -static const char GetPixelTexGenParameterivSGIS_names[] = +static const char GetPixelTexGenParameterivSGIS_names[] = "ip\0" /* Parameter signature */ "glGetPixelTexGenParameterivSGIS\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4fNV_names[] = +static const char VertexAttrib4fNV_names[] = "iffff\0" /* Parameter signature */ "glVertexAttrib4fNV\0" ""; #endif #if defined(need_GL_SUN_triangle_list) -static const char ReplacementCodeubSUN_names[] = +static const char ReplacementCodeubSUN_names[] = "i\0" /* Parameter signature */ "glReplacementCodeubSUN\0" ""; #endif #if defined(need_GL_SGIX_async) -static const char FinishAsyncSGIX_names[] = +static const char FinishAsyncSGIX_names[] = "p\0" /* Parameter signature */ "glFinishAsyncSGIX\0" ""; #endif #if defined(need_GL_MESA_shader_debug) -static const char GetDebugLogMESA_names[] = +static const char GetDebugLogMESA_names[] = "iiiipp\0" /* Parameter signature */ "glGetDebugLogMESA\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_fog_coord) -static const char FogCoorddEXT_names[] = +static const char FogCoorddEXT_names[] = "d\0" /* Parameter signature */ "glFogCoordd\0" "glFogCoorddEXT\0" @@ -694,14 +694,14 @@ static const char FogCoorddEXT_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char Color4ubVertex3fSUN_names[] = +static const char Color4ubVertex3fSUN_names[] = "iiiifff\0" /* Parameter signature */ "glColor4ubVertex3fSUN\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_fog_coord) -static const char FogCoordfEXT_names[] = +static const char FogCoordfEXT_names[] = "f\0" /* Parameter signature */ "glFogCoordf\0" "glFogCoordfEXT\0" @@ -709,35 +709,35 @@ static const char FogCoordfEXT_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fVertex3fSUN_names[] = +static const char TexCoord2fVertex3fSUN_names[] = "fffff\0" /* Parameter signature */ "glTexCoord2fVertex3fSUN\0" ""; #endif #if defined(need_GL_SUN_global_alpha) -static const char GlobalAlphaFactoriSUN_names[] = +static const char GlobalAlphaFactoriSUN_names[] = "i\0" /* Parameter signature */ "glGlobalAlphaFactoriSUN\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib2dNV_names[] = +static const char VertexAttrib2dNV_names[] = "idd\0" /* Parameter signature */ "glVertexAttrib2dNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char GetProgramInfoLog_names[] = +static const char GetProgramInfoLog_names[] = "iipp\0" /* Parameter signature */ "glGetProgramInfoLog\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4NbvARB_names[] = +static const char VertexAttrib4NbvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4Nbv\0" "glVertexAttrib4NbvARB\0" @@ -745,7 +745,7 @@ static const char VertexAttrib4NbvARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_shader) -static const char GetActiveAttribARB_names[] = +static const char GetActiveAttribARB_names[] = "iiipppp\0" /* Parameter signature */ "glGetActiveAttrib\0" "glGetActiveAttribARB\0" @@ -753,91 +753,91 @@ static const char GetActiveAttribARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4ubNV_names[] = +static const char VertexAttrib4ubNV_names[] = "iiiii\0" /* Parameter signature */ "glVertexAttrib4ubNV\0" ""; #endif #if defined(need_GL_APPLE_texture_range) -static const char TextureRangeAPPLE_names[] = +static const char TextureRangeAPPLE_names[] = "iip\0" /* Parameter signature */ "glTextureRangeAPPLE\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fColor4fNormal3fVertex3fSUN_names[] = +static const char TexCoord2fColor4fNormal3fVertex3fSUN_names[] = "ffffffffffff\0" /* Parameter signature */ "glTexCoord2fColor4fNormal3fVertex3fSUN\0" ""; #endif #if defined(need_GL_NV_register_combiners) -static const char CombinerParameterfvNV_names[] = +static const char CombinerParameterfvNV_names[] = "ip\0" /* Parameter signature */ "glCombinerParameterfvNV\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs3dvNV_names[] = +static const char VertexAttribs3dvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs3dvNV\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs4fvNV_names[] = +static const char VertexAttribs4fvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs4fvNV\0" ""; #endif #if defined(need_GL_NV_vertex_array_range) -static const char VertexArrayRangeNV_names[] = +static const char VertexArrayRangeNV_names[] = "ip\0" /* Parameter signature */ "glVertexArrayRangeNV\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentLightiSGIX_names[] = +static const char FragmentLightiSGIX_names[] = "iii\0" /* Parameter signature */ "glFragmentLightiSGIX\0" ""; #endif #if defined(need_GL_EXT_polygon_offset) -static const char PolygonOffsetEXT_names[] = +static const char PolygonOffsetEXT_names[] = "ff\0" /* Parameter signature */ "glPolygonOffsetEXT\0" ""; #endif #if defined(need_GL_SGIX_async) -static const char PollAsyncSGIX_names[] = +static const char PollAsyncSGIX_names[] = "p\0" /* Parameter signature */ "glPollAsyncSGIX\0" ""; #endif #if defined(need_GL_ATI_fragment_shader) -static const char DeleteFragmentShaderATI_names[] = +static const char DeleteFragmentShaderATI_names[] = "i\0" /* Parameter signature */ "glDeleteFragmentShaderATI\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fNormal3fVertex3fvSUN_names[] = +static const char TexCoord2fNormal3fVertex3fvSUN_names[] = "ppp\0" /* Parameter signature */ "glTexCoord2fNormal3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_transpose_matrix) -static const char MultTransposeMatrixdARB_names[] = +static const char MultTransposeMatrixdARB_names[] = "p\0" /* Parameter signature */ "glMultTransposeMatrixd\0" "glMultTransposeMatrixdARB\0" @@ -845,7 +845,7 @@ static const char MultTransposeMatrixdARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos2svMESA_names[] = +static const char WindowPos2svMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos2sv\0" "glWindowPos2svARB\0" @@ -854,7 +854,7 @@ static const char WindowPos2svMESA_names[] = #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_texture_compression) -static const char CompressedTexImage1DARB_names[] = +static const char CompressedTexImage1DARB_names[] = "iiiiiip\0" /* Parameter signature */ "glCompressedTexImage1D\0" "glCompressedTexImage1DARB\0" @@ -862,35 +862,35 @@ static const char CompressedTexImage1DARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib2sNV_names[] = +static const char VertexAttrib2sNV_names[] = "iii\0" /* Parameter signature */ "glVertexAttrib2sNV\0" ""; #endif #if defined(need_GL_IBM_vertex_array_lists) -static const char NormalPointerListIBM_names[] = +static const char NormalPointerListIBM_names[] = "iipi\0" /* Parameter signature */ "glNormalPointerListIBM\0" ""; #endif #if defined(need_GL_EXT_vertex_array) -static const char IndexPointerEXT_names[] = +static const char IndexPointerEXT_names[] = "iiip\0" /* Parameter signature */ "glIndexPointerEXT\0" ""; #endif #if defined(need_GL_EXT_vertex_array) -static const char NormalPointerEXT_names[] = +static const char NormalPointerEXT_names[] = "iiip\0" /* Parameter signature */ "glNormalPointerEXT\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord3dARB_names[] = +static const char MultiTexCoord3dARB_names[] = "iddd\0" /* Parameter signature */ "glMultiTexCoord3d\0" "glMultiTexCoord3dARB\0" @@ -898,7 +898,7 @@ static const char MultiTexCoord3dARB_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord2iARB_names[] = +static const char MultiTexCoord2iARB_names[] = "iii\0" /* Parameter signature */ "glMultiTexCoord2i\0" "glMultiTexCoord2iARB\0" @@ -906,14 +906,14 @@ static const char MultiTexCoord2iARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN_names[] = +static const char ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN_names[] = "iffffffff\0" /* Parameter signature */ "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord2svARB_names[] = +static const char MultiTexCoord2svARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord2sv\0" "glMultiTexCoord2svARB\0" @@ -921,14 +921,14 @@ static const char MultiTexCoord2svARB_names[] = #endif #if defined(need_GL_SUN_triangle_list) -static const char ReplacementCodeubvSUN_names[] = +static const char ReplacementCodeubvSUN_names[] = "p\0" /* Parameter signature */ "glReplacementCodeubvSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform3iARB_names[] = +static const char Uniform3iARB_names[] = "iiii\0" /* Parameter signature */ "glUniform3i\0" "glUniform3iARB\0" @@ -936,49 +936,49 @@ static const char Uniform3iARB_names[] = #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char GetFragmentMaterialfvSGIX_names[] = +static const char GetFragmentMaterialfvSGIX_names[] = "iip\0" /* Parameter signature */ "glGetFragmentMaterialfvSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char GetShaderInfoLog_names[] = +static const char GetShaderInfoLog_names[] = "iipp\0" /* Parameter signature */ "glGetShaderInfoLog\0" ""; #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightivARB_names[] = +static const char WeightivARB_names[] = "ip\0" /* Parameter signature */ "glWeightivARB\0" ""; #endif #if defined(need_GL_SGIX_instruments) -static const char PollInstrumentsSGIX_names[] = +static const char PollInstrumentsSGIX_names[] = "p\0" /* Parameter signature */ "glPollInstrumentsSGIX\0" ""; #endif #if defined(need_GL_SUN_global_alpha) -static const char GlobalAlphaFactordSUN_names[] = +static const char GlobalAlphaFactordSUN_names[] = "d\0" /* Parameter signature */ "glGlobalAlphaFactordSUN\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs3fvNV_names[] = +static const char VertexAttribs3fvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs3fvNV\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char GenerateMipmapEXT_names[] = +static const char GenerateMipmapEXT_names[] = "i\0" /* Parameter signature */ "glGenerateMipmap\0" "glGenerateMipmapEXT\0" @@ -986,35 +986,35 @@ static const char GenerateMipmapEXT_names[] = #endif #if defined(need_GL_ATI_fragment_shader) -static const char SetFragmentShaderConstantATI_names[] = +static const char SetFragmentShaderConstantATI_names[] = "ip\0" /* Parameter signature */ "glSetFragmentShaderConstantATI\0" ""; #endif #if defined(need_GL_NV_evaluators) -static const char GetMapAttribParameterivNV_names[] = +static const char GetMapAttribParameterivNV_names[] = "iiip\0" /* Parameter signature */ "glGetMapAttribParameterivNV\0" ""; #endif #if defined(need_GL_ARB_shader_objects) -static const char CreateShaderObjectARB_names[] = +static const char CreateShaderObjectARB_names[] = "i\0" /* Parameter signature */ "glCreateShaderObjectARB\0" ""; #endif #if defined(need_GL_SGIS_sharpen_texture) -static const char GetSharpenTexFuncSGIS_names[] = +static const char GetSharpenTexFuncSGIS_names[] = "ip\0" /* Parameter signature */ "glGetSharpenTexFuncSGIS\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char BufferDataARB_names[] = +static const char BufferDataARB_names[] = "iipi\0" /* Parameter signature */ "glBufferData\0" "glBufferDataARB\0" @@ -1022,42 +1022,42 @@ static const char BufferDataARB_names[] = #endif #if defined(need_GL_NV_vertex_array_range) -static const char FlushVertexArrayRangeNV_names[] = +static const char FlushVertexArrayRangeNV_names[] = "\0" /* Parameter signature */ "glFlushVertexArrayRangeNV\0" ""; #endif #if defined(need_GL_ATI_fragment_shader) -static const char SampleMapATI_names[] = +static const char SampleMapATI_names[] = "iii\0" /* Parameter signature */ "glSampleMapATI\0" ""; #endif #if defined(need_GL_EXT_vertex_array) -static const char VertexPointerEXT_names[] = +static const char VertexPointerEXT_names[] = "iiiip\0" /* Parameter signature */ "glVertexPointerEXT\0" ""; #endif #if defined(need_GL_SGIS_texture_filter4) -static const char GetTexFilterFuncSGIS_names[] = +static const char GetTexFilterFuncSGIS_names[] = "iip\0" /* Parameter signature */ "glGetTexFilterFuncSGIS\0" ""; #endif #if defined(need_GL_NV_register_combiners) -static const char GetCombinerOutputParameterfvNV_names[] = +static const char GetCombinerOutputParameterfvNV_names[] = "iiip\0" /* Parameter signature */ "glGetCombinerOutputParameterfvNV\0" ""; #endif #if defined(need_GL_EXT_subtexture) -static const char TexSubImage1D_names[] = +static const char TexSubImage1D_names[] = "iiiiiip\0" /* Parameter signature */ "glTexSubImage1D\0" "glTexSubImage1DEXT\0" @@ -1065,7 +1065,7 @@ static const char TexSubImage1D_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib1sARB_names[] = +static const char VertexAttrib1sARB_names[] = "ii\0" /* Parameter signature */ "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" @@ -1073,35 +1073,35 @@ static const char VertexAttrib1sARB_names[] = #endif #if defined(need_GL_ARB_sync) -static const char FenceSync_names[] = +static const char FenceSync_names[] = "ii\0" /* Parameter signature */ "glFenceSync\0" ""; #endif #if defined(need_GL_NV_register_combiners) -static const char FinalCombinerInputNV_names[] = +static const char FinalCombinerInputNV_names[] = "iiii\0" /* Parameter signature */ "glFinalCombinerInputNV\0" ""; #endif #if defined(need_GL_SGIX_flush_raster) -static const char FlushRasterSGIX_names[] = +static const char FlushRasterSGIX_names[] = "\0" /* Parameter signature */ "glFlushRasterSGIX\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiTexCoord2fVertex3fSUN_names[] = +static const char ReplacementCodeuiTexCoord2fVertex3fSUN_names[] = "ifffff\0" /* Parameter signature */ "glReplacementCodeuiTexCoord2fVertex3fSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform1fARB_names[] = +static const char Uniform1fARB_names[] = "if\0" /* Parameter signature */ "glUniform1f\0" "glUniform1fARB\0" @@ -1109,7 +1109,7 @@ static const char Uniform1fARB_names[] = #endif #if defined(need_GL_EXT_texture_object) -static const char AreTexturesResident_names[] = +static const char AreTexturesResident_names[] = "ipp\0" /* Parameter signature */ "glAreTexturesResident\0" "glAreTexturesResidentEXT\0" @@ -1117,7 +1117,7 @@ static const char AreTexturesResident_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ATI_separate_stencil) -static const char StencilOpSeparate_names[] = +static const char StencilOpSeparate_names[] = "iiii\0" /* Parameter signature */ "glStencilOpSeparate\0" "glStencilOpSeparateATI\0" @@ -1125,7 +1125,7 @@ static const char StencilOpSeparate_names[] = #endif #if defined(need_GL_SGI_color_table) -static const char ColorTableParameteriv_names[] = +static const char ColorTableParameteriv_names[] = "iip\0" /* Parameter signature */ "glColorTableParameteriv\0" "glColorTableParameterivSGI\0" @@ -1133,14 +1133,14 @@ static const char ColorTableParameteriv_names[] = #endif #if defined(need_GL_IBM_vertex_array_lists) -static const char FogCoordPointerListIBM_names[] = +static const char FogCoordPointerListIBM_names[] = "iipi\0" /* Parameter signature */ "glFogCoordPointerListIBM\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos3dMESA_names[] = +static const char WindowPos3dMESA_names[] = "ddd\0" /* Parameter signature */ "glWindowPos3d\0" "glWindowPos3dARB\0" @@ -1149,7 +1149,7 @@ static const char WindowPos3dMESA_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_point_parameters) || defined(need_GL_EXT_point_parameters) || defined(need_GL_SGIS_point_parameters) -static const char PointParameterfvEXT_names[] = +static const char PointParameterfvEXT_names[] = "ip\0" /* Parameter signature */ "glPointParameterfv\0" "glPointParameterfvARB\0" @@ -1159,7 +1159,7 @@ static const char PointParameterfvEXT_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos2fvMESA_names[] = +static const char WindowPos2fvMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos2fv\0" "glWindowPos2fvARB\0" @@ -1168,7 +1168,7 @@ static const char WindowPos2fvMESA_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3bvEXT_names[] = +static const char SecondaryColor3bvEXT_names[] = "p\0" /* Parameter signature */ "glSecondaryColor3bv\0" "glSecondaryColor3bvEXT\0" @@ -1176,35 +1176,35 @@ static const char SecondaryColor3bvEXT_names[] = #endif #if defined(need_GL_IBM_vertex_array_lists) -static const char VertexPointerListIBM_names[] = +static const char VertexPointerListIBM_names[] = "iiipi\0" /* Parameter signature */ "glVertexPointerListIBM\0" ""; #endif #if defined(need_GL_ARB_vertex_program) -static const char GetProgramLocalParameterfvARB_names[] = +static const char GetProgramLocalParameterfvARB_names[] = "iip\0" /* Parameter signature */ "glGetProgramLocalParameterfvARB\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentMaterialfSGIX_names[] = +static const char FragmentMaterialfSGIX_names[] = "iif\0" /* Parameter signature */ "glFragmentMaterialfSGIX\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fNormal3fVertex3fSUN_names[] = +static const char TexCoord2fNormal3fVertex3fSUN_names[] = "ffffffff\0" /* Parameter signature */ "glTexCoord2fNormal3fVertex3fSUN\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char RenderbufferStorageEXT_names[] = +static const char RenderbufferStorageEXT_names[] = "iiii\0" /* Parameter signature */ "glRenderbufferStorage\0" "glRenderbufferStorageEXT\0" @@ -1212,28 +1212,28 @@ static const char RenderbufferStorageEXT_names[] = #endif #if defined(need_GL_NV_fence) -static const char IsFenceNV_names[] = +static const char IsFenceNV_names[] = "i\0" /* Parameter signature */ "glIsFenceNV\0" ""; #endif #if defined(need_GL_ARB_shader_objects) -static const char AttachObjectARB_names[] = +static const char AttachObjectARB_names[] = "ii\0" /* Parameter signature */ "glAttachObjectARB\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char GetFragmentLightivSGIX_names[] = +static const char GetFragmentLightivSGIX_names[] = "iip\0" /* Parameter signature */ "glGetFragmentLightivSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char UniformMatrix2fvARB_names[] = +static const char UniformMatrix2fvARB_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" @@ -1241,7 +1241,7 @@ static const char UniformMatrix2fvARB_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord2fARB_names[] = +static const char MultiTexCoord2fARB_names[] = "iff\0" /* Parameter signature */ "glMultiTexCoord2f\0" "glMultiTexCoord2fARB\0" @@ -1249,7 +1249,7 @@ static const char MultiTexCoord2fARB_names[] = #endif #if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) -static const char ColorTable_names[] = +static const char ColorTable_names[] = "iiiiip\0" /* Parameter signature */ "glColorTable\0" "glColorTableSGI\0" @@ -1258,14 +1258,14 @@ static const char ColorTable_names[] = #endif #if defined(need_GL_NV_evaluators) -static const char MapControlPointsNV_names[] = +static const char MapControlPointsNV_names[] = "iiiiiiiip\0" /* Parameter signature */ "glMapControlPointsNV\0" ""; #endif #if defined(need_GL_EXT_convolution) -static const char ConvolutionFilter2D_names[] = +static const char ConvolutionFilter2D_names[] = "iiiiiip\0" /* Parameter signature */ "glConvolutionFilter2D\0" "glConvolutionFilter2DEXT\0" @@ -1273,14 +1273,14 @@ static const char ConvolutionFilter2D_names[] = #endif #if defined(need_GL_NV_evaluators) -static const char MapParameterfvNV_names[] = +static const char MapParameterfvNV_names[] = "iip\0" /* Parameter signature */ "glMapParameterfvNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib3dvARB_names[] = +static const char VertexAttrib3dvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" @@ -1288,14 +1288,14 @@ static const char VertexAttrib3dvARB_names[] = #endif #if defined(need_GL_PGI_misc_hints) -static const char HintPGI_names[] = +static const char HintPGI_names[] = "ii\0" /* Parameter signature */ "glHintPGI\0" ""; #endif #if defined(need_GL_EXT_convolution) -static const char ConvolutionParameteriv_names[] = +static const char ConvolutionParameteriv_names[] = "iip\0" /* Parameter signature */ "glConvolutionParameteriv\0" "glConvolutionParameterivEXT\0" @@ -1303,28 +1303,28 @@ static const char ConvolutionParameteriv_names[] = #endif #if defined(need_GL_EXT_cull_vertex) -static const char CullParameterdvEXT_names[] = +static const char CullParameterdvEXT_names[] = "ip\0" /* Parameter signature */ "glCullParameterdvEXT\0" ""; #endif #if defined(need_GL_NV_fragment_program) -static const char ProgramNamedParameter4fNV_names[] = +static const char ProgramNamedParameter4fNV_names[] = "iipffff\0" /* Parameter signature */ "glProgramNamedParameter4fNV\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char Color3fVertex3fSUN_names[] = +static const char Color3fVertex3fSUN_names[] = "ffffff\0" /* Parameter signature */ "glColor3fVertex3fSUN\0" ""; #endif #if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char ProgramEnvParameter4fvARB_names[] = +static const char ProgramEnvParameter4fvARB_names[] = "iip\0" /* Parameter signature */ "glProgramEnvParameter4fvARB\0" "glProgramParameter4fvNV\0" @@ -1332,14 +1332,14 @@ static const char ProgramEnvParameter4fvARB_names[] = #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentLightModeliSGIX_names[] = +static const char FragmentLightModeliSGIX_names[] = "ii\0" /* Parameter signature */ "glFragmentLightModeliSGIX\0" ""; #endif #if defined(need_GL_EXT_convolution) -static const char ConvolutionParameterfv_names[] = +static const char ConvolutionParameterfv_names[] = "iip\0" /* Parameter signature */ "glConvolutionParameterfv\0" "glConvolutionParameterfvEXT\0" @@ -1347,42 +1347,42 @@ static const char ConvolutionParameterfv_names[] = #endif #if defined(need_GL_3DFX_tbuffer) -static const char TbufferMask3DFX_names[] = +static const char TbufferMask3DFX_names[] = "i\0" /* Parameter signature */ "glTbufferMask3DFX\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char LoadProgramNV_names[] = +static const char LoadProgramNV_names[] = "iiip\0" /* Parameter signature */ "glLoadProgramNV\0" ""; #endif #if defined(need_GL_ARB_sync) -static const char WaitSync_names[] = +static const char WaitSync_names[] = "iii\0" /* Parameter signature */ "glWaitSync\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4fvNV_names[] = +static const char VertexAttrib4fvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4fvNV\0" ""; #endif #if defined(need_GL_ARB_shader_objects) -static const char GetAttachedObjectsARB_names[] = +static const char GetAttachedObjectsARB_names[] = "iipp\0" /* Parameter signature */ "glGetAttachedObjectsARB\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform3fvARB_names[] = +static const char Uniform3fvARB_names[] = "iip\0" /* Parameter signature */ "glUniform3fv\0" "glUniform3fvARB\0" @@ -1390,7 +1390,7 @@ static const char Uniform3fvARB_names[] = #endif #if defined(need_GL_EXT_draw_range_elements) -static const char DrawRangeElements_names[] = +static const char DrawRangeElements_names[] = "iiiiip\0" /* Parameter signature */ "glDrawRangeElements\0" "glDrawRangeElementsEXT\0" @@ -1398,14 +1398,14 @@ static const char DrawRangeElements_names[] = #endif #if defined(need_GL_SGIX_sprite) -static const char SpriteParameterfvSGIX_names[] = +static const char SpriteParameterfvSGIX_names[] = "ip\0" /* Parameter signature */ "glSpriteParameterfvSGIX\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char CheckFramebufferStatusEXT_names[] = +static const char CheckFramebufferStatusEXT_names[] = "i\0" /* Parameter signature */ "glCheckFramebufferStatus\0" "glCheckFramebufferStatusEXT\0" @@ -1413,21 +1413,21 @@ static const char CheckFramebufferStatusEXT_names[] = #endif #if defined(need_GL_SUN_global_alpha) -static const char GlobalAlphaFactoruiSUN_names[] = +static const char GlobalAlphaFactoruiSUN_names[] = "i\0" /* Parameter signature */ "glGlobalAlphaFactoruiSUN\0" ""; #endif #if defined(need_GL_ARB_shader_objects) -static const char GetHandleARB_names[] = +static const char GetHandleARB_names[] = "i\0" /* Parameter signature */ "glGetHandleARB\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char GetVertexAttribivARB_names[] = +static const char GetVertexAttribivARB_names[] = "iip\0" /* Parameter signature */ "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" @@ -1435,21 +1435,21 @@ static const char GetVertexAttribivARB_names[] = #endif #if defined(need_GL_NV_register_combiners) -static const char GetCombinerInputParameterfvNV_names[] = +static const char GetCombinerInputParameterfvNV_names[] = "iiiip\0" /* Parameter signature */ "glGetCombinerInputParameterfvNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char CreateProgram_names[] = +static const char CreateProgram_names[] = "\0" /* Parameter signature */ "glCreateProgram\0" ""; #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_transpose_matrix) -static const char LoadTransposeMatrixdARB_names[] = +static const char LoadTransposeMatrixdARB_names[] = "p\0" /* Parameter signature */ "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixdARB\0" @@ -1457,7 +1457,7 @@ static const char LoadTransposeMatrixdARB_names[] = #endif #if defined(need_GL_EXT_histogram) -static const char GetMinmax_names[] = +static const char GetMinmax_names[] = "iiiip\0" /* Parameter signature */ "glGetMinmax\0" "glGetMinmaxEXT\0" @@ -1465,14 +1465,14 @@ static const char GetMinmax_names[] = #endif #if defined(need_GL_VERSION_2_0) -static const char StencilFuncSeparate_names[] = +static const char StencilFuncSeparate_names[] = "iiii\0" /* Parameter signature */ "glStencilFuncSeparate\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3sEXT_names[] = +static const char SecondaryColor3sEXT_names[] = "iii\0" /* Parameter signature */ "glSecondaryColor3s\0" "glSecondaryColor3sEXT\0" @@ -1480,28 +1480,28 @@ static const char SecondaryColor3sEXT_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char Color3fVertex3fvSUN_names[] = +static const char Color3fVertex3fvSUN_names[] = "pp\0" /* Parameter signature */ "glColor3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_SUN_global_alpha) -static const char GlobalAlphaFactorbSUN_names[] = +static const char GlobalAlphaFactorbSUN_names[] = "i\0" /* Parameter signature */ "glGlobalAlphaFactorbSUN\0" ""; #endif #if defined(need_GL_HP_image_transform) -static const char ImageTransformParameterfvHP_names[] = +static const char ImageTransformParameterfvHP_names[] = "iip\0" /* Parameter signature */ "glImageTransformParameterfvHP\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4ivARB_names[] = +static const char VertexAttrib4ivARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" @@ -1509,28 +1509,28 @@ static const char VertexAttrib4ivARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib3fNV_names[] = +static const char VertexAttrib3fNV_names[] = "ifff\0" /* Parameter signature */ "glVertexAttrib3fNV\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs2dvNV_names[] = +static const char VertexAttribs2dvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs2dvNV\0" ""; #endif #if defined(need_GL_EXT_timer_query) -static const char GetQueryObjectui64vEXT_names[] = +static const char GetQueryObjectui64vEXT_names[] = "iip\0" /* Parameter signature */ "glGetQueryObjectui64vEXT\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord3fvARB_names[] = +static const char MultiTexCoord3fvARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord3fv\0" "glMultiTexCoord3fvARB\0" @@ -1538,7 +1538,7 @@ static const char MultiTexCoord3fvARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3dEXT_names[] = +static const char SecondaryColor3dEXT_names[] = "ddd\0" /* Parameter signature */ "glSecondaryColor3d\0" "glSecondaryColor3dEXT\0" @@ -1546,42 +1546,42 @@ static const char SecondaryColor3dEXT_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char GetProgramParameterfvNV_names[] = +static const char GetProgramParameterfvNV_names[] = "iiip\0" /* Parameter signature */ "glGetProgramParameterfvNV\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char TangentPointerEXT_names[] = +static const char TangentPointerEXT_names[] = "iip\0" /* Parameter signature */ "glTangentPointerEXT\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char Color4fNormal3fVertex3fvSUN_names[] = +static const char Color4fNormal3fVertex3fvSUN_names[] = "ppp\0" /* Parameter signature */ "glColor4fNormal3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_SGIX_instruments) -static const char GetInstrumentsSGIX_names[] = +static const char GetInstrumentsSGIX_names[] = "\0" /* Parameter signature */ "glGetInstrumentsSGIX\0" ""; #endif #if defined(need_GL_NV_evaluators) -static const char EvalMapsNV_names[] = +static const char EvalMapsNV_names[] = "ii\0" /* Parameter signature */ "glEvalMapsNV\0" ""; #endif #if defined(need_GL_EXT_subtexture) -static const char TexSubImage2D_names[] = +static const char TexSubImage2D_names[] = "iiiiiiiip\0" /* Parameter signature */ "glTexSubImage2D\0" "glTexSubImage2DEXT\0" @@ -1589,28 +1589,28 @@ static const char TexSubImage2D_names[] = #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentLightivSGIX_names[] = +static const char FragmentLightivSGIX_names[] = "iip\0" /* Parameter signature */ "glFragmentLightivSGIX\0" ""; #endif #if defined(need_GL_APPLE_texture_range) -static const char GetTexParameterPointervAPPLE_names[] = +static const char GetTexParameterPointervAPPLE_names[] = "iip\0" /* Parameter signature */ "glGetTexParameterPointervAPPLE\0" ""; #endif #if defined(need_GL_EXT_pixel_transform) -static const char PixelTransformParameterfvEXT_names[] = +static const char PixelTransformParameterfvEXT_names[] = "iip\0" /* Parameter signature */ "glPixelTransformParameterfvEXT\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4bvARB_names[] = +static const char VertexAttrib4bvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" @@ -1618,14 +1618,14 @@ static const char VertexAttrib4bvARB_names[] = #endif #if defined(need_GL_ATI_fragment_shader) -static const char AlphaFragmentOp2ATI_names[] = +static const char AlphaFragmentOp2ATI_names[] = "iiiiiiiii\0" /* Parameter signature */ "glAlphaFragmentOp2ATI\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord4sARB_names[] = +static const char MultiTexCoord4sARB_names[] = "iiiii\0" /* Parameter signature */ "glMultiTexCoord4s\0" "glMultiTexCoord4sARB\0" @@ -1633,28 +1633,28 @@ static const char MultiTexCoord4sARB_names[] = #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char GetFragmentMaterialivSGIX_names[] = +static const char GetFragmentMaterialivSGIX_names[] = "iip\0" /* Parameter signature */ "glGetFragmentMaterialivSGIX\0" ""; #endif #if defined(need_GL_MESA_window_pos) -static const char WindowPos4dMESA_names[] = +static const char WindowPos4dMESA_names[] = "dddd\0" /* Parameter signature */ "glWindowPos4dMESA\0" ""; #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightPointerARB_names[] = +static const char WeightPointerARB_names[] = "iiip\0" /* Parameter signature */ "glWeightPointerARB\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos2dMESA_names[] = +static const char WindowPos2dMESA_names[] = "dd\0" /* Parameter signature */ "glWindowPos2d\0" "glWindowPos2dARB\0" @@ -1663,7 +1663,7 @@ static const char WindowPos2dMESA_names[] = #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char FramebufferTexture3DEXT_names[] = +static const char FramebufferTexture3DEXT_names[] = "iiiiii\0" /* Parameter signature */ "glFramebufferTexture3D\0" "glFramebufferTexture3DEXT\0" @@ -1671,7 +1671,7 @@ static const char FramebufferTexture3DEXT_names[] = #endif #if defined(need_GL_EXT_blend_minmax) -static const char BlendEquation_names[] = +static const char BlendEquation_names[] = "i\0" /* Parameter signature */ "glBlendEquation\0" "glBlendEquationEXT\0" @@ -1679,14 +1679,14 @@ static const char BlendEquation_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib3dNV_names[] = +static const char VertexAttrib3dNV_names[] = "iddd\0" /* Parameter signature */ "glVertexAttrib3dNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib3dARB_names[] = +static const char VertexAttrib3dARB_names[] = "iddd\0" /* Parameter signature */ "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" @@ -1694,14 +1694,14 @@ static const char VertexAttrib3dARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_names[] = +static const char ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_names[] = "ppppp\0" /* Parameter signature */ "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4fARB_names[] = +static const char VertexAttrib4fARB_names[] = "iffff\0" /* Parameter signature */ "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" @@ -1709,14 +1709,14 @@ static const char VertexAttrib4fARB_names[] = #endif #if defined(need_GL_EXT_index_func) -static const char IndexFuncEXT_names[] = +static const char IndexFuncEXT_names[] = "if\0" /* Parameter signature */ "glIndexFuncEXT\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char FramebufferTexture2DEXT_names[] = +static const char FramebufferTexture2DEXT_names[] = "iiiii\0" /* Parameter signature */ "glFramebufferTexture2D\0" "glFramebufferTexture2DEXT\0" @@ -1724,7 +1724,7 @@ static const char FramebufferTexture2DEXT_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord2dvARB_names[] = +static const char MultiTexCoord2dvARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord2dv\0" "glMultiTexCoord2dvARB\0" @@ -1732,21 +1732,21 @@ static const char MultiTexCoord2dvARB_names[] = #endif #if defined(need_GL_EXT_cull_vertex) -static const char CullParameterfvEXT_names[] = +static const char CullParameterfvEXT_names[] = "ip\0" /* Parameter signature */ "glCullParameterfvEXT\0" ""; #endif #if defined(need_GL_NV_fragment_program) -static const char ProgramNamedParameter4fvNV_names[] = +static const char ProgramNamedParameter4fvNV_names[] = "iipp\0" /* Parameter signature */ "glProgramNamedParameter4fvNV\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColorPointerEXT_names[] = +static const char SecondaryColorPointerEXT_names[] = "iiip\0" /* Parameter signature */ "glSecondaryColorPointer\0" "glSecondaryColorPointerEXT\0" @@ -1754,7 +1754,7 @@ static const char SecondaryColorPointerEXT_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4fvARB_names[] = +static const char VertexAttrib4fvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" @@ -1762,14 +1762,14 @@ static const char VertexAttrib4fvARB_names[] = #endif #if defined(need_GL_IBM_vertex_array_lists) -static const char ColorPointerListIBM_names[] = +static const char ColorPointerListIBM_names[] = "iiipi\0" /* Parameter signature */ "glColorPointerListIBM\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char GetActiveUniformARB_names[] = +static const char GetActiveUniformARB_names[] = "iiipppp\0" /* Parameter signature */ "glGetActiveUniform\0" "glGetActiveUniformARB\0" @@ -1777,14 +1777,14 @@ static const char GetActiveUniformARB_names[] = #endif #if defined(need_GL_HP_image_transform) -static const char ImageTransformParameteriHP_names[] = +static const char ImageTransformParameteriHP_names[] = "iii\0" /* Parameter signature */ "glImageTransformParameteriHP\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord1svARB_names[] = +static const char MultiTexCoord1svARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord1sv\0" "glMultiTexCoord1svARB\0" @@ -1792,7 +1792,7 @@ static const char MultiTexCoord1svARB_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_occlusion_query) -static const char EndQueryARB_names[] = +static const char EndQueryARB_names[] = "i\0" /* Parameter signature */ "glEndQuery\0" "glEndQueryARB\0" @@ -1800,42 +1800,42 @@ static const char EndQueryARB_names[] = #endif #if defined(need_GL_NV_fence) -static const char DeleteFencesNV_names[] = +static const char DeleteFencesNV_names[] = "ip\0" /* Parameter signature */ "glDeleteFencesNV\0" ""; #endif #if defined(need_GL_SGIX_polynomial_ffd) -static const char DeformationMap3dSGIX_names[] = +static const char DeformationMap3dSGIX_names[] = "iddiiddiiddiip\0" /* Parameter signature */ "glDeformationMap3dSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char IsShader_names[] = +static const char IsShader_names[] = "i\0" /* Parameter signature */ "glIsShader\0" ""; #endif #if defined(need_GL_HP_image_transform) -static const char GetImageTransformParameterivHP_names[] = +static const char GetImageTransformParameterivHP_names[] = "iip\0" /* Parameter signature */ "glGetImageTransformParameterivHP\0" ""; #endif #if defined(need_GL_MESA_window_pos) -static const char WindowPos4ivMESA_names[] = +static const char WindowPos4ivMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos4ivMESA\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord3svARB_names[] = +static const char MultiTexCoord3svARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord3sv\0" "glMultiTexCoord3svARB\0" @@ -1843,7 +1843,7 @@ static const char MultiTexCoord3svARB_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord4iARB_names[] = +static const char MultiTexCoord4iARB_names[] = "iiiii\0" /* Parameter signature */ "glMultiTexCoord4i\0" "glMultiTexCoord4iARB\0" @@ -1851,21 +1851,21 @@ static const char MultiTexCoord4iARB_names[] = #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3ivEXT_names[] = +static const char Binormal3ivEXT_names[] = "p\0" /* Parameter signature */ "glBinormal3ivEXT\0" ""; #endif #if defined(need_GL_MESA_resize_buffers) -static const char ResizeBuffersMESA_names[] = +static const char ResizeBuffersMESA_names[] = "\0" /* Parameter signature */ "glResizeBuffersMESA\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char GetUniformivARB_names[] = +static const char GetUniformivARB_names[] = "iip\0" /* Parameter signature */ "glGetUniformiv\0" "glGetUniformivARB\0" @@ -1873,28 +1873,28 @@ static const char GetUniformivARB_names[] = #endif #if defined(need_GL_SGIS_pixel_texture) -static const char PixelTexGenParameteriSGIS_names[] = +static const char PixelTexGenParameteriSGIS_names[] = "ii\0" /* Parameter signature */ "glPixelTexGenParameteriSGIS\0" ""; #endif #if defined(need_GL_INTEL_parallel_arrays) -static const char VertexPointervINTEL_names[] = +static const char VertexPointervINTEL_names[] = "iip\0" /* Parameter signature */ "glVertexPointervINTEL\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiColor4fNormal3fVertex3fvSUN_names[] = +static const char ReplacementCodeuiColor4fNormal3fVertex3fvSUN_names[] = "pppp\0" /* Parameter signature */ "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3uiEXT_names[] = +static const char SecondaryColor3uiEXT_names[] = "iii\0" /* Parameter signature */ "glSecondaryColor3ui\0" "glSecondaryColor3uiEXT\0" @@ -1902,14 +1902,14 @@ static const char SecondaryColor3uiEXT_names[] = #endif #if defined(need_GL_SGIX_instruments) -static const char StartInstrumentsSGIX_names[] = +static const char StartInstrumentsSGIX_names[] = "\0" /* Parameter signature */ "glStartInstrumentsSGIX\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3usvEXT_names[] = +static const char SecondaryColor3usvEXT_names[] = "p\0" /* Parameter signature */ "glSecondaryColor3usv\0" "glSecondaryColor3usvEXT\0" @@ -1917,49 +1917,49 @@ static const char SecondaryColor3usvEXT_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib2fvNV_names[] = +static const char VertexAttrib2fvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib2fvNV\0" ""; #endif #if defined(need_GL_ARB_vertex_program) -static const char ProgramLocalParameter4dvARB_names[] = +static const char ProgramLocalParameter4dvARB_names[] = "iip\0" /* Parameter signature */ "glProgramLocalParameter4dvARB\0" ""; #endif #if defined(need_GL_ARB_matrix_palette) -static const char MatrixIndexuivARB_names[] = +static const char MatrixIndexuivARB_names[] = "ip\0" /* Parameter signature */ "glMatrixIndexuivARB\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) -static const char RenderbufferStorageMultisample_names[] = +static const char RenderbufferStorageMultisample_names[] = "iiiii\0" /* Parameter signature */ "glRenderbufferStorageMultisample\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3sEXT_names[] = +static const char Tangent3sEXT_names[] = "iii\0" /* Parameter signature */ "glTangent3sEXT\0" ""; #endif #if defined(need_GL_SUN_global_alpha) -static const char GlobalAlphaFactorfSUN_names[] = +static const char GlobalAlphaFactorfSUN_names[] = "f\0" /* Parameter signature */ "glGlobalAlphaFactorfSUN\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord3iARB_names[] = +static const char MultiTexCoord3iARB_names[] = "iiii\0" /* Parameter signature */ "glMultiTexCoord3i\0" "glMultiTexCoord3iARB\0" @@ -1967,35 +1967,35 @@ static const char MultiTexCoord3iARB_names[] = #endif #if defined(need_GL_VERSION_2_0) -static const char IsProgram_names[] = +static const char IsProgram_names[] = "i\0" /* Parameter signature */ "glIsProgram\0" ""; #endif #if defined(need_GL_IBM_vertex_array_lists) -static const char TexCoordPointerListIBM_names[] = +static const char TexCoordPointerListIBM_names[] = "iiipi\0" /* Parameter signature */ "glTexCoordPointerListIBM\0" ""; #endif #if defined(need_GL_SUN_global_alpha) -static const char GlobalAlphaFactorusSUN_names[] = +static const char GlobalAlphaFactorusSUN_names[] = "i\0" /* Parameter signature */ "glGlobalAlphaFactorusSUN\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib2dvNV_names[] = +static const char VertexAttrib2dvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib2dvNV\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char FramebufferRenderbufferEXT_names[] = +static const char FramebufferRenderbufferEXT_names[] = "iiii\0" /* Parameter signature */ "glFramebufferRenderbuffer\0" "glFramebufferRenderbufferEXT\0" @@ -2003,14 +2003,14 @@ static const char FramebufferRenderbufferEXT_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib1dvNV_names[] = +static const char VertexAttrib1dvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib1dvNV\0" ""; #endif #if defined(need_GL_EXT_texture_object) -static const char GenTextures_names[] = +static const char GenTextures_names[] = "ip\0" /* Parameter signature */ "glGenTextures\0" "glGenTexturesEXT\0" @@ -2018,14 +2018,14 @@ static const char GenTextures_names[] = #endif #if defined(need_GL_NV_fence) -static const char SetFenceNV_names[] = +static const char SetFenceNV_names[] = "ii\0" /* Parameter signature */ "glSetFenceNV\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char FramebufferTexture1DEXT_names[] = +static const char FramebufferTexture1DEXT_names[] = "iiiii\0" /* Parameter signature */ "glFramebufferTexture1D\0" "glFramebufferTexture1DEXT\0" @@ -2033,49 +2033,49 @@ static const char FramebufferTexture1DEXT_names[] = #endif #if defined(need_GL_NV_register_combiners) -static const char GetCombinerOutputParameterivNV_names[] = +static const char GetCombinerOutputParameterivNV_names[] = "iiip\0" /* Parameter signature */ "glGetCombinerOutputParameterivNV\0" ""; #endif #if defined(need_GL_SGIS_pixel_texture) -static const char PixelTexGenParameterivSGIS_names[] = +static const char PixelTexGenParameterivSGIS_names[] = "ip\0" /* Parameter signature */ "glPixelTexGenParameterivSGIS\0" ""; #endif #if defined(need_GL_EXT_texture_perturb_normal) -static const char TextureNormalEXT_names[] = +static const char TextureNormalEXT_names[] = "i\0" /* Parameter signature */ "glTextureNormalEXT\0" ""; #endif #if defined(need_GL_IBM_vertex_array_lists) -static const char IndexPointerListIBM_names[] = +static const char IndexPointerListIBM_names[] = "iipi\0" /* Parameter signature */ "glIndexPointerListIBM\0" ""; #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightfvARB_names[] = +static const char WeightfvARB_names[] = "ip\0" /* Parameter signature */ "glWeightfvARB\0" ""; #endif #if defined(need_GL_MESA_window_pos) -static const char WindowPos4fMESA_names[] = +static const char WindowPos4fMESA_names[] = "ffff\0" /* Parameter signature */ "glWindowPos4fMESA\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos3dvMESA_names[] = +static const char WindowPos3dvMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos3dv\0" "glWindowPos3dvARB\0" @@ -2084,14 +2084,14 @@ static const char WindowPos3dvMESA_names[] = #endif #if defined(need_GL_EXT_timer_query) -static const char GetQueryObjecti64vEXT_names[] = +static const char GetQueryObjecti64vEXT_names[] = "iip\0" /* Parameter signature */ "glGetQueryObjecti64vEXT\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord1dARB_names[] = +static const char MultiTexCoord1dARB_names[] = "id\0" /* Parameter signature */ "glMultiTexCoord1d\0" "glMultiTexCoord1dARB\0" @@ -2099,7 +2099,7 @@ static const char MultiTexCoord1dARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_NV_point_sprite) -static const char PointParameterivNV_names[] = +static const char PointParameterivNV_names[] = "ip\0" /* Parameter signature */ "glPointParameteriv\0" "glPointParameterivNV\0" @@ -2107,7 +2107,7 @@ static const char PointParameterivNV_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform2fvARB_names[] = +static const char Uniform2fvARB_names[] = "iip\0" /* Parameter signature */ "glUniform2fv\0" "glUniform2fvARB\0" @@ -2115,14 +2115,14 @@ static const char Uniform2fvARB_names[] = #endif #if defined(need_GL_APPLE_flush_buffer_range) -static const char BufferParameteriAPPLE_names[] = +static const char BufferParameteriAPPLE_names[] = "iii\0" /* Parameter signature */ "glBufferParameteriAPPLE\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord3dvARB_names[] = +static const char MultiTexCoord3dvARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord3dv\0" "glMultiTexCoord3dvARB\0" @@ -2130,49 +2130,49 @@ static const char MultiTexCoord3dvARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_names[] = +static const char ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_names[] = "pppp\0" /* Parameter signature */ "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_ARB_shader_objects) -static const char DeleteObjectARB_names[] = +static const char DeleteObjectARB_names[] = "i\0" /* Parameter signature */ "glDeleteObjectARB\0" ""; #endif #if defined(need_GL_ARB_matrix_palette) -static const char MatrixIndexPointerARB_names[] = +static const char MatrixIndexPointerARB_names[] = "iiip\0" /* Parameter signature */ "glMatrixIndexPointerARB\0" ""; #endif #if defined(need_GL_NV_fragment_program) -static const char ProgramNamedParameter4dvNV_names[] = +static const char ProgramNamedParameter4dvNV_names[] = "iipp\0" /* Parameter signature */ "glProgramNamedParameter4dvNV\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3fvEXT_names[] = +static const char Tangent3fvEXT_names[] = "p\0" /* Parameter signature */ "glTangent3fvEXT\0" ""; #endif #if defined(need_GL_ARB_vertex_array_object) -static const char GenVertexArrays_names[] = +static const char GenVertexArrays_names[] = "ip\0" /* Parameter signature */ "glGenVertexArrays\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char BindFramebufferEXT_names[] = +static const char BindFramebufferEXT_names[] = "ii\0" /* Parameter signature */ "glBindFramebuffer\0" "glBindFramebufferEXT\0" @@ -2180,14 +2180,14 @@ static const char BindFramebufferEXT_names[] = #endif #if defined(need_GL_SGIX_reference_plane) -static const char ReferencePlaneSGIX_names[] = +static const char ReferencePlaneSGIX_names[] = "p\0" /* Parameter signature */ "glReferencePlaneSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char ValidateProgramARB_names[] = +static const char ValidateProgramARB_names[] = "i\0" /* Parameter signature */ "glValidateProgram\0" "glValidateProgramARB\0" @@ -2195,21 +2195,21 @@ static const char ValidateProgramARB_names[] = #endif #if defined(need_GL_EXT_compiled_vertex_array) -static const char UnlockArraysEXT_names[] = +static const char UnlockArraysEXT_names[] = "\0" /* Parameter signature */ "glUnlockArraysEXT\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fColor3fVertex3fSUN_names[] = +static const char TexCoord2fColor3fVertex3fSUN_names[] = "ffffffff\0" /* Parameter signature */ "glTexCoord2fColor3fVertex3fSUN\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos3fvMESA_names[] = +static const char WindowPos3fvMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos3fv\0" "glWindowPos3fvARB\0" @@ -2218,14 +2218,14 @@ static const char WindowPos3fvMESA_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib1svNV_names[] = +static const char VertexAttrib1svNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib1svNV\0" ""; #endif #if defined(need_GL_EXT_copy_texture) -static const char CopyTexSubImage3D_names[] = +static const char CopyTexSubImage3D_names[] = "iiiiiiiii\0" /* Parameter signature */ "glCopyTexSubImage3D\0" "glCopyTexSubImage3DEXT\0" @@ -2233,7 +2233,7 @@ static const char CopyTexSubImage3D_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib2dARB_names[] = +static const char VertexAttrib2dARB_names[] = "idd\0" /* Parameter signature */ "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" @@ -2241,21 +2241,21 @@ static const char VertexAttrib2dARB_names[] = #endif #if defined(need_GL_ARB_sync) -static const char GetInteger64v_names[] = +static const char GetInteger64v_names[] = "ip\0" /* Parameter signature */ "glGetInteger64v\0" ""; #endif #if defined(need_GL_SGIS_texture_color_mask) -static const char TextureColorMaskSGIS_names[] = +static const char TextureColorMaskSGIS_names[] = "iiii\0" /* Parameter signature */ "glTextureColorMaskSGIS\0" ""; #endif #if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) -static const char GetColorTable_names[] = +static const char GetColorTable_names[] = "iiip\0" /* Parameter signature */ "glGetColorTable\0" "glGetColorTableSGI\0" @@ -2264,7 +2264,7 @@ static const char GetColorTable_names[] = #endif #if defined(need_GL_SGI_color_table) -static const char CopyColorTable_names[] = +static const char CopyColorTable_names[] = "iiiii\0" /* Parameter signature */ "glCopyColorTable\0" "glCopyColorTableSGI\0" @@ -2272,7 +2272,7 @@ static const char CopyColorTable_names[] = #endif #if defined(need_GL_EXT_histogram) -static const char GetHistogramParameterfv_names[] = +static const char GetHistogramParameterfv_names[] = "iip\0" /* Parameter signature */ "glGetHistogramParameterfv\0" "glGetHistogramParameterfvEXT\0" @@ -2280,21 +2280,21 @@ static const char GetHistogramParameterfv_names[] = #endif #if defined(need_GL_INTEL_parallel_arrays) -static const char ColorPointervINTEL_names[] = +static const char ColorPointervINTEL_names[] = "iip\0" /* Parameter signature */ "glColorPointervINTEL\0" ""; #endif #if defined(need_GL_ATI_fragment_shader) -static const char AlphaFragmentOp1ATI_names[] = +static const char AlphaFragmentOp1ATI_names[] = "iiiiii\0" /* Parameter signature */ "glAlphaFragmentOp1ATI\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord3ivARB_names[] = +static const char MultiTexCoord3ivARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord3iv\0" "glMultiTexCoord3ivARB\0" @@ -2302,7 +2302,7 @@ static const char MultiTexCoord3ivARB_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord2sARB_names[] = +static const char MultiTexCoord2sARB_names[] = "iii\0" /* Parameter signature */ "glMultiTexCoord2s\0" "glMultiTexCoord2sARB\0" @@ -2310,7 +2310,7 @@ static const char MultiTexCoord2sARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib1dvARB_names[] = +static const char VertexAttrib1dvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" @@ -2318,7 +2318,7 @@ static const char VertexAttrib1dvARB_names[] = #endif #if defined(need_GL_EXT_texture_object) -static const char DeleteTextures_names[] = +static const char DeleteTextures_names[] = "ip\0" /* Parameter signature */ "glDeleteTextures\0" "glDeleteTexturesEXT\0" @@ -2326,49 +2326,49 @@ static const char DeleteTextures_names[] = #endif #if defined(need_GL_EXT_vertex_array) -static const char TexCoordPointerEXT_names[] = +static const char TexCoordPointerEXT_names[] = "iiiip\0" /* Parameter signature */ "glTexCoordPointerEXT\0" ""; #endif #if defined(need_GL_SGIS_texture4D) -static const char TexSubImage4DSGIS_names[] = +static const char TexSubImage4DSGIS_names[] = "iiiiiiiiiiiip\0" /* Parameter signature */ "glTexSubImage4DSGIS\0" ""; #endif #if defined(need_GL_NV_register_combiners2) -static const char CombinerStageParameterfvNV_names[] = +static const char CombinerStageParameterfvNV_names[] = "iip\0" /* Parameter signature */ "glCombinerStageParameterfvNV\0" ""; #endif #if defined(need_GL_SGIX_instruments) -static const char StopInstrumentsSGIX_names[] = +static const char StopInstrumentsSGIX_names[] = "i\0" /* Parameter signature */ "glStopInstrumentsSGIX\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord4fColor4fNormal3fVertex4fSUN_names[] = +static const char TexCoord4fColor4fNormal3fVertex4fSUN_names[] = "fffffffffffffff\0" /* Parameter signature */ "glTexCoord4fColor4fNormal3fVertex4fSUN\0" ""; #endif #if defined(need_GL_SGIX_polynomial_ffd) -static const char DeformSGIX_names[] = +static const char DeformSGIX_names[] = "i\0" /* Parameter signature */ "glDeformSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char GetVertexAttribfvARB_names[] = +static const char GetVertexAttribfvARB_names[] = "iip\0" /* Parameter signature */ "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" @@ -2376,7 +2376,7 @@ static const char GetVertexAttribfvARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3ivEXT_names[] = +static const char SecondaryColor3ivEXT_names[] = "p\0" /* Parameter signature */ "glSecondaryColor3iv\0" "glSecondaryColor3ivEXT\0" @@ -2384,49 +2384,49 @@ static const char SecondaryColor3ivEXT_names[] = #endif #if defined(need_GL_VERSION_2_1) -static const char UniformMatrix4x2fv_names[] = +static const char UniformMatrix4x2fv_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix4x2fv\0" ""; #endif #if defined(need_GL_SGIS_detail_texture) -static const char GetDetailTexFuncSGIS_names[] = +static const char GetDetailTexFuncSGIS_names[] = "ip\0" /* Parameter signature */ "glGetDetailTexFuncSGIS\0" ""; #endif #if defined(need_GL_NV_register_combiners2) -static const char GetCombinerStageParameterfvNV_names[] = +static const char GetCombinerStageParameterfvNV_names[] = "iip\0" /* Parameter signature */ "glGetCombinerStageParameterfvNV\0" ""; #endif #if defined(need_GL_ARB_vertex_array_object) -static const char BindVertexArray_names[] = +static const char BindVertexArray_names[] = "i\0" /* Parameter signature */ "glBindVertexArray\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char Color4ubVertex2fvSUN_names[] = +static const char Color4ubVertex2fvSUN_names[] = "pp\0" /* Parameter signature */ "glColor4ubVertex2fvSUN\0" ""; #endif #if defined(need_GL_SGIS_texture_filter4) -static const char TexFilterFuncSGIS_names[] = +static const char TexFilterFuncSGIS_names[] = "iiip\0" /* Parameter signature */ "glTexFilterFuncSGIS\0" ""; #endif #if defined(need_GL_SGIS_multisample) || defined(need_GL_EXT_multisample) -static const char SampleMaskSGIS_names[] = +static const char SampleMaskSGIS_names[] = "fi\0" /* Parameter signature */ "glSampleMaskSGIS\0" "glSampleMaskEXT\0" @@ -2434,7 +2434,7 @@ static const char SampleMaskSGIS_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_shader) -static const char GetAttribLocationARB_names[] = +static const char GetAttribLocationARB_names[] = "ip\0" /* Parameter signature */ "glGetAttribLocation\0" "glGetAttribLocationARB\0" @@ -2442,7 +2442,7 @@ static const char GetAttribLocationARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4ubvARB_names[] = +static const char VertexAttrib4ubvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" @@ -2450,21 +2450,21 @@ static const char VertexAttrib4ubvARB_names[] = #endif #if defined(need_GL_SGIS_detail_texture) -static const char DetailTexFuncSGIS_names[] = +static const char DetailTexFuncSGIS_names[] = "iip\0" /* Parameter signature */ "glDetailTexFuncSGIS\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char Normal3fVertex3fSUN_names[] = +static const char Normal3fVertex3fSUN_names[] = "ffffff\0" /* Parameter signature */ "glNormal3fVertex3fSUN\0" ""; #endif #if defined(need_GL_EXT_copy_texture) -static const char CopyTexImage2D_names[] = +static const char CopyTexImage2D_names[] = "iiiiiiii\0" /* Parameter signature */ "glCopyTexImage2D\0" "glCopyTexImage2DEXT\0" @@ -2472,7 +2472,7 @@ static const char CopyTexImage2D_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char GetBufferPointervARB_names[] = +static const char GetBufferPointervARB_names[] = "iip\0" /* Parameter signature */ "glGetBufferPointerv\0" "glGetBufferPointervARB\0" @@ -2480,7 +2480,7 @@ static const char GetBufferPointervARB_names[] = #endif #if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char ProgramEnvParameter4fARB_names[] = +static const char ProgramEnvParameter4fARB_names[] = "iiffff\0" /* Parameter signature */ "glProgramEnvParameter4fARB\0" "glProgramParameter4fNV\0" @@ -2488,7 +2488,7 @@ static const char ProgramEnvParameter4fARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform3ivARB_names[] = +static const char Uniform3ivARB_names[] = "iip\0" /* Parameter signature */ "glUniform3iv\0" "glUniform3ivARB\0" @@ -2496,21 +2496,21 @@ static const char Uniform3ivARB_names[] = #endif #if defined(need_GL_NV_fence) -static const char GetFenceivNV_names[] = +static const char GetFenceivNV_names[] = "iip\0" /* Parameter signature */ "glGetFenceivNV\0" ""; #endif #if defined(need_GL_MESA_window_pos) -static const char WindowPos4dvMESA_names[] = +static const char WindowPos4dvMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos4dvMESA\0" ""; #endif #if defined(need_GL_EXT_color_subtable) -static const char ColorSubTable_names[] = +static const char ColorSubTable_names[] = "iiiiip\0" /* Parameter signature */ "glColorSubTable\0" "glColorSubTableEXT\0" @@ -2518,7 +2518,7 @@ static const char ColorSubTable_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord4ivARB_names[] = +static const char MultiTexCoord4ivARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord4iv\0" "glMultiTexCoord4ivARB\0" @@ -2526,21 +2526,21 @@ static const char MultiTexCoord4ivARB_names[] = #endif #if defined(need_GL_EXT_gpu_program_parameters) -static const char ProgramLocalParameters4fvEXT_names[] = +static const char ProgramLocalParameters4fvEXT_names[] = "iiip\0" /* Parameter signature */ "glProgramLocalParameters4fvEXT\0" ""; #endif #if defined(need_GL_NV_evaluators) -static const char GetMapAttribParameterfvNV_names[] = +static const char GetMapAttribParameterfvNV_names[] = "iiip\0" /* Parameter signature */ "glGetMapAttribParameterfvNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4sARB_names[] = +static const char VertexAttrib4sARB_names[] = "iiiii\0" /* Parameter signature */ "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" @@ -2548,7 +2548,7 @@ static const char VertexAttrib4sARB_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_occlusion_query) -static const char GetQueryObjectuivARB_names[] = +static const char GetQueryObjectuivARB_names[] = "iip\0" /* Parameter signature */ "glGetQueryObjectuiv\0" "glGetQueryObjectuivARB\0" @@ -2556,14 +2556,14 @@ static const char GetQueryObjectuivARB_names[] = #endif #if defined(need_GL_NV_evaluators) -static const char MapParameterivNV_names[] = +static const char MapParameterivNV_names[] = "iip\0" /* Parameter signature */ "glMapParameterivNV\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char GenRenderbuffersEXT_names[] = +static const char GenRenderbuffersEXT_names[] = "ip\0" /* Parameter signature */ "glGenRenderbuffers\0" "glGenRenderbuffersEXT\0" @@ -2571,7 +2571,7 @@ static const char GenRenderbuffersEXT_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib2dvARB_names[] = +static const char VertexAttrib2dvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" @@ -2579,28 +2579,28 @@ static const char VertexAttrib2dvARB_names[] = #endif #if defined(need_GL_EXT_vertex_array) -static const char EdgeFlagPointerEXT_names[] = +static const char EdgeFlagPointerEXT_names[] = "iip\0" /* Parameter signature */ "glEdgeFlagPointerEXT\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs2svNV_names[] = +static const char VertexAttribs2svNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs2svNV\0" ""; #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightbvARB_names[] = +static const char WeightbvARB_names[] = "ip\0" /* Parameter signature */ "glWeightbvARB\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib2fvARB_names[] = +static const char VertexAttrib2fvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" @@ -2608,7 +2608,7 @@ static const char VertexAttrib2fvARB_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char GetBufferParameterivARB_names[] = +static const char GetBufferParameterivARB_names[] = "iip\0" /* Parameter signature */ "glGetBufferParameteriv\0" "glGetBufferParameterivARB\0" @@ -2616,28 +2616,28 @@ static const char GetBufferParameterivARB_names[] = #endif #if defined(need_GL_SGIX_list_priority) -static const char ListParameteriSGIX_names[] = +static const char ListParameteriSGIX_names[] = "iii\0" /* Parameter signature */ "glListParameteriSGIX\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiColor4fNormal3fVertex3fSUN_names[] = +static const char ReplacementCodeuiColor4fNormal3fVertex3fSUN_names[] = "iffffffffff\0" /* Parameter signature */ "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0" ""; #endif #if defined(need_GL_SGIX_instruments) -static const char InstrumentsBufferSGIX_names[] = +static const char InstrumentsBufferSGIX_names[] = "ip\0" /* Parameter signature */ "glInstrumentsBufferSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4NivARB_names[] = +static const char VertexAttrib4NivARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" @@ -2645,35 +2645,35 @@ static const char VertexAttrib4NivARB_names[] = #endif #if defined(need_GL_VERSION_2_0) -static const char GetAttachedShaders_names[] = +static const char GetAttachedShaders_names[] = "iipp\0" /* Parameter signature */ "glGetAttachedShaders\0" ""; #endif #if defined(need_GL_APPLE_vertex_array_object) -static const char GenVertexArraysAPPLE_names[] = +static const char GenVertexArraysAPPLE_names[] = "ip\0" /* Parameter signature */ "glGenVertexArraysAPPLE\0" ""; #endif #if defined(need_GL_EXT_gpu_program_parameters) -static const char ProgramEnvParameters4fvEXT_names[] = +static const char ProgramEnvParameters4fvEXT_names[] = "iiip\0" /* Parameter signature */ "glProgramEnvParameters4fvEXT\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fColor4fNormal3fVertex3fvSUN_names[] = +static const char TexCoord2fColor4fNormal3fVertex3fvSUN_names[] = "pppp\0" /* Parameter signature */ "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos2iMESA_names[] = +static const char WindowPos2iMESA_names[] = "ii\0" /* Parameter signature */ "glWindowPos2i\0" "glWindowPos2iARB\0" @@ -2682,7 +2682,7 @@ static const char WindowPos2iMESA_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3fvEXT_names[] = +static const char SecondaryColor3fvEXT_names[] = "p\0" /* Parameter signature */ "glSecondaryColor3fv\0" "glSecondaryColor3fvEXT\0" @@ -2690,7 +2690,7 @@ static const char SecondaryColor3fvEXT_names[] = #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_texture_compression) -static const char CompressedTexSubImage1DARB_names[] = +static const char CompressedTexSubImage1DARB_names[] = "iiiiiip\0" /* Parameter signature */ "glCompressedTexSubImage1D\0" "glCompressedTexSubImage1DARB\0" @@ -2698,28 +2698,28 @@ static const char CompressedTexSubImage1DARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char GetVertexAttribivNV_names[] = +static const char GetVertexAttribivNV_names[] = "iip\0" /* Parameter signature */ "glGetVertexAttribivNV\0" ""; #endif #if defined(need_GL_ARB_vertex_program) -static const char GetProgramStringARB_names[] = +static const char GetProgramStringARB_names[] = "iip\0" /* Parameter signature */ "glGetProgramStringARB\0" ""; #endif #if defined(need_GL_ATI_envmap_bumpmap) -static const char TexBumpParameterfvATI_names[] = +static const char TexBumpParameterfvATI_names[] = "ip\0" /* Parameter signature */ "glTexBumpParameterfvATI\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char CompileShaderARB_names[] = +static const char CompileShaderARB_names[] = "i\0" /* Parameter signature */ "glCompileShader\0" "glCompileShaderARB\0" @@ -2727,14 +2727,14 @@ static const char CompileShaderARB_names[] = #endif #if defined(need_GL_VERSION_2_0) -static const char DeleteShader_names[] = +static const char DeleteShader_names[] = "i\0" /* Parameter signature */ "glDeleteShader\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform3fARB_names[] = +static const char Uniform3fARB_names[] = "ifff\0" /* Parameter signature */ "glUniform3f\0" "glUniform3fARB\0" @@ -2742,28 +2742,28 @@ static const char Uniform3fARB_names[] = #endif #if defined(need_GL_SGIX_list_priority) -static const char ListParameterfvSGIX_names[] = +static const char ListParameterfvSGIX_names[] = "iip\0" /* Parameter signature */ "glListParameterfvSGIX\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3dvEXT_names[] = +static const char Tangent3dvEXT_names[] = "p\0" /* Parameter signature */ "glTangent3dvEXT\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char GetVertexAttribfvNV_names[] = +static const char GetVertexAttribfvNV_names[] = "iip\0" /* Parameter signature */ "glGetVertexAttribfvNV\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos3sMESA_names[] = +static const char WindowPos3sMESA_names[] = "iii\0" /* Parameter signature */ "glWindowPos3s\0" "glWindowPos3sARB\0" @@ -2772,35 +2772,35 @@ static const char WindowPos3sMESA_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib2svNV_names[] = +static const char VertexAttrib2svNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib2svNV\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs1fvNV_names[] = +static const char VertexAttribs1fvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs1fvNV\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fVertex3fvSUN_names[] = +static const char TexCoord2fVertex3fvSUN_names[] = "pp\0" /* Parameter signature */ "glTexCoord2fVertex3fvSUN\0" ""; #endif #if defined(need_GL_MESA_window_pos) -static const char WindowPos4sMESA_names[] = +static const char WindowPos4sMESA_names[] = "iiii\0" /* Parameter signature */ "glWindowPos4sMESA\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4NuivARB_names[] = +static const char VertexAttrib4NuivARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" @@ -2808,7 +2808,7 @@ static const char VertexAttrib4NuivARB_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char ClientActiveTextureARB_names[] = +static const char ClientActiveTextureARB_names[] = "i\0" /* Parameter signature */ "glClientActiveTexture\0" "glClientActiveTextureARB\0" @@ -2816,21 +2816,21 @@ static const char ClientActiveTextureARB_names[] = #endif #if defined(need_GL_SGIX_pixel_texture) -static const char PixelTexGenSGIX_names[] = +static const char PixelTexGenSGIX_names[] = "i\0" /* Parameter signature */ "glPixelTexGenSGIX\0" ""; #endif #if defined(need_GL_SUN_triangle_list) -static const char ReplacementCodeusvSUN_names[] = +static const char ReplacementCodeusvSUN_names[] = "p\0" /* Parameter signature */ "glReplacementCodeusvSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform4fARB_names[] = +static const char Uniform4fARB_names[] = "iffff\0" /* Parameter signature */ "glUniform4f\0" "glUniform4fARB\0" @@ -2838,14 +2838,14 @@ static const char Uniform4fARB_names[] = #endif #if defined(need_GL_ARB_map_buffer_range) -static const char FlushMappedBufferRange_names[] = +static const char FlushMappedBufferRange_names[] = "iii\0" /* Parameter signature */ "glFlushMappedBufferRange\0" ""; #endif #if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char IsProgramNV_names[] = +static const char IsProgramNV_names[] = "i\0" /* Parameter signature */ "glIsProgramARB\0" "glIsProgramNV\0" @@ -2853,21 +2853,21 @@ static const char IsProgramNV_names[] = #endif #if defined(need_GL_APPLE_flush_buffer_range) -static const char FlushMappedBufferRangeAPPLE_names[] = +static const char FlushMappedBufferRangeAPPLE_names[] = "iii\0" /* Parameter signature */ "glFlushMappedBufferRangeAPPLE\0" ""; #endif #if defined(need_GL_SUN_triangle_list) -static const char ReplacementCodePointerSUN_names[] = +static const char ReplacementCodePointerSUN_names[] = "iip\0" /* Parameter signature */ "glReplacementCodePointerSUN\0" ""; #endif #if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char ProgramEnvParameter4dARB_names[] = +static const char ProgramEnvParameter4dARB_names[] = "iidddd\0" /* Parameter signature */ "glProgramEnvParameter4dARB\0" "glProgramParameter4dNV\0" @@ -2875,7 +2875,7 @@ static const char ProgramEnvParameter4dARB_names[] = #endif #if defined(need_GL_SGI_color_table) -static const char ColorTableParameterfv_names[] = +static const char ColorTableParameterfv_names[] = "iip\0" /* Parameter signature */ "glColorTableParameterfv\0" "glColorTableParameterfvSGI\0" @@ -2883,21 +2883,21 @@ static const char ColorTableParameterfv_names[] = #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentLightModelfSGIX_names[] = +static const char FragmentLightModelfSGIX_names[] = "if\0" /* Parameter signature */ "glFragmentLightModelfSGIX\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3bvEXT_names[] = +static const char Binormal3bvEXT_names[] = "p\0" /* Parameter signature */ "glBinormal3bvEXT\0" ""; #endif #if defined(need_GL_EXT_texture_object) -static const char IsTexture_names[] = +static const char IsTexture_names[] = "i\0" /* Parameter signature */ "glIsTexture\0" "glIsTextureEXT\0" @@ -2905,14 +2905,14 @@ static const char IsTexture_names[] = #endif #if defined(need_GL_EXT_vertex_weighting) -static const char VertexWeightfvEXT_names[] = +static const char VertexWeightfvEXT_names[] = "p\0" /* Parameter signature */ "glVertexWeightfvEXT\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib1dARB_names[] = +static const char VertexAttrib1dARB_names[] = "id\0" /* Parameter signature */ "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" @@ -2920,14 +2920,14 @@ static const char VertexAttrib1dARB_names[] = #endif #if defined(need_GL_HP_image_transform) -static const char ImageTransformParameterivHP_names[] = +static const char ImageTransformParameterivHP_names[] = "iip\0" /* Parameter signature */ "glImageTransformParameterivHP\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_occlusion_query) -static const char DeleteQueriesARB_names[] = +static const char DeleteQueriesARB_names[] = "ip\0" /* Parameter signature */ "glDeleteQueries\0" "glDeleteQueriesARB\0" @@ -2935,28 +2935,28 @@ static const char DeleteQueriesARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char Color4ubVertex2fSUN_names[] = +static const char Color4ubVertex2fSUN_names[] = "iiiiff\0" /* Parameter signature */ "glColor4ubVertex2fSUN\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentColorMaterialSGIX_names[] = +static const char FragmentColorMaterialSGIX_names[] = "ii\0" /* Parameter signature */ "glFragmentColorMaterialSGIX\0" ""; #endif #if defined(need_GL_ARB_matrix_palette) -static const char CurrentPaletteMatrixARB_names[] = +static const char CurrentPaletteMatrixARB_names[] = "i\0" /* Parameter signature */ "glCurrentPaletteMatrixARB\0" ""; #endif #if defined(need_GL_SGIS_multisample) || defined(need_GL_EXT_multisample) -static const char SamplePatternSGIS_names[] = +static const char SamplePatternSGIS_names[] = "i\0" /* Parameter signature */ "glSamplePatternSGIS\0" "glSamplePatternEXT\0" @@ -2964,7 +2964,7 @@ static const char SamplePatternSGIS_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_occlusion_query) -static const char IsQueryARB_names[] = +static const char IsQueryARB_names[] = "i\0" /* Parameter signature */ "glIsQuery\0" "glIsQueryARB\0" @@ -2972,14 +2972,14 @@ static const char IsQueryARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiColor4ubVertex3fSUN_names[] = +static const char ReplacementCodeuiColor4ubVertex3fSUN_names[] = "iiiiifff\0" /* Parameter signature */ "glReplacementCodeuiColor4ubVertex3fSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4usvARB_names[] = +static const char VertexAttrib4usvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4usv\0" "glVertexAttrib4usvARB\0" @@ -2987,7 +2987,7 @@ static const char VertexAttrib4usvARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char LinkProgramARB_names[] = +static const char LinkProgramARB_names[] = "i\0" /* Parameter signature */ "glLinkProgram\0" "glLinkProgramARB\0" @@ -2995,14 +2995,14 @@ static const char LinkProgramARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib2fNV_names[] = +static const char VertexAttrib2fNV_names[] = "iff\0" /* Parameter signature */ "glVertexAttrib2fNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char ShaderSourceARB_names[] = +static const char ShaderSourceARB_names[] = "iipp\0" /* Parameter signature */ "glShaderSource\0" "glShaderSourceARB\0" @@ -3010,14 +3010,14 @@ static const char ShaderSourceARB_names[] = #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentMaterialiSGIX_names[] = +static const char FragmentMaterialiSGIX_names[] = "iii\0" /* Parameter signature */ "glFragmentMaterialiSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib3svARB_names[] = +static const char VertexAttrib3svARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" @@ -3025,7 +3025,7 @@ static const char VertexAttrib3svARB_names[] = #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_texture_compression) -static const char CompressedTexSubImage3DARB_names[] = +static const char CompressedTexSubImage3DARB_names[] = "iiiiiiiiiip\0" /* Parameter signature */ "glCompressedTexSubImage3D\0" "glCompressedTexSubImage3DARB\0" @@ -3033,7 +3033,7 @@ static const char CompressedTexSubImage3DARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos2ivMESA_names[] = +static const char WindowPos2ivMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos2iv\0" "glWindowPos2ivARB\0" @@ -3042,7 +3042,7 @@ static const char WindowPos2ivMESA_names[] = #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char IsFramebufferEXT_names[] = +static const char IsFramebufferEXT_names[] = "i\0" /* Parameter signature */ "glIsFramebuffer\0" "glIsFramebufferEXT\0" @@ -3050,7 +3050,7 @@ static const char IsFramebufferEXT_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform4ivARB_names[] = +static const char Uniform4ivARB_names[] = "iip\0" /* Parameter signature */ "glUniform4iv\0" "glUniform4ivARB\0" @@ -3058,7 +3058,7 @@ static const char Uniform4ivARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char GetVertexAttribdvARB_names[] = +static const char GetVertexAttribdvARB_names[] = "iip\0" /* Parameter signature */ "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" @@ -3066,14 +3066,14 @@ static const char GetVertexAttribdvARB_names[] = #endif #if defined(need_GL_ATI_envmap_bumpmap) -static const char TexBumpParameterivATI_names[] = +static const char TexBumpParameterivATI_names[] = "ip\0" /* Parameter signature */ "glTexBumpParameterivATI\0" ""; #endif #if defined(need_GL_EXT_convolution) -static const char GetSeparableFilter_names[] = +static const char GetSeparableFilter_names[] = "iiippp\0" /* Parameter signature */ "glGetSeparableFilter\0" "glGetSeparableFilterEXT\0" @@ -3081,49 +3081,49 @@ static const char GetSeparableFilter_names[] = #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3dEXT_names[] = +static const char Binormal3dEXT_names[] = "ddd\0" /* Parameter signature */ "glBinormal3dEXT\0" ""; #endif #if defined(need_GL_SGIX_sprite) -static const char SpriteParameteriSGIX_names[] = +static const char SpriteParameteriSGIX_names[] = "ii\0" /* Parameter signature */ "glSpriteParameteriSGIX\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char RequestResidentProgramsNV_names[] = +static const char RequestResidentProgramsNV_names[] = "ip\0" /* Parameter signature */ "glRequestResidentProgramsNV\0" ""; #endif #if defined(need_GL_SGIX_tag_sample_buffer) -static const char TagSampleBufferSGIX_names[] = +static const char TagSampleBufferSGIX_names[] = "\0" /* Parameter signature */ "glTagSampleBufferSGIX\0" ""; #endif #if defined(need_GL_SUN_triangle_list) -static const char ReplacementCodeusSUN_names[] = +static const char ReplacementCodeusSUN_names[] = "i\0" /* Parameter signature */ "glReplacementCodeusSUN\0" ""; #endif #if defined(need_GL_SGIX_list_priority) -static const char ListParameterivSGIX_names[] = +static const char ListParameterivSGIX_names[] = "iip\0" /* Parameter signature */ "glListParameterivSGIX\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_multi_draw_arrays) -static const char MultiDrawElementsEXT_names[] = +static const char MultiDrawElementsEXT_names[] = "ipipi\0" /* Parameter signature */ "glMultiDrawElements\0" "glMultiDrawElementsEXT\0" @@ -3131,7 +3131,7 @@ static const char MultiDrawElementsEXT_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform1ivARB_names[] = +static const char Uniform1ivARB_names[] = "iip\0" /* Parameter signature */ "glUniform1iv\0" "glUniform1ivARB\0" @@ -3139,7 +3139,7 @@ static const char Uniform1ivARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos2sMESA_names[] = +static const char WindowPos2sMESA_names[] = "ii\0" /* Parameter signature */ "glWindowPos2s\0" "glWindowPos2sARB\0" @@ -3148,14 +3148,14 @@ static const char WindowPos2sMESA_names[] = #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightusvARB_names[] = +static const char WeightusvARB_names[] = "ip\0" /* Parameter signature */ "glWeightusvARB\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_fog_coord) -static const char FogCoordPointerEXT_names[] = +static const char FogCoordPointerEXT_names[] = "iip\0" /* Parameter signature */ "glFogCoordPointer\0" "glFogCoordPointerEXT\0" @@ -3163,14 +3163,14 @@ static const char FogCoordPointerEXT_names[] = #endif #if defined(need_GL_EXT_index_material) -static const char IndexMaterialEXT_names[] = +static const char IndexMaterialEXT_names[] = "ii\0" /* Parameter signature */ "glIndexMaterialEXT\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3ubvEXT_names[] = +static const char SecondaryColor3ubvEXT_names[] = "p\0" /* Parameter signature */ "glSecondaryColor3ubv\0" "glSecondaryColor3ubvEXT\0" @@ -3178,7 +3178,7 @@ static const char SecondaryColor3ubvEXT_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4dvARB_names[] = +static const char VertexAttrib4dvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" @@ -3186,7 +3186,7 @@ static const char VertexAttrib4dvARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_shader) -static const char BindAttribLocationARB_names[] = +static const char BindAttribLocationARB_names[] = "iip\0" /* Parameter signature */ "glBindAttribLocation\0" "glBindAttribLocationARB\0" @@ -3194,7 +3194,7 @@ static const char BindAttribLocationARB_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord2dARB_names[] = +static const char MultiTexCoord2dARB_names[] = "idd\0" /* Parameter signature */ "glMultiTexCoord2d\0" "glMultiTexCoord2dARB\0" @@ -3202,35 +3202,35 @@ static const char MultiTexCoord2dARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char ExecuteProgramNV_names[] = +static const char ExecuteProgramNV_names[] = "iip\0" /* Parameter signature */ "glExecuteProgramNV\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char LightEnviSGIX_names[] = +static const char LightEnviSGIX_names[] = "ii\0" /* Parameter signature */ "glLightEnviSGIX\0" ""; #endif #if defined(need_GL_SUN_triangle_list) -static const char ReplacementCodeuiSUN_names[] = +static const char ReplacementCodeuiSUN_names[] = "i\0" /* Parameter signature */ "glReplacementCodeuiSUN\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribPointerNV_names[] = +static const char VertexAttribPointerNV_names[] = "iiiip\0" /* Parameter signature */ "glVertexAttribPointerNV\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char GetFramebufferAttachmentParameterivEXT_names[] = +static const char GetFramebufferAttachmentParameterivEXT_names[] = "iiip\0" /* Parameter signature */ "glGetFramebufferAttachmentParameteriv\0" "glGetFramebufferAttachmentParameterivEXT\0" @@ -3238,14 +3238,14 @@ static const char GetFramebufferAttachmentParameterivEXT_names[] = #endif #if defined(need_GL_EXT_pixel_transform) -static const char PixelTransformParameterfEXT_names[] = +static const char PixelTransformParameterfEXT_names[] = "iif\0" /* Parameter signature */ "glPixelTransformParameterfEXT\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord4dvARB_names[] = +static const char MultiTexCoord4dvARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord4dv\0" "glMultiTexCoord4dvARB\0" @@ -3253,21 +3253,21 @@ static const char MultiTexCoord4dvARB_names[] = #endif #if defined(need_GL_EXT_pixel_transform) -static const char PixelTransformParameteriEXT_names[] = +static const char PixelTransformParameteriEXT_names[] = "iii\0" /* Parameter signature */ "glPixelTransformParameteriEXT\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fColor4ubVertex3fSUN_names[] = +static const char TexCoord2fColor4ubVertex3fSUN_names[] = "ffiiiifff\0" /* Parameter signature */ "glTexCoord2fColor4ubVertex3fSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform1iARB_names[] = +static const char Uniform1iARB_names[] = "ii\0" /* Parameter signature */ "glUniform1i\0" "glUniform1iARB\0" @@ -3275,7 +3275,7 @@ static const char Uniform1iARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttribPointerARB_names[] = +static const char VertexAttribPointerARB_names[] = "iiiiip\0" /* Parameter signature */ "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" @@ -3283,14 +3283,14 @@ static const char VertexAttribPointerARB_names[] = #endif #if defined(need_GL_SGIS_sharpen_texture) -static const char SharpenTexFuncSGIS_names[] = +static const char SharpenTexFuncSGIS_names[] = "iip\0" /* Parameter signature */ "glSharpenTexFuncSGIS\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord4fvARB_names[] = +static const char MultiTexCoord4fvARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord4fv\0" "glMultiTexCoord4fvARB\0" @@ -3298,56 +3298,56 @@ static const char MultiTexCoord4fvARB_names[] = #endif #if defined(need_GL_VERSION_2_1) -static const char UniformMatrix2x3fv_names[] = +static const char UniformMatrix2x3fv_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix2x3fv\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char TrackMatrixNV_names[] = +static const char TrackMatrixNV_names[] = "iiii\0" /* Parameter signature */ "glTrackMatrixNV\0" ""; #endif #if defined(need_GL_NV_register_combiners) -static const char CombinerParameteriNV_names[] = +static const char CombinerParameteriNV_names[] = "ii\0" /* Parameter signature */ "glCombinerParameteriNV\0" ""; #endif #if defined(need_GL_SGIX_async) -static const char DeleteAsyncMarkersSGIX_names[] = +static const char DeleteAsyncMarkersSGIX_names[] = "ii\0" /* Parameter signature */ "glDeleteAsyncMarkersSGIX\0" ""; #endif #if defined(need_GL_SGIX_async) -static const char IsAsyncMarkerSGIX_names[] = +static const char IsAsyncMarkerSGIX_names[] = "i\0" /* Parameter signature */ "glIsAsyncMarkerSGIX\0" ""; #endif #if defined(need_GL_SGIX_framezoom) -static const char FrameZoomSGIX_names[] = +static const char FrameZoomSGIX_names[] = "i\0" /* Parameter signature */ "glFrameZoomSGIX\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char Normal3fVertex3fvSUN_names[] = +static const char Normal3fVertex3fvSUN_names[] = "pp\0" /* Parameter signature */ "glNormal3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4NsvARB_names[] = +static const char VertexAttrib4NsvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" @@ -3355,7 +3355,7 @@ static const char VertexAttrib4NsvARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib3fvARB_names[] = +static const char VertexAttrib3fvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" @@ -3363,14 +3363,14 @@ static const char VertexAttrib3fvARB_names[] = #endif #if defined(need_GL_ARB_sync) -static const char GetSynciv_names[] = +static const char GetSynciv_names[] = "iiipp\0" /* Parameter signature */ "glGetSynciv\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char DeleteFramebuffersEXT_names[] = +static const char DeleteFramebuffersEXT_names[] = "ip\0" /* Parameter signature */ "glDeleteFramebuffers\0" "glDeleteFramebuffersEXT\0" @@ -3378,14 +3378,14 @@ static const char DeleteFramebuffersEXT_names[] = #endif #if defined(need_GL_SUN_global_alpha) -static const char GlobalAlphaFactorsSUN_names[] = +static const char GlobalAlphaFactorsSUN_names[] = "i\0" /* Parameter signature */ "glGlobalAlphaFactorsSUN\0" ""; #endif #if defined(need_GL_EXT_texture3D) -static const char TexSubImage3D_names[] = +static const char TexSubImage3D_names[] = "iiiiiiiiiip\0" /* Parameter signature */ "glTexSubImage3D\0" "glTexSubImage3DEXT\0" @@ -3393,14 +3393,14 @@ static const char TexSubImage3D_names[] = #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3fEXT_names[] = +static const char Tangent3fEXT_names[] = "fff\0" /* Parameter signature */ "glTangent3fEXT\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3uivEXT_names[] = +static const char SecondaryColor3uivEXT_names[] = "p\0" /* Parameter signature */ "glSecondaryColor3uiv\0" "glSecondaryColor3uivEXT\0" @@ -3408,35 +3408,35 @@ static const char SecondaryColor3uivEXT_names[] = #endif #if defined(need_GL_ARB_matrix_palette) -static const char MatrixIndexubvARB_names[] = +static const char MatrixIndexubvARB_names[] = "ip\0" /* Parameter signature */ "glMatrixIndexubvARB\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char Color4fNormal3fVertex3fSUN_names[] = +static const char Color4fNormal3fVertex3fSUN_names[] = "ffffffffff\0" /* Parameter signature */ "glColor4fNormal3fVertex3fSUN\0" ""; #endif #if defined(need_GL_SGIS_pixel_texture) -static const char PixelTexGenParameterfSGIS_names[] = +static const char PixelTexGenParameterfSGIS_names[] = "if\0" /* Parameter signature */ "glPixelTexGenParameterfSGIS\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char CreateShader_names[] = +static const char CreateShader_names[] = "i\0" /* Parameter signature */ "glCreateShader\0" ""; #endif #if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) -static const char GetColorTableParameterfv_names[] = +static const char GetColorTableParameterfv_names[] = "iip\0" /* Parameter signature */ "glGetColorTableParameterfv\0" "glGetColorTableParameterfvSGI\0" @@ -3445,14 +3445,14 @@ static const char GetColorTableParameterfv_names[] = #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentLightModelfvSGIX_names[] = +static const char FragmentLightModelfvSGIX_names[] = "ip\0" /* Parameter signature */ "glFragmentLightModelfvSGIX\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord3fARB_names[] = +static const char MultiTexCoord3fARB_names[] = "ifff\0" /* Parameter signature */ "glMultiTexCoord3f\0" "glMultiTexCoord3fARB\0" @@ -3460,14 +3460,14 @@ static const char MultiTexCoord3fARB_names[] = #endif #if defined(need_GL_SGIS_pixel_texture) -static const char GetPixelTexGenParameterfvSGIS_names[] = +static const char GetPixelTexGenParameterfvSGIS_names[] = "ip\0" /* Parameter signature */ "glGetPixelTexGenParameterfvSGIS\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char GenFramebuffersEXT_names[] = +static const char GenFramebuffersEXT_names[] = "ip\0" /* Parameter signature */ "glGenFramebuffers\0" "glGenFramebuffersEXT\0" @@ -3475,14 +3475,14 @@ static const char GenFramebuffersEXT_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char GetProgramParameterdvNV_names[] = +static const char GetProgramParameterdvNV_names[] = "iiip\0" /* Parameter signature */ "glGetProgramParameterdvNV\0" ""; #endif #if defined(need_GL_ARB_vertex_array_object) || defined(need_GL_APPLE_vertex_array_object) -static const char IsVertexArrayAPPLE_names[] = +static const char IsVertexArrayAPPLE_names[] = "i\0" /* Parameter signature */ "glIsVertexArray\0" "glIsVertexArrayAPPLE\0" @@ -3490,21 +3490,21 @@ static const char IsVertexArrayAPPLE_names[] = #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentLightfvSGIX_names[] = +static const char FragmentLightfvSGIX_names[] = "iip\0" /* Parameter signature */ "glFragmentLightfvSGIX\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char DetachShader_names[] = +static const char DetachShader_names[] = "ii\0" /* Parameter signature */ "glDetachShader\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4NubARB_names[] = +static const char VertexAttrib4NubARB_names[] = "iiiii\0" /* Parameter signature */ "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" @@ -3512,28 +3512,28 @@ static const char VertexAttrib4NubARB_names[] = #endif #if defined(need_GL_ARB_vertex_program) -static const char GetProgramEnvParameterfvARB_names[] = +static const char GetProgramEnvParameterfvARB_names[] = "iip\0" /* Parameter signature */ "glGetProgramEnvParameterfvARB\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char GetTrackMatrixivNV_names[] = +static const char GetTrackMatrixivNV_names[] = "iiip\0" /* Parameter signature */ "glGetTrackMatrixivNV\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib3svNV_names[] = +static const char VertexAttrib3svNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib3svNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform4fvARB_names[] = +static const char Uniform4fvARB_names[] = "iip\0" /* Parameter signature */ "glUniform4fv\0" "glUniform4fvARB\0" @@ -3541,7 +3541,7 @@ static const char Uniform4fvARB_names[] = #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_transpose_matrix) -static const char MultTransposeMatrixfARB_names[] = +static const char MultTransposeMatrixfARB_names[] = "p\0" /* Parameter signature */ "glMultTransposeMatrixf\0" "glMultTransposeMatrixfARB\0" @@ -3549,14 +3549,14 @@ static const char MultTransposeMatrixfARB_names[] = #endif #if defined(need_GL_ATI_fragment_shader) -static const char ColorFragmentOp1ATI_names[] = +static const char ColorFragmentOp1ATI_names[] = "iiiiiii\0" /* Parameter signature */ "glColorFragmentOp1ATI\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char GetUniformfvARB_names[] = +static const char GetUniformfvARB_names[] = "iip\0" /* Parameter signature */ "glGetUniformfv\0" "glGetUniformfvARB\0" @@ -3564,28 +3564,28 @@ static const char GetUniformfvARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN_names[] = +static const char ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN_names[] = "iffffffffffff\0" /* Parameter signature */ "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0" ""; #endif #if defined(need_GL_ARB_shader_objects) -static const char DetachObjectARB_names[] = +static const char DetachObjectARB_names[] = "ii\0" /* Parameter signature */ "glDetachObjectARB\0" ""; #endif #if defined(need_GL_ARB_vertex_blend) -static const char VertexBlendARB_names[] = +static const char VertexBlendARB_names[] = "i\0" /* Parameter signature */ "glVertexBlendARB\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos3iMESA_names[] = +static const char WindowPos3iMESA_names[] = "iii\0" /* Parameter signature */ "glWindowPos3i\0" "glWindowPos3iARB\0" @@ -3594,7 +3594,7 @@ static const char WindowPos3iMESA_names[] = #endif #if defined(need_GL_EXT_convolution) -static const char SeparableFilter2D_names[] = +static const char SeparableFilter2D_names[] = "iiiiiipp\0" /* Parameter signature */ "glSeparableFilter2D\0" "glSeparableFilter2DEXT\0" @@ -3602,14 +3602,14 @@ static const char SeparableFilter2D_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiColor4ubVertex3fvSUN_names[] = +static const char ReplacementCodeuiColor4ubVertex3fvSUN_names[] = "ppp\0" /* Parameter signature */ "glReplacementCodeuiColor4ubVertex3fvSUN\0" ""; #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_texture_compression) -static const char CompressedTexImage2DARB_names[] = +static const char CompressedTexImage2DARB_names[] = "iiiiiiip\0" /* Parameter signature */ "glCompressedTexImage2D\0" "glCompressedTexImage2DARB\0" @@ -3617,7 +3617,7 @@ static const char CompressedTexImage2DARB_names[] = #endif #if defined(need_GL_EXT_vertex_array) -static const char ArrayElement_names[] = +static const char ArrayElement_names[] = "i\0" /* Parameter signature */ "glArrayElement\0" "glArrayElementEXT\0" @@ -3625,35 +3625,35 @@ static const char ArrayElement_names[] = #endif #if defined(need_GL_EXT_depth_bounds_test) -static const char DepthBoundsEXT_names[] = +static const char DepthBoundsEXT_names[] = "dd\0" /* Parameter signature */ "glDepthBoundsEXT\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char ProgramParameters4fvNV_names[] = +static const char ProgramParameters4fvNV_names[] = "iiip\0" /* Parameter signature */ "glProgramParameters4fvNV\0" ""; #endif #if defined(need_GL_SGIX_polynomial_ffd) -static const char DeformationMap3fSGIX_names[] = +static const char DeformationMap3fSGIX_names[] = "iffiiffiiffiip\0" /* Parameter signature */ "glDeformationMap3fSGIX\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char GetProgramivNV_names[] = +static const char GetProgramivNV_names[] = "iip\0" /* Parameter signature */ "glGetProgramivNV\0" ""; #endif #if defined(need_GL_EXT_histogram) -static const char GetMinmaxParameteriv_names[] = +static const char GetMinmaxParameteriv_names[] = "iip\0" /* Parameter signature */ "glGetMinmaxParameteriv\0" "glGetMinmaxParameterivEXT\0" @@ -3661,7 +3661,7 @@ static const char GetMinmaxParameteriv_names[] = #endif #if defined(need_GL_EXT_copy_texture) -static const char CopyTexImage1D_names[] = +static const char CopyTexImage1D_names[] = "iiiiiii\0" /* Parameter signature */ "glCopyTexImage1D\0" "glCopyTexImage1DEXT\0" @@ -3669,42 +3669,42 @@ static const char CopyTexImage1D_names[] = #endif #if defined(need_GL_ATI_fragment_shader) -static const char AlphaFragmentOp3ATI_names[] = +static const char AlphaFragmentOp3ATI_names[] = "iiiiiiiiiiii\0" /* Parameter signature */ "glAlphaFragmentOp3ATI\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char GetVertexAttribdvNV_names[] = +static const char GetVertexAttribdvNV_names[] = "iip\0" /* Parameter signature */ "glGetVertexAttribdvNV\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib3fvNV_names[] = +static const char VertexAttrib3fvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib3fvNV\0" ""; #endif #if defined(need_GL_NV_register_combiners) -static const char GetFinalCombinerInputParameterivNV_names[] = +static const char GetFinalCombinerInputParameterivNV_names[] = "iip\0" /* Parameter signature */ "glGetFinalCombinerInputParameterivNV\0" ""; #endif #if defined(need_GL_NV_evaluators) -static const char GetMapParameterivNV_names[] = +static const char GetMapParameterivNV_names[] = "iip\0" /* Parameter signature */ "glGetMapParameterivNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform4iARB_names[] = +static const char Uniform4iARB_names[] = "iiiii\0" /* Parameter signature */ "glUniform4i\0" "glUniform4iARB\0" @@ -3712,7 +3712,7 @@ static const char Uniform4iARB_names[] = #endif #if defined(need_GL_EXT_convolution) -static const char ConvolutionParameteri_names[] = +static const char ConvolutionParameteri_names[] = "iii\0" /* Parameter signature */ "glConvolutionParameteri\0" "glConvolutionParameteriEXT\0" @@ -3720,14 +3720,14 @@ static const char ConvolutionParameteri_names[] = #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3sEXT_names[] = +static const char Binormal3sEXT_names[] = "iii\0" /* Parameter signature */ "glBinormal3sEXT\0" ""; #endif #if defined(need_GL_EXT_convolution) -static const char ConvolutionParameterf_names[] = +static const char ConvolutionParameterf_names[] = "iif\0" /* Parameter signature */ "glConvolutionParameterf\0" "glConvolutionParameterfEXT\0" @@ -3735,7 +3735,7 @@ static const char ConvolutionParameterf_names[] = #endif #if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) -static const char GetColorTableParameteriv_names[] = +static const char GetColorTableParameteriv_names[] = "iip\0" /* Parameter signature */ "glGetColorTableParameteriv\0" "glGetColorTableParameterivSGI\0" @@ -3744,7 +3744,7 @@ static const char GetColorTableParameteriv_names[] = #endif #if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char ProgramEnvParameter4dvARB_names[] = +static const char ProgramEnvParameter4dvARB_names[] = "iip\0" /* Parameter signature */ "glProgramEnvParameter4dvARB\0" "glProgramParameter4dvNV\0" @@ -3752,14 +3752,14 @@ static const char ProgramEnvParameter4dvARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs2fvNV_names[] = +static const char VertexAttribs2fvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs2fvNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char UseProgramObjectARB_names[] = +static const char UseProgramObjectARB_names[] = "i\0" /* Parameter signature */ "glUseProgram\0" "glUseProgramObjectARB\0" @@ -3767,42 +3767,42 @@ static const char UseProgramObjectARB_names[] = #endif #if defined(need_GL_NV_evaluators) -static const char GetMapParameterfvNV_names[] = +static const char GetMapParameterfvNV_names[] = "iip\0" /* Parameter signature */ "glGetMapParameterfvNV\0" ""; #endif #if defined(need_GL_ATI_fragment_shader) -static const char PassTexCoordATI_names[] = +static const char PassTexCoordATI_names[] = "iii\0" /* Parameter signature */ "glPassTexCoordATI\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char DeleteProgram_names[] = +static const char DeleteProgram_names[] = "i\0" /* Parameter signature */ "glDeleteProgram\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3ivEXT_names[] = +static const char Tangent3ivEXT_names[] = "p\0" /* Parameter signature */ "glTangent3ivEXT\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3dEXT_names[] = +static const char Tangent3dEXT_names[] = "ddd\0" /* Parameter signature */ "glTangent3dEXT\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3dvEXT_names[] = +static const char SecondaryColor3dvEXT_names[] = "p\0" /* Parameter signature */ "glSecondaryColor3dv\0" "glSecondaryColor3dvEXT\0" @@ -3810,7 +3810,7 @@ static const char SecondaryColor3dvEXT_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_multi_draw_arrays) -static const char MultiDrawArraysEXT_names[] = +static const char MultiDrawArraysEXT_names[] = "ippi\0" /* Parameter signature */ "glMultiDrawArrays\0" "glMultiDrawArraysEXT\0" @@ -3818,7 +3818,7 @@ static const char MultiDrawArraysEXT_names[] = #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char BindRenderbufferEXT_names[] = +static const char BindRenderbufferEXT_names[] = "ii\0" /* Parameter signature */ "glBindRenderbuffer\0" "glBindRenderbufferEXT\0" @@ -3826,7 +3826,7 @@ static const char BindRenderbufferEXT_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord4dARB_names[] = +static const char MultiTexCoord4dARB_names[] = "idddd\0" /* Parameter signature */ "glMultiTexCoord4d\0" "glMultiTexCoord4dARB\0" @@ -3834,7 +3834,7 @@ static const char MultiTexCoord4dARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3usEXT_names[] = +static const char SecondaryColor3usEXT_names[] = "iii\0" /* Parameter signature */ "glSecondaryColor3us\0" "glSecondaryColor3usEXT\0" @@ -3842,14 +3842,14 @@ static const char SecondaryColor3usEXT_names[] = #endif #if defined(need_GL_ARB_vertex_program) -static const char ProgramLocalParameter4fvARB_names[] = +static const char ProgramLocalParameter4fvARB_names[] = "iip\0" /* Parameter signature */ "glProgramLocalParameter4fvARB\0" ""; #endif #if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char DeleteProgramsNV_names[] = +static const char DeleteProgramsNV_names[] = "ip\0" /* Parameter signature */ "glDeleteProgramsARB\0" "glDeleteProgramsNV\0" @@ -3857,7 +3857,7 @@ static const char DeleteProgramsNV_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord1sARB_names[] = +static const char MultiTexCoord1sARB_names[] = "ii\0" /* Parameter signature */ "glMultiTexCoord1s\0" "glMultiTexCoord1sARB\0" @@ -3865,14 +3865,14 @@ static const char MultiTexCoord1sARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiColor3fVertex3fSUN_names[] = +static const char ReplacementCodeuiColor3fVertex3fSUN_names[] = "iffffff\0" /* Parameter signature */ "glReplacementCodeuiColor3fVertex3fSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char GetVertexAttribPointervNV_names[] = +static const char GetVertexAttribPointervNV_names[] = "iip\0" /* Parameter signature */ "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" @@ -3881,7 +3881,7 @@ static const char GetVertexAttribPointervNV_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord1dvARB_names[] = +static const char MultiTexCoord1dvARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord1dv\0" "glMultiTexCoord1dvARB\0" @@ -3889,7 +3889,7 @@ static const char MultiTexCoord1dvARB_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform2iARB_names[] = +static const char Uniform2iARB_names[] = "iii\0" /* Parameter signature */ "glUniform2i\0" "glUniform2iARB\0" @@ -3897,21 +3897,21 @@ static const char Uniform2iARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char GetProgramStringNV_names[] = +static const char GetProgramStringNV_names[] = "iip\0" /* Parameter signature */ "glGetProgramStringNV\0" ""; #endif #if defined(need_GL_EXT_vertex_array) -static const char ColorPointerEXT_names[] = +static const char ColorPointerEXT_names[] = "iiiip\0" /* Parameter signature */ "glColorPointerEXT\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char MapBufferARB_names[] = +static const char MapBufferARB_names[] = "ii\0" /* Parameter signature */ "glMapBuffer\0" "glMapBufferARB\0" @@ -3919,35 +3919,35 @@ static const char MapBufferARB_names[] = #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3svEXT_names[] = +static const char Binormal3svEXT_names[] = "p\0" /* Parameter signature */ "glBinormal3svEXT\0" ""; #endif #if defined(need_GL_EXT_light_texture) -static const char ApplyTextureEXT_names[] = +static const char ApplyTextureEXT_names[] = "i\0" /* Parameter signature */ "glApplyTextureEXT\0" ""; #endif #if defined(need_GL_EXT_light_texture) -static const char TextureMaterialEXT_names[] = +static const char TextureMaterialEXT_names[] = "ii\0" /* Parameter signature */ "glTextureMaterialEXT\0" ""; #endif #if defined(need_GL_EXT_light_texture) -static const char TextureLightEXT_names[] = +static const char TextureLightEXT_names[] = "i\0" /* Parameter signature */ "glTextureLightEXT\0" ""; #endif #if defined(need_GL_EXT_histogram) -static const char ResetMinmax_names[] = +static const char ResetMinmax_names[] = "i\0" /* Parameter signature */ "glResetMinmax\0" "glResetMinmaxEXT\0" @@ -3955,21 +3955,21 @@ static const char ResetMinmax_names[] = #endif #if defined(need_GL_SGIX_sprite) -static const char SpriteParameterfSGIX_names[] = +static const char SpriteParameterfSGIX_names[] = "if\0" /* Parameter signature */ "glSpriteParameterfSGIX\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4sNV_names[] = +static const char VertexAttrib4sNV_names[] = "iiiii\0" /* Parameter signature */ "glVertexAttrib4sNV\0" ""; #endif #if defined(need_GL_EXT_convolution) -static const char GetConvolutionParameterfv_names[] = +static const char GetConvolutionParameterfv_names[] = "iip\0" /* Parameter signature */ "glGetConvolutionParameterfv\0" "glGetConvolutionParameterfvEXT\0" @@ -3977,21 +3977,21 @@ static const char GetConvolutionParameterfv_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs4dvNV_names[] = +static const char VertexAttribs4dvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs4dvNV\0" ""; #endif #if defined(need_GL_IBM_multimode_draw_arrays) -static const char MultiModeDrawArraysIBM_names[] = +static const char MultiModeDrawArraysIBM_names[] = "pppii\0" /* Parameter signature */ "glMultiModeDrawArraysIBM\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4dARB_names[] = +static const char VertexAttrib4dARB_names[] = "idddd\0" /* Parameter signature */ "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" @@ -3999,35 +3999,35 @@ static const char VertexAttrib4dARB_names[] = #endif #if defined(need_GL_ATI_envmap_bumpmap) -static const char GetTexBumpParameterfvATI_names[] = +static const char GetTexBumpParameterfvATI_names[] = "ip\0" /* Parameter signature */ "glGetTexBumpParameterfvATI\0" ""; #endif #if defined(need_GL_NV_fragment_program) -static const char ProgramNamedParameter4dNV_names[] = +static const char ProgramNamedParameter4dNV_names[] = "iipdddd\0" /* Parameter signature */ "glProgramNamedParameter4dNV\0" ""; #endif #if defined(need_GL_EXT_vertex_weighting) -static const char VertexWeightfEXT_names[] = +static const char VertexWeightfEXT_names[] = "f\0" /* Parameter signature */ "glVertexWeightfEXT\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3fEXT_names[] = +static const char Binormal3fEXT_names[] = "fff\0" /* Parameter signature */ "glBinormal3fEXT\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_fog_coord) -static const char FogCoordfvEXT_names[] = +static const char FogCoordfvEXT_names[] = "p\0" /* Parameter signature */ "glFogCoordfv\0" "glFogCoordfvEXT\0" @@ -4035,7 +4035,7 @@ static const char FogCoordfvEXT_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord1ivARB_names[] = +static const char MultiTexCoord1ivARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord1iv\0" "glMultiTexCoord1ivARB\0" @@ -4043,7 +4043,7 @@ static const char MultiTexCoord1ivARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3ubEXT_names[] = +static const char SecondaryColor3ubEXT_names[] = "iii\0" /* Parameter signature */ "glSecondaryColor3ub\0" "glSecondaryColor3ubEXT\0" @@ -4051,7 +4051,7 @@ static const char SecondaryColor3ubEXT_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord2ivARB_names[] = +static const char MultiTexCoord2ivARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord2iv\0" "glMultiTexCoord2ivARB\0" @@ -4059,14 +4059,14 @@ static const char MultiTexCoord2ivARB_names[] = #endif #if defined(need_GL_SGIS_fog_function) -static const char FogFuncSGIS_names[] = +static const char FogFuncSGIS_names[] = "ip\0" /* Parameter signature */ "glFogFuncSGIS\0" ""; #endif #if defined(need_GL_EXT_copy_texture) -static const char CopyTexSubImage2D_names[] = +static const char CopyTexSubImage2D_names[] = "iiiiiiii\0" /* Parameter signature */ "glCopyTexSubImage2D\0" "glCopyTexSubImage2DEXT\0" @@ -4074,35 +4074,35 @@ static const char CopyTexSubImage2D_names[] = #endif #if defined(need_GL_ARB_shader_objects) -static const char GetObjectParameterivARB_names[] = +static const char GetObjectParameterivARB_names[] = "iip\0" /* Parameter signature */ "glGetObjectParameterivARB\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord4fVertex4fSUN_names[] = +static const char TexCoord4fVertex4fSUN_names[] = "ffffffff\0" /* Parameter signature */ "glTexCoord4fVertex4fSUN\0" ""; #endif #if defined(need_GL_APPLE_vertex_array_object) -static const char BindVertexArrayAPPLE_names[] = +static const char BindVertexArrayAPPLE_names[] = "i\0" /* Parameter signature */ "glBindVertexArrayAPPLE\0" ""; #endif #if defined(need_GL_ARB_vertex_program) -static const char GetProgramLocalParameterdvARB_names[] = +static const char GetProgramLocalParameterdvARB_names[] = "iip\0" /* Parameter signature */ "glGetProgramLocalParameterdvARB\0" ""; #endif #if defined(need_GL_EXT_histogram) -static const char GetHistogramParameteriv_names[] = +static const char GetHistogramParameteriv_names[] = "iip\0" /* Parameter signature */ "glGetHistogramParameteriv\0" "glGetHistogramParameterivEXT\0" @@ -4110,7 +4110,7 @@ static const char GetHistogramParameteriv_names[] = #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord1iARB_names[] = +static const char MultiTexCoord1iARB_names[] = "ii\0" /* Parameter signature */ "glMultiTexCoord1i\0" "glMultiTexCoord1iARB\0" @@ -4118,7 +4118,7 @@ static const char MultiTexCoord1iARB_names[] = #endif #if defined(need_GL_EXT_convolution) -static const char GetConvolutionFilter_names[] = +static const char GetConvolutionFilter_names[] = "iiip\0" /* Parameter signature */ "glGetConvolutionFilter\0" "glGetConvolutionFilterEXT\0" @@ -4126,14 +4126,14 @@ static const char GetConvolutionFilter_names[] = #endif #if defined(need_GL_ARB_vertex_program) -static const char GetProgramivARB_names[] = +static const char GetProgramivARB_names[] = "iip\0" /* Parameter signature */ "glGetProgramivARB\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_blend_func_separate) || defined(need_GL_INGR_blend_func_separate) -static const char BlendFuncSeparateEXT_names[] = +static const char BlendFuncSeparateEXT_names[] = "iiii\0" /* Parameter signature */ "glBlendFuncSeparate\0" "glBlendFuncSeparateEXT\0" @@ -4142,49 +4142,49 @@ static const char BlendFuncSeparateEXT_names[] = #endif #if defined(need_GL_ARB_map_buffer_range) -static const char MapBufferRange_names[] = +static const char MapBufferRange_names[] = "iiii\0" /* Parameter signature */ "glMapBufferRange\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char ProgramParameters4dvNV_names[] = +static const char ProgramParameters4dvNV_names[] = "iiip\0" /* Parameter signature */ "glProgramParameters4dvNV\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord2fColor3fVertex3fvSUN_names[] = +static const char TexCoord2fColor3fVertex3fvSUN_names[] = "ppp\0" /* Parameter signature */ "glTexCoord2fColor3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3dvEXT_names[] = +static const char Binormal3dvEXT_names[] = "p\0" /* Parameter signature */ "glBinormal3dvEXT\0" ""; #endif #if defined(need_GL_NV_fence) -static const char FinishFenceNV_names[] = +static const char FinishFenceNV_names[] = "i\0" /* Parameter signature */ "glFinishFenceNV\0" ""; #endif #if defined(need_GL_SGIS_fog_function) -static const char GetFogFuncSGIS_names[] = +static const char GetFogFuncSGIS_names[] = "p\0" /* Parameter signature */ "glGetFogFuncSGIS\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char GetUniformLocationARB_names[] = +static const char GetUniformLocationARB_names[] = "ip\0" /* Parameter signature */ "glGetUniformLocation\0" "glGetUniformLocationARB\0" @@ -4192,7 +4192,7 @@ static const char GetUniformLocationARB_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3fEXT_names[] = +static const char SecondaryColor3fEXT_names[] = "fff\0" /* Parameter signature */ "glSecondaryColor3f\0" "glSecondaryColor3fEXT\0" @@ -4200,14 +4200,14 @@ static const char SecondaryColor3fEXT_names[] = #endif #if defined(need_GL_NV_register_combiners) -static const char CombinerInputNV_names[] = +static const char CombinerInputNV_names[] = "iiiiii\0" /* Parameter signature */ "glCombinerInputNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib3sARB_names[] = +static const char VertexAttrib3sARB_names[] = "iiii\0" /* Parameter signature */ "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" @@ -4215,49 +4215,49 @@ static const char VertexAttrib3sARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiNormal3fVertex3fvSUN_names[] = +static const char ReplacementCodeuiNormal3fVertex3fvSUN_names[] = "ppp\0" /* Parameter signature */ "glReplacementCodeuiNormal3fVertex3fvSUN\0" ""; #endif #if defined(need_GL_ARB_vertex_program) -static const char ProgramStringARB_names[] = +static const char ProgramStringARB_names[] = "iiip\0" /* Parameter signature */ "glProgramStringARB\0" ""; #endif #if defined(need_GL_SUN_vertex) -static const char TexCoord4fVertex4fvSUN_names[] = +static const char TexCoord4fVertex4fvSUN_names[] = "pp\0" /* Parameter signature */ "glTexCoord4fVertex4fvSUN\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib3sNV_names[] = +static const char VertexAttrib3sNV_names[] = "iiii\0" /* Parameter signature */ "glVertexAttrib3sNV\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib1fNV_names[] = +static const char VertexAttrib1fNV_names[] = "if\0" /* Parameter signature */ "glVertexAttrib1fNV\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentLightfSGIX_names[] = +static const char FragmentLightfSGIX_names[] = "iif\0" /* Parameter signature */ "glFragmentLightfSGIX\0" ""; #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_texture_compression) -static const char GetCompressedTexImageARB_names[] = +static const char GetCompressedTexImageARB_names[] = "iip\0" /* Parameter signature */ "glGetCompressedTexImage\0" "glGetCompressedTexImageARB\0" @@ -4265,14 +4265,14 @@ static const char GetCompressedTexImageARB_names[] = #endif #if defined(need_GL_EXT_vertex_weighting) -static const char VertexWeightPointerEXT_names[] = +static const char VertexWeightPointerEXT_names[] = "iiip\0" /* Parameter signature */ "glVertexWeightPointerEXT\0" ""; #endif #if defined(need_GL_EXT_histogram) -static const char GetHistogram_names[] = +static const char GetHistogram_names[] = "iiiip\0" /* Parameter signature */ "glGetHistogram\0" "glGetHistogramEXT\0" @@ -4280,21 +4280,21 @@ static const char GetHistogram_names[] = #endif #if defined(need_GL_EXT_stencil_two_side) -static const char ActiveStencilFaceEXT_names[] = +static const char ActiveStencilFaceEXT_names[] = "i\0" /* Parameter signature */ "glActiveStencilFaceEXT\0" ""; #endif #if defined(need_GL_ATI_separate_stencil) -static const char StencilFuncSeparateATI_names[] = +static const char StencilFuncSeparateATI_names[] = "iiii\0" /* Parameter signature */ "glStencilFuncSeparateATI\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char GetShaderSourceARB_names[] = +static const char GetShaderSourceARB_names[] = "iipp\0" /* Parameter signature */ "glGetShaderSource\0" "glGetShaderSourceARB\0" @@ -4302,28 +4302,28 @@ static const char GetShaderSourceARB_names[] = #endif #if defined(need_GL_SGIX_igloo_interface) -static const char IglooInterfaceSGIX_names[] = +static const char IglooInterfaceSGIX_names[] = "ip\0" /* Parameter signature */ "glIglooInterfaceSGIX\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4dNV_names[] = +static const char VertexAttrib4dNV_names[] = "idddd\0" /* Parameter signature */ "glVertexAttrib4dNV\0" ""; #endif #if defined(need_GL_IBM_multimode_draw_arrays) -static const char MultiModeDrawElementsIBM_names[] = +static const char MultiModeDrawElementsIBM_names[] = "ppipii\0" /* Parameter signature */ "glMultiModeDrawElementsIBM\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord4svARB_names[] = +static const char MultiTexCoord4svARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord4sv\0" "glMultiTexCoord4svARB\0" @@ -4331,7 +4331,7 @@ static const char MultiTexCoord4svARB_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_occlusion_query) -static const char GenQueriesARB_names[] = +static const char GenQueriesARB_names[] = "ip\0" /* Parameter signature */ "glGenQueries\0" "glGenQueriesARB\0" @@ -4339,42 +4339,42 @@ static const char GenQueriesARB_names[] = #endif #if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiVertex3fSUN_names[] = +static const char ReplacementCodeuiVertex3fSUN_names[] = "ifff\0" /* Parameter signature */ "glReplacementCodeuiVertex3fSUN\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3iEXT_names[] = +static const char Tangent3iEXT_names[] = "iii\0" /* Parameter signature */ "glTangent3iEXT\0" ""; #endif #if defined(need_GL_SUN_mesh_array) -static const char DrawMeshArraysSUN_names[] = +static const char DrawMeshArraysSUN_names[] = "iiii\0" /* Parameter signature */ "glDrawMeshArraysSUN\0" ""; #endif #if defined(need_GL_ARB_sync) -static const char IsSync_names[] = +static const char IsSync_names[] = "i\0" /* Parameter signature */ "glIsSync\0" ""; #endif #if defined(need_GL_NV_evaluators) -static const char GetMapControlPointsNV_names[] = +static const char GetMapControlPointsNV_names[] = "iiiiiip\0" /* Parameter signature */ "glGetMapControlPointsNV\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_draw_buffers) || defined(need_GL_ATI_draw_buffers) -static const char DrawBuffersARB_names[] = +static const char DrawBuffersARB_names[] = "ip\0" /* Parameter signature */ "glDrawBuffers\0" "glDrawBuffersARB\0" @@ -4383,28 +4383,28 @@ static const char DrawBuffersARB_names[] = #endif #if defined(need_GL_ARB_vertex_program) -static const char ProgramLocalParameter4fARB_names[] = +static const char ProgramLocalParameter4fARB_names[] = "iiffff\0" /* Parameter signature */ "glProgramLocalParameter4fARB\0" ""; #endif #if defined(need_GL_SGIX_sprite) -static const char SpriteParameterivSGIX_names[] = +static const char SpriteParameterivSGIX_names[] = "ip\0" /* Parameter signature */ "glSpriteParameterivSGIX\0" ""; #endif #if defined(need_GL_EXT_provoking_vertex) -static const char ProvokingVertexEXT_names[] = +static const char ProvokingVertexEXT_names[] = "i\0" /* Parameter signature */ "glProvokingVertexEXT\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord1fARB_names[] = +static const char MultiTexCoord1fARB_names[] = "if\0" /* Parameter signature */ "glMultiTexCoord1f\0" "glMultiTexCoord1fARB\0" @@ -4412,21 +4412,21 @@ static const char MultiTexCoord1fARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs4ubvNV_names[] = +static const char VertexAttribs4ubvNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs4ubvNV\0" ""; #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightsvARB_names[] = +static const char WeightsvARB_names[] = "ip\0" /* Parameter signature */ "glWeightsvARB\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) -static const char Uniform1fvARB_names[] = +static const char Uniform1fvARB_names[] = "iip\0" /* Parameter signature */ "glUniform1fv\0" "glUniform1fvARB\0" @@ -4434,7 +4434,7 @@ static const char Uniform1fvARB_names[] = #endif #if defined(need_GL_EXT_copy_texture) -static const char CopyTexSubImage1D_names[] = +static const char CopyTexSubImage1D_names[] = "iiiiii\0" /* Parameter signature */ "glCopyTexSubImage1D\0" "glCopyTexSubImage1DEXT\0" @@ -4442,7 +4442,7 @@ static const char CopyTexSubImage1D_names[] = #endif #if defined(need_GL_EXT_texture_object) -static const char BindTexture_names[] = +static const char BindTexture_names[] = "ii\0" /* Parameter signature */ "glBindTexture\0" "glBindTextureEXT\0" @@ -4450,14 +4450,14 @@ static const char BindTexture_names[] = #endif #if defined(need_GL_ATI_fragment_shader) -static const char BeginFragmentShaderATI_names[] = +static const char BeginFragmentShaderATI_names[] = "\0" /* Parameter signature */ "glBeginFragmentShaderATI\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord4fARB_names[] = +static const char MultiTexCoord4fARB_names[] = "iffff\0" /* Parameter signature */ "glMultiTexCoord4f\0" "glMultiTexCoord4fARB\0" @@ -4465,21 +4465,21 @@ static const char MultiTexCoord4fARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs3svNV_names[] = +static const char VertexAttribs3svNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs3svNV\0" ""; #endif #if defined(need_GL_SUN_triangle_list) -static const char ReplacementCodeuivSUN_names[] = +static const char ReplacementCodeuivSUN_names[] = "p\0" /* Parameter signature */ "glReplacementCodeuivSUN\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char EnableVertexAttribArrayARB_names[] = +static const char EnableVertexAttribArrayARB_names[] = "i\0" /* Parameter signature */ "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" @@ -4487,14 +4487,14 @@ static const char EnableVertexAttribArrayARB_names[] = #endif #if defined(need_GL_INTEL_parallel_arrays) -static const char NormalPointervINTEL_names[] = +static const char NormalPointervINTEL_names[] = "ip\0" /* Parameter signature */ "glNormalPointervINTEL\0" ""; #endif #if defined(need_GL_EXT_convolution) -static const char CopyConvolutionFilter2D_names[] = +static const char CopyConvolutionFilter2D_names[] = "iiiiii\0" /* Parameter signature */ "glCopyConvolutionFilter2D\0" "glCopyConvolutionFilter2DEXT\0" @@ -4502,7 +4502,7 @@ static const char CopyConvolutionFilter2D_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos3ivMESA_names[] = +static const char WindowPos3ivMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos3iv\0" "glWindowPos3ivARB\0" @@ -4511,14 +4511,14 @@ static const char WindowPos3ivMESA_names[] = #endif #if defined(need_GL_ARB_copy_buffer) -static const char CopyBufferSubData_names[] = +static const char CopyBufferSubData_names[] = "iiiii\0" /* Parameter signature */ "glCopyBufferSubData\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char IsBufferARB_names[] = +static const char IsBufferARB_names[] = "i\0" /* Parameter signature */ "glIsBuffer\0" "glIsBufferARB\0" @@ -4526,14 +4526,14 @@ static const char IsBufferARB_names[] = #endif #if defined(need_GL_MESA_window_pos) -static const char WindowPos4iMESA_names[] = +static const char WindowPos4iMESA_names[] = "iiii\0" /* Parameter signature */ "glWindowPos4iMESA\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4uivARB_names[] = +static const char VertexAttrib4uivARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" @@ -4541,35 +4541,35 @@ static const char VertexAttrib4uivARB_names[] = #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3bvEXT_names[] = +static const char Tangent3bvEXT_names[] = "p\0" /* Parameter signature */ "glTangent3bvEXT\0" ""; #endif #if defined(need_GL_VERSION_2_1) -static const char UniformMatrix3x4fv_names[] = +static const char UniformMatrix3x4fv_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix3x4fv\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3fvEXT_names[] = +static const char Binormal3fvEXT_names[] = "p\0" /* Parameter signature */ "glBinormal3fvEXT\0" ""; #endif #if defined(need_GL_INTEL_parallel_arrays) -static const char TexCoordPointervINTEL_names[] = +static const char TexCoordPointervINTEL_names[] = "iip\0" /* Parameter signature */ "glTexCoordPointervINTEL\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char DeleteBuffersARB_names[] = +static const char DeleteBuffersARB_names[] = "ip\0" /* Parameter signature */ "glDeleteBuffers\0" "glDeleteBuffersARB\0" @@ -4577,21 +4577,21 @@ static const char DeleteBuffersARB_names[] = #endif #if defined(need_GL_MESA_window_pos) -static const char WindowPos4fvMESA_names[] = +static const char WindowPos4fvMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos4fvMESA\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib1sNV_names[] = +static const char VertexAttrib1sNV_names[] = "ii\0" /* Parameter signature */ "glVertexAttrib1sNV\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) -static const char SecondaryColor3svEXT_names[] = +static const char SecondaryColor3svEXT_names[] = "p\0" /* Parameter signature */ "glSecondaryColor3sv\0" "glSecondaryColor3svEXT\0" @@ -4599,7 +4599,7 @@ static const char SecondaryColor3svEXT_names[] = #endif #if defined(need_GL_VERSION_1_3) || defined(need_GL_ARB_transpose_matrix) -static const char LoadTransposeMatrixfARB_names[] = +static const char LoadTransposeMatrixfARB_names[] = "p\0" /* Parameter signature */ "glLoadTransposeMatrixf\0" "glLoadTransposeMatrixfARB\0" @@ -4607,7 +4607,7 @@ static const char LoadTransposeMatrixfARB_names[] = #endif #if defined(need_GL_EXT_vertex_array) -static const char GetPointerv_names[] = +static const char GetPointerv_names[] = "ip\0" /* Parameter signature */ "glGetPointerv\0" "glGetPointervEXT\0" @@ -4615,21 +4615,21 @@ static const char GetPointerv_names[] = #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3bEXT_names[] = +static const char Tangent3bEXT_names[] = "iii\0" /* Parameter signature */ "glTangent3bEXT\0" ""; #endif #if defined(need_GL_NV_register_combiners) -static const char CombinerParameterfNV_names[] = +static const char CombinerParameterfNV_names[] = "if\0" /* Parameter signature */ "glCombinerParameterfNV\0" ""; #endif #if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char BindProgramNV_names[] = +static const char BindProgramNV_names[] = "ii\0" /* Parameter signature */ "glBindProgramARB\0" "glBindProgramNV\0" @@ -4637,7 +4637,7 @@ static const char BindProgramNV_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4svARB_names[] = +static const char VertexAttrib4svARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" @@ -4645,35 +4645,35 @@ static const char VertexAttrib4svARB_names[] = #endif #if defined(need_GL_MESA_shader_debug) -static const char CreateDebugObjectMESA_names[] = +static const char CreateDebugObjectMESA_names[] = "\0" /* Parameter signature */ "glCreateDebugObjectMESA\0" ""; #endif #if defined(need_GL_VERSION_2_0) -static const char GetShaderiv_names[] = +static const char GetShaderiv_names[] = "iip\0" /* Parameter signature */ "glGetShaderiv\0" ""; #endif #if defined(need_GL_ARB_sync) -static const char ClientWaitSync_names[] = +static const char ClientWaitSync_names[] = "iii\0" /* Parameter signature */ "glClientWaitSync\0" ""; #endif #if defined(need_GL_ATI_fragment_shader) -static const char BindFragmentShaderATI_names[] = +static const char BindFragmentShaderATI_names[] = "i\0" /* Parameter signature */ "glBindFragmentShaderATI\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char UnmapBufferARB_names[] = +static const char UnmapBufferARB_names[] = "i\0" /* Parameter signature */ "glUnmapBuffer\0" "glUnmapBufferARB\0" @@ -4681,7 +4681,7 @@ static const char UnmapBufferARB_names[] = #endif #if defined(need_GL_EXT_histogram) -static const char Minmax_names[] = +static const char Minmax_names[] = "iii\0" /* Parameter signature */ "glMinmax\0" "glMinmaxEXT\0" @@ -4689,7 +4689,7 @@ static const char Minmax_names[] = #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_fog_coord) -static const char FogCoorddvEXT_names[] = +static const char FogCoorddvEXT_names[] = "p\0" /* Parameter signature */ "glFogCoorddv\0" "glFogCoorddvEXT\0" @@ -4697,35 +4697,35 @@ static const char FogCoorddvEXT_names[] = #endif #if defined(need_GL_SUNX_constant_data) -static const char FinishTextureSUNX_names[] = +static const char FinishTextureSUNX_names[] = "\0" /* Parameter signature */ "glFinishTextureSUNX\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char GetFragmentLightfvSGIX_names[] = +static const char GetFragmentLightfvSGIX_names[] = "iip\0" /* Parameter signature */ "glGetFragmentLightfvSGIX\0" ""; #endif #if defined(need_GL_NV_register_combiners) -static const char GetFinalCombinerInputParameterfvNV_names[] = +static const char GetFinalCombinerInputParameterfvNV_names[] = "iip\0" /* Parameter signature */ "glGetFinalCombinerInputParameterfvNV\0" ""; #endif #if defined(need_GL_ATI_fragment_shader) -static const char ColorFragmentOp3ATI_names[] = +static const char ColorFragmentOp3ATI_names[] = "iiiiiiiiiiiii\0" /* Parameter signature */ "glColorFragmentOp3ATI\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib2svARB_names[] = +static const char VertexAttrib2svARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" @@ -4733,14 +4733,14 @@ static const char VertexAttrib2svARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char AreProgramsResidentNV_names[] = +static const char AreProgramsResidentNV_names[] = "ipp\0" /* Parameter signature */ "glAreProgramsResidentNV\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos3svMESA_names[] = +static const char WindowPos3svMESA_names[] = "p\0" /* Parameter signature */ "glWindowPos3sv\0" "glWindowPos3svARB\0" @@ -4749,7 +4749,7 @@ static const char WindowPos3svMESA_names[] = #endif #if defined(need_GL_EXT_color_subtable) -static const char CopyColorSubTable_names[] = +static const char CopyColorSubTable_names[] = "iiiii\0" /* Parameter signature */ "glCopyColorSubTable\0" "glCopyColorSubTableEXT\0" @@ -4757,14 +4757,14 @@ static const char CopyColorSubTable_names[] = #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightdvARB_names[] = +static const char WeightdvARB_names[] = "ip\0" /* Parameter signature */ "glWeightdvARB\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char DeleteRenderbuffersEXT_names[] = +static const char DeleteRenderbuffersEXT_names[] = "ip\0" /* Parameter signature */ "glDeleteRenderbuffers\0" "glDeleteRenderbuffersEXT\0" @@ -4772,7 +4772,7 @@ static const char DeleteRenderbuffersEXT_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4NubvARB_names[] = +static const char VertexAttrib4NubvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" @@ -4780,63 +4780,63 @@ static const char VertexAttrib4NubvARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib3dvNV_names[] = +static const char VertexAttrib3dvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib3dvNV\0" ""; #endif #if defined(need_GL_ARB_shader_objects) -static const char GetObjectParameterfvARB_names[] = +static const char GetObjectParameterfvARB_names[] = "iip\0" /* Parameter signature */ "glGetObjectParameterfvARB\0" ""; #endif #if defined(need_GL_ARB_vertex_program) -static const char GetProgramEnvParameterdvARB_names[] = +static const char GetProgramEnvParameterdvARB_names[] = "iip\0" /* Parameter signature */ "glGetProgramEnvParameterdvARB\0" ""; #endif #if defined(need_GL_EXT_compiled_vertex_array) -static const char LockArraysEXT_names[] = +static const char LockArraysEXT_names[] = "ii\0" /* Parameter signature */ "glLockArraysEXT\0" ""; #endif #if defined(need_GL_EXT_pixel_transform) -static const char PixelTransformParameterivEXT_names[] = +static const char PixelTransformParameterivEXT_names[] = "iip\0" /* Parameter signature */ "glPixelTransformParameterivEXT\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char BinormalPointerEXT_names[] = +static const char BinormalPointerEXT_names[] = "iip\0" /* Parameter signature */ "glBinormalPointerEXT\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib1dNV_names[] = +static const char VertexAttrib1dNV_names[] = "id\0" /* Parameter signature */ "glVertexAttrib1dNV\0" ""; #endif #if defined(need_GL_NV_register_combiners) -static const char GetCombinerInputParameterivNV_names[] = +static const char GetCombinerInputParameterivNV_names[] = "iiiip\0" /* Parameter signature */ "glGetCombinerInputParameterivNV\0" ""; #endif #if defined(need_GL_VERSION_1_3) -static const char MultiTexCoord2fvARB_names[] = +static const char MultiTexCoord2fvARB_names[] = "ip\0" /* Parameter signature */ "glMultiTexCoord2fv\0" "glMultiTexCoord2fvARB\0" @@ -4844,7 +4844,7 @@ static const char MultiTexCoord2fvARB_names[] = #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char GetRenderbufferParameterivEXT_names[] = +static const char GetRenderbufferParameterivEXT_names[] = "iip\0" /* Parameter signature */ "glGetRenderbufferParameteriv\0" "glGetRenderbufferParameterivEXT\0" @@ -4852,21 +4852,21 @@ static const char GetRenderbufferParameterivEXT_names[] = #endif #if defined(need_GL_NV_register_combiners) -static const char CombinerParameterivNV_names[] = +static const char CombinerParameterivNV_names[] = "ip\0" /* Parameter signature */ "glCombinerParameterivNV\0" ""; #endif #if defined(need_GL_ATI_fragment_shader) -static const char GenFragmentShadersATI_names[] = +static const char GenFragmentShadersATI_names[] = "i\0" /* Parameter signature */ "glGenFragmentShadersATI\0" ""; #endif #if defined(need_GL_EXT_vertex_array) -static const char DrawArrays_names[] = +static const char DrawArrays_names[] = "iii\0" /* Parameter signature */ "glDrawArrays\0" "glDrawArraysEXT\0" @@ -4874,14 +4874,14 @@ static const char DrawArrays_names[] = #endif #if defined(need_GL_ARB_vertex_blend) -static const char WeightuivARB_names[] = +static const char WeightuivARB_names[] = "ip\0" /* Parameter signature */ "glWeightuivARB\0" ""; #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib2sARB_names[] = +static const char VertexAttrib2sARB_names[] = "iii\0" /* Parameter signature */ "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" @@ -4889,28 +4889,28 @@ static const char VertexAttrib2sARB_names[] = #endif #if defined(need_GL_SGIX_async) -static const char GenAsyncMarkersSGIX_names[] = +static const char GenAsyncMarkersSGIX_names[] = "i\0" /* Parameter signature */ "glGenAsyncMarkersSGIX\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Tangent3svEXT_names[] = +static const char Tangent3svEXT_names[] = "p\0" /* Parameter signature */ "glTangent3svEXT\0" ""; #endif #if defined(need_GL_SGIX_list_priority) -static const char GetListParameterivSGIX_names[] = +static const char GetListParameterivSGIX_names[] = "iip\0" /* Parameter signature */ "glGetListParameterivSGIX\0" ""; #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char BindBufferARB_names[] = +static const char BindBufferARB_names[] = "ii\0" /* Parameter signature */ "glBindBuffer\0" "glBindBufferARB\0" @@ -4918,35 +4918,35 @@ static const char BindBufferARB_names[] = #endif #if defined(need_GL_ARB_shader_objects) -static const char GetInfoLogARB_names[] = +static const char GetInfoLogARB_names[] = "iipp\0" /* Parameter signature */ "glGetInfoLogARB\0" ""; #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs4svNV_names[] = +static const char VertexAttribs4svNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs4svNV\0" ""; #endif #if defined(need_GL_IBM_vertex_array_lists) -static const char EdgeFlagPointerListIBM_names[] = +static const char EdgeFlagPointerListIBM_names[] = "ipi\0" /* Parameter signature */ "glEdgeFlagPointerListIBM\0" ""; #endif #if defined(need_GL_VERSION_2_1) -static const char UniformMatrix3x2fv_names[] = +static const char UniformMatrix3x2fv_names[] = "iiip\0" /* Parameter signature */ "glUniformMatrix3x2fv\0" ""; #endif #if defined(need_GL_EXT_histogram) -static const char GetMinmaxParameterfv_names[] = +static const char GetMinmaxParameterfv_names[] = "iip\0" /* Parameter signature */ "glGetMinmaxParameterfv\0" "glGetMinmaxParameterfvEXT\0" @@ -4954,7 +4954,7 @@ static const char GetMinmaxParameterfv_names[] = #endif #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) -static const char VertexAttrib1fvARB_names[] = +static const char VertexAttrib1fvARB_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" @@ -4962,7 +4962,7 @@ static const char VertexAttrib1fvARB_names[] = #endif #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) -static const char GenBuffersARB_names[] = +static const char GenBuffersARB_names[] = "ip\0" /* Parameter signature */ "glGenBuffers\0" "glGenBuffersARB\0" @@ -4970,35 +4970,35 @@ static const char GenBuffersARB_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttribs1svNV_names[] = +static const char VertexAttribs1svNV_names[] = "iip\0" /* Parameter signature */ "glVertexAttribs1svNV\0" ""; #endif #if defined(need_GL_ATI_envmap_bumpmap) -static const char GetTexBumpParameterivATI_names[] = +static const char GetTexBumpParameterivATI_names[] = "ip\0" /* Parameter signature */ "glGetTexBumpParameterivATI\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3bEXT_names[] = +static const char Binormal3bEXT_names[] = "iii\0" /* Parameter signature */ "glBinormal3bEXT\0" ""; #endif #if defined(need_GL_SGIX_fragment_lighting) -static const char FragmentMaterialivSGIX_names[] = +static const char FragmentMaterialivSGIX_names[] = "iip\0" /* Parameter signature */ "glFragmentMaterialivSGIX\0" ""; #endif #if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object) -static const char IsRenderbufferEXT_names[] = +static const char IsRenderbufferEXT_names[] = "i\0" /* Parameter signature */ "glIsRenderbuffer\0" "glIsRenderbufferEXT\0" @@ -5006,7 +5006,7 @@ static const char IsRenderbufferEXT_names[] = #endif #if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) -static const char GenProgramsNV_names[] = +static const char GenProgramsNV_names[] = "ip\0" /* Parameter signature */ "glGenProgramsARB\0" "glGenProgramsNV\0" @@ -5014,28 +5014,28 @@ static const char GenProgramsNV_names[] = #endif #if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4dvNV_names[] = +static const char VertexAttrib4dvNV_names[] = "ip\0" /* Parameter signature */ "glVertexAttrib4dvNV\0" ""; #endif #if defined(need_GL_ATI_fragment_shader) -static const char EndFragmentShaderATI_names[] = +static const char EndFragmentShaderATI_names[] = "\0" /* Parameter signature */ "glEndFragmentShaderATI\0" ""; #endif #if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3iEXT_names[] = +static const char Binormal3iEXT_names[] = "iii\0" /* Parameter signature */ "glBinormal3iEXT\0" ""; #endif #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) -static const char WindowPos2fMESA_names[] = +static const char WindowPos2fMESA_names[] = "ff\0" /* Parameter signature */ "glWindowPos2f\0" "glWindowPos2fARB\0" diff --git a/src/mesa/glapi/extension_helper.py b/src/mesa/glapi/extension_helper.py index 64f64a2fd8..83471d89f5 100644 --- a/src/mesa/glapi/extension_helper.py +++ b/src/mesa/glapi/extension_helper.py @@ -170,7 +170,7 @@ class PrintGlExtensionGlue(gl_XML.gl_print_base): condition = condition_for_function(f, abi, 0) if len(condition): print '#if %s' % (string.join(condition, " || ")) - print 'static const char %s_names[] = ' % (f.name) + print 'static const char %s_names[] =' % (f.name) parameter_signature = '' for p in f.parameterIterator(): -- cgit v1.2.3 From f37070bab6af350caec905ea7658e9241042b6cc Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 28 Aug 2009 20:10:05 -0700 Subject: ARB sync: Add support for GL_ARB_sync to swrast This isn't quite right yet. The delete behavior and the context clean-up needs some work. --- src/mesa/drivers/common/driverfuncs.c | 8 + src/mesa/drivers/dri/swrast/swrast.c | 2 + src/mesa/main/api_exec.c | 14 ++ src/mesa/main/context.c | 12 ++ src/mesa/main/dd.h | 16 ++ src/mesa/main/extensions.c | 4 + src/mesa/main/get.c | 19 ++ src/mesa/main/get_gen.py | 7 + src/mesa/main/mfeatures.h | 1 + src/mesa/main/mtypes.h | 21 ++ src/mesa/main/syncobj.c | 372 ++++++++++++++++++++++++++++++++++ src/mesa/main/syncobj.h | 64 ++++++ src/mesa/sources.mak | 1 + 13 files changed, 541 insertions(+) create mode 100644 src/mesa/main/syncobj.c create mode 100644 src/mesa/main/syncobj.h (limited to 'src') diff --git a/src/mesa/drivers/common/driverfuncs.c b/src/mesa/drivers/common/driverfuncs.c index 3b397fef7d..a9f3c8e727 100644 --- a/src/mesa/drivers/common/driverfuncs.c +++ b/src/mesa/drivers/common/driverfuncs.c @@ -45,6 +45,9 @@ #include "main/fbobject.h" #include "main/texrender.h" #endif +#if FEATURE_ARB_sync +#include "main/syncobj.h" +#endif #include "shader/program.h" #include "shader/prog_execute.h" @@ -200,6 +203,7 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->GetDoublev = NULL; driver->GetFloatv = NULL; driver->GetIntegerv = NULL; + driver->GetInteger64v = NULL; driver->GetPointerv = NULL; /* buffer objects */ @@ -208,6 +212,10 @@ _mesa_init_driver_functions(struct dd_function_table *driver) /* query objects */ _mesa_init_query_object_functions(driver); +#if FEATURE_ARB_sync + _mesa_init_sync_object_functions(driver); +#endif + #if FEATURE_EXT_framebuffer_object driver->NewFramebuffer = _mesa_new_framebuffer; driver->NewRenderbuffer = _mesa_new_soft_renderbuffer; diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index 3aa7843b1b..69b92e9e44 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -65,6 +65,7 @@ #define need_GL_ARB_shader_objects #define need_GL_ARB_vertex_array_object #define need_GL_ARB_vertex_program +#define need_GL_ARB_sync #define need_GL_APPLE_vertex_array_object #define need_GL_ATI_fragment_shader #define need_GL_ATI_separate_stencil @@ -97,6 +98,7 @@ const struct dri_extension card_extensions[] = { "GL_ARB_shader_objects", GL_ARB_shader_objects_functions }, { "GL_ARB_vertex_array_object", GL_ARB_vertex_array_object_functions }, { "GL_ARB_vertex_program", GL_ARB_vertex_program_functions }, + { "GL_ARB_sync", GL_ARB_sync }, { "GL_APPLE_vertex_array_object", GL_APPLE_vertex_array_object_functions }, { "GL_ATI_fragment_shader", GL_ATI_fragment_shader_functions }, { "GL_ATI_separate_stencil", GL_ATI_separate_stencil_functions }, diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index cbf48615bf..02550ae108 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -129,6 +129,9 @@ #if FEATURE_ARB_shader_objects #include "shaders.h" #endif +#if FEATURE_ARB_sync +#include "syncobj.h" +#endif #include "debug.h" #include "glapi/dispatch.h" @@ -823,6 +826,17 @@ _mesa_init_exec_table(struct _glapi_table *exec) SET_GetAttribLocationARB(exec, _mesa_GetAttribLocationARB); #endif /* FEATURE_ARB_vertex_shader */ + /* GL_ARB_sync */ +#if FEATURE_ARB_sync + SET_IsSync(exec, _mesa_IsSync); + SET_DeleteSync(exec, _mesa_DeleteSync); + SET_FenceSync(exec, _mesa_FenceSync); + SET_ClientWaitSync(exec, _mesa_ClientWaitSync); + SET_WaitSync(exec, _mesa_WaitSync); + SET_GetInteger64v(exec, _mesa_GetInteger64v); + SET_GetSynciv(exec, _mesa_GetSynciv); +#endif + /* GL_ATI_fragment_shader */ #if FEATURE_ATI_fragment_shader SET_GenFragmentShadersATI(exec, _mesa_GenFragmentShadersATI); diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 4651760d78..f6d4ac4595 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -129,6 +129,9 @@ #if FEATURE_ARB_occlusion_query #include "queryobj.h" #endif +#if FEATURE_ARB_sync +#include "syncobj.h" +#endif #if FEATURE_drawpix #include "rastpos.h" #endif @@ -592,6 +595,9 @@ _mesa_init_constants(GLcontext *ctx) /* GL_ARB_framebuffer_object */ ctx->Const.MaxSamples = 0; + /* GL_ARB_sync */ + ctx->Const.MaxServerWaitTimeout = (GLuint64) ~0; + /* GL_ATI_envmap_bumpmap */ ctx->Const.SupportedBumpUnits = SUPPORTED_ATI_BUMP_UNITS; @@ -715,6 +721,9 @@ init_attrib_groups(GLcontext *ctx) #if FEATURE_ARB_occlusion_query _mesa_init_query( ctx ); #endif +#if FEATURE_ARB_sync + _mesa_init_sync( ctx ); +#endif #if FEATURE_drawpix _mesa_init_rastpos( ctx ); #endif @@ -1013,6 +1022,9 @@ _mesa_free_context_data( GLcontext *ctx ) _mesa_free_shader_state(ctx); #if FEATURE_ARB_occlusion_query _mesa_free_query_data(ctx); +#endif +#if FEATURE_ARB_sync + _mesa_free_sync_data(ctx); #endif _mesa_free_varray_data(ctx); diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 3a59872b5a..4a700b5cb4 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -1044,6 +1044,22 @@ struct dd_function_table { */ void (*EndCallList)( GLcontext *ctx ); + +#if FEATURE_ARB_sync + /** + * \name GL_ARB_sync interfaces + */ + /*@{*/ + struct gl_sync_object * (*NewSyncObject)(GLcontext *, GLenum); + void (*FenceSync)(GLcontext *, struct gl_sync_object *, GLenum, GLbitfield); + void (*DeleteSyncObject)(GLcontext *, struct gl_sync_object *); + void (*CheckSync)(GLcontext *, struct gl_sync_object *); + void (*ClientWaitSync)(GLcontext *, struct gl_sync_object *, + GLbitfield, GLuint64); + void (*ServerWaitSync)(GLcontext *, struct gl_sync_object *, + GLbitfield, GLuint64); + /*@}*/ +#endif }; diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 195fdde346..e3070b1547 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -67,6 +67,7 @@ static const struct { { OFF, "GL_ARB_shading_language_120", F(ARB_shading_language_120) }, { OFF, "GL_ARB_shadow", F(ARB_shadow) }, { OFF, "GL_ARB_shadow_ambient", F(ARB_shadow_ambient) }, + { OFF, "GL_ARB_sync", F(ARB_sync) }, { OFF, "GL_ARB_texture_border_clamp", F(ARB_texture_border_clamp) }, { ON, "GL_ARB_texture_compression", F(ARB_texture_compression) }, { OFF, "GL_ARB_texture_cube_map", F(ARB_texture_cube_map) }, @@ -239,6 +240,9 @@ _mesa_enable_sw_extensions(GLcontext *ctx) #endif #if FEATURE_ARB_vertex_buffer_object /*ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;*/ +#endif +#if FEATURE_ARB_sync + ctx->Extensions.ARB_sync = GL_TRUE; #endif ctx->Extensions.APPLE_vertex_array_object = GL_TRUE; ctx->Extensions.ATI_envmap_bumpmap = GL_TRUE; diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index fc742c4a90..477ed01030 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -19,6 +19,9 @@ #define INT_TO_BOOLEAN(I) ( (I) ? GL_TRUE : GL_FALSE ) +#define INT64_TO_BOOLEAN(I) ( (I) ? GL_TRUE : GL_FALSE ) +#define INT64_TO_INT(I) ( (GLint)((I > INT_MAX) ? INT_MAX : ((I < INT_MIN) ? INT_MIN : (I))) ) + #define BOOLEAN_TO_INT(B) ( (GLint) (B) ) #define BOOLEAN_TO_INT64(B) ( (GLint64) (B) ) #define BOOLEAN_TO_FLOAT(B) ( (B) ? 1.0F : 0.0F ) @@ -1887,6 +1890,10 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) CHECK_EXT1(ARB_seamless_cube_map, "GetBooleanv"); params[0] = ctx->Texture.CubeMapSeamless; break; + case GL_MAX_SERVER_WAIT_TIMEOUT: + CHECK_EXT1(ARB_sync, "GetBooleanv"); + params[0] = INT64_TO_BOOLEAN(ctx->Const.MaxServerWaitTimeout); + break; default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv(pname=0x%x)", pname); } @@ -3714,6 +3721,10 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) CHECK_EXT1(ARB_seamless_cube_map, "GetFloatv"); params[0] = BOOLEAN_TO_FLOAT(ctx->Texture.CubeMapSeamless); break; + case GL_MAX_SERVER_WAIT_TIMEOUT: + CHECK_EXT1(ARB_sync, "GetFloatv"); + params[0] = (GLfloat)(ctx->Const.MaxServerWaitTimeout); + break; default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetFloatv(pname=0x%x)", pname); } @@ -5541,6 +5552,10 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) CHECK_EXT1(ARB_seamless_cube_map, "GetIntegerv"); params[0] = BOOLEAN_TO_INT(ctx->Texture.CubeMapSeamless); break; + case GL_MAX_SERVER_WAIT_TIMEOUT: + CHECK_EXT1(ARB_sync, "GetIntegerv"); + params[0] = INT64_TO_INT(ctx->Const.MaxServerWaitTimeout); + break; default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv(pname=0x%x)", pname); } @@ -7369,6 +7384,10 @@ _mesa_GetInteger64v( GLenum pname, GLint64 *params ) CHECK_EXT1(ARB_seamless_cube_map, "GetInteger64v"); params[0] = BOOLEAN_TO_INT64(ctx->Texture.CubeMapSeamless); break; + case GL_MAX_SERVER_WAIT_TIMEOUT: + CHECK_EXT1(ARB_sync, "GetInteger64v"); + params[0] = ctx->Const.MaxServerWaitTimeout; + break; default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetInteger64v(pname=0x%x)", pname); } diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py index 4f0feaad3c..2878c1b552 100644 --- a/src/mesa/main/get_gen.py +++ b/src/mesa/main/get_gen.py @@ -1022,6 +1022,10 @@ StateVars = [ # GL_ARB_seamless_cube_map ( "GL_TEXTURE_CUBE_MAP_SEAMLESS", GLboolean, ["ctx->Texture.CubeMapSeamless"], "", ["ARB_seamless_cube_map"] ), + + # GL_ARB_sync + ( "GL_MAX_SERVER_WAIT_TIMEOUT", GLint64, ["ctx->Const.MaxServerWaitTimeout"], "", + ["ARB_sync"] ), ] @@ -1157,6 +1161,9 @@ def EmitHeader(): #define INT_TO_BOOLEAN(I) ( (I) ? GL_TRUE : GL_FALSE ) +#define INT64_TO_BOOLEAN(I) ( (I) ? GL_TRUE : GL_FALSE ) +#define INT64_TO_INT(I) ( (GLint)((I > INT_MAX) ? INT_MAX : ((I < INT_MIN) ? INT_MIN : (I))) ) + #define BOOLEAN_TO_INT(B) ( (GLint) (B) ) #define BOOLEAN_TO_INT64(B) ( (GLint64) (B) ) #define BOOLEAN_TO_FLOAT(B) ( (B) ? 1.0F : 0.0F ) diff --git a/src/mesa/main/mfeatures.h b/src/mesa/main/mfeatures.h index ef973314e3..e23cdb1f42 100644 --- a/src/mesa/main/mfeatures.h +++ b/src/mesa/main/mfeatures.h @@ -70,6 +70,7 @@ #define FEATURE_ARB_shader_objects (FEATURE_ARB_vertex_shader || FEATURE_ARB_fragment_shader) #define FEATURE_ARB_shading_language_100 FEATURE_ARB_shader_objects #define FEATURE_ARB_shading_language_120 FEATURE_ARB_shader_objects +#define FEATURE_ARB_sync _HAVE_FULL_GL #define FEATURE_EXT_framebuffer_blit _HAVE_FULL_GL #define FEATURE_EXT_framebuffer_object _HAVE_FULL_GL diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 53dc6360ea..58da5d15eb 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1986,6 +1986,20 @@ struct gl_query_state }; +/** Sync object state */ +struct gl_sync_object { + GLenum Type; /**< GL_SYNC_FENCE */ + GLuint Name; /**< Fence name */ + GLint RefCount; /**< Reference count */ + GLboolean DeletePending; /**< Object was deleted while there were still + * live references (e.g., sync not yet finished) + */ + GLenum SyncCondition; + GLbitfield Flags; /**< Flags passed to glFenceSync */ + GLuint Status:1; /**< Has the sync object been signaled? */ +}; + + /** Set by #pragma directives */ struct gl_sl_pragmas { @@ -2435,6 +2449,12 @@ struct gl_constants GLbitfield SupportedBumpUnits; /**> units supporting GL_ATI_envmap_bumpmap as targets */ + /** + * Maximum amount of time, measured in nanseconds, that the server can wait. + */ + GLuint64 MaxServerWaitTimeout; + + /**< GL_EXT_provoking_vertex */ GLboolean QuadsFollowProvokingVertexConvention; }; @@ -2467,6 +2487,7 @@ struct gl_extensions GLboolean ARB_shading_language_120; GLboolean ARB_shadow; GLboolean ARB_shadow_ambient; /* or GL_ARB_shadow_ambient */ + GLboolean ARB_sync; GLboolean ARB_texture_border_clamp; GLboolean ARB_texture_compression; GLboolean ARB_texture_cube_map; diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c new file mode 100644 index 0000000000..eeeeb49175 --- /dev/null +++ b/src/mesa/main/syncobj.c @@ -0,0 +1,372 @@ +/* + * Copyright © 2009 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +/** + * \file syncobj.c + * Sync object management. + * + * \author Ian Romanick + */ + +#include "glheader.h" +#include "hash.h" +#include "imports.h" +#include "context.h" + +#if FEATURE_ARB_sync +#include "syncobj.h" + +static struct gl_sync_object * +_mesa_new_sync_object(GLcontext *ctx, GLenum type) +{ + struct gl_sync_object *s = MALLOC_STRUCT(gl_sync_object); + (void) ctx; + (void) type; + + return s; +} + + +static void +_mesa_delete_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj) +{ + (void) ctx; + _mesa_free(syncObj); +} + + +static void +_mesa_fence_sync(GLcontext *ctx, struct gl_sync_object *syncObj, + GLenum condition, GLbitfield flags) +{ + (void) ctx; + (void) condition; + (void) flags; + + syncObj->Status = 1; +} + + +static void +_mesa_check_sync(GLcontext *ctx, struct gl_sync_object *syncObj) +{ + (void) ctx; + (void) syncObj; + + /* No-op for software rendering. Hardware drivers will need to determine + * whether the state of the sync object has changed. + */ +} + + +static void +_mesa_wait_sync(GLcontext *ctx, struct gl_sync_object *syncObj, + GLbitfield flags, GLuint64 timeout) +{ + (void) ctx; + (void) syncObj; + (void) flags; + (void) timeout; + + + /* No-op for software rendering. Hardware drivers will need to wait until + * the state of the sync object changes or the timeout expires. + */ +} + + +void +_mesa_init_sync_object_functions(struct dd_function_table *driver) +{ + driver->NewSyncObject = _mesa_new_sync_object; + driver->FenceSync = _mesa_fence_sync; + driver->DeleteSyncObject = _mesa_delete_sync_object; + driver->CheckSync = _mesa_check_sync; + + /* Use the same no-op wait function for both. + */ + driver->ClientWaitSync = _mesa_wait_sync; + driver->ServerWaitSync = _mesa_wait_sync; +} + + +/** + * Allocate/init the context state related to sync objects. + */ +void +_mesa_init_sync(GLcontext *ctx) +{ + (void) ctx; +} + + +/** + * Free the context state related to sync objects. + */ +void +_mesa_free_sync_data(GLcontext *ctx) +{ + (void) ctx; +} + + +GLboolean +_mesa_IsSync(GLsync sync) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; + ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); + + + return ((syncObj != NULL) && (syncObj->Type == GL_SYNC_FENCE)) + ? GL_TRUE : GL_FALSE; +} + + +static void +_mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj) +{ + syncObj->RefCount--; + if (syncObj->RefCount == 0) { + (*ctx->Driver.DeleteSyncObject)(ctx, syncObj); + } else { + syncObj->DeletePending = 1; + } +} + + +void +_mesa_DeleteSync(GLsync sync) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; + ASSERT_OUTSIDE_BEGIN_END(ctx); + + + /* From the GL_ARB_sync spec: + * + * DeleteSync will silently ignore a value of zero. An + * INVALID_VALUE error is generated if is neither zero nor the + * name of a sync object. + */ + if (sync == 0) { + return; + } + + if (syncObj->Type != GL_SYNC_FENCE) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glDeleteSync"); + return; + } + + + /* If there are no client-waits or server-waits pending on this sync, delete + * the underlying object. + */ + _mesa_unref_sync_object(ctx, syncObj); +} + + + +GLsync +_mesa_FenceSync(GLenum condition, GLbitfield flags) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_sync_object *syncObj; + ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0); + + + if (condition != GL_SYNC_GPU_COMMANDS_COMPLETE) { + _mesa_error(ctx, GL_INVALID_ENUM, "glFenceSync(condition=0x%x)", + condition); + return 0; + } + + if (flags != 0) { + _mesa_error(ctx, GL_INVALID_VALUE, "glFenceSync(flags=0x%x)", + condition); + return 0; + } + + syncObj = (*ctx->Driver.NewSyncObject)(ctx, GL_SYNC_FENCE); + if (syncObj != NULL) { + syncObj->Type = GL_SYNC_FENCE; + /* The name is not currently used, and it is never visible to + * applications. If sync support is extended to provide support for + * NV_fence, this field will be used. We'll also need to add an object + * ID hashtable. + */ + syncObj->Name = 1; + syncObj->RefCount = 1; + syncObj->DeletePending = GL_FALSE; + syncObj->SyncCondition = condition; + syncObj->Flags = flags; + syncObj->Status = 0; + + (*ctx->Driver.FenceSync)(ctx, syncObj, condition, flags); + + return (GLsync) syncObj; + } + + return NULL; +} + + +GLenum +_mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; + GLenum ret; + ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_WAIT_FAILED); + + + if ((syncObj == NULL) || (syncObj->Type != GL_SYNC_FENCE)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glClientWaitSync"); + return GL_WAIT_FAILED; + } + + if ((flags & ~GL_SYNC_FLUSH_COMMANDS_BIT) != 0) { + _mesa_error(ctx, GL_INVALID_ENUM, "glClientWaitSync(flags=0x%x)", flags); + return GL_WAIT_FAILED; + } + + + /* From the GL_ARB_sync spec: + * + * ClientWaitSync returns one of four status values. A return value of + * ALREADY_SIGNALED indicates that was signaled at the time + * ClientWaitSync was called. ALREADY_SIGNALED will always be returned + * if was signaled, even if the value of is zero. + */ + (*ctx->Driver.CheckSync)(ctx, syncObj); + + if (syncObj->Status) { + return GL_ALREADY_SIGNALED; + } + + + (*ctx->Driver.ClientWaitSync)(ctx, syncObj, flags, timeout); + + ret = syncObj->Status ? GL_CONDITION_SATISFIED : GL_TIMEOUT_EXPIRED; + + if (syncObj->DeletePending && syncObj->Status) { + _mesa_unref_sync_object(ctx, syncObj); + } + + return ret; +} + + +void +_mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; + ASSERT_OUTSIDE_BEGIN_END(ctx); + + + if ((syncObj == NULL) || (syncObj->Type != GL_SYNC_FENCE)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glWaitSync"); + return; + } + + if (flags != 0) { + _mesa_error(ctx, GL_INVALID_ENUM, "glWaitSync(flags=0x%x)", flags); + return; + } + + /* From the GL_ARB_sync spec: + * + * If the value of is zero, then WaitSync does nothing. + */ + if (timeout == 0) { + return; + } + + (*ctx->Driver.ServerWaitSync)(ctx, syncObj, flags, timeout); +} + + +void +_mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, + GLint *values) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; + GLsizei size = 0; + GLint v[1]; + ASSERT_OUTSIDE_BEGIN_END(ctx); + + + if ((syncObj == NULL) || (syncObj->Type != GL_SYNC_FENCE)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glGetSynciv"); + return; + } + + + switch (pname) { + case GL_OBJECT_TYPE: + v[0] = syncObj->Type; + size = 1; + break; + + case GL_SYNC_CONDITION: + v[0] = syncObj->SyncCondition; + size = 1; + break; + + case GL_SYNC_STATUS: + /* Update the state of the sync by dipping into the driver. Note that + * this call won't block. It just updates state in the common object + * data from the current driver state. + */ + (*ctx->Driver.CheckSync)(ctx, syncObj); + + v[0] = (syncObj->Status) ? GL_SIGNALED : GL_UNSIGNALED; + size = 1; + break; + + case GL_SYNC_FLAGS: + v[0] = syncObj->Flags; + size = 1; + break; + + default: + _mesa_error(ctx, GL_INVALID_ENUM, "glGetSynciv(pname=0x%x)\n", pname); + return; + } + + + if (size > 0) { + const GLsizei copy_count = (size > bufSize) ? bufSize : size; + + _mesa_memcpy(values, v, sizeof(GLint) * copy_count); + } + + + if (length != NULL) { + *length = size; + } +} + +#endif /* FEATURE_ARB_sync */ diff --git a/src/mesa/main/syncobj.h b/src/mesa/main/syncobj.h new file mode 100644 index 0000000000..d2b4d051c9 --- /dev/null +++ b/src/mesa/main/syncobj.h @@ -0,0 +1,64 @@ +/* + * Copyright © 2009 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +/** + * \file syncobj.h + * Sync object management. + * + * \author Ian Romanick + */ + +#ifndef SYNCOBJ_H +#define SYNCOBJ_H + +#include "context.h" + +extern void +_mesa_init_sync_object_functions(struct dd_function_table *driver); + +extern void +_mesa_init_sync(GLcontext *); + +extern void +_mesa_free_sync_data(GLcontext *); + +extern GLboolean +_mesa_IsSync(GLsync sync); + +extern void +_mesa_DeleteSync(GLsync sync); + +extern GLsync +_mesa_FenceSync(GLenum condition, GLbitfield flags); + +extern GLenum +_mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout); + +extern void +_mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout); + +extern void +_mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, + GLint *values); + +#endif /* SYNCOBJ_H */ diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak index 9a9c988ed9..fa2a6307a4 100644 --- a/src/mesa/sources.mak +++ b/src/mesa/sources.mak @@ -61,6 +61,7 @@ MAIN_SOURCES = \ main/shared.c \ main/state.c \ main/stencil.c \ + main/syncobj.c \ main/texcompress.c \ main/texcompress_s3tc.c \ main/texcompress_fxt1.c \ -- cgit v1.2.3 From f5a22721c5731c7a4c20f86d9925d9e58324c7a5 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 31 Aug 2009 14:49:33 -0700 Subject: Add dummy list node type 'struct simple_node' --- src/mesa/main/simple_list.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/mesa/main/simple_list.h b/src/mesa/main/simple_list.h index 63475f6f74..ff7f888238 100644 --- a/src/mesa/main/simple_list.h +++ b/src/mesa/main/simple_list.h @@ -37,6 +37,11 @@ #ifndef _SIMPLE_LIST_H #define _SIMPLE_LIST_H +struct simple_node { + struct simple_node *next; + struct simple_node *prev; +}; + /** * Remove an element from list. * -- cgit v1.2.3 From 16b393d05990b6e917e144f9de87d0103b4c3e6d Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 31 Aug 2009 14:57:50 -0700 Subject: ARB sync: Fix delete behavior and context destruction behavior I believe this resolves the outstanding issues WRT sync object deletetion. I have also added a large comment at the top of syncobj.c describing the expected memory management behavior. I'm still a little uncertain about the locking on ctx->Shared. --- src/mesa/main/mtypes.h | 6 ++++ src/mesa/main/shared.c | 19 +++++++++- src/mesa/main/syncobj.c | 96 +++++++++++++++++++++++++++++++++++++------------ src/mesa/main/syncobj.h | 6 ++++ 4 files changed, 103 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 58da5d15eb..bd3bf28328 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -40,6 +40,7 @@ #include "main/mfeatures.h" #include "glapi/glapi.h" #include "math/m_matrix.h" /* GLmatrix */ +#include "main/simple_list.h" /* struct simple_node */ /** @@ -1988,6 +1989,7 @@ struct gl_query_state /** Sync object state */ struct gl_sync_object { + struct simple_node link; GLenum Type; /**< GL_SYNC_FENCE */ GLuint Name; /**< Fence name */ GLint RefCount; /**< Reference count */ @@ -2145,6 +2147,10 @@ struct gl_shared_state struct _mesa_HashTable *FrameBuffers; #endif +#if FEATURE_ARB_sync + struct simple_node SyncObjects; +#endif + void *DriverData; /**< Device driver shared state */ }; diff --git a/src/mesa/main/shared.c b/src/mesa/main/shared.c index 93bbccd3c7..643ad3354e 100644 --- a/src/mesa/main/shared.c +++ b/src/mesa/main/shared.c @@ -43,7 +43,9 @@ #if FEATURE_ATI_fragment_shader #include "shader/atifragshader.h" #endif - +#if FEATURE_ARB_sync +#include "syncobj.h" +#endif /** * Allocate and initialize a shared context state structure. @@ -127,6 +129,10 @@ _mesa_alloc_shared_state(GLcontext *ctx) shared->RenderBuffers = _mesa_NewHashTable(); #endif +#if FEATURE_ARB_sync + make_empty_list(& shared->SyncObjects); +#endif + return shared; } @@ -336,6 +342,17 @@ _mesa_free_shared_state(GLcontext *ctx, struct gl_shared_state *shared) ctx->Driver.DeleteBuffer(ctx, shared->NullBufferObj); #endif +#if FEATURE_ARB_sync + { + struct simple_node *node; + struct simple_node *temp; + + foreach_s(node, temp, & shared->SyncObjects) { + _mesa_unref_sync_object(ctx, (struct gl_sync_object *) node); + } + } +#endif + /* * Free texture objects (after FBOs since some textures might have * been bound to FBOs). diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c index eeeeb49175..0471a0ad7f 100644 --- a/src/mesa/main/syncobj.c +++ b/src/mesa/main/syncobj.c @@ -25,6 +25,33 @@ * \file syncobj.c * Sync object management. * + * Unlike textures and other objects that are shared between contexts, sync + * objects are not bound to the context. As a result, the reference counting + * and delete behavior of sync objects is slightly different. References to + * sync objects are added: + * + * - By \c glFencSynce. This sets the initial reference count to 1. + * - At the start of \c glClientWaitSync. The reference is held for the + * duration of the wait call. + * + * References are removed: + * + * - By \c glDeleteSync. + * - At the end of \c glClientWaitSync. + * + * Additionally, drivers may call \c _mesa_ref_sync_object and + * \c _mesa_unref_sync_object as needed to implement \c ServerWaitSync. + * + * As with shader objects, sync object names become invalid as soon as + * \c glDeleteSync is called. For this reason \c glDeleteSync sets the + * \c DeletePending flag. All functions validate object handles by testing + * this flag. + * + * \note + * Only \c GL_ARB_sync objects are shared between contexts. If support is ever + * added for either \c GL_NV_fence or \c GL_APPLE_fence different semantics + * will need to be implemented. + * * \author Ian Romanick */ @@ -130,31 +157,52 @@ _mesa_free_sync_data(GLcontext *ctx) } -GLboolean -_mesa_IsSync(GLsync sync) +static int +_mesa_validate_sync(struct gl_sync_object *syncObj) { - GET_CURRENT_CONTEXT(ctx); - struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; - ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); + return (syncObj != NULL) + && (syncObj->Type == GL_SYNC_FENCE) + && !syncObj->DeletePending; +} - return ((syncObj != NULL) && (syncObj->Type == GL_SYNC_FENCE)) - ? GL_TRUE : GL_FALSE; +void +_mesa_ref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj) +{ + _glthread_LOCK_MUTEX(ctx->Shared->Mutex); + syncObj->RefCount++; + _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); } -static void +void _mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj) { + _glthread_LOCK_MUTEX(ctx->Shared->Mutex); syncObj->RefCount--; if (syncObj->RefCount == 0) { + remove_from_list(& syncObj->link); + _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); + (*ctx->Driver.DeleteSyncObject)(ctx, syncObj); } else { - syncObj->DeletePending = 1; + _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); } } +GLboolean +_mesa_IsSync(GLsync sync) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; + ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); + + + return _mesa_validate_sync(syncObj) ? GL_TRUE : GL_FALSE; +} + + void _mesa_DeleteSync(GLsync sync) { @@ -173,7 +221,7 @@ _mesa_DeleteSync(GLsync sync) return; } - if (syncObj->Type != GL_SYNC_FENCE) { + if (!_mesa_validate_sync(syncObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glDeleteSync"); return; } @@ -182,6 +230,7 @@ _mesa_DeleteSync(GLsync sync) /* If there are no client-waits or server-waits pending on this sync, delete * the underlying object. */ + syncObj->DeletePending = GL_TRUE; _mesa_unref_sync_object(ctx, syncObj); } @@ -224,6 +273,10 @@ _mesa_FenceSync(GLenum condition, GLbitfield flags) (*ctx->Driver.FenceSync)(ctx, syncObj, condition, flags); + _glthread_LOCK_MUTEX(ctx->Shared->Mutex); + insert_at_tail(& ctx->Shared->SyncObjects, & syncObj->link); + _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); + return (GLsync) syncObj; } @@ -240,7 +293,7 @@ _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_WAIT_FAILED); - if ((syncObj == NULL) || (syncObj->Type != GL_SYNC_FENCE)) { + if (!_mesa_validate_sync(syncObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glClientWaitSync"); return GL_WAIT_FAILED; } @@ -251,6 +304,8 @@ _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) } + _mesa_ref_sync_object(ctx, syncObj); + /* From the GL_ARB_sync spec: * * ClientWaitSync returns one of four status values. A return value of @@ -259,20 +314,15 @@ _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) * if was signaled, even if the value of is zero. */ (*ctx->Driver.CheckSync)(ctx, syncObj); - if (syncObj->Status) { - return GL_ALREADY_SIGNALED; - } - - - (*ctx->Driver.ClientWaitSync)(ctx, syncObj, flags, timeout); - - ret = syncObj->Status ? GL_CONDITION_SATISFIED : GL_TIMEOUT_EXPIRED; + ret = GL_ALREADY_SIGNALED; + } else { + (*ctx->Driver.ClientWaitSync)(ctx, syncObj, flags, timeout); - if (syncObj->DeletePending && syncObj->Status) { - _mesa_unref_sync_object(ctx, syncObj); + ret = syncObj->Status ? GL_CONDITION_SATISFIED : GL_TIMEOUT_EXPIRED; } + _mesa_unref_sync_object(ctx, syncObj); return ret; } @@ -285,7 +335,7 @@ _mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) ASSERT_OUTSIDE_BEGIN_END(ctx); - if ((syncObj == NULL) || (syncObj->Type != GL_SYNC_FENCE)) { + if (!_mesa_validate_sync(syncObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glWaitSync"); return; } @@ -318,7 +368,7 @@ _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, ASSERT_OUTSIDE_BEGIN_END(ctx); - if ((syncObj == NULL) || (syncObj->Type != GL_SYNC_FENCE)) { + if (!_mesa_validate_sync(syncObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetSynciv"); return; } diff --git a/src/mesa/main/syncobj.h b/src/mesa/main/syncobj.h index d2b4d051c9..fc160af289 100644 --- a/src/mesa/main/syncobj.h +++ b/src/mesa/main/syncobj.h @@ -42,6 +42,12 @@ _mesa_init_sync(GLcontext *); extern void _mesa_free_sync_data(GLcontext *); +extern void +_mesa_ref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj); + +extern void +_mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj); + extern GLboolean _mesa_IsSync(GLsync sync); -- cgit v1.2.3 From 0f8fdd81989de5026c8e415f1525931b74dd8647 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 1 Sep 2009 11:24:54 -0700 Subject: Use MIN2 instead of open-coded version Based on review comments by Brian Paul. --- src/mesa/main/syncobj.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c index 0471a0ad7f..cbeda4b384 100644 --- a/src/mesa/main/syncobj.c +++ b/src/mesa/main/syncobj.c @@ -59,6 +59,7 @@ #include "hash.h" #include "imports.h" #include "context.h" +#include "macros.h" #if FEATURE_ARB_sync #include "syncobj.h" @@ -408,7 +409,7 @@ _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, if (size > 0) { - const GLsizei copy_count = (size > bufSize) ? bufSize : size; + const GLsizei copy_count = MIN2(size, bufSize); _mesa_memcpy(values, v, sizeof(GLint) * copy_count); } -- cgit v1.2.3 From 6af24b6b03a2ce8300c7ae78fd06c6b1edd02017 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 1 Sep 2009 11:56:34 -0700 Subject: Whitespace and include file clean-up. Based on review comments by Brian Paul. --- src/mesa/main/syncobj.c | 14 -------------- 1 file changed, 14 deletions(-) (limited to 'src') diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c index cbeda4b384..b3c75c747a 100644 --- a/src/mesa/main/syncobj.c +++ b/src/mesa/main/syncobj.c @@ -56,7 +56,6 @@ */ #include "glheader.h" -#include "hash.h" #include "imports.h" #include "context.h" #include "macros.h" @@ -116,7 +115,6 @@ _mesa_wait_sync(GLcontext *ctx, struct gl_sync_object *syncObj, (void) flags; (void) timeout; - /* No-op for software rendering. Hardware drivers will need to wait until * the state of the sync object changes or the timeout expires. */ @@ -199,7 +197,6 @@ _mesa_IsSync(GLsync sync) struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); - return _mesa_validate_sync(syncObj) ? GL_TRUE : GL_FALSE; } @@ -211,7 +208,6 @@ _mesa_DeleteSync(GLsync sync) struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; ASSERT_OUTSIDE_BEGIN_END(ctx); - /* From the GL_ARB_sync spec: * * DeleteSync will silently ignore a value of zero. An @@ -227,7 +223,6 @@ _mesa_DeleteSync(GLsync sync) return; } - /* If there are no client-waits or server-waits pending on this sync, delete * the underlying object. */ @@ -236,7 +231,6 @@ _mesa_DeleteSync(GLsync sync) } - GLsync _mesa_FenceSync(GLenum condition, GLbitfield flags) { @@ -244,7 +238,6 @@ _mesa_FenceSync(GLenum condition, GLbitfield flags) struct gl_sync_object *syncObj; ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0); - if (condition != GL_SYNC_GPU_COMMANDS_COMPLETE) { _mesa_error(ctx, GL_INVALID_ENUM, "glFenceSync(condition=0x%x)", condition); @@ -293,7 +286,6 @@ _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) GLenum ret; ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_WAIT_FAILED); - if (!_mesa_validate_sync(syncObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glClientWaitSync"); return GL_WAIT_FAILED; @@ -304,7 +296,6 @@ _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) return GL_WAIT_FAILED; } - _mesa_ref_sync_object(ctx, syncObj); /* From the GL_ARB_sync spec: @@ -335,7 +326,6 @@ _mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) struct gl_sync_object *const syncObj = (struct gl_sync_object *) sync; ASSERT_OUTSIDE_BEGIN_END(ctx); - if (!_mesa_validate_sync(syncObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glWaitSync"); return; @@ -368,13 +358,11 @@ _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint v[1]; ASSERT_OUTSIDE_BEGIN_END(ctx); - if (!_mesa_validate_sync(syncObj)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetSynciv"); return; } - switch (pname) { case GL_OBJECT_TYPE: v[0] = syncObj->Type; @@ -407,14 +395,12 @@ _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, return; } - if (size > 0) { const GLsizei copy_count = MIN2(size, bufSize); _mesa_memcpy(values, v, sizeof(GLint) * copy_count); } - if (length != NULL) { *length = size; } -- cgit v1.2.3 From 18d3409571eaf78a93430d6d107c54cf79807213 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 1 Sep 2009 11:57:40 -0700 Subject: Add syncobj.c to SConscript --- src/mesa/SConscript | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/mesa/SConscript b/src/mesa/SConscript index 6617c9dbe5..cad5676320 100644 --- a/src/mesa/SConscript +++ b/src/mesa/SConscript @@ -84,6 +84,7 @@ if env['platform'] != 'winddk': 'main/shared.c', 'main/state.c', 'main/stencil.c', + 'main/syncobj.c', 'main/texcompress.c', 'main/texcompress_s3tc.c', 'main/texcompress_fxt1.c', -- cgit v1.2.3 From 0342dce226fe79d7a6c0e7cd735c596fad3e8aac Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 1 Sep 2009 11:58:36 -0700 Subject: Don't dereference function pointers in calls. I'm apparently alone in prefering this calling convention, so I'll be a team player. :p Based on review comments by Brian Paul and Eric Anholt. --- src/mesa/main/syncobj.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c index b3c75c747a..075931c7ce 100644 --- a/src/mesa/main/syncobj.c +++ b/src/mesa/main/syncobj.c @@ -183,7 +183,7 @@ _mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj) remove_from_list(& syncObj->link); _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); - (*ctx->Driver.DeleteSyncObject)(ctx, syncObj); + ctx->Driver.DeleteSyncObject(ctx, syncObj); } else { _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); } @@ -250,7 +250,7 @@ _mesa_FenceSync(GLenum condition, GLbitfield flags) return 0; } - syncObj = (*ctx->Driver.NewSyncObject)(ctx, GL_SYNC_FENCE); + syncObj = ctx->Driver.NewSyncObject(ctx, GL_SYNC_FENCE); if (syncObj != NULL) { syncObj->Type = GL_SYNC_FENCE; /* The name is not currently used, and it is never visible to @@ -265,7 +265,7 @@ _mesa_FenceSync(GLenum condition, GLbitfield flags) syncObj->Flags = flags; syncObj->Status = 0; - (*ctx->Driver.FenceSync)(ctx, syncObj, condition, flags); + ctx->Driver.FenceSync(ctx, syncObj, condition, flags); _glthread_LOCK_MUTEX(ctx->Shared->Mutex); insert_at_tail(& ctx->Shared->SyncObjects, & syncObj->link); @@ -305,11 +305,11 @@ _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) * ClientWaitSync was called. ALREADY_SIGNALED will always be returned * if was signaled, even if the value of is zero. */ - (*ctx->Driver.CheckSync)(ctx, syncObj); + ctx->Driver.CheckSync(ctx, syncObj); if (syncObj->Status) { ret = GL_ALREADY_SIGNALED; } else { - (*ctx->Driver.ClientWaitSync)(ctx, syncObj, flags, timeout); + ctx->Driver.ClientWaitSync(ctx, syncObj, flags, timeout); ret = syncObj->Status ? GL_CONDITION_SATISFIED : GL_TIMEOUT_EXPIRED; } @@ -344,7 +344,7 @@ _mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) return; } - (*ctx->Driver.ServerWaitSync)(ctx, syncObj, flags, timeout); + ctx->Driver.ServerWaitSync(ctx, syncObj, flags, timeout); } @@ -379,7 +379,7 @@ _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, * this call won't block. It just updates state in the common object * data from the current driver state. */ - (*ctx->Driver.CheckSync)(ctx, syncObj); + ctx->Driver.CheckSync(ctx, syncObj); v[0] = (syncObj->Status) ? GL_SIGNALED : GL_UNSIGNALED; size = 1; -- cgit v1.2.3 From aee282faa74ea862064b91d847ddc279d2191b01 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 1 Sep 2009 12:15:51 -0700 Subject: ARB sync / swrast: Use GL_ARB_sync_functions instead of GL_ARB_sync. Oops. --- src/mesa/drivers/dri/swrast/swrast.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index 69b92e9e44..a858af30c1 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -98,7 +98,7 @@ const struct dri_extension card_extensions[] = { "GL_ARB_shader_objects", GL_ARB_shader_objects_functions }, { "GL_ARB_vertex_array_object", GL_ARB_vertex_array_object_functions }, { "GL_ARB_vertex_program", GL_ARB_vertex_program_functions }, - { "GL_ARB_sync", GL_ARB_sync }, + { "GL_ARB_sync", GL_ARB_sync_functions }, { "GL_APPLE_vertex_array_object", GL_APPLE_vertex_array_object_functions }, { "GL_ATI_fragment_shader", GL_ATI_fragment_shader_functions }, { "GL_ATI_separate_stencil", GL_ATI_separate_stencil_functions }, -- cgit v1.2.3 From afd6141934a0fb52fc1739a2a9992db3ac34682b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 1 Sep 2009 12:20:10 -0700 Subject: intel: Add support for ARB_sync. We currently weasel out of supporting the timeout parameter, but otherwise this extension looks ready, and should make the common case happy. --- src/mesa/drivers/dri/i915/Makefile | 1 + src/mesa/drivers/dri/i915/intel_syncobj.c | 1 + src/mesa/drivers/dri/i965/Makefile | 1 + src/mesa/drivers/dri/i965/intel_syncobj.c | 1 + src/mesa/drivers/dri/intel/intel_context.c | 1 + src/mesa/drivers/dri/intel/intel_context.h | 8 ++ src/mesa/drivers/dri/intel/intel_extensions.c | 2 + src/mesa/drivers/dri/intel/intel_syncobj.c | 132 ++++++++++++++++++++++++++ 8 files changed, 147 insertions(+) create mode 120000 src/mesa/drivers/dri/i915/intel_syncobj.c create mode 120000 src/mesa/drivers/dri/i965/intel_syncobj.c create mode 100644 src/mesa/drivers/dri/intel/intel_syncobj.c (limited to 'src') diff --git a/src/mesa/drivers/dri/i915/Makefile b/src/mesa/drivers/dri/i915/Makefile index beaf9a4b12..9d049dea8f 100644 --- a/src/mesa/drivers/dri/i915/Makefile +++ b/src/mesa/drivers/dri/i915/Makefile @@ -51,6 +51,7 @@ DRIVER_SOURCES = \ intel_screen.c \ intel_span.c \ intel_state.c \ + intel_syncobj.c \ intel_tris.c \ intel_fbo.c diff --git a/src/mesa/drivers/dri/i915/intel_syncobj.c b/src/mesa/drivers/dri/i915/intel_syncobj.c new file mode 120000 index 0000000000..0b2e56ab24 --- /dev/null +++ b/src/mesa/drivers/dri/i915/intel_syncobj.c @@ -0,0 +1 @@ +../intel/intel_syncobj.c \ No newline at end of file diff --git a/src/mesa/drivers/dri/i965/Makefile b/src/mesa/drivers/dri/i965/Makefile index 128afb5686..6e9a9a29a3 100644 --- a/src/mesa/drivers/dri/i965/Makefile +++ b/src/mesa/drivers/dri/i965/Makefile @@ -26,6 +26,7 @@ DRIVER_SOURCES = \ intel_pixel_read.c \ intel_state.c \ intel_swapbuffers.c \ + intel_syncobj.c \ intel_tex.c \ intel_tex_copy.c \ intel_tex_format.c \ diff --git a/src/mesa/drivers/dri/i965/intel_syncobj.c b/src/mesa/drivers/dri/i965/intel_syncobj.c new file mode 120000 index 0000000000..0b2e56ab24 --- /dev/null +++ b/src/mesa/drivers/dri/i965/intel_syncobj.c @@ -0,0 +1 @@ +../intel/intel_syncobj.c \ No newline at end of file diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index ec96747f05..89f99f7ffd 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -598,6 +598,7 @@ intelInitDriverFunctions(struct dd_function_table *functions) intelInitBufferFuncs(functions); intelInitPixelFuncs(functions); intelInitBufferObjectFuncs(functions); + intel_init_syncobj_functions(functions); } diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index 0d9db5eb1d..03e7cf39d6 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -80,6 +80,12 @@ extern void intelFallback(struct intel_context *intel, GLuint bit, #define INTEL_MAX_FIXUP 64 +struct intel_sync_object { + struct gl_sync_object Base; + + /** Batch associated with this sync object */ + drm_intel_bo *bo; +}; /** * intel_context is derived from Mesa's context class: GLcontext. @@ -470,6 +476,8 @@ extern void intelFlush(GLcontext * ctx); extern void intelInitDriverFunctions(struct dd_function_table *functions); +void intel_init_syncobj_functions(struct dd_function_table *functions); + /* ================================================================ * intel_state.c: diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c index 7aee70f0a8..2e61c556d8 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions.c +++ b/src/mesa/drivers/dri/intel/intel_extensions.c @@ -36,6 +36,7 @@ #define need_GL_ARB_occlusion_query #define need_GL_ARB_point_parameters #define need_GL_ARB_shader_objects +#define need_GL_ARB_sync #define need_GL_ARB_vertex_array_object #define need_GL_ARB_vertex_program #define need_GL_ARB_vertex_shader @@ -77,6 +78,7 @@ static const struct dri_extension card_extensions[] = { { "GL_ARB_multitexture", NULL }, { "GL_ARB_point_parameters", GL_ARB_point_parameters_functions }, { "GL_ARB_point_sprite", NULL }, + { "GL_ARB_sync", GL_ARB_sync_functions }, { "GL_ARB_texture_border_clamp", NULL }, { "GL_ARB_texture_cube_map", NULL }, { "GL_ARB_texture_env_add", NULL }, diff --git a/src/mesa/drivers/dri/intel/intel_syncobj.c b/src/mesa/drivers/dri/intel/intel_syncobj.c new file mode 100644 index 0000000000..d447b6a0fa --- /dev/null +++ b/src/mesa/drivers/dri/intel/intel_syncobj.c @@ -0,0 +1,132 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ + +/** @file intel_syncobj.c + * + * Support for ARB_sync + * + * ARB_sync is implemented by flushing the current batchbuffer and keeping a + * reference on it. We can then check for completion or wait for compeltion + * using the normal buffer object mechanisms. This does mean that if an + * application is using many sync objects, it will emit small batchbuffers + * which may end up being a significant overhead. In other tests of removing + * gratuitous batchbuffer syncs in Mesa, it hasn't appeared to be a significant + * performance bottleneck, though. + */ + +#include "main/simple_list.h" +#include "main/imports.h" + +#include "intel_context.h" +#include "intel_batchbuffer.h" +#include "intel_reg.h" + +static struct gl_sync_object * +intel_new_sync_object(GLcontext *ctx, GLuint id) +{ + struct intel_sync_object *sync; + + sync = _mesa_calloc(sizeof(struct intel_sync_object)); + + return &sync->Base; +} + +static void +intel_delete_sync_object(GLcontext *ctx, struct gl_sync_object *s) +{ + struct intel_sync_object *sync = (struct intel_sync_object *)s; + + drm_intel_bo_unreference(sync->bo); + _mesa_free(sync); +} + +static void +intel_fence_sync(GLcontext *ctx, struct gl_sync_object *s, + GLenum condition, GLbitfield flags) +{ + struct intel_context *intel = intel_context(ctx); + struct intel_sync_object *sync = (struct intel_sync_object *)s; + + assert(condition == GL_SYNC_GPU_COMMANDS_COMPLETE); + intel_batchbuffer_emit_mi_flush(intel->batch); + + sync->bo = intel->batch->buf; + drm_intel_bo_reference(sync->bo); + + intelFlush(ctx); +} + +/* We ignore the user-supplied timeout. This is weaselly -- we're allowed to + * round to an implementation-dependent accuracy, and right now our + * implementation "rounds" to the wait-forever value. + * + * The fix would be a new kernel function to do the GTT transition with a + * timeout. + */ +static void intel_client_wait_sync(GLcontext *ctx, struct gl_sync_object *s, + GLbitfield flags, GLuint64 timeout) +{ + struct intel_sync_object *sync = (struct intel_sync_object *)s; + + if (sync->bo) { + drm_intel_bo_wait_rendering(sync->bo); + s->Status = 1; + drm_intel_bo_unreference(sync->bo); + sync->bo = NULL; + } +} + +/* We have nothing to do for WaitSync. Our GL command stream is sequential, + * so given that the sync object has already flushed the batchbuffer, + * any batchbuffers coming after this waitsync will naturally not occur until + * the previous one is done. + */ +static void intel_server_wait_sync(GLcontext *ctx, struct gl_sync_object *s, + GLbitfield flags, GLuint64 timeout) +{ +} + +static void intel_check_sync(GLcontext *ctx, struct gl_sync_object *s) +{ + struct intel_sync_object *sync = (struct intel_sync_object *)s; + + if (sync->bo && drm_intel_bo_busy(sync->bo)) { + drm_intel_bo_unreference(sync->bo); + sync->bo = NULL; + s->Status = 1; + } +} + +void intel_init_syncobj_functions(struct dd_function_table *functions) +{ + functions->NewSyncObject = intel_new_sync_object; + functions->DeleteSyncObject = intel_delete_sync_object; + functions->FenceSync = intel_fence_sync; + functions->CheckSync = intel_check_sync; + functions->ClientWaitSync = intel_client_wait_sync; + functions->ServerWaitSync = intel_server_wait_sync; +} -- cgit v1.2.3 From 19420f02d4540654731840e345bdcd367389ed40 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 1 Sep 2009 12:31:24 -0700 Subject: s3v: Fix driver build for ARB_sync. This driver was including Xlibint.h to get the CARD32 typedef to use for 32-bit unsigned integers, which #defined Status to something. CARD32 isn't actually a 32-bit unsigned integer, so replacing with uint32_t usage should fix bugs on 64-bit along with the build. --- src/mesa/drivers/dri/s3v/s3v_state.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/s3v/s3v_state.c b/src/mesa/drivers/dri/s3v/s3v_state.c index c71c89a3e1..561f42c705 100644 --- a/src/mesa/drivers/dri/s3v/s3v_state.c +++ b/src/mesa/drivers/dri/s3v/s3v_state.c @@ -2,7 +2,6 @@ * Author: Max Lingua */ -#include #include "s3v_context.h" #include "s3v_macros.h" #include "s3v_dri.h" @@ -24,7 +23,7 @@ static void s3vUpdateAlphaMode( GLcontext *ctx ) { s3vContextPtr vmesa = S3V_CONTEXT(ctx); - CARD32 cmd = vmesa->CMD; + uint32_t cmd = vmesa->CMD; cmd &= ~ALPHA_BLEND_MASK; if ( ctx->Color.BlendEnabled ) { @@ -173,7 +172,7 @@ static void s3vDDClear( GLcontext *ctx, GLbitfield mask ) static void s3vUpdateZMode( GLcontext *ctx ) { s3vContextPtr vmesa = S3V_CONTEXT(ctx); - CARD32 cmd = vmesa->CMD; + uint32_t cmd = vmesa->CMD; DEBUG(("Depth.Test = %i\n", ctx->Depth.Test)); DEBUG(("CMD was = 0x%x ", cmd)); -- cgit v1.2.3 From d5ea2dce93e6fa2782889d088b91c9c1f1d3be14 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 1 Sep 2009 12:37:51 -0700 Subject: savage: Fix driver build post-ARB_sync. Like s3v, clean up absurd use of Xlib in the driver, avoiding namespace pollution. --- src/mesa/drivers/dri/savage/savage_xmesa.c | 13 ++++++------- src/mesa/drivers/dri/savage/savagecontext.h | 1 - 2 files changed, 6 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/savage/savage_xmesa.c b/src/mesa/drivers/dri/savage/savage_xmesa.c index a94f1c076c..931ceff0a8 100644 --- a/src/mesa/drivers/dri/savage/savage_xmesa.c +++ b/src/mesa/drivers/dri/savage/savage_xmesa.c @@ -23,7 +23,6 @@ */ -#include #include #include "main/context.h" @@ -180,7 +179,7 @@ savageInitDriver(__DRIscreenPrivate *sPriv) } /* Allocate the private area */ - savageScreen = (savageScreenPrivate *)Xmalloc(sizeof(savageScreenPrivate)); + savageScreen = (savageScreenPrivate *)_mesa_malloc(sizeof(savageScreenPrivate)); if (!savageScreen) return GL_FALSE; @@ -227,7 +226,7 @@ savageInitDriver(__DRIscreenPrivate *sPriv) savageScreen->agpTextures.handle, savageScreen->agpTextures.size, (drmAddress *)&(savageScreen->agpTextures.map)) != 0) { - Xfree(savageScreen); + _mesa_free(savageScreen); sPriv->private = NULL; return GL_FALSE; } @@ -247,7 +246,7 @@ savageInitDriver(__DRIscreenPrivate *sPriv) savageScreen->aperture.size, (drmAddress *)&savageScreen->aperture.map) != 0) { - Xfree(savageScreen); + _mesa_free(savageScreen); sPriv->private = NULL; return GL_FALSE; } @@ -283,7 +282,7 @@ savageDestroyScreen(__DRIscreenPrivate *sPriv) /* free all option information */ driDestroyOptionInfo (&savageScreen->optionCache); - Xfree(savageScreen); + _mesa_free(savageScreen); sPriv->private = NULL; } @@ -301,7 +300,7 @@ savageCreateContext( const __GLcontextModes *mesaVis, savageScreen->sarea_priv_offset); int textureSize[SAVAGE_NR_TEX_HEAPS]; int i; - imesa = (savageContextPtr)Xcalloc(sizeof(savageContext), 1); + imesa = (savageContextPtr)_mesa_calloc(sizeof(savageContext)); if (!imesa) { return GL_FALSE; } @@ -318,7 +317,7 @@ savageCreateContext( const __GLcontextModes *mesaVis, shareCtx = NULL; ctx = _mesa_create_context(mesaVis, shareCtx, &functions, imesa); if (!ctx) { - Xfree(imesa); + _mesa_free(imesa); return GL_FALSE; } driContextPriv->driverPrivate = imesa; diff --git a/src/mesa/drivers/dri/savage/savagecontext.h b/src/mesa/drivers/dri/savage/savagecontext.h index fd6399d6a6..53a37db1cb 100644 --- a/src/mesa/drivers/dri/savage/savagecontext.h +++ b/src/mesa/drivers/dri/savage/savagecontext.h @@ -31,7 +31,6 @@ typedef struct savage_context_t savageContext; typedef struct savage_context_t *savageContextPtr; typedef struct savage_texture_object_t *savageTextureObjectPtr; -#include #include "dri_util.h" #include "main/mtypes.h" #include "xf86drm.h" -- cgit v1.2.3 From 5e448a8d4d1d6e8ad6430378c21c1332bc9b7588 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 1 Sep 2009 14:26:22 -0700 Subject: Add ARB_sync to the xorg sw dri driver. --- src/mesa/drivers/x11/xm_api.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c index 1eb31b9d4c..2c7be9f182 100644 --- a/src/mesa/drivers/x11/xm_api.c +++ b/src/mesa/drivers/x11/xm_api.c @@ -1318,6 +1318,7 @@ xmesa_convert_from_x_visual_type( int visualType ) /* sw extensions not associated with some GL version */ #define need_GL_ARB_shader_objects +#define need_GL_ARB_sync #define need_GL_ARB_vertex_program #define need_GL_APPLE_vertex_array_object #define need_GL_ATI_fragment_shader @@ -1347,6 +1348,7 @@ const struct dri_extension card_extensions[] = { "GL_SGI_color_table", GL_SGI_color_table_functions }, { "GL_ARB_shader_objects", GL_ARB_shader_objects_functions }, + { "GL_ARB_sync", GL_ARB_sync_functions }, { "GL_ARB_vertex_program", GL_ARB_vertex_program_functions }, { "GL_APPLE_vertex_array_object", GL_APPLE_vertex_array_object_functions }, { "GL_ATI_fragment_shader", GL_ATI_fragment_shader_functions }, -- cgit v1.2.3 From e059885ce357dee8b847f10e8e8c515a4a20042e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 12:47:25 -0600 Subject: mesa: rename gl_sync_object::Status to StatusFlag There's a symbol collision with X11/Xlib.h #define Status int in the Mesa xlib code. This seems the simpliest way to work around this. --- src/mesa/drivers/dri/intel/intel_syncobj.c | 4 ++-- src/mesa/main/mtypes.h | 2 +- src/mesa/main/syncobj.c | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_syncobj.c b/src/mesa/drivers/dri/intel/intel_syncobj.c index d447b6a0fa..1286fe929b 100644 --- a/src/mesa/drivers/dri/intel/intel_syncobj.c +++ b/src/mesa/drivers/dri/intel/intel_syncobj.c @@ -94,7 +94,7 @@ static void intel_client_wait_sync(GLcontext *ctx, struct gl_sync_object *s, if (sync->bo) { drm_intel_bo_wait_rendering(sync->bo); - s->Status = 1; + s->StatusFlag = 1; drm_intel_bo_unreference(sync->bo); sync->bo = NULL; } @@ -117,7 +117,7 @@ static void intel_check_sync(GLcontext *ctx, struct gl_sync_object *s) if (sync->bo && drm_intel_bo_busy(sync->bo)) { drm_intel_bo_unreference(sync->bo); sync->bo = NULL; - s->Status = 1; + s->StatusFlag = 1; } } diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index bd3bf28328..6b64bf8139 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1998,7 +1998,7 @@ struct gl_sync_object { */ GLenum SyncCondition; GLbitfield Flags; /**< Flags passed to glFenceSync */ - GLuint Status:1; /**< Has the sync object been signaled? */ + GLuint StatusFlag:1; /**< Has the sync object been signaled? */ }; diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c index 075931c7ce..64f923ff91 100644 --- a/src/mesa/main/syncobj.c +++ b/src/mesa/main/syncobj.c @@ -90,7 +90,7 @@ _mesa_fence_sync(GLcontext *ctx, struct gl_sync_object *syncObj, (void) condition; (void) flags; - syncObj->Status = 1; + syncObj->StatusFlag = 1; } @@ -263,7 +263,7 @@ _mesa_FenceSync(GLenum condition, GLbitfield flags) syncObj->DeletePending = GL_FALSE; syncObj->SyncCondition = condition; syncObj->Flags = flags; - syncObj->Status = 0; + syncObj->StatusFlag = 0; ctx->Driver.FenceSync(ctx, syncObj, condition, flags); @@ -306,12 +306,12 @@ _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) * if was signaled, even if the value of is zero. */ ctx->Driver.CheckSync(ctx, syncObj); - if (syncObj->Status) { + if (syncObj->StatusFlag) { ret = GL_ALREADY_SIGNALED; } else { ctx->Driver.ClientWaitSync(ctx, syncObj, flags, timeout); - ret = syncObj->Status ? GL_CONDITION_SATISFIED : GL_TIMEOUT_EXPIRED; + ret = syncObj->StatusFlag ? GL_CONDITION_SATISFIED : GL_TIMEOUT_EXPIRED; } _mesa_unref_sync_object(ctx, syncObj); @@ -381,7 +381,7 @@ _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, */ ctx->Driver.CheckSync(ctx, syncObj); - v[0] = (syncObj->Status) ? GL_SIGNALED : GL_UNSIGNALED; + v[0] = (syncObj->StatusFlag) ? GL_SIGNALED : GL_UNSIGNALED; size = 1; break; -- cgit v1.2.3 From dc60d0db5253e3b3f0813394f666d32378723353 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 13:02:41 -0600 Subject: glapi: fix incorrect/missing return types for glFenceSync(), glClientWaitSync() --- src/mesa/glapi/ARB_sync.xml | 3 ++- src/mesa/glapi/dispatch.h | 4 ++-- src/mesa/glapi/glapitable.h | 4 ++-- src/mesa/glapi/glapitemp.h | 6 +++--- 4 files changed, 9 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/glapi/ARB_sync.xml b/src/mesa/glapi/ARB_sync.xml index 58989b084a..37f474980c 100644 --- a/src/mesa/glapi/ARB_sync.xml +++ b/src/mesa/glapi/ARB_sync.xml @@ -40,7 +40,7 @@ - + @@ -56,6 +56,7 @@ + diff --git a/src/mesa/glapi/dispatch.h b/src/mesa/glapi/dispatch.h index 8288c0a263..0d32045916 100644 --- a/src/mesa/glapi/dispatch.h +++ b/src/mesa/glapi/dispatch.h @@ -3304,13 +3304,13 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_CopyBufferSubData(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr)), driDispatchRemapTable[CopyBufferSubData_remap_index], parameters) #define GET_CopyBufferSubData(disp) GET_by_offset(disp, driDispatchRemapTable[CopyBufferSubData_remap_index]) #define SET_CopyBufferSubData(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CopyBufferSubData_remap_index], fn) -#define CALL_ClientWaitSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), driDispatchRemapTable[ClientWaitSync_remap_index], parameters) +#define CALL_ClientWaitSync(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), driDispatchRemapTable[ClientWaitSync_remap_index], parameters) #define GET_ClientWaitSync(disp) GET_by_offset(disp, driDispatchRemapTable[ClientWaitSync_remap_index]) #define SET_ClientWaitSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ClientWaitSync_remap_index], fn) #define CALL_DeleteSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync)), driDispatchRemapTable[DeleteSync_remap_index], parameters) #define GET_DeleteSync(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteSync_remap_index]) #define SET_DeleteSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteSync_remap_index], fn) -#define CALL_FenceSync(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLenum, GLbitfield)), driDispatchRemapTable[FenceSync_remap_index], parameters) +#define CALL_FenceSync(disp, parameters) CALL_by_offset(disp, (GLsync (GLAPIENTRYP)(GLenum, GLbitfield)), driDispatchRemapTable[FenceSync_remap_index], parameters) #define GET_FenceSync(disp) GET_by_offset(disp, driDispatchRemapTable[FenceSync_remap_index]) #define SET_FenceSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FenceSync_remap_index], fn) #define CALL_GetInteger64v(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint64 *)), driDispatchRemapTable[GetInteger64v_remap_index], parameters) diff --git a/src/mesa/glapi/glapitable.h b/src/mesa/glapi/glapitable.h index 2c661a0ae5..855fcaa7fe 100644 --- a/src/mesa/glapi/glapitable.h +++ b/src/mesa/glapi/glapitable.h @@ -607,9 +607,9 @@ struct _glapi_table void (GLAPIENTRYP BindVertexArray)(GLuint array); /* 564 */ void (GLAPIENTRYP GenVertexArrays)(GLsizei n, GLuint * arrays); /* 565 */ void (GLAPIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); /* 566 */ - void (GLAPIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 567 */ + GLenum (GLAPIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 567 */ void (GLAPIENTRYP DeleteSync)(GLsync sync); /* 568 */ - GLuint (GLAPIENTRYP FenceSync)(GLenum condition, GLbitfield flags); /* 569 */ + GLsync (GLAPIENTRYP FenceSync)(GLenum condition, GLbitfield flags); /* 569 */ void (GLAPIENTRYP GetInteger64v)(GLenum pname, GLint64 * params); /* 570 */ void (GLAPIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 571 */ GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 572 */ diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h index 7b211918c1..e08f9548f5 100644 --- a/src/mesa/glapi/glapitemp.h +++ b/src/mesa/glapi/glapitemp.h @@ -4036,9 +4036,9 @@ KEYWORD1 void KEYWORD2 NAME(CopyBufferSubData)(GLenum readTarget, GLenum writeTa DISPATCH(CopyBufferSubData, (readTarget, writeTarget, readOffset, writeOffset, size), (F, "glCopyBufferSubData(0x%x, 0x%x, %d, %d, %d);\n", readTarget, writeTarget, readOffset, writeOffset, size)); } -KEYWORD1 void KEYWORD2 NAME(ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout) +KEYWORD1 GLenum KEYWORD2 NAME(ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout) { - DISPATCH(ClientWaitSync, (sync, flags, timeout), (F, "glClientWaitSync(%d, %d, %d);\n", sync, flags, timeout)); + RETURN_DISPATCH(ClientWaitSync, (sync, flags, timeout), (F, "glClientWaitSync(%d, %d, %d);\n", sync, flags, timeout)); } KEYWORD1 void KEYWORD2 NAME(DeleteSync)(GLsync sync) @@ -4046,7 +4046,7 @@ KEYWORD1 void KEYWORD2 NAME(DeleteSync)(GLsync sync) DISPATCH(DeleteSync, (sync), (F, "glDeleteSync(%d);\n", sync)); } -KEYWORD1 GLuint KEYWORD2 NAME(FenceSync)(GLenum condition, GLbitfield flags) +KEYWORD1 GLsync KEYWORD2 NAME(FenceSync)(GLenum condition, GLbitfield flags) { RETURN_DISPATCH(FenceSync, (condition, flags), (F, "glFenceSync(0x%x, %d);\n", condition, flags)); } -- cgit v1.2.3 From 8c1d85cebe2a7f9aa9adf46deb698ee062cc33b7 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 3 Sep 2009 15:22:16 -0400 Subject: r600: make sure the active vertex shader bo is re-added to persistent list. --- src/mesa/drivers/dri/r600/r600_texstate.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c b/src/mesa/drivers/dri/r600/r600_texstate.c index 9fb083d33e..49b603b65e 100644 --- a/src/mesa/drivers/dri/r600/r600_texstate.c +++ b/src/mesa/drivers/dri/r600/r600_texstate.c @@ -50,6 +50,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "radeon_mipmap_tree.h" #include "r600_tex.h" #include "r700_fragprog.h" +#include "r700_vertprog.h" void r600UpdateTextureState(GLcontext * ctx); @@ -696,6 +697,12 @@ GLboolean r600ValidateBuffers(GLcontext * ctx) RADEON_GEM_DOMAIN_GTT, 0); } + pbo = (struct radeon_bo *)r700GetActiveVpShaderBo(ctx); + if (pbo) { + radeon_cs_space_add_persistent_bo(rmesa->radeon.cmdbuf.cs, pbo, + RADEON_GEM_DOMAIN_GTT, 0); + } + ret = radeon_cs_space_check_with_bo(rmesa->radeon.cmdbuf.cs, first_elem(&rmesa->radeon.dma.reserved)->bo, RADEON_GEM_DOMAIN_GTT, 0); if (ret) return GL_FALSE; -- cgit v1.2.3 From c3a0624ef01c3b347ed8a9fd3bab578b52bd9130 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 14:39:53 -0600 Subject: st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted position If the renderbuffer orientation is Y=0=TOP we need to invert the dstY position. --- src/mesa/state_tracker/st_cb_drawpixels.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index 8b5094a04f..adb349c1f1 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -842,6 +842,10 @@ copy_stencil_pixels(GLcontext *ctx, GLint srcx, GLint srcy, else usage = PIPE_TRANSFER_WRITE; + if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP) { + dsty = rbDraw->Base.Height - dsty - height; + } + ptDraw = st_cond_flush_get_tex_transfer(st_context(ctx), rbDraw->texture, 0, 0, 0, usage, dstx, dsty, -- cgit v1.2.3 From 5571c4fe3650d062d9c469b774ff4930f43c4354 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Thu, 3 Sep 2009 14:18:05 -0400 Subject: st/xorg: linear gradient shader --- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 59 +++++++++++++++++++++++++ 1 file changed, 59 insertions(+) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index f9b10d8569..9fb1f3f6cb 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -86,6 +86,65 @@ vs_normalize_coords(struct ureg_program *ureg, struct ureg_src coords, return ret; } +static void +linear_gradient(struct ureg_program *ureg, + struct ureg_dst out, + struct ureg_src pos, + struct ureg_src sampler, + struct ureg_src coords, + struct ureg_src const0124, + struct ureg_src matrow0, + struct ureg_src matrow1, + struct ureg_src matrow2) +{ + struct ureg_dst temp0 = ureg_DECL_temporary(ureg); + struct ureg_dst temp1 = ureg_DECL_temporary(ureg); + struct ureg_dst temp2 = ureg_DECL_temporary(ureg); + struct ureg_dst temp3 = ureg_DECL_temporary(ureg); + struct ureg_dst temp4 = ureg_DECL_temporary(ureg); + struct ureg_dst temp5 = ureg_DECL_temporary(ureg); + + ureg_MOV(ureg, + ureg_writemask(temp0, TGSI_WRITEMASK_XY), pos); + ureg_MOV(ureg, + ureg_writemask(temp0, TGSI_WRITEMASK_Z), + ureg_scalar(const0124, TGSI_SWIZZLE_Y)); + + ureg_DP3(ureg, temp1, matrow0, ureg_src(temp0)); + ureg_DP3(ureg, temp2, matrow1, ureg_src(temp0)); + ureg_DP3(ureg, temp3, matrow2, ureg_src(temp0)); + ureg_RCP(ureg, temp3, ureg_src(temp3)); + ureg_MUL(ureg, temp1, ureg_src(temp1), ureg_src(temp3)); + ureg_MUL(ureg, temp2, ureg_src(temp2), ureg_src(temp3)); + + ureg_MOV(ureg, ureg_writemask(temp4, TGSI_WRITEMASK_X), + ureg_src(temp1)); + ureg_MOV(ureg, ureg_writemask(temp4, TGSI_WRITEMASK_Y), + ureg_src(temp2)); + + ureg_MUL(ureg, temp0, + ureg_scalar(coords, TGSI_SWIZZLE_Y), + ureg_scalar(ureg_src(temp4), TGSI_SWIZZLE_Y)); + ureg_MAD(ureg, temp1, + ureg_scalar(coords, TGSI_SWIZZLE_X), + ureg_scalar(ureg_src(temp4), TGSI_SWIZZLE_X), + ureg_src(temp0)); + + ureg_MUL(ureg, temp2, + ureg_src(temp1), + ureg_scalar(coords, TGSI_SWIZZLE_Z)); + + ureg_TEX(ureg, out, + TGSI_TEXTURE_1D, ureg_src(temp2), sampler); + + ureg_release_temporary(ureg, temp0); + ureg_release_temporary(ureg, temp1); + ureg_release_temporary(ureg, temp2); + ureg_release_temporary(ureg, temp3); + ureg_release_temporary(ureg, temp4); + ureg_release_temporary(ureg, temp5); +} + static void * create_vs(struct pipe_context *pipe, unsigned vs_traits) -- cgit v1.2.3 From 007a843991cd2c03369590fa15cbb60a9b261c65 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Thu, 3 Sep 2009 15:33:31 -0400 Subject: st/xorg: radial gradient shader --- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 85 +++++++++++++++++++++++++ 1 file changed, 85 insertions(+) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index 9fb1f3f6cb..b15f31e8ae 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -145,6 +145,91 @@ linear_gradient(struct ureg_program *ureg, ureg_release_temporary(ureg, temp5); } + +static void +radial_gradient(struct ureg_program *ureg, + struct ureg_dst out, + struct ureg_src pos, + struct ureg_src sampler, + struct ureg_src coords, + struct ureg_src const0124, + struct ureg_src matrow0, + struct ureg_src matrow1, + struct ureg_src matrow2) +{ + struct ureg_dst temp0 = ureg_DECL_temporary(ureg); + struct ureg_dst temp1 = ureg_DECL_temporary(ureg); + struct ureg_dst temp2 = ureg_DECL_temporary(ureg); + struct ureg_dst temp3 = ureg_DECL_temporary(ureg); + struct ureg_dst temp4 = ureg_DECL_temporary(ureg); + struct ureg_dst temp5 = ureg_DECL_temporary(ureg); + + ureg_MOV(ureg, + ureg_writemask(temp0, TGSI_WRITEMASK_XY), + pos); + ureg_MOV(ureg, + ureg_writemask(temp0, TGSI_WRITEMASK_Z), + ureg_scalar(const0124, TGSI_SWIZZLE_Y)); + + ureg_DP3(ureg, temp1, matrow0, ureg_src(temp0)); + ureg_DP3(ureg, temp2, matrow1, ureg_src(temp0)); + ureg_DP3(ureg, temp3, matrow2, ureg_src(temp0)); + ureg_RCP(ureg, temp3, ureg_src(temp3)); + ureg_MUL(ureg, temp1, ureg_src(temp1), ureg_src(temp3)); + ureg_MUL(ureg, temp2, ureg_src(temp2), ureg_src(temp3)); + + ureg_MOV(ureg, ureg_writemask(temp5, TGSI_WRITEMASK_X), + ureg_src(temp1)); + ureg_MOV(ureg, ureg_writemask(temp5, TGSI_WRITEMASK_Y), + ureg_src(temp2)); + + ureg_MUL(ureg, temp0, ureg_scalar(coords, TGSI_SWIZZLE_Y), + ureg_scalar(ureg_src(temp5), TGSI_SWIZZLE_Y)); + ureg_MAD(ureg, temp1, + ureg_scalar(coords, TGSI_SWIZZLE_X), + ureg_scalar(ureg_src(temp5), TGSI_SWIZZLE_X), + ureg_src(temp0)); + ureg_ADD(ureg, temp1, + ureg_src(temp1), ureg_src(temp1)); + ureg_MUL(ureg, temp3, + ureg_scalar(ureg_src(temp5), TGSI_SWIZZLE_Y), + ureg_scalar(ureg_src(temp5), TGSI_SWIZZLE_Y)); + ureg_MAD(ureg, temp4, + ureg_scalar(ureg_src(temp5), TGSI_SWIZZLE_X), + ureg_scalar(ureg_src(temp5), TGSI_SWIZZLE_X), + ureg_src(temp3)); + ureg_MOV(ureg, temp4, ureg_negate(ureg_src(temp4))); + ureg_MUL(ureg, temp2, + ureg_scalar(coords, TGSI_SWIZZLE_Z), + ureg_src(temp4)); + ureg_MUL(ureg, temp0, + ureg_scalar(const0124, TGSI_SWIZZLE_W), + ureg_src(temp2)); + ureg_MUL(ureg, temp3, + ureg_src(temp1), ureg_src(temp1)); + ureg_SUB(ureg, temp2, + ureg_src(temp3), ureg_src(temp0)); + ureg_RSQ(ureg, temp2, ureg_abs(ureg_src(temp2))); + ureg_RCP(ureg, temp2, ureg_src(temp2)); + ureg_SUB(ureg, temp1, + ureg_src(temp2), ureg_src(temp1)); + ureg_ADD(ureg, temp0, + ureg_scalar(coords, TGSI_SWIZZLE_Z), + ureg_scalar(coords, TGSI_SWIZZLE_Z)); + ureg_RCP(ureg, temp0, ureg_src(temp0)); + ureg_MUL(ureg, temp2, + ureg_src(temp1), ureg_src(temp0)); + ureg_TEX(ureg, out, TGSI_TEXTURE_1D, + ureg_src(temp2), sampler); + + ureg_release_temporary(ureg, temp0); + ureg_release_temporary(ureg, temp1); + ureg_release_temporary(ureg, temp2); + ureg_release_temporary(ureg, temp3); + ureg_release_temporary(ureg, temp4); + ureg_release_temporary(ureg, temp5); +} + static void * create_vs(struct pipe_context *pipe, unsigned vs_traits) -- cgit v1.2.3 From 323440b3e204a6de8faa8009eea9bb05c3b11991 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Thu, 3 Sep 2009 16:51:31 -0400 Subject: st/xorg: add linear and radial gradient acceleration --- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 91 +++++++++++++++++++------ 1 file changed, 71 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index b15f31e8ae..cfee10c3b3 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -291,12 +291,15 @@ create_fs(struct pipe_context *pipe, { struct ureg_program *ureg; struct ureg_src /*dst_sampler,*/ src_sampler, mask_sampler; - struct ureg_src /*dst_pos,*/ src_pos, mask_pos; - struct ureg_src src, mask; + struct ureg_src /*dst_pos,*/ src_input, mask_pos; + struct ureg_dst src, mask; struct ureg_dst out; - boolean is_fill = fs_traits & VS_FILL; - boolean is_composite = fs_traits & VS_COMPOSITE; - /*boolean has_mask = fs_traits & VS_MASK;*/ + boolean has_mask = fs_traits & FS_MASK; + boolean is_fill = fs_traits & FS_FILL; + boolean is_composite = fs_traits & FS_COMPOSITE; + boolean is_solid = fs_traits & FS_SOLID_FILL; + boolean is_lingrad = fs_traits & FS_LINGRAD_FILL; + boolean is_radgrad = fs_traits & FS_RADGRAD_FILL; ureg = ureg_create(TGSI_PROCESSOR_FRAGMENT); if (ureg == NULL) @@ -311,19 +314,25 @@ create_fs(struct pipe_context *pipe, if (is_composite) { src_sampler = ureg_DECL_sampler(ureg, 0); - src_pos = ureg_DECL_fs_input(ureg, - TGSI_SEMANTIC_POSITION, - 0, - TGSI_INTERPOLATE_PERSPECTIVE); + src_input = ureg_DECL_fs_input(ureg, + TGSI_SEMANTIC_POSITION, + 0, + TGSI_INTERPOLATE_PERSPECTIVE); } if (is_fill) { - src_pos = ureg_DECL_fs_input(ureg, - TGSI_SEMANTIC_COLOR, - 0, - TGSI_INTERPOLATE_PERSPECTIVE); + if (is_solid) + src_input = ureg_DECL_fs_input(ureg, + TGSI_SEMANTIC_COLOR, + 0, + TGSI_INTERPOLATE_PERSPECTIVE); + else + src_input = ureg_DECL_fs_input(ureg, + TGSI_SEMANTIC_POSITION, + 0, + TGSI_INTERPOLATE_PERSPECTIVE); } - if ((fs_traits & FS_MASK)) { + if (has_mask) { mask_sampler = ureg_DECL_sampler(ureg, 1); mask_pos = ureg_DECL_fs_input(ureg, TGSI_SEMANTIC_POSITION, @@ -339,14 +348,56 @@ create_fs(struct pipe_context *pipe, TGSI_INTERPOLATE_PERSPECTIVE); #endif - if ((fs_traits & FS_MASK)) { - ureg_TEX(ureg, ureg_dst(mask), + if (is_composite) { + if (has_mask) + src = ureg_DECL_temporary(ureg); + else + src = out; + ureg_TEX(ureg, src, + TGSI_TEXTURE_2D, src_input, src_sampler); + } else if (is_fill) { + if (is_solid) { + if (has_mask) + src = ureg_dst(src_input); + else + ureg_MOV(ureg, out, src_input); + } else if (is_lingrad || is_radgrad) { + struct ureg_src coords, const0124, + matrow0, matrow1, matrow2; + + if (has_mask) + src = ureg_DECL_temporary(ureg); + else + src = out; + + coords = ureg_DECL_constant(ureg); + const0124 = ureg_DECL_constant(ureg); + matrow0 = ureg_DECL_constant(ureg); + matrow1 = ureg_DECL_constant(ureg); + matrow2 = ureg_DECL_constant(ureg); + + if (is_lingrad) { + linear_gradient(ureg, src, + src_input, src_sampler, + coords, const0124, + matrow0, matrow1, matrow2); + } else if (is_radgrad) { + radial_gradient(ureg, src, + src_input, src_sampler, + coords, const0124, + matrow0, matrow1, matrow2); + } + } else + debug_assert(!"Unknown fill type!"); + } + + if (has_mask) { + mask = ureg_DECL_temporary(ureg); + ureg_TEX(ureg, mask, TGSI_TEXTURE_2D, mask_pos, mask_sampler); /* src IN mask */ - src_in_mask(ureg, out, src, mask); - } else { - ureg_TEX(ureg, out, - TGSI_TEXTURE_2D, src_pos, src_sampler); + src_in_mask(ureg, out, ureg_src(src), ureg_src(mask)); + ureg_release_temporary(ureg, mask); } ureg_END(ureg); -- cgit v1.2.3 From 67c286d20e6f1256950d81aab3f6b54cd4926602 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 15:04:49 -0600 Subject: st/mesa: silence uninitialized var warnings --- src/mesa/state_tracker/st_cb_texture.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 2d37d24ea8..2db28ef0a4 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -526,9 +526,9 @@ st_TexImage(GLcontext * ctx, struct st_texture_image *stImage = st_texture_image(texImage); GLint postConvWidth, postConvHeight; GLint texelBytes, sizeInBytes; - GLuint dstRowStride; + GLuint dstRowStride = 0; struct gl_pixelstore_attrib unpackNB; - enum pipe_transfer_usage transfer_usage; + enum pipe_transfer_usage transfer_usage = 0; DBG("%s target %s level %d %dx%dx%d border %d\n", __FUNCTION__, _mesa_lookup_enum_by_nr(target), level, width, height, depth, border); -- cgit v1.2.3 From 1c32caf075ce4015ba50d0aa9f0a2ff924c21970 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 15:23:15 -0600 Subject: gallium/xlib: silence uninitialized var warning --- src/gallium/winsys/xlib/xlib_brw_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/winsys/xlib/xlib_brw_screen.c b/src/gallium/winsys/xlib/xlib_brw_screen.c index fe8dfff767..a78efb10fa 100644 --- a/src/gallium/winsys/xlib/xlib_brw_screen.c +++ b/src/gallium/winsys/xlib/xlib_brw_screen.c @@ -364,7 +364,7 @@ void xlib_brw_buffer_subdata_typed( struct pipe_winsys *pws, unsigned data_type ) { unsigned aub_type = DW_GENERAL_STATE; - unsigned aub_sub_type; + unsigned aub_sub_type = 0; switch (data_type) { case BRW_CC_VP: -- cgit v1.2.3 From 32156f3a1165624cd4e2d0d337809fb046bd9285 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 15:44:22 -0600 Subject: gallium/xlib: silence unitialized var warning --- src/gallium/state_trackers/glx/xlib/xm_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c index a3d1651653..45ad694e23 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -743,7 +743,7 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list ) { static GLboolean firstTime = GL_TRUE; struct pipe_screen *screen; - struct pipe_context *pipe; + struct pipe_context *pipe = NULL; XMesaContext c; GLcontext *mesaCtx; uint pf; -- cgit v1.2.3 From 6a97cca0817b743e0633ff76630a5bef24469d1b Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 3 Sep 2009 18:02:54 -0400 Subject: r600: rework cb/db setup Setup the regs when we emit rather than during state setup. In certain cases a proper CB target was never emitted. This fixes bug 23658. --- src/mesa/drivers/dri/r600/r700_chip.c | 91 +++++++++++++++++++++ src/mesa/drivers/dri/r600/r700_state.c | 145 ++++----------------------------- src/mesa/drivers/dri/r600/r700_state.h | 3 - 3 files changed, 109 insertions(+), 130 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c index 4fc624ed0b..37bff56f5a 100644 --- a/src/mesa/drivers/dri/r600/r700_chip.c +++ b/src/mesa/drivers/dri/r600/r700_chip.c @@ -265,6 +265,93 @@ static void r700SendVTXState(GLcontext *ctx, struct radeon_state_atom *atom) } } +static void r700SetRenderTarget(context_t *context, int id) +{ + R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); + + struct radeon_renderbuffer *rrb; + unsigned int nPitchInPixel; + + rrb = radeon_get_colorbuffer(&context->radeon); + if (!rrb || !rrb->bo) { + return; + } + + R600_STATECHANGE(context, cb_target); + + /* color buffer */ + r700->render_target[id].CB_COLOR0_BASE.u32All = context->radeon.state.color.draw_offset; + + nPitchInPixel = rrb->pitch/rrb->cpp; + SETfield(r700->render_target[id].CB_COLOR0_SIZE.u32All, (nPitchInPixel/8)-1, + PITCH_TILE_MAX_shift, PITCH_TILE_MAX_mask); + SETfield(r700->render_target[id].CB_COLOR0_SIZE.u32All, ( (nPitchInPixel * context->radeon.radeonScreen->driScreen->fbHeight)/64 )-1, + SLICE_TILE_MAX_shift, SLICE_TILE_MAX_mask); + r700->render_target[id].CB_COLOR0_BASE.u32All = 0; + SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, ENDIAN_NONE, ENDIAN_shift, ENDIAN_mask); + SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, ARRAY_LINEAR_GENERAL, + CB_COLOR0_INFO__ARRAY_MODE_shift, CB_COLOR0_INFO__ARRAY_MODE_mask); + if(4 == rrb->cpp) + { + SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, COLOR_8_8_8_8, + CB_COLOR0_INFO__FORMAT_shift, CB_COLOR0_INFO__FORMAT_mask); + SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, SWAP_ALT, COMP_SWAP_shift, COMP_SWAP_mask); + } + else + { + SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, COLOR_5_6_5, + CB_COLOR0_INFO__FORMAT_shift, CB_COLOR0_INFO__FORMAT_mask); + SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, SWAP_ALT_REV, + COMP_SWAP_shift, COMP_SWAP_mask); + } + SETbit(r700->render_target[id].CB_COLOR0_INFO.u32All, SOURCE_FORMAT_bit); + SETbit(r700->render_target[id].CB_COLOR0_INFO.u32All, BLEND_CLAMP_bit); + SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, NUMBER_UNORM, NUMBER_TYPE_shift, NUMBER_TYPE_mask); + + r700->render_target[id].enabled = GL_TRUE; +} + +static void r700SetDepthTarget(context_t *context) +{ + R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); + + struct radeon_renderbuffer *rrb; + unsigned int nPitchInPixel; + + rrb = radeon_get_depthbuffer(&context->radeon); + if (!rrb) + return; + + R600_STATECHANGE(context, db_target); + + /* depth buf */ + r700->DB_DEPTH_SIZE.u32All = 0; + r700->DB_DEPTH_BASE.u32All = 0; + r700->DB_DEPTH_INFO.u32All = 0; + r700->DB_DEPTH_VIEW.u32All = 0; + + nPitchInPixel = rrb->pitch/rrb->cpp; + + SETfield(r700->DB_DEPTH_SIZE.u32All, (nPitchInPixel/8)-1, + PITCH_TILE_MAX_shift, PITCH_TILE_MAX_mask); + SETfield(r700->DB_DEPTH_SIZE.u32All, ( (nPitchInPixel * context->radeon.radeonScreen->driScreen->fbHeight)/64 )-1, + SLICE_TILE_MAX_shift, SLICE_TILE_MAX_mask); /* size in pixel / 64 - 1 */ + + if(4 == rrb->cpp) + { + SETfield(r700->DB_DEPTH_INFO.u32All, DEPTH_8_24, + DB_DEPTH_INFO__FORMAT_shift, DB_DEPTH_INFO__FORMAT_mask); + } + else + { + SETfield(r700->DB_DEPTH_INFO.u32All, DEPTH_16, + DB_DEPTH_INFO__FORMAT_shift, DB_DEPTH_INFO__FORMAT_mask); + } + SETfield(r700->DB_DEPTH_INFO.u32All, ARRAY_2D_TILED_THIN1, + DB_DEPTH_INFO__ARRAY_MODE_shift, DB_DEPTH_INFO__ARRAY_MODE_mask); + /* r700->DB_PREFETCH_LIMIT.bits.DEPTH_HEIGHT_TILE_MAX = (context->currentDraw->h >> 3) - 1; */ /* z buffer sie may much bigger than what need, so use actual used h. */ +} + static void r700SendDepthTargetState(GLcontext *ctx, struct radeon_state_atom *atom) { context_t *context = R700_CONTEXT(ctx); @@ -279,6 +366,8 @@ static void r700SendDepthTargetState(GLcontext *ctx, struct radeon_state_atom *a return; } + r700SetDepthTarget(context); + BEGIN_BATCH_NO_AUTOSTATE(8 + 2); R600_OUT_BATCH_REGSEQ(DB_DEPTH_SIZE, 2); R600_OUT_BATCH(r700->DB_DEPTH_SIZE.u32All); @@ -319,6 +408,8 @@ static void r700SendRenderTargetState(GLcontext *ctx, struct radeon_state_atom * return; } + r700SetRenderTarget(context, 0); + if (id > R700_MAX_RENDER_TARGETS) return; diff --git a/src/mesa/drivers/dri/r600/r700_state.c b/src/mesa/drivers/dri/r600/r700_state.c index 09344426f4..1f4724e838 100644 --- a/src/mesa/drivers/dri/r600/r700_state.c +++ b/src/mesa/drivers/dri/r600/r700_state.c @@ -60,13 +60,6 @@ static void r700SetClipPlaneState(GLcontext * ctx, GLenum cap, GLboolean state); static void r700UpdatePolygonMode(GLcontext * ctx); static void r700SetPolygonOffsetState(GLcontext * ctx, GLboolean state); static void r700SetStencilState(GLcontext * ctx, GLboolean state); -static void r700SetRenderTarget(context_t *context, int id); -static void r700SetDepthTarget(context_t *context); - -void r700SetDefaultStates(context_t *context) //-------------------- -{ - -} void r700UpdateShaders (GLcontext * ctx) //---------------------------------- { @@ -133,21 +126,6 @@ void r700UpdateViewportOffset(GLcontext * ctx) //------------------ radeonUpdateScissor(ctx); } -/** - * Tell the card where to render (offset, pitch). - * Effected by glDrawBuffer, etc - */ -void r700UpdateDrawBuffer(GLcontext * ctx) /* TODO */ //--------------------- -{ - context_t *context = R700_CONTEXT(ctx); - - R600_STATECHANGE(context, cb_target); - R600_STATECHANGE(context, db_target); - - r700SetRenderTarget(context, 0); - r700SetDepthTarget(context); -} - void r700UpdateStateParameters(GLcontext * ctx, GLuint new_state) //-------------------- { struct r700_fragment_program *fp = @@ -179,21 +157,21 @@ static void r700InvalidateState(GLcontext * ctx, GLuint new_state) //----------- R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); _swrast_InvalidateState(ctx, new_state); - _swsetup_InvalidateState(ctx, new_state); - _vbo_InvalidateState(ctx, new_state); - _tnl_InvalidateState(ctx, new_state); - _ae_invalidate_state(ctx, new_state); - - if (new_state & (_NEW_BUFFERS | _NEW_COLOR | _NEW_PIXEL)) - { - _mesa_update_framebuffer(ctx); - /* this updates the DrawBuffer's Width/Height if it's a FBO */ - _mesa_update_draw_buffer_bounds(ctx); - - r700UpdateDrawBuffer(ctx); - } + _swsetup_InvalidateState(ctx, new_state); + _vbo_InvalidateState(ctx, new_state); + _tnl_InvalidateState(ctx, new_state); + _ae_invalidate_state(ctx, new_state); + + if (new_state & _NEW_BUFFERS) { + _mesa_update_framebuffer(ctx); + /* this updates the DrawBuffer's Width/Height if it's a FBO */ + _mesa_update_draw_buffer_bounds(ctx); + + R600_STATECHANGE(context, cb_target); + R600_STATECHANGE(context, db_target); + } - r700UpdateStateParameters(ctx, new_state); + r700UpdateStateParameters(ctx, new_state); R600_STATECHANGE(context, cl); R600_STATECHANGE(context, spi); @@ -1373,97 +1351,6 @@ void r700SetScissor(context_t *context) //--------------- r700->viewport[id].enabled = GL_TRUE; } -static void r700SetRenderTarget(context_t *context, int id) -{ - R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); - - struct radeon_renderbuffer *rrb; - unsigned int nPitchInPixel; - - rrb = radeon_get_colorbuffer(&context->radeon); - if (!rrb || !rrb->bo) { - return; - } - - R600_STATECHANGE(context, cb_target); - R600_STATECHANGE(context, cb); - - /* screen/window/view */ - SETfield(r700->CB_TARGET_MASK.u32All, 0xF, (4 * id), TARGET0_ENABLE_mask); - - /* color buffer */ - r700->render_target[id].CB_COLOR0_BASE.u32All = context->radeon.state.color.draw_offset; - - nPitchInPixel = rrb->pitch/rrb->cpp; - SETfield(r700->render_target[id].CB_COLOR0_SIZE.u32All, (nPitchInPixel/8)-1, - PITCH_TILE_MAX_shift, PITCH_TILE_MAX_mask); - SETfield(r700->render_target[id].CB_COLOR0_SIZE.u32All, ( (nPitchInPixel * context->radeon.radeonScreen->driScreen->fbHeight)/64 )-1, - SLICE_TILE_MAX_shift, SLICE_TILE_MAX_mask); - r700->render_target[id].CB_COLOR0_BASE.u32All = 0; - SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, ENDIAN_NONE, ENDIAN_shift, ENDIAN_mask); - SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, ARRAY_LINEAR_GENERAL, - CB_COLOR0_INFO__ARRAY_MODE_shift, CB_COLOR0_INFO__ARRAY_MODE_mask); - if(4 == rrb->cpp) - { - SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, COLOR_8_8_8_8, - CB_COLOR0_INFO__FORMAT_shift, CB_COLOR0_INFO__FORMAT_mask); - SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, SWAP_ALT, COMP_SWAP_shift, COMP_SWAP_mask); - } - else - { - SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, COLOR_5_6_5, - CB_COLOR0_INFO__FORMAT_shift, CB_COLOR0_INFO__FORMAT_mask); - SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, SWAP_ALT_REV, - COMP_SWAP_shift, COMP_SWAP_mask); - } - SETbit(r700->render_target[id].CB_COLOR0_INFO.u32All, SOURCE_FORMAT_bit); - SETbit(r700->render_target[id].CB_COLOR0_INFO.u32All, BLEND_CLAMP_bit); - SETfield(r700->render_target[id].CB_COLOR0_INFO.u32All, NUMBER_UNORM, NUMBER_TYPE_shift, NUMBER_TYPE_mask); - - r700->render_target[id].enabled = GL_TRUE; -} - -static void r700SetDepthTarget(context_t *context) -{ - R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); - - struct radeon_renderbuffer *rrb; - unsigned int nPitchInPixel; - - rrb = radeon_get_depthbuffer(&context->radeon); - if (!rrb) - return; - - R600_STATECHANGE(context, db_target); - - /* depth buf */ - r700->DB_DEPTH_SIZE.u32All = 0; - r700->DB_DEPTH_BASE.u32All = 0; - r700->DB_DEPTH_INFO.u32All = 0; - r700->DB_DEPTH_VIEW.u32All = 0; - - nPitchInPixel = rrb->pitch/rrb->cpp; - - SETfield(r700->DB_DEPTH_SIZE.u32All, (nPitchInPixel/8)-1, - PITCH_TILE_MAX_shift, PITCH_TILE_MAX_mask); - SETfield(r700->DB_DEPTH_SIZE.u32All, ( (nPitchInPixel * context->radeon.radeonScreen->driScreen->fbHeight)/64 )-1, - SLICE_TILE_MAX_shift, SLICE_TILE_MAX_mask); /* size in pixel / 64 - 1 */ - - if(4 == rrb->cpp) - { - SETfield(r700->DB_DEPTH_INFO.u32All, DEPTH_8_24, - DB_DEPTH_INFO__FORMAT_shift, DB_DEPTH_INFO__FORMAT_mask); - } - else - { - SETfield(r700->DB_DEPTH_INFO.u32All, DEPTH_16, - DB_DEPTH_INFO__FORMAT_shift, DB_DEPTH_INFO__FORMAT_mask); - } - SETfield(r700->DB_DEPTH_INFO.u32All, ARRAY_2D_TILED_THIN1, - DB_DEPTH_INFO__ARRAY_MODE_shift, DB_DEPTH_INFO__ARRAY_MODE_mask); - /* r700->DB_PREFETCH_LIMIT.bits.DEPTH_HEIGHT_TILE_MAX = (context->currentDraw->h >> 3) - 1; */ /* z buffer sie may much bigger than what need, so use actual used h. */ -} - static void r700InitSQConfig(GLcontext * ctx) { context_t *context = R700_CONTEXT(ctx); @@ -1666,6 +1553,7 @@ void r700InitState(GLcontext * ctx) //------------------- { context_t *context = R700_CONTEXT(ctx); R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); + int id = 0; radeon_firevertices(&context->radeon); @@ -1859,6 +1747,9 @@ void r700InitState(GLcontext * ctx) //------------------- /* Set up color compare mask */ r700->CB_CLRCMP_MSK.u32All = 0xFFFFFFFF; + /* screen/window/view */ + SETfield(r700->CB_TARGET_MASK.u32All, 0xF, (4 * id), TARGET0_ENABLE_mask); + context->radeon.hw.all_dirty = GL_TRUE; } diff --git a/src/mesa/drivers/dri/r600/r700_state.h b/src/mesa/drivers/dri/r600/r700_state.h index 30eb54e8b0..0f53d5b4c5 100644 --- a/src/mesa/drivers/dri/r600/r700_state.h +++ b/src/mesa/drivers/dri/r600/r700_state.h @@ -37,13 +37,10 @@ extern void r700UpdateStateParameters(GLcontext * ctx, GLuint new_state); extern void r700UpdateShaders (GLcontext * ctx); extern void r700UpdateViewportOffset(GLcontext * ctx); -extern void r700UpdateDrawBuffer (GLcontext * ctx); extern void r700InitState (GLcontext * ctx); extern void r700InitStateFuncs (struct dd_function_table *functions); -extern void r700SetDefaultStates(context_t * context); - extern void r700SetScissor(context_t *context); #endif /* _R600_SCREEN_H */ -- cgit v1.2.3 From 862724d3c2761fe148d985e9205ebb1cc36f3011 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Wed, 2 Sep 2009 17:58:52 +0100 Subject: util: add version of u_blit_pixels which takes a writemask Values outside the writemask are set in the destination to {0,0,0,1} --- src/gallium/auxiliary/util/u_blit.c | 55 ++++++++++++++++++++------- src/gallium/auxiliary/util/u_blit.h | 11 ++++++ src/gallium/auxiliary/util/u_simple_shaders.c | 14 ++++++- src/gallium/auxiliary/util/u_simple_shaders.h | 4 ++ 4 files changed, 69 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_blit.c b/src/gallium/auxiliary/util/u_blit.c index cda6dbd46d..c516317d70 100644 --- a/src/gallium/auxiliary/util/u_blit.c +++ b/src/gallium/auxiliary/util/u_blit.c @@ -62,7 +62,7 @@ struct blit_state struct pipe_viewport_state viewport; void *vs; - void *fs; + void *fs[TGSI_WRITEMASK_XYZW + 1]; struct pipe_buffer *vbuf; /**< quad vertices */ unsigned vbuf_slot; @@ -125,7 +125,7 @@ util_create_blit(struct pipe_context *pipe, struct cso_context *cso) } /* fragment shader */ - ctx->fs = util_make_fragment_tex_shader(pipe); + ctx->fs[TGSI_WRITEMASK_XYZW] = util_make_fragment_tex_shader(pipe); ctx->vbuf = NULL; /* init vertex data that doesn't change */ @@ -146,9 +146,13 @@ void util_destroy_blit(struct blit_state *ctx) { struct pipe_context *pipe = ctx->pipe; + unsigned i; pipe->delete_vs_state(pipe, ctx->vs); - pipe->delete_fs_state(pipe, ctx->fs); + + for (i = 0; i < Elements(ctx->fs); i++) + if (ctx->fs[i]) + pipe->delete_fs_state(pipe, ctx->fs[i]); pipe_buffer_reference(&ctx->vbuf, NULL); @@ -299,14 +303,15 @@ regions_overlap(int srcX0, int srcY0, * XXX need some control over blitting Z and/or stencil. */ void -util_blit_pixels(struct blit_state *ctx, - struct pipe_surface *src, - int srcX0, int srcY0, - int srcX1, int srcY1, - struct pipe_surface *dst, - int dstX0, int dstY0, - int dstX1, int dstY1, - float z, uint filter) +util_blit_pixels_writemask(struct blit_state *ctx, + struct pipe_surface *src, + int srcX0, int srcY0, + int srcX1, int srcY1, + struct pipe_surface *dst, + int dstX0, int dstY0, + int dstX1, int dstY1, + float z, uint filter, + uint writemask) { struct pipe_context *pipe = ctx->pipe; struct pipe_screen *screen = pipe->screen; @@ -426,8 +431,11 @@ util_blit_pixels(struct blit_state *ctx, /* texture */ cso_set_sampler_textures(ctx->cso, 1, &tex); + if (ctx->fs[writemask] == NULL) + ctx->fs[writemask] = util_make_fragment_tex_shader_writemask(pipe, writemask); + /* shaders */ - cso_set_fragment_shader_handle(ctx->cso, ctx->fs); + cso_set_fragment_shader_handle(ctx->cso, ctx->fs[writemask]); cso_set_vertex_shader_handle(ctx->cso, ctx->vs); /* drawing dest */ @@ -462,6 +470,27 @@ util_blit_pixels(struct blit_state *ctx, } +void +util_blit_pixels(struct blit_state *ctx, + struct pipe_surface *src, + int srcX0, int srcY0, + int srcX1, int srcY1, + struct pipe_surface *dst, + int dstX0, int dstY0, + int dstX1, int dstY1, + float z, uint filter ) +{ + util_blit_pixels_writemask( ctx, src, + srcX0, srcY0, + srcX1, srcY1, + dst, + dstX0, dstY0, + dstX1, dstY1, + z, filter, + TGSI_WRITEMASK_XYZW ); +} + + /* Release vertex buffer at end of frame to avoid synchronous * rendering. */ @@ -535,7 +564,7 @@ util_blit_pixels_tex(struct blit_state *ctx, cso_set_sampler_textures(ctx->cso, 1, &tex); /* shaders */ - cso_set_fragment_shader_handle(ctx->cso, ctx->fs); + cso_set_fragment_shader_handle(ctx->cso, ctx->fs[TGSI_WRITEMASK_XYZW]); cso_set_vertex_shader_handle(ctx->cso, ctx->vs); /* drawing dest */ diff --git a/src/gallium/auxiliary/util/u_blit.h b/src/gallium/auxiliary/util/u_blit.h index c35beceda8..a102021529 100644 --- a/src/gallium/auxiliary/util/u_blit.h +++ b/src/gallium/auxiliary/util/u_blit.h @@ -60,6 +60,17 @@ util_blit_pixels(struct blit_state *ctx, int dstX1, int dstY1, float z, uint filter); +void +util_blit_pixels_writemask(struct blit_state *ctx, + struct pipe_surface *src, + int srcX0, int srcY0, + int srcX1, int srcY1, + struct pipe_surface *dst, + int dstX0, int dstY0, + int dstX1, int dstY1, + float z, uint filter, + uint writemask); + extern void util_blit_pixels_tex(struct blit_state *ctx, struct pipe_texture *tex, diff --git a/src/gallium/auxiliary/util/u_simple_shaders.c b/src/gallium/auxiliary/util/u_simple_shaders.c index eb311d29f9..1b8da9b685 100644 --- a/src/gallium/auxiliary/util/u_simple_shaders.c +++ b/src/gallium/auxiliary/util/u_simple_shaders.c @@ -88,11 +88,14 @@ util_make_vertex_passthrough_shader(struct pipe_context *pipe, /** * Make simple fragment texture shader: - * TEX OUT[0], IN[0], SAMP[0], 2D; + * IMM {0,0,0,1} // (if writemask != 0xf) + * MOV OUT[0], IMM[0] // (if writemask != 0xf) + * TEX OUT[0].writemask, IN[0], SAMP[0], 2D; * END; */ void * -util_make_fragment_tex_shader(struct pipe_context *pipe) +util_make_fragment_tex_shader_writemask(struct pipe_context *pipe, + unsigned writemask ) { struct ureg_program *ureg; struct ureg_src sampler; @@ -119,6 +122,13 @@ util_make_fragment_tex_shader(struct pipe_context *pipe) return ureg_create_shader_and_destroy( ureg, pipe ); } +void * +util_make_fragment_tex_shader(struct pipe_context *pipe ) +{ + return util_make_fragment_tex_shader_writemask( pipe, + TGSI_WRITEMASK_XYZW ); +} + diff --git a/src/gallium/auxiliary/util/u_simple_shaders.h b/src/gallium/auxiliary/util/u_simple_shaders.h index 6f8d96af9b..d2e80d6eb4 100644 --- a/src/gallium/auxiliary/util/u_simple_shaders.h +++ b/src/gallium/auxiliary/util/u_simple_shaders.h @@ -49,6 +49,10 @@ util_make_vertex_passthrough_shader(struct pipe_context *pipe, const uint *semantic_indexes); +extern void * +util_make_fragment_tex_shader_writemask(struct pipe_context *pipe, + unsigned writemask ); + extern void * util_make_fragment_tex_shader(struct pipe_context *pipe); -- cgit v1.2.3 From 8fc945cd847aa5d343a5f76eb2f9f2c9075cccdd Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Wed, 2 Sep 2009 18:30:11 +0100 Subject: st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardware State tracker currently backs GL_RGB textures with RGBA almost always. This means we need to maintain A==1 in these textures to give correct GL_RGB sampling results. This change offloads the RGBA->RGB copy to hardware using the new writemask version of u_blit_pixels. More src/dstLogical/dstActual triples could be shifted to hardware by this technique in future patches. --- src/mesa/state_tracker/st_cb_texture.c | 65 ++++++++++++++++++++++++++-------- 1 file changed, 51 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index dc39a70121..74602b4cae 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -56,6 +56,7 @@ #include "pipe/p_context.h" #include "pipe/p_defines.h" #include "pipe/p_inlines.h" +#include "pipe/p_shader_tokens.h" #include "util/u_tile.h" #include "util/u_blit.h" #include "util/u_surface.h" @@ -1393,6 +1394,36 @@ fallback_copy_texsubimage(GLcontext *ctx, GLenum target, GLint level, } +static unsigned +compatible_src_dst_formats(const struct gl_renderbuffer *src, + const struct gl_texture_image *dst) +{ + const GLenum srcFormat = src->_BaseFormat; + const GLenum dstLogicalFormat = dst->_BaseFormat; + + if (srcFormat == dstLogicalFormat) { + /* This is the same as matching_base_formats, which should + * always pass, as it did previously. + */ + return TGSI_WRITEMASK_XYZW; + } + else if (srcFormat == GL_RGBA && + dstLogicalFormat == GL_RGB) { + /* Add a single special case to cope with RGBA->RGB transfers, + * setting A to 1.0 to cope with situations where the RGB + * destination is actually stored as RGBA. + */ + return TGSI_WRITEMASK_XYZ; /* A ==> 1.0 */ + } + else { + /* Otherwise fail. + */ + return 0; + } +} + + + /** * Do a CopyTex[Sub]Image1/2/3D() using a hardware (blit) path if possible. * Note that the region to copy has already been clipped so we know we @@ -1422,6 +1453,9 @@ st_copy_texsubimage(GLcontext *ctx, enum pipe_format dest_format, src_format; GLboolean use_fallback = GL_TRUE; GLboolean matching_base_formats; + GLuint format_writemask; + struct pipe_surface *dest_surface = NULL; + GLboolean do_flip = (st_fb_orientation(ctx->ReadBuffer) == Y_0_TOP); /* any rendering in progress must flushed before we grab the fb image */ st_flush(ctx->st, PIPE_FLUSH_RENDER_CACHE, NULL); @@ -1492,13 +1526,14 @@ st_copy_texsubimage(GLcontext *ctx, * textured-quad paths. */ matching_base_formats = (strb->Base._BaseFormat == texImage->_BaseFormat); + format_writemask = compatible_src_dst_formats(&strb->Base, texImage); - if (matching_base_formats && ctx->_ImageTransferState == 0x0) { - /* try potential hardware path */ - struct pipe_surface *dest_surface = NULL; - boolean do_flip = (st_fb_orientation(ctx->ReadBuffer) == Y_0_TOP); + if (ctx->_ImageTransferState == 0x0) { - if (src_format == dest_format && !do_flip) { + if (matching_base_formats && + src_format == dest_format && + !do_flip) + { /* use surface_copy() / blit */ dest_surface = screen->get_tex_surface(screen, stImage->pt, @@ -1518,7 +1553,8 @@ st_copy_texsubimage(GLcontext *ctx, width, height); use_fallback = GL_FALSE; } - else if (screen->is_format_supported(screen, src_format, + else if (format_writemask && + screen->is_format_supported(screen, src_format, PIPE_TEXTURE_2D, PIPE_TEXTURE_USAGE_SAMPLER, 0) && @@ -1542,14 +1578,15 @@ st_copy_texsubimage(GLcontext *ctx, srcY0 = srcY; srcY1 = srcY0 + height; } - util_blit_pixels(ctx->st->blit, - strb->surface, - srcX, srcY0, - srcX + width, srcY1, - dest_surface, - destX, destY, - destX + width, destY + height, - 0.0, PIPE_TEX_MIPFILTER_NEAREST); + util_blit_pixels_writemask(ctx->st->blit, + strb->surface, + srcX, srcY0, + srcX + width, srcY1, + dest_surface, + destX, destY, + destX + width, destY + height, + 0.0, PIPE_TEX_MIPFILTER_NEAREST, + format_writemask); use_fallback = GL_FALSE; } -- cgit v1.2.3 From beb05393c8d92d71ccb0f4af0bcdbe58ae8a9cdd Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 14:39:53 -0600 Subject: st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted position If the renderbuffer orientation is Y=0=TOP we need to invert the dstY position. --- src/mesa/state_tracker/st_cb_drawpixels.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index e00754a036..a9cafbf8cd 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -865,6 +865,10 @@ copy_stencil_pixels(GLcontext *ctx, GLint srcx, GLint srcy, usage = PIPE_TRANSFER_READ_WRITE; else usage = PIPE_TRANSFER_WRITE; + + if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP) { + dsty = rbDraw->Base.Height - dsty - height; + } ptDraw = st_cond_flush_get_tex_transfer(st_context(ctx), rbDraw->texture, 0, 0, 0, -- cgit v1.2.3 From 5a8e1ddf193bb25c5cf05b70088c64ede772d7e9 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 15:04:49 -0600 Subject: st/mesa: silence uninitialized var warnings --- src/mesa/state_tracker/st_cb_texture.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 74602b4cae..abaf9d2c35 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -517,9 +517,9 @@ st_TexImage(GLcontext * ctx, struct st_texture_image *stImage = st_texture_image(texImage); GLint postConvWidth, postConvHeight; GLint texelBytes, sizeInBytes; - GLuint dstRowStride; + GLuint dstRowStride = 0; struct gl_pixelstore_attrib unpackNB; - enum pipe_transfer_usage transfer_usage; + enum pipe_transfer_usage transfer_usage = 0; DBG("%s target %s level %d %dx%dx%d border %d\n", __FUNCTION__, _mesa_lookup_enum_by_nr(target), level, width, height, depth, border); -- cgit v1.2.3 From 9e711b6865fdd2842d1dbfa15ab03488dfd2e86f Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 15:23:15 -0600 Subject: gallium/xlib: silence uninitialized var warning --- src/gallium/winsys/xlib/xlib_brw_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/winsys/xlib/xlib_brw_screen.c b/src/gallium/winsys/xlib/xlib_brw_screen.c index 6f3861e2cd..ef545796f3 100644 --- a/src/gallium/winsys/xlib/xlib_brw_screen.c +++ b/src/gallium/winsys/xlib/xlib_brw_screen.c @@ -365,7 +365,7 @@ void xlib_brw_buffer_subdata_typed( struct pipe_winsys *pws, unsigned data_type ) { unsigned aub_type = DW_GENERAL_STATE; - unsigned aub_sub_type; + unsigned aub_sub_type = 0; switch (data_type) { case BRW_CC_VP: -- cgit v1.2.3 From 7ec865202e6b054c3afaba6180d42a29f30f8964 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 15:44:22 -0600 Subject: gallium/xlib: silence unitialized var warning --- src/gallium/state_trackers/glx/xlib/xm_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c index 651a9a9fea..2c7b27a1fb 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -755,7 +755,7 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list ) { static GLboolean firstTime = GL_TRUE; static struct pipe_screen *screen = NULL; - struct pipe_context *pipe; + struct pipe_context *pipe = NULL; XMesaContext c; GLcontext *mesaCtx; uint pf; -- cgit v1.2.3 From ce39cd6696efbc72c13187217ca5d74ab00ab37f Mon Sep 17 00:00:00 2001 From: Michal Krol Date: Fri, 4 Sep 2009 09:31:22 +0200 Subject: tgsi: Document differencies between vs_1_1 and vs_2_0 for EXPP and LOGP. --- src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt b/src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt index a989514b75..eb492076b7 100644 --- a/src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt +++ b/src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt @@ -1027,12 +1027,12 @@ TGSI Instruction Specification 1.18.1 EXPP - Approximate Exponential Base 2 - Alias for EXP. + Use EXP. See also 1.19.3. 1.18.2 LOGP - Logarithm Base 2 - Alias for LG2. + Use LOG. See also 1.19.4. 1.19 vs_2_0 @@ -1049,6 +1049,16 @@ TGSI Instruction Specification Alias for ARR. +1.19.3 EXPP - Approximate Exponential Base 2 + + Use EX2. + + +1.19.4 LOGP - Logarithm Base 2 + + Use LG2. + + 2 Explanation of symbols used ============================== -- cgit v1.2.3 From 65c79c9cbd58b164a61b72f7ffe13031c33485cf Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Fri, 4 Sep 2009 10:27:17 +0100 Subject: i915g: Fix warnings in scons build by using byte pointers scons build complained about void pointer math --- src/gallium/drivers/i915simple/intel_winsys.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/i915simple/intel_winsys.h b/src/gallium/drivers/i915simple/intel_winsys.h index e123c32d88..f949f52a9c 100644 --- a/src/gallium/drivers/i915simple/intel_winsys.h +++ b/src/gallium/drivers/i915simple/intel_winsys.h @@ -69,8 +69,8 @@ struct intel_batchbuffer { * each dword written. */ /*{@*/ - void *map; - void *ptr; + uint8_t *map; + uint8_t *ptr; size_t size; size_t relocs; -- cgit v1.2.3 From 40636fe6f2763e6be4141516a9eba5004b371915 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 17:16:19 -0600 Subject: gallium/xlib: minor clean-ups --- src/gallium/state_trackers/glx/xlib/xm_api.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c index 2c7b27a1fb..957002ddd5 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -668,7 +668,7 @@ XMesaVisual XMesaCreateVisual( Display *display, * at a later time. */ v->visinfo = (XVisualInfo *) MALLOC(sizeof(*visinfo)); - if(!v->visinfo) { + if (!v->visinfo) { _mesa_free(v); return NULL; } @@ -781,8 +781,7 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list ) if (screen == NULL) goto fail; - pipe = driver.create_pipe_context( screen, - (void *)c ); + pipe = driver.create_pipe_context(screen, (void *) c); if (pipe == NULL) goto fail; @@ -795,23 +794,15 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list ) mesaCtx = c->st->ctx; c->st->ctx->DriverCtx = c; -#if 00 - _mesa_enable_sw_extensions(mesaCtx); - _mesa_enable_1_3_extensions(mesaCtx); - _mesa_enable_1_4_extensions(mesaCtx); - _mesa_enable_1_5_extensions(mesaCtx); - _mesa_enable_2_0_extensions(mesaCtx); -#endif - return c; - fail: +fail: if (c->st) st_destroy_context(c->st); else if (pipe) pipe->destroy(pipe); - FREE(c); + _mesa_free(c); return NULL; } @@ -1165,7 +1156,7 @@ void XMesaFlush( XMesaContext c ) XMesaBuffer XMesaFindBuffer( Display *dpy, Drawable d ) { XMesaBuffer b; - for (b=XMesaBufferList; b; b=b->Next) { + for (b = XMesaBufferList; b; b = b->Next) { if (b->drawable == d && b->xm_visual->display == dpy) { return b; } -- cgit v1.2.3 From 3fedd08779c2bc4a5f02c035e7ca4cab5da649dd Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 4 Sep 2009 09:06:40 -0600 Subject: ARB prog: rename POINT, SIZE to POINT_TOK, SIZE_TOK Fixes symbol collisions with typedefs in Microsoft headers. Perhaps we should prefix/suffix all the lexer tokens to avoid this. --- src/mesa/shader/lex.yy.c | 34 ++++++++++------------------------ src/mesa/shader/program_lexer.l | 4 ++-- src/mesa/shader/program_parse.tab.c | 10 +++++----- src/mesa/shader/program_parse.tab.h | 4 ++-- src/mesa/shader/program_parse.y | 8 ++++---- 5 files changed, 23 insertions(+), 37 deletions(-) (limited to 'src') diff --git a/src/mesa/shader/lex.yy.c b/src/mesa/shader/lex.yy.c index 6d661bd187..2ff2a4f5a3 100644 --- a/src/mesa/shader/lex.yy.c +++ b/src/mesa/shader/lex.yy.c @@ -53,6 +53,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -83,8 +84,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -158,15 +157,7 @@ typedef void* yyscan_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -1011,7 +1002,7 @@ swiz_from_char(char c) } while(0); #define YY_EXTRA_TYPE struct asm_parser_state * -#line 1015 "lex.yy.c" +#line 1006 "lex.yy.c" #define INITIAL 0 @@ -1148,12 +1139,7 @@ static int input (yyscan_t yyscanner ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1161,7 +1147,7 @@ static int input (yyscan_t yyscanner ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1172,7 +1158,7 @@ static int input (yyscan_t yyscanner ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + unsigned n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1260,7 +1246,7 @@ YY_DECL #line 135 "program_lexer.l" -#line 1264 "lex.yy.c" +#line 1250 "lex.yy.c" yylval = yylval_param; @@ -1928,7 +1914,7 @@ YY_RULE_SETUP case 116: YY_RULE_SETUP #line 270 "program_lexer.l" -{ return_token_or_DOT(require_ARB_vp, POINT); } +{ return_token_or_DOT(require_ARB_vp, POINT_TOK); } YY_BREAK case 117: YY_RULE_SETUP @@ -1978,7 +1964,7 @@ YY_RULE_SETUP case 126: YY_RULE_SETUP #line 280 "program_lexer.l" -{ return_token_or_DOT(require_ARB_vp, SIZE); } +{ return_token_or_DOT(require_ARB_vp, SIZE_TOK); } YY_BREAK case 127: YY_RULE_SETUP @@ -2392,7 +2378,7 @@ YY_RULE_SETUP #line 474 "program_lexer.l" ECHO; YY_BREAK -#line 2396 "lex.yy.c" +#line 2382 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -3160,8 +3146,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ diff --git a/src/mesa/shader/program_lexer.l b/src/mesa/shader/program_lexer.l index c50c7c5739..bc209435ef 100644 --- a/src/mesa/shader/program_lexer.l +++ b/src/mesa/shader/program_lexer.l @@ -267,7 +267,7 @@ result { return RESULT; } {dot}palette { return PALETTE; } {dot}params { return PARAMS; } {dot}plane { return PLANE; } -{dot}point { return_token_or_DOT(require_ARB_vp, POINT); } +{dot}point { return_token_or_DOT(require_ARB_vp, POINT_TOK); } {dot}pointsize { return_token_or_DOT(require_ARB_vp, POINTSIZE); } {dot}position { return POSITION; } {dot}primary { return PRIMARY; } @@ -277,7 +277,7 @@ result { return RESULT; } {dot}scenecolor { return SCENECOLOR; } {dot}secondary { return SECONDARY; } {dot}shininess { return SHININESS; } -{dot}size { return_token_or_DOT(require_ARB_vp, SIZE); } +{dot}size { return_token_or_DOT(require_ARB_vp, SIZE_TOK); } {dot}specular { return SPECULAR; } {dot}spot { return SPOT; } {dot}texcoord { return TEXCOORD; } diff --git a/src/mesa/shader/program_parse.tab.c b/src/mesa/shader/program_parse.tab.c index 979e574921..4d99e45fbe 100644 --- a/src/mesa/shader/program_parse.tab.c +++ b/src/mesa/shader/program_parse.tab.c @@ -251,7 +251,7 @@ static struct asm_instruction *asm_instruction_ctor(gl_inst_opcode op, PALETTE = 309, PARAMS = 310, PLANE = 311, - POINT = 312, + POINT_TOK = 312, POINTSIZE = 313, POSITION = 314, PRIMARY = 315, @@ -263,7 +263,7 @@ static struct asm_instruction *asm_instruction_ctor(gl_inst_opcode op, SCENECOLOR = 321, SECONDARY = 322, SHININESS = 323, - SIZE = 324, + SIZE_TOK = 324, SPECULAR = 325, SPOT = 326, STATE = 327, @@ -806,9 +806,9 @@ static const char *const yytname[] = "EYE", "FOG", "FOGCOORD", "FRAGMENT", "FRONT", "HALF", "INVERSE", "INVTRANS", "LIGHT", "LIGHTMODEL", "LIGHTPROD", "LOCAL", "MATERIAL", "MAT_PROGRAM", "MATRIX", "MATRIXINDEX", "MODELVIEW", "MVP", "NORMAL", - "OBJECT", "PALETTE", "PARAMS", "PLANE", "POINT", "POINTSIZE", "POSITION", - "PRIMARY", "PROGRAM", "PROJECTION", "RANGE", "RESULT", "ROW", - "SCENECOLOR", "SECONDARY", "SHININESS", "SIZE", "SPECULAR", "SPOT", + "OBJECT", "PALETTE", "PARAMS", "PLANE", "POINT_TOK", "POINTSIZE", + "POSITION", "PRIMARY", "PROGRAM", "PROJECTION", "RANGE", "RESULT", "ROW", + "SCENECOLOR", "SECONDARY", "SHININESS", "SIZE_TOK", "SPECULAR", "SPOT", "STATE", "TEXCOORD", "TEXENV", "TEXGEN", "TEXGEN_Q", "TEXGEN_R", "TEXGEN_S", "TEXGEN_T", "TEXTURE", "TRANSPOSE", "TEXTURE_UNIT", "TEX_1D", "TEX_2D", "TEX_3D", "TEX_CUBE", "TEX_RECT", "TEX_SHADOW1D", diff --git a/src/mesa/shader/program_parse.tab.h b/src/mesa/shader/program_parse.tab.h index de08fb747f..b0f757ffa0 100644 --- a/src/mesa/shader/program_parse.tab.h +++ b/src/mesa/shader/program_parse.tab.h @@ -93,7 +93,7 @@ PALETTE = 309, PARAMS = 310, PLANE = 311, - POINT = 312, + POINT_TOK = 312, POINTSIZE = 313, POSITION = 314, PRIMARY = 315, @@ -105,7 +105,7 @@ SCENECOLOR = 321, SECONDARY = 322, SHININESS = 323, - SIZE = 324, + SIZE_TOK = 324, SPECULAR = 325, SPOT = 326, STATE = 327, diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y index 46f300408b..2f5d3037f4 100644 --- a/src/mesa/shader/program_parse.y +++ b/src/mesa/shader/program_parse.y @@ -159,9 +159,9 @@ static struct asm_instruction *asm_instruction_ctor(gl_inst_opcode op, %token MATERIAL MAT_PROGRAM MATRIX MATRIXINDEX MODELVIEW MVP %token NORMAL %token OBJECT -%token PALETTE PARAMS PLANE POINT POINTSIZE POSITION PRIMARY PROGRAM PROJECTION +%token PALETTE PARAMS PLANE POINT_TOK POINTSIZE POSITION PRIMARY PROGRAM PROJECTION %token RANGE RESULT ROW -%token SCENECOLOR SECONDARY SHININESS SIZE SPECULAR SPOT STATE +%token SCENECOLOR SECONDARY SHININESS SIZE_TOK SPECULAR SPOT STATE %token TEXCOORD TEXENV TEXGEN TEXGEN_Q TEXGEN_R TEXGEN_S TEXGEN_T TEXTURE TRANSPOSE %token TEXTURE_UNIT TEX_1D TEX_2D TEX_3D TEX_CUBE TEX_RECT %token TEX_SHADOW1D TEX_SHADOW2D TEX_SHADOWRECT @@ -1353,14 +1353,14 @@ stateClipPlaneNum: INTEGER } ; -statePointItem: POINT statePointProperty +statePointItem: POINT_TOK statePointProperty { memset($$, 0, sizeof($$)); $$[0] = $2; } ; -statePointProperty: SIZE +statePointProperty: SIZE_TOK { $$ = STATE_POINT_SIZE; } -- cgit v1.2.3 From 592a6642fc5c9f697bcc6521c99fe00b2de827c8 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 4 Sep 2009 09:15:35 -0600 Subject: ARB prog: replace 'unsigned' with 'gl_state_index' Fixes compilation warnings with MSVC. --- src/mesa/shader/lex.yy.c | 377 ++++++++++++++++++------------------ src/mesa/shader/program_lexer.l | 1 + src/mesa/shader/program_parse.tab.c | 5 +- src/mesa/shader/program_parse.tab.h | 2 +- src/mesa/shader/program_parse.y | 5 +- 5 files changed, 195 insertions(+), 195 deletions(-) (limited to 'src') diff --git a/src/mesa/shader/lex.yy.c b/src/mesa/shader/lex.yy.c index 2ff2a4f5a3..709426f3a6 100644 --- a/src/mesa/shader/lex.yy.c +++ b/src/mesa/shader/lex.yy.c @@ -901,6 +901,7 @@ static yyconst flex_int16_t yy_chk[1023] = */ #include "main/glheader.h" #include "prog_instruction.h" +#include "prog_statevars.h" #include "program_parser.h" #include "program_parse.tab.h" @@ -1002,7 +1003,7 @@ swiz_from_char(char c) } while(0); #define YY_EXTRA_TYPE struct asm_parser_state * -#line 1006 "lex.yy.c" +#line 1007 "lex.yy.c" #define INITIAL 0 @@ -1243,10 +1244,10 @@ YY_DECL register int yy_act; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; -#line 135 "program_lexer.l" +#line 136 "program_lexer.l" -#line 1250 "lex.yy.c" +#line 1251 "lex.yy.c" yylval = yylval_param; @@ -1335,17 +1336,17 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 137 "program_lexer.l" +#line 138 "program_lexer.l" { return ARBvp_10; } YY_BREAK case 2: YY_RULE_SETUP -#line 138 "program_lexer.l" +#line 139 "program_lexer.l" { return ARBfp_10; } YY_BREAK case 3: YY_RULE_SETUP -#line 139 "program_lexer.l" +#line 140 "program_lexer.l" { yylval->integer = at_address; return_token_or_IDENTIFIER(require_ARB_vp, ADDRESS); @@ -1353,747 +1354,747 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 143 "program_lexer.l" +#line 144 "program_lexer.l" { return ALIAS; } YY_BREAK case 5: YY_RULE_SETUP -#line 144 "program_lexer.l" +#line 145 "program_lexer.l" { return ATTRIB; } YY_BREAK case 6: YY_RULE_SETUP -#line 145 "program_lexer.l" +#line 146 "program_lexer.l" { return END; } YY_BREAK case 7: YY_RULE_SETUP -#line 146 "program_lexer.l" +#line 147 "program_lexer.l" { return OPTION; } YY_BREAK case 8: YY_RULE_SETUP -#line 147 "program_lexer.l" +#line 148 "program_lexer.l" { return OUTPUT; } YY_BREAK case 9: YY_RULE_SETUP -#line 148 "program_lexer.l" +#line 149 "program_lexer.l" { return PARAM; } YY_BREAK case 10: YY_RULE_SETUP -#line 149 "program_lexer.l" +#line 150 "program_lexer.l" { yylval->integer = at_temp; return TEMP; } YY_BREAK case 11: YY_RULE_SETUP -#line 151 "program_lexer.l" +#line 152 "program_lexer.l" { return_opcode( 1, VECTOR_OP, ABS, OFF); } YY_BREAK case 12: YY_RULE_SETUP -#line 152 "program_lexer.l" +#line 153 "program_lexer.l" { return_opcode(require_ARB_fp, VECTOR_OP, ABS, ZERO_ONE); } YY_BREAK case 13: YY_RULE_SETUP -#line 153 "program_lexer.l" +#line 154 "program_lexer.l" { return_opcode( 1, BIN_OP, ADD, OFF); } YY_BREAK case 14: YY_RULE_SETUP -#line 154 "program_lexer.l" +#line 155 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, ADD, ZERO_ONE); } YY_BREAK case 15: YY_RULE_SETUP -#line 155 "program_lexer.l" +#line 156 "program_lexer.l" { return_opcode(require_ARB_vp, ARL, ARL, OFF); } YY_BREAK case 16: YY_RULE_SETUP -#line 157 "program_lexer.l" +#line 158 "program_lexer.l" { return_opcode(require_ARB_fp, TRI_OP, CMP, OFF); } YY_BREAK case 17: YY_RULE_SETUP -#line 158 "program_lexer.l" +#line 159 "program_lexer.l" { return_opcode(require_ARB_fp, TRI_OP, CMP, ZERO_ONE); } YY_BREAK case 18: YY_RULE_SETUP -#line 159 "program_lexer.l" +#line 160 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, COS, OFF); } YY_BREAK case 19: YY_RULE_SETUP -#line 160 "program_lexer.l" +#line 161 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, COS, ZERO_ONE); } YY_BREAK case 20: YY_RULE_SETUP -#line 162 "program_lexer.l" +#line 163 "program_lexer.l" { return_opcode( 1, BIN_OP, DP3, OFF); } YY_BREAK case 21: YY_RULE_SETUP -#line 163 "program_lexer.l" +#line 164 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, DP3, ZERO_ONE); } YY_BREAK case 22: YY_RULE_SETUP -#line 164 "program_lexer.l" +#line 165 "program_lexer.l" { return_opcode( 1, BIN_OP, DP4, OFF); } YY_BREAK case 23: YY_RULE_SETUP -#line 165 "program_lexer.l" +#line 166 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, DP4, ZERO_ONE); } YY_BREAK case 24: YY_RULE_SETUP -#line 166 "program_lexer.l" +#line 167 "program_lexer.l" { return_opcode( 1, BIN_OP, DPH, OFF); } YY_BREAK case 25: YY_RULE_SETUP -#line 167 "program_lexer.l" +#line 168 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, DPH, ZERO_ONE); } YY_BREAK case 26: YY_RULE_SETUP -#line 168 "program_lexer.l" +#line 169 "program_lexer.l" { return_opcode( 1, BIN_OP, DST, OFF); } YY_BREAK case 27: YY_RULE_SETUP -#line 169 "program_lexer.l" +#line 170 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, DST, ZERO_ONE); } YY_BREAK case 28: YY_RULE_SETUP -#line 171 "program_lexer.l" +#line 172 "program_lexer.l" { return_opcode( 1, SCALAR_OP, EX2, OFF); } YY_BREAK case 29: YY_RULE_SETUP -#line 172 "program_lexer.l" +#line 173 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, EX2, ZERO_ONE); } YY_BREAK case 30: YY_RULE_SETUP -#line 173 "program_lexer.l" +#line 174 "program_lexer.l" { return_opcode(require_ARB_vp, SCALAR_OP, EXP, OFF); } YY_BREAK case 31: YY_RULE_SETUP -#line 175 "program_lexer.l" +#line 176 "program_lexer.l" { return_opcode( 1, VECTOR_OP, FLR, OFF); } YY_BREAK case 32: YY_RULE_SETUP -#line 176 "program_lexer.l" +#line 177 "program_lexer.l" { return_opcode(require_ARB_fp, VECTOR_OP, FLR, ZERO_ONE); } YY_BREAK case 33: YY_RULE_SETUP -#line 177 "program_lexer.l" +#line 178 "program_lexer.l" { return_opcode( 1, VECTOR_OP, FRC, OFF); } YY_BREAK case 34: YY_RULE_SETUP -#line 178 "program_lexer.l" +#line 179 "program_lexer.l" { return_opcode(require_ARB_fp, VECTOR_OP, FRC, ZERO_ONE); } YY_BREAK case 35: YY_RULE_SETUP -#line 180 "program_lexer.l" +#line 181 "program_lexer.l" { return_opcode(require_ARB_fp, KIL, KIL, OFF); } YY_BREAK case 36: YY_RULE_SETUP -#line 182 "program_lexer.l" +#line 183 "program_lexer.l" { return_opcode( 1, VECTOR_OP, LIT, OFF); } YY_BREAK case 37: YY_RULE_SETUP -#line 183 "program_lexer.l" +#line 184 "program_lexer.l" { return_opcode(require_ARB_fp, VECTOR_OP, LIT, ZERO_ONE); } YY_BREAK case 38: YY_RULE_SETUP -#line 184 "program_lexer.l" +#line 185 "program_lexer.l" { return_opcode( 1, SCALAR_OP, LG2, OFF); } YY_BREAK case 39: YY_RULE_SETUP -#line 185 "program_lexer.l" +#line 186 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, LG2, ZERO_ONE); } YY_BREAK case 40: YY_RULE_SETUP -#line 186 "program_lexer.l" +#line 187 "program_lexer.l" { return_opcode(require_ARB_vp, SCALAR_OP, LOG, OFF); } YY_BREAK case 41: YY_RULE_SETUP -#line 187 "program_lexer.l" +#line 188 "program_lexer.l" { return_opcode(require_ARB_fp, TRI_OP, LRP, OFF); } YY_BREAK case 42: YY_RULE_SETUP -#line 188 "program_lexer.l" +#line 189 "program_lexer.l" { return_opcode(require_ARB_fp, TRI_OP, LRP, ZERO_ONE); } YY_BREAK case 43: YY_RULE_SETUP -#line 190 "program_lexer.l" +#line 191 "program_lexer.l" { return_opcode( 1, TRI_OP, MAD, OFF); } YY_BREAK case 44: YY_RULE_SETUP -#line 191 "program_lexer.l" +#line 192 "program_lexer.l" { return_opcode(require_ARB_fp, TRI_OP, MAD, ZERO_ONE); } YY_BREAK case 45: YY_RULE_SETUP -#line 192 "program_lexer.l" +#line 193 "program_lexer.l" { return_opcode( 1, BIN_OP, MAX, OFF); } YY_BREAK case 46: YY_RULE_SETUP -#line 193 "program_lexer.l" +#line 194 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, MAX, ZERO_ONE); } YY_BREAK case 47: YY_RULE_SETUP -#line 194 "program_lexer.l" +#line 195 "program_lexer.l" { return_opcode( 1, BIN_OP, MIN, OFF); } YY_BREAK case 48: YY_RULE_SETUP -#line 195 "program_lexer.l" +#line 196 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, MIN, ZERO_ONE); } YY_BREAK case 49: YY_RULE_SETUP -#line 196 "program_lexer.l" +#line 197 "program_lexer.l" { return_opcode( 1, VECTOR_OP, MOV, OFF); } YY_BREAK case 50: YY_RULE_SETUP -#line 197 "program_lexer.l" +#line 198 "program_lexer.l" { return_opcode(require_ARB_fp, VECTOR_OP, MOV, ZERO_ONE); } YY_BREAK case 51: YY_RULE_SETUP -#line 198 "program_lexer.l" +#line 199 "program_lexer.l" { return_opcode( 1, BIN_OP, MUL, OFF); } YY_BREAK case 52: YY_RULE_SETUP -#line 199 "program_lexer.l" +#line 200 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, MUL, ZERO_ONE); } YY_BREAK case 53: YY_RULE_SETUP -#line 201 "program_lexer.l" +#line 202 "program_lexer.l" { return_opcode( 1, BINSC_OP, POW, OFF); } YY_BREAK case 54: YY_RULE_SETUP -#line 202 "program_lexer.l" +#line 203 "program_lexer.l" { return_opcode(require_ARB_fp, BINSC_OP, POW, ZERO_ONE); } YY_BREAK case 55: YY_RULE_SETUP -#line 204 "program_lexer.l" +#line 205 "program_lexer.l" { return_opcode( 1, SCALAR_OP, RCP, OFF); } YY_BREAK case 56: YY_RULE_SETUP -#line 205 "program_lexer.l" +#line 206 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, RCP, ZERO_ONE); } YY_BREAK case 57: YY_RULE_SETUP -#line 206 "program_lexer.l" +#line 207 "program_lexer.l" { return_opcode( 1, SCALAR_OP, RSQ, OFF); } YY_BREAK case 58: YY_RULE_SETUP -#line 207 "program_lexer.l" +#line 208 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, RSQ, ZERO_ONE); } YY_BREAK case 59: YY_RULE_SETUP -#line 209 "program_lexer.l" +#line 210 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, SCS, OFF); } YY_BREAK case 60: YY_RULE_SETUP -#line 210 "program_lexer.l" +#line 211 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, SCS, ZERO_ONE); } YY_BREAK case 61: YY_RULE_SETUP -#line 211 "program_lexer.l" +#line 212 "program_lexer.l" { return_opcode( 1, BIN_OP, SGE, OFF); } YY_BREAK case 62: YY_RULE_SETUP -#line 212 "program_lexer.l" +#line 213 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, SGE, ZERO_ONE); } YY_BREAK case 63: YY_RULE_SETUP -#line 213 "program_lexer.l" +#line 214 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, SIN, OFF); } YY_BREAK case 64: YY_RULE_SETUP -#line 214 "program_lexer.l" +#line 215 "program_lexer.l" { return_opcode(require_ARB_fp, SCALAR_OP, SIN, ZERO_ONE); } YY_BREAK case 65: YY_RULE_SETUP -#line 215 "program_lexer.l" +#line 216 "program_lexer.l" { return_opcode( 1, BIN_OP, SLT, OFF); } YY_BREAK case 66: YY_RULE_SETUP -#line 216 "program_lexer.l" +#line 217 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, SLT, ZERO_ONE); } YY_BREAK case 67: YY_RULE_SETUP -#line 217 "program_lexer.l" +#line 218 "program_lexer.l" { return_opcode( 1, BIN_OP, SUB, OFF); } YY_BREAK case 68: YY_RULE_SETUP -#line 218 "program_lexer.l" +#line 219 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, SUB, ZERO_ONE); } YY_BREAK case 69: YY_RULE_SETUP -#line 219 "program_lexer.l" +#line 220 "program_lexer.l" { return_opcode( 1, SWZ, SWZ, OFF); } YY_BREAK case 70: YY_RULE_SETUP -#line 220 "program_lexer.l" +#line 221 "program_lexer.l" { return_opcode(require_ARB_fp, SWZ, SWZ, ZERO_ONE); } YY_BREAK case 71: YY_RULE_SETUP -#line 222 "program_lexer.l" +#line 223 "program_lexer.l" { return_opcode(require_ARB_fp, SAMPLE_OP, TEX, OFF); } YY_BREAK case 72: YY_RULE_SETUP -#line 223 "program_lexer.l" +#line 224 "program_lexer.l" { return_opcode(require_ARB_fp, SAMPLE_OP, TEX, ZERO_ONE); } YY_BREAK case 73: YY_RULE_SETUP -#line 224 "program_lexer.l" +#line 225 "program_lexer.l" { return_opcode(require_ARB_fp, SAMPLE_OP, TXB, OFF); } YY_BREAK case 74: YY_RULE_SETUP -#line 225 "program_lexer.l" +#line 226 "program_lexer.l" { return_opcode(require_ARB_fp, SAMPLE_OP, TXB, ZERO_ONE); } YY_BREAK case 75: YY_RULE_SETUP -#line 226 "program_lexer.l" +#line 227 "program_lexer.l" { return_opcode(require_ARB_fp, SAMPLE_OP, TXP, OFF); } YY_BREAK case 76: YY_RULE_SETUP -#line 227 "program_lexer.l" +#line 228 "program_lexer.l" { return_opcode(require_ARB_fp, SAMPLE_OP, TXP, ZERO_ONE); } YY_BREAK case 77: YY_RULE_SETUP -#line 229 "program_lexer.l" +#line 230 "program_lexer.l" { return_opcode( 1, BIN_OP, XPD, OFF); } YY_BREAK case 78: YY_RULE_SETUP -#line 230 "program_lexer.l" +#line 231 "program_lexer.l" { return_opcode(require_ARB_fp, BIN_OP, XPD, ZERO_ONE); } YY_BREAK case 79: YY_RULE_SETUP -#line 232 "program_lexer.l" +#line 233 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_vp, VERTEX); } YY_BREAK case 80: YY_RULE_SETUP -#line 233 "program_lexer.l" +#line 234 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp, FRAGMENT); } YY_BREAK case 81: YY_RULE_SETUP -#line 234 "program_lexer.l" +#line 235 "program_lexer.l" { return PROGRAM; } YY_BREAK case 82: YY_RULE_SETUP -#line 235 "program_lexer.l" +#line 236 "program_lexer.l" { return STATE; } YY_BREAK case 83: YY_RULE_SETUP -#line 236 "program_lexer.l" +#line 237 "program_lexer.l" { return RESULT; } YY_BREAK case 84: YY_RULE_SETUP -#line 238 "program_lexer.l" +#line 239 "program_lexer.l" { return AMBIENT; } YY_BREAK case 85: YY_RULE_SETUP -#line 239 "program_lexer.l" +#line 240 "program_lexer.l" { return ATTENUATION; } YY_BREAK case 86: YY_RULE_SETUP -#line 240 "program_lexer.l" +#line 241 "program_lexer.l" { return BACK; } YY_BREAK case 87: YY_RULE_SETUP -#line 241 "program_lexer.l" +#line 242 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, CLIP); } YY_BREAK case 88: YY_RULE_SETUP -#line 242 "program_lexer.l" +#line 243 "program_lexer.l" { return COLOR; } YY_BREAK case 89: YY_RULE_SETUP -#line 243 "program_lexer.l" +#line 244 "program_lexer.l" { return_token_or_DOT(require_ARB_fp, DEPTH); } YY_BREAK case 90: YY_RULE_SETUP -#line 244 "program_lexer.l" +#line 245 "program_lexer.l" { return DIFFUSE; } YY_BREAK case 91: YY_RULE_SETUP -#line 245 "program_lexer.l" +#line 246 "program_lexer.l" { return DIRECTION; } YY_BREAK case 92: YY_RULE_SETUP -#line 246 "program_lexer.l" +#line 247 "program_lexer.l" { return EMISSION; } YY_BREAK case 93: YY_RULE_SETUP -#line 247 "program_lexer.l" +#line 248 "program_lexer.l" { return ENV; } YY_BREAK case 94: YY_RULE_SETUP -#line 248 "program_lexer.l" +#line 249 "program_lexer.l" { return EYE; } YY_BREAK case 95: YY_RULE_SETUP -#line 249 "program_lexer.l" +#line 250 "program_lexer.l" { return FOGCOORD; } YY_BREAK case 96: YY_RULE_SETUP -#line 250 "program_lexer.l" +#line 251 "program_lexer.l" { return FOG; } YY_BREAK case 97: YY_RULE_SETUP -#line 251 "program_lexer.l" +#line 252 "program_lexer.l" { return FRONT; } YY_BREAK case 98: YY_RULE_SETUP -#line 252 "program_lexer.l" +#line 253 "program_lexer.l" { return HALF; } YY_BREAK case 99: YY_RULE_SETUP -#line 253 "program_lexer.l" +#line 254 "program_lexer.l" { return INVERSE; } YY_BREAK case 100: YY_RULE_SETUP -#line 254 "program_lexer.l" +#line 255 "program_lexer.l" { return INVTRANS; } YY_BREAK case 101: YY_RULE_SETUP -#line 255 "program_lexer.l" +#line 256 "program_lexer.l" { return LIGHT; } YY_BREAK case 102: YY_RULE_SETUP -#line 256 "program_lexer.l" +#line 257 "program_lexer.l" { return LIGHTMODEL; } YY_BREAK case 103: YY_RULE_SETUP -#line 257 "program_lexer.l" +#line 258 "program_lexer.l" { return LIGHTPROD; } YY_BREAK case 104: YY_RULE_SETUP -#line 258 "program_lexer.l" +#line 259 "program_lexer.l" { return LOCAL; } YY_BREAK case 105: YY_RULE_SETUP -#line 259 "program_lexer.l" +#line 260 "program_lexer.l" { return MATERIAL; } YY_BREAK case 106: YY_RULE_SETUP -#line 260 "program_lexer.l" +#line 261 "program_lexer.l" { return MAT_PROGRAM; } YY_BREAK case 107: YY_RULE_SETUP -#line 261 "program_lexer.l" +#line 262 "program_lexer.l" { return MATRIX; } YY_BREAK case 108: YY_RULE_SETUP -#line 262 "program_lexer.l" +#line 263 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, MATRIXINDEX); } YY_BREAK case 109: YY_RULE_SETUP -#line 263 "program_lexer.l" +#line 264 "program_lexer.l" { return MODELVIEW; } YY_BREAK case 110: YY_RULE_SETUP -#line 264 "program_lexer.l" +#line 265 "program_lexer.l" { return MVP; } YY_BREAK case 111: YY_RULE_SETUP -#line 265 "program_lexer.l" +#line 266 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, NORMAL); } YY_BREAK case 112: YY_RULE_SETUP -#line 266 "program_lexer.l" +#line 267 "program_lexer.l" { return OBJECT; } YY_BREAK case 113: YY_RULE_SETUP -#line 267 "program_lexer.l" +#line 268 "program_lexer.l" { return PALETTE; } YY_BREAK case 114: YY_RULE_SETUP -#line 268 "program_lexer.l" +#line 269 "program_lexer.l" { return PARAMS; } YY_BREAK case 115: YY_RULE_SETUP -#line 269 "program_lexer.l" +#line 270 "program_lexer.l" { return PLANE; } YY_BREAK case 116: YY_RULE_SETUP -#line 270 "program_lexer.l" +#line 271 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, POINT_TOK); } YY_BREAK case 117: YY_RULE_SETUP -#line 271 "program_lexer.l" +#line 272 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, POINTSIZE); } YY_BREAK case 118: YY_RULE_SETUP -#line 272 "program_lexer.l" +#line 273 "program_lexer.l" { return POSITION; } YY_BREAK case 119: YY_RULE_SETUP -#line 273 "program_lexer.l" +#line 274 "program_lexer.l" { return PRIMARY; } YY_BREAK case 120: YY_RULE_SETUP -#line 274 "program_lexer.l" +#line 275 "program_lexer.l" { return PROJECTION; } YY_BREAK case 121: YY_RULE_SETUP -#line 275 "program_lexer.l" +#line 276 "program_lexer.l" { return_token_or_DOT(require_ARB_fp, RANGE); } YY_BREAK case 122: YY_RULE_SETUP -#line 276 "program_lexer.l" +#line 277 "program_lexer.l" { return ROW; } YY_BREAK case 123: YY_RULE_SETUP -#line 277 "program_lexer.l" +#line 278 "program_lexer.l" { return SCENECOLOR; } YY_BREAK case 124: YY_RULE_SETUP -#line 278 "program_lexer.l" +#line 279 "program_lexer.l" { return SECONDARY; } YY_BREAK case 125: YY_RULE_SETUP -#line 279 "program_lexer.l" +#line 280 "program_lexer.l" { return SHININESS; } YY_BREAK case 126: YY_RULE_SETUP -#line 280 "program_lexer.l" +#line 281 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, SIZE_TOK); } YY_BREAK case 127: YY_RULE_SETUP -#line 281 "program_lexer.l" +#line 282 "program_lexer.l" { return SPECULAR; } YY_BREAK case 128: YY_RULE_SETUP -#line 282 "program_lexer.l" +#line 283 "program_lexer.l" { return SPOT; } YY_BREAK case 129: YY_RULE_SETUP -#line 283 "program_lexer.l" +#line 284 "program_lexer.l" { return TEXCOORD; } YY_BREAK case 130: YY_RULE_SETUP -#line 284 "program_lexer.l" +#line 285 "program_lexer.l" { return_token_or_DOT(require_ARB_fp, TEXENV); } YY_BREAK case 131: YY_RULE_SETUP -#line 285 "program_lexer.l" +#line 286 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, TEXGEN); } YY_BREAK case 132: YY_RULE_SETUP -#line 286 "program_lexer.l" +#line 287 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, TEXGEN_Q); } YY_BREAK case 133: YY_RULE_SETUP -#line 287 "program_lexer.l" +#line 288 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, TEXGEN_S); } YY_BREAK case 134: YY_RULE_SETUP -#line 288 "program_lexer.l" +#line 289 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, TEXGEN_T); } YY_BREAK case 135: YY_RULE_SETUP -#line 289 "program_lexer.l" +#line 290 "program_lexer.l" { return TEXTURE; } YY_BREAK case 136: YY_RULE_SETUP -#line 290 "program_lexer.l" +#line 291 "program_lexer.l" { return TRANSPOSE; } YY_BREAK case 137: YY_RULE_SETUP -#line 291 "program_lexer.l" +#line 292 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, VTXATTRIB); } YY_BREAK case 138: YY_RULE_SETUP -#line 292 "program_lexer.l" +#line 293 "program_lexer.l" { return_token_or_DOT(require_ARB_vp, WEIGHT); } YY_BREAK case 139: YY_RULE_SETUP -#line 294 "program_lexer.l" +#line 295 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp, TEXTURE_UNIT); } YY_BREAK case 140: YY_RULE_SETUP -#line 295 "program_lexer.l" +#line 296 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp, TEX_1D); } YY_BREAK case 141: YY_RULE_SETUP -#line 296 "program_lexer.l" +#line 297 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp, TEX_2D); } YY_BREAK case 142: YY_RULE_SETUP -#line 297 "program_lexer.l" +#line 298 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp, TEX_3D); } YY_BREAK case 143: YY_RULE_SETUP -#line 298 "program_lexer.l" +#line 299 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp, TEX_CUBE); } YY_BREAK case 144: YY_RULE_SETUP -#line 299 "program_lexer.l" +#line 300 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp && require_rect, TEX_RECT); } YY_BREAK case 145: YY_RULE_SETUP -#line 300 "program_lexer.l" +#line 301 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp && require_shadow, TEX_SHADOW1D); } YY_BREAK case 146: YY_RULE_SETUP -#line 301 "program_lexer.l" +#line 302 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp && require_shadow, TEX_SHADOW2D); } YY_BREAK case 147: YY_RULE_SETUP -#line 302 "program_lexer.l" +#line 303 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp && require_shadow && require_rect, TEX_SHADOWRECT); } YY_BREAK case 148: YY_RULE_SETUP -#line 303 "program_lexer.l" +#line 304 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp && require_texarray, TEX_ARRAY1D); } YY_BREAK case 149: YY_RULE_SETUP -#line 304 "program_lexer.l" +#line 305 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp && require_texarray, TEX_ARRAY2D); } YY_BREAK case 150: YY_RULE_SETUP -#line 305 "program_lexer.l" +#line 306 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp && require_shadow && require_texarray, TEX_ARRAYSHADOW1D); } YY_BREAK case 151: YY_RULE_SETUP -#line 306 "program_lexer.l" +#line 307 "program_lexer.l" { return_token_or_IDENTIFIER(require_ARB_fp && require_shadow && require_texarray, TEX_ARRAYSHADOW2D); } YY_BREAK case 152: YY_RULE_SETUP -#line 308 "program_lexer.l" +#line 309 "program_lexer.l" { yylval->string = strdup(yytext); return IDENTIFIER; @@ -2101,12 +2102,12 @@ YY_RULE_SETUP YY_BREAK case 153: YY_RULE_SETUP -#line 313 "program_lexer.l" +#line 314 "program_lexer.l" { return DOT_DOT; } YY_BREAK case 154: YY_RULE_SETUP -#line 315 "program_lexer.l" +#line 316 "program_lexer.l" { yylval->integer = strtol(yytext, NULL, 10); return INTEGER; @@ -2114,7 +2115,7 @@ YY_RULE_SETUP YY_BREAK case 155: YY_RULE_SETUP -#line 319 "program_lexer.l" +#line 320 "program_lexer.l" { yylval->real = strtod(yytext, NULL); return REAL; @@ -2126,7 +2127,7 @@ case 156: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 323 "program_lexer.l" +#line 324 "program_lexer.l" { yylval->real = strtod(yytext, NULL); return REAL; @@ -2134,7 +2135,7 @@ YY_RULE_SETUP YY_BREAK case 157: YY_RULE_SETUP -#line 327 "program_lexer.l" +#line 328 "program_lexer.l" { yylval->real = strtod(yytext, NULL); return REAL; @@ -2142,7 +2143,7 @@ YY_RULE_SETUP YY_BREAK case 158: YY_RULE_SETUP -#line 331 "program_lexer.l" +#line 332 "program_lexer.l" { yylval->real = strtod(yytext, NULL); return REAL; @@ -2150,7 +2151,7 @@ YY_RULE_SETUP YY_BREAK case 159: YY_RULE_SETUP -#line 336 "program_lexer.l" +#line 337 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_NOOP; yylval->swiz_mask.mask = WRITEMASK_XYZW; @@ -2159,7 +2160,7 @@ YY_RULE_SETUP YY_BREAK case 160: YY_RULE_SETUP -#line 342 "program_lexer.l" +#line 343 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_XY @@ -2169,7 +2170,7 @@ YY_RULE_SETUP YY_BREAK case 161: YY_RULE_SETUP -#line 348 "program_lexer.l" +#line 349 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_XZW; @@ -2178,7 +2179,7 @@ YY_RULE_SETUP YY_BREAK case 162: YY_RULE_SETUP -#line 353 "program_lexer.l" +#line 354 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_YZW; @@ -2187,7 +2188,7 @@ YY_RULE_SETUP YY_BREAK case 163: YY_RULE_SETUP -#line 359 "program_lexer.l" +#line 360 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_X @@ -2197,7 +2198,7 @@ YY_RULE_SETUP YY_BREAK case 164: YY_RULE_SETUP -#line 365 "program_lexer.l" +#line 366 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_Y @@ -2207,7 +2208,7 @@ YY_RULE_SETUP YY_BREAK case 165: YY_RULE_SETUP -#line 371 "program_lexer.l" +#line 372 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_ZW; @@ -2216,7 +2217,7 @@ YY_RULE_SETUP YY_BREAK case 166: YY_RULE_SETUP -#line 377 "program_lexer.l" +#line 378 "program_lexer.l" { const unsigned s = swiz_from_char(yytext[1]); yylval->swiz_mask.swizzle = MAKE_SWIZZLE4(s, s, s, s); @@ -2226,7 +2227,7 @@ YY_RULE_SETUP YY_BREAK case 167: YY_RULE_SETUP -#line 384 "program_lexer.l" +#line 385 "program_lexer.l" { yylval->swiz_mask.swizzle = MAKE_SWIZZLE4(swiz_from_char(yytext[1]), swiz_from_char(yytext[2]), @@ -2238,7 +2239,7 @@ YY_RULE_SETUP YY_BREAK case 168: YY_RULE_SETUP -#line 393 "program_lexer.l" +#line 394 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_NOOP; yylval->swiz_mask.mask = WRITEMASK_XYZW; @@ -2247,7 +2248,7 @@ YY_RULE_SETUP YY_BREAK case 169: YY_RULE_SETUP -#line 399 "program_lexer.l" +#line 400 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_XY @@ -2257,7 +2258,7 @@ YY_RULE_SETUP YY_BREAK case 170: YY_RULE_SETUP -#line 405 "program_lexer.l" +#line 406 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_XZW; @@ -2266,7 +2267,7 @@ YY_RULE_SETUP YY_BREAK case 171: YY_RULE_SETUP -#line 410 "program_lexer.l" +#line 411 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_YZW; @@ -2275,7 +2276,7 @@ YY_RULE_SETUP YY_BREAK case 172: YY_RULE_SETUP -#line 416 "program_lexer.l" +#line 417 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_X @@ -2285,7 +2286,7 @@ YY_RULE_SETUP YY_BREAK case 173: YY_RULE_SETUP -#line 422 "program_lexer.l" +#line 423 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_Y @@ -2295,7 +2296,7 @@ YY_RULE_SETUP YY_BREAK case 174: YY_RULE_SETUP -#line 428 "program_lexer.l" +#line 429 "program_lexer.l" { yylval->swiz_mask.swizzle = SWIZZLE_INVAL; yylval->swiz_mask.mask = WRITEMASK_ZW; @@ -2304,7 +2305,7 @@ YY_RULE_SETUP YY_BREAK case 175: YY_RULE_SETUP -#line 434 "program_lexer.l" +#line 435 "program_lexer.l" { const unsigned s = swiz_from_char(yytext[1]); yylval->swiz_mask.swizzle = MAKE_SWIZZLE4(s, s, s, s); @@ -2314,7 +2315,7 @@ YY_RULE_SETUP YY_BREAK case 176: YY_RULE_SETUP -#line 442 "program_lexer.l" +#line 443 "program_lexer.l" { if (require_ARB_vp) { return TEXGEN_R; @@ -2328,7 +2329,7 @@ YY_RULE_SETUP YY_BREAK case 177: YY_RULE_SETUP -#line 453 "program_lexer.l" +#line 454 "program_lexer.l" { yylval->swiz_mask.swizzle = MAKE_SWIZZLE4(swiz_from_char(yytext[1]), swiz_from_char(yytext[2]), @@ -2340,13 +2341,13 @@ YY_RULE_SETUP YY_BREAK case 178: YY_RULE_SETUP -#line 462 "program_lexer.l" +#line 463 "program_lexer.l" { return DOT; } YY_BREAK case 179: /* rule 179 can match eol */ YY_RULE_SETUP -#line 464 "program_lexer.l" +#line 465 "program_lexer.l" { yylloc->first_line++; yylloc->first_column = 1; @@ -2357,7 +2358,7 @@ YY_RULE_SETUP YY_BREAK case 180: YY_RULE_SETUP -#line 471 "program_lexer.l" +#line 472 "program_lexer.l" /* eat whitespace */ ; YY_BREAK case 181: @@ -2365,20 +2366,20 @@ case 181: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 472 "program_lexer.l" +#line 473 "program_lexer.l" /* eat comments */ ; YY_BREAK case 182: YY_RULE_SETUP -#line 473 "program_lexer.l" +#line 474 "program_lexer.l" { return yytext[0]; } YY_BREAK case 183: YY_RULE_SETUP -#line 474 "program_lexer.l" +#line 475 "program_lexer.l" ECHO; YY_BREAK -#line 2382 "lex.yy.c" +#line 2383 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -3553,7 +3554,7 @@ void yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 474 "program_lexer.l" +#line 475 "program_lexer.l" diff --git a/src/mesa/shader/program_lexer.l b/src/mesa/shader/program_lexer.l index bc209435ef..d240217481 100644 --- a/src/mesa/shader/program_lexer.l +++ b/src/mesa/shader/program_lexer.l @@ -23,6 +23,7 @@ */ #include "main/glheader.h" #include "prog_instruction.h" +#include "prog_statevars.h" #include "program_parser.h" #include "program_parse.tab.h" diff --git a/src/mesa/shader/program_parse.tab.c b/src/mesa/shader/program_parse.tab.c index 4d99e45fbe..9f2d4de90f 100644 --- a/src/mesa/shader/program_parse.tab.c +++ b/src/mesa/shader/program_parse.tab.c @@ -324,7 +324,7 @@ typedef union YYSTYPE unsigned attrib; int integer; float real; - unsigned state[5]; + gl_state_index state[STATE_LENGTH]; int negate; struct asm_vector vector; gl_inst_opcode opcode; @@ -4946,8 +4946,7 @@ int add_state_reference(struct gl_program_parameter_list *param_list, name = _mesa_program_state_string(tokens); index = _mesa_add_parameter(param_list, PROGRAM_STATE_VAR, name, - size, GL_NONE, - NULL, (gl_state_index *) tokens, 0x0); + size, GL_NONE, NULL, tokens, 0x0); param_list->StateFlags |= _mesa_program_state_flags(tokens); /* free name string here since we duplicated it in add_parameter() */ diff --git a/src/mesa/shader/program_parse.tab.h b/src/mesa/shader/program_parse.tab.h index b0f757ffa0..dabb3bf1a3 100644 --- a/src/mesa/shader/program_parse.tab.h +++ b/src/mesa/shader/program_parse.tab.h @@ -166,7 +166,7 @@ typedef union YYSTYPE unsigned attrib; int integer; float real; - unsigned state[5]; + gl_state_index state[STATE_LENGTH]; int negate; struct asm_vector vector; gl_inst_opcode opcode; diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y index 2f5d3037f4..06c1915fbe 100644 --- a/src/mesa/shader/program_parse.y +++ b/src/mesa/shader/program_parse.y @@ -117,7 +117,7 @@ static struct asm_instruction *asm_instruction_ctor(gl_inst_opcode op, unsigned attrib; int integer; float real; - unsigned state[5]; + gl_state_index state[STATE_LENGTH]; int negate; struct asm_vector vector; gl_inst_opcode opcode; @@ -2077,8 +2077,7 @@ int add_state_reference(struct gl_program_parameter_list *param_list, name = _mesa_program_state_string(tokens); index = _mesa_add_parameter(param_list, PROGRAM_STATE_VAR, name, - size, GL_NONE, - NULL, (gl_state_index *) tokens, 0x0); + size, GL_NONE, NULL, tokens, 0x0); param_list->StateFlags |= _mesa_program_state_flags(tokens); /* free name string here since we duplicated it in add_parameter() */ -- cgit v1.2.3 From b13a553dd419cc6997725d4bce956daa7eb64806 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Fri, 4 Sep 2009 14:03:51 -0400 Subject: r600: fix Elts handling Patch from taiu on IRC. fixes bug 23585 --- src/mesa/drivers/dri/r600/r600_cmdbuf.c | 12 ++++++++++-- src/mesa/drivers/dri/r600/r700_render.c | 7 ++++++- 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_cmdbuf.c b/src/mesa/drivers/dri/r600/r600_cmdbuf.c index 65930ff589..3cfe03a45f 100644 --- a/src/mesa/drivers/dri/r600/r600_cmdbuf.c +++ b/src/mesa/drivers/dri/r600/r600_cmdbuf.c @@ -192,9 +192,9 @@ static int r600_cs_begin(struct radeon_cs *cs, if (cs->cdw + ndw > cs->ndw) { uint32_t tmp, *ptr; - int num = (ndw > 0x3FF) ? ndw : 0x3FF; + int num = (ndw > 0x400) ? ndw : 0x400; - tmp = (cs->cdw + 1 + num) & (~num); + tmp = (cs->cdw + num + 0x3FF) & (~0x3FF); ptr = (uint32_t*)realloc(cs->packets, 4 * tmp); if (ptr == NULL) { return -ENOMEM; @@ -229,6 +229,14 @@ static int r600_cs_end(struct radeon_cs *cs, return -EPIPE; } + if (cs->cdw > cs->ndw) { + fprintf(stderr, "CS section overflow at (%s,%s,%d) cdw %d ndw %d\n", + cs->section_file, cs->section_func, cs->section_line,cs->cdw,cs->ndw); + fprintf(stderr, "CS section end at (%s,%s,%d)\n", + file, func, line); + assert(0); + } + return 0; } diff --git a/src/mesa/drivers/dri/r600/r700_render.c b/src/mesa/drivers/dri/r600/r700_render.c index e1bbbfef35..3566bf3ca7 100644 --- a/src/mesa/drivers/dri/r600/r700_render.c +++ b/src/mesa/drivers/dri/r600/r700_render.c @@ -257,6 +257,8 @@ static void r700RunRenderPrimitive(GLcontext * ctx, int start, int end, int prim uint32_t vgt_index_type = 0; uint32_t vgt_primitive_type = 0; uint32_t vgt_num_indices = 0; + TNLcontext *tnl = TNL_CONTEXT(ctx); + struct vertex_buffer *vb = &tnl->vb; type = r700PrimitiveType(prim); num_indices = r700NumVerts(end - start, prim); @@ -300,7 +302,10 @@ static void r700RunRenderPrimitive(GLcontext * ctx, int start, int end, int prim R600_OUT_BATCH(vgt_draw_initiator); for (i = start; i < (start + num_indices); i++) { - R600_OUT_BATCH(i); + if(vb->Elts) + R600_OUT_BATCH(vb->Elts[i]); + else + R600_OUT_BATCH(i); } END_BATCH(); COMMIT_BATCH(); -- cgit v1.2.3 From cab307ce6b32d2ffdb0eb3bb5bae93c6fb9305fb Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 15 May 2009 09:14:24 -0600 Subject: i965: rename var: s/tmp/vs_inputs/ (cherry picked from commit 840c09fc71542fdfc71edd2a2802925d467567bb) --- src/mesa/drivers/dri/i965/brw_draw_upload.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index b91b20bec6..1b8bcc14ec 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -343,7 +343,7 @@ static void brw_prepare_vertices(struct brw_context *brw) { GLcontext *ctx = &brw->intel.ctx; struct intel_context *intel = intel_context(ctx); - GLuint tmp = brw->vs.prog_data->inputs_read; + GLbitfield vs_inputs = brw->vs.prog_data->inputs_read; GLuint i; const unsigned char *ptr = NULL; GLuint interleave = 0; @@ -362,11 +362,11 @@ static void brw_prepare_vertices(struct brw_context *brw) _mesa_printf("%s %d..%d\n", __FUNCTION__, min_index, max_index); /* Accumulate the list of enabled arrays. */ - while (tmp) { - GLuint i = _mesa_ffsll(tmp)-1; + while (vs_inputs) { + GLuint i = _mesa_ffsll(vs_inputs) - 1; struct brw_vertex_element *input = &brw->vb.inputs[i]; - tmp &= ~(1<intel.ctx; struct intel_context *intel = intel_context(ctx); - GLuint tmp = brw->vs.prog_data->inputs_read; + GLbitfield vs_inputs = brw->vs.prog_data->inputs_read; struct brw_vertex_element *enabled[VERT_ATTRIB_MAX]; GLuint i; GLuint nr_enabled = 0; /* Accumulate the list of enabled arrays. */ - while (tmp) { - i = _mesa_ffsll(tmp)-1; + while (vs_inputs) { + i = _mesa_ffsll(vs_inputs) - 1; struct brw_vertex_element *input = &brw->vb.inputs[i]; - tmp &= ~(1< Date: Tue, 23 Jun 2009 19:30:25 -0700 Subject: i965: Set the max index buffer address correctly according to the docs. It's the last addressable byte, not the byte after the end of the buffer. (cherry picked from commit b72dea5441e8e9226dabf1826fa3bc129c7bc281) --- src/mesa/drivers/dri/i965/brw_draw_upload.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index 1b8bcc14ec..3ef56a0068 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -635,7 +635,7 @@ static void brw_emit_indices(struct brw_context *brw) if (index_buffer == NULL) return; - ib_size = get_size(index_buffer->type) * index_buffer->count; + ib_size = get_size(index_buffer->type) * index_buffer->count - 1; /* Emit the indexbuffer packet: */ -- cgit v1.2.3 From 7e26bdb849b75f4aeb69cf8b1fdffbc461265490 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Aug 2009 14:46:18 -0700 Subject: i965: Calculate enabled[] and nr_enabled once and re-use the values. The code duplication bothered me. (cherry picked from commit 9b9cb30d128fc5f1ba77287696ecd508e640efde) --- src/mesa/drivers/dri/i965/brw_context.h | 3 ++ src/mesa/drivers/dri/i965/brw_draw_upload.c | 44 ++++++++++------------------- 2 files changed, 18 insertions(+), 29 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 577497bf6b..e52fc3f374 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -477,6 +477,9 @@ struct brw_context struct { struct brw_vertex_element inputs[VERT_ATTRIB_MAX]; + struct brw_vertex_element *enabled[VERT_ATTRIB_MAX]; + GLuint nr_enabled; + #define BRW_NR_UPLOAD_BUFS 17 #define BRW_UPLOAD_INIT_SIZE (128*1024) diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index 3ef56a0068..c1fe85908b 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -350,9 +350,6 @@ static void brw_prepare_vertices(struct brw_context *brw) unsigned int min_index = brw->vb.min_index; unsigned int max_index = brw->vb.max_index; - struct brw_vertex_element *enabled[VERT_ATTRIB_MAX]; - GLuint nr_enabled = 0; - struct brw_vertex_element *upload[VERT_ATTRIB_MAX]; GLuint nr_uploads = 0; @@ -362,12 +359,13 @@ static void brw_prepare_vertices(struct brw_context *brw) _mesa_printf("%s %d..%d\n", __FUNCTION__, min_index, max_index); /* Accumulate the list of enabled arrays. */ + brw->vb.nr_enabled = 0; while (vs_inputs) { GLuint i = _mesa_ffsll(vs_inputs) - 1; struct brw_vertex_element *input = &brw->vb.inputs[i]; vs_inputs &= ~(1 << i); - enabled[nr_enabled++] = input; + brw->vb.enabled[brw->vb.nr_enabled++] = input; } /* XXX: In the rare cases where this happens we fallback all @@ -376,13 +374,13 @@ static void brw_prepare_vertices(struct brw_context *brw) * cases with > 17 vertex attributes enabled, so it probably * isn't an issue at this point. */ - if (nr_enabled >= BRW_VEP_MAX) { + if (brw->vb.nr_enabled >= BRW_VEP_MAX) { intel->Fallback = 1; return; } - for (i = 0; i < nr_enabled; i++) { - struct brw_vertex_element *input = enabled[i]; + for (i = 0; i < brw->vb.nr_enabled; i++) { + struct brw_vertex_element *input = brw->vb.enabled[i]; input->element_size = get_size(input->glarray->Type) * input->glarray->Size; input->count = input->glarray->StrideB ? max_index + 1 - min_index : 1; @@ -466,8 +464,8 @@ static void brw_prepare_vertices(struct brw_context *brw) brw_prepare_query_begin(brw); - for (i = 0; i < nr_enabled; i++) { - struct brw_vertex_element *input = enabled[i]; + for (i = 0; i < brw->vb.nr_enabled; i++) { + struct brw_vertex_element *input = brw->vb.enabled[i]; brw_add_validated_bo(brw, input->bo); } @@ -477,19 +475,7 @@ static void brw_emit_vertices(struct brw_context *brw) { GLcontext *ctx = &brw->intel.ctx; struct intel_context *intel = intel_context(ctx); - GLbitfield vs_inputs = brw->vs.prog_data->inputs_read; - struct brw_vertex_element *enabled[VERT_ATTRIB_MAX]; GLuint i; - GLuint nr_enabled = 0; - - /* Accumulate the list of enabled arrays. */ - while (vs_inputs) { - i = _mesa_ffsll(vs_inputs) - 1; - struct brw_vertex_element *input = &brw->vb.inputs[i]; - - vs_inputs &= ~(1 << i); - enabled[nr_enabled++] = input; - } brw_emit_query_begin(brw); @@ -499,12 +485,12 @@ static void brw_emit_vertices(struct brw_context *brw) * are interleaved or from the same VBO. TBD if this makes a * performance difference. */ - BEGIN_BATCH(1 + nr_enabled * 4, IGNORE_CLIPRECTS); + BEGIN_BATCH(1 + brw->vb.nr_enabled * 4, IGNORE_CLIPRECTS); OUT_BATCH((CMD_VERTEX_BUFFER << 16) | - ((1 + nr_enabled * 4) - 2)); + ((1 + brw->vb.nr_enabled * 4) - 2)); - for (i = 0; i < nr_enabled; i++) { - struct brw_vertex_element *input = enabled[i]; + for (i = 0; i < brw->vb.nr_enabled; i++) { + struct brw_vertex_element *input = brw->vb.enabled[i]; OUT_BATCH((i << BRW_VB0_INDEX_SHIFT) | BRW_VB0_ACCESS_VERTEXDATA | @@ -517,10 +503,10 @@ static void brw_emit_vertices(struct brw_context *brw) } ADVANCE_BATCH(); - BEGIN_BATCH(1 + nr_enabled * 2, IGNORE_CLIPRECTS); - OUT_BATCH((CMD_VERTEX_ELEMENT << 16) | ((1 + nr_enabled * 2) - 2)); - for (i = 0; i < nr_enabled; i++) { - struct brw_vertex_element *input = enabled[i]; + BEGIN_BATCH(1 + brw->vb.nr_enabled * 2, IGNORE_CLIPRECTS); + OUT_BATCH((CMD_VERTEX_ELEMENT << 16) | ((1 + brw->vb.nr_enabled * 2) - 2)); + for (i = 0; i < brw->vb.nr_enabled; i++) { + struct brw_vertex_element *input = brw->vb.enabled[i]; uint32_t format = get_surface_type(input->glarray->Type, input->glarray->Size, input->glarray->Format, -- cgit v1.2.3 From 9eca0e5350377148976e0d1200f98bd20ac28197 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 30 Jul 2009 13:40:29 -0700 Subject: i965: Don't emit bad packets when no VBs are referenced. It appears that sometimes Mesa (and I suppose a VS could as well) emits a program which references no vertex data, and thus we end up with nr_enabled == 0 even though some VBs are enabled. We'd end up emitting VB/VE packet headers of 0xffffffff in that case, leading to GPU hangs. Bug #22945 (wine with an uncompiled VS) (cherry picked from commit d1fbfd0f962347e4153db3852292d44de5aea863) --- src/mesa/drivers/dri/i965/brw_draw_upload.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index c1fe85908b..e7a87b6e09 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -479,6 +479,28 @@ static void brw_emit_vertices(struct brw_context *brw) brw_emit_query_begin(brw); + /* If the VS doesn't read any inputs (calculating vertex position from + * a state variable for some reason, for example), emit a single pad + * VERTEX_ELEMENT struct and bail. + * + * The stale VB state stays in place, but they don't do anything unless + * a VE loads from them. + */ + if (brw->vb.nr_enabled == 0) { + BEGIN_BATCH(3, IGNORE_CLIPRECTS); + OUT_BATCH((CMD_VERTEX_ELEMENT << 16) | 1); + OUT_BATCH((0 << BRW_VE0_INDEX_SHIFT) | + BRW_VE0_VALID | + (BRW_SURFACEFORMAT_R32G32B32A32_FLOAT << BRW_VE0_FORMAT_SHIFT) | + (0 << BRW_VE0_SRC_OFFSET_SHIFT)); + OUT_BATCH((BRW_VE1_COMPONENT_STORE_0 << BRW_VE1_COMPONENT_0_SHIFT) | + (BRW_VE1_COMPONENT_STORE_0 << BRW_VE1_COMPONENT_1_SHIFT) | + (BRW_VE1_COMPONENT_STORE_0 << BRW_VE1_COMPONENT_2_SHIFT) | + (BRW_VE1_COMPONENT_STORE_1_FLT << BRW_VE1_COMPONENT_3_SHIFT)); + ADVANCE_BATCH(); + return; + } + /* Now emit VB and VEP state packets. * * This still defines a hardware VB for each input, even if they -- cgit v1.2.3 From 456a16491bc757af6ba9a98e5706a78f748e9a79 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Aug 2009 15:24:02 -0700 Subject: i965: Make sure the VS URB size is big enough to fit a VF VUE. This fix is just from code and docs inspection, but it may fix hangs on some applications. (cherry picked from commit e93848e595176ae0bad3bfe64e0ca63fd089bb72) --- src/mesa/drivers/dri/i965/brw_vs_emit.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index b69616d6e5..6792c3a34e 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -68,6 +68,7 @@ static void release_tmps( struct brw_vs_compile *c ) static void brw_vs_alloc_regs( struct brw_vs_compile *c ) { GLuint i, reg = 0, mrf; + int attributes_in_vue; #if 0 if (c->vp->program.Base.Parameters->NumParameters >= 6) @@ -201,7 +202,13 @@ static void brw_vs_alloc_regs( struct brw_vs_compile *c ) */ c->prog_data.urb_read_length = (c->nr_inputs + 1) / 2; - c->prog_data.urb_entry_size = (c->nr_outputs + 2 + 3) / 4; + /* The VS VUEs are shared by VF (outputting our inputs) and VS, so size + * them to fit the biggest thing they need to. + */ + attributes_in_vue = MAX2(c->nr_outputs, c->nr_inputs); + + c->prog_data.urb_entry_size = (attributes_in_vue + 2 + 3) / 4; + c->prog_data.total_grf = reg; if (INTEL_DEBUG & DEBUG_VS) { -- cgit v1.2.3 From 217af32c2d6afab5e1907cc16fb4b6feb982abe7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Aug 2009 17:12:43 -0700 Subject: i965: Even if no VS inputs are set, still load some amount of URB as required. See comment on Vertex URB Entry Read Length for VS_STATE. This, combined with the previous three commits, fixes #22945. (cherry picked from commit e340d4f9866db4bae391288e83a630a310b0dd2b) --- src/mesa/drivers/dri/i965/brw_vs_emit.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index 6792c3a34e..b95079a5d1 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -124,6 +124,11 @@ static void brw_vs_alloc_regs( struct brw_vs_compile *c ) reg++; } } + /* If there are no inputs, we'll still be reading one attribute's worth + * because it's required -- see urb_read_length setting. + */ + if (c->nr_inputs == 0) + reg++; /* Allocate outputs: TODO: could organize the non-position outputs * to go straight into message regs. @@ -201,6 +206,12 @@ static void brw_vs_alloc_regs( struct brw_vs_compile *c ) * vertex urb, so is half the amount: */ c->prog_data.urb_read_length = (c->nr_inputs + 1) / 2; + /* Setting this field to 0 leads to undefined behavior according to the + * the VS_STATE docs. Our VUEs will always have at least one attribute + * sitting in them, even if it's padding. + */ + if (c->prog_data.urb_read_length == 0) + c->prog_data.urb_read_length = 1; /* The VS VUEs are shared by VF (outputting our inputs) and VS, so size * them to fit the biggest thing they need to. -- cgit v1.2.3 From 63b3fa2bcecc75a116ce651da435d205ccd43584 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Aug 2009 17:55:14 -0700 Subject: i965: Assert that the offset in the VBO is below the VBO size. This avoids sending a bad buffer address to the GPU due to programmer error, and is permitted by the ARB_vbo spec. Note that we still have the opportunity to dereference past the end of the GPU, because we aren't clipping to a correct _MaxElement, but that appears to be harder than it should be. This gets us the 90% solution. Bug #19911. (cherry picked from commit d7430d942f6c7950a92367aeb13b80cf76ccad78) --- src/mesa/drivers/dri/i965/brw_draw_upload.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index e7a87b6e09..05079c043a 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -396,6 +396,20 @@ static void brw_prepare_vertices(struct brw_context *brw) dri_bo_reference(input->bo); input->offset = (unsigned long)input->glarray->Ptr; input->stride = input->glarray->StrideB; + + /* This is a common place to reach if the user mistakenly supplies + * a pointer in place of a VBO offset. If we just let it go through, + * we may end up dereferencing a pointer beyond the bounds of the + * GTT. We would hope that the VBO's max_index would save us, but + * Mesa appears to hand us min/max values not clipped to the + * array object's _MaxElement, and _MaxElement frequently appears + * to be wrong anyway. + * + * The VBO spec allows application termination in this case, and it's + * probably a service to the poor programmer to do so rather than + * trying to just not render. + */ + assert(input->offset < input->bo->size); } else { if (input->bo != NULL) { /* Already-uploaded vertex data is present from a previous -- cgit v1.2.3 From f396263651b867be39800bfd274b1be3d78ef60f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 4 Aug 2009 12:39:22 -0700 Subject: i965: Fix RECT shadow sampling by not losing the other texcoords. Bug #20821 (cherry picked from commit 191e028de20b2f954621b652aa77b06d0e93652a) --- src/mesa/drivers/dri/i965/brw_wm_fp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm_fp.c b/src/mesa/drivers/dri/i965/brw_wm_fp.c index 49aad281d7..8cf3a1fd13 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_fp.c +++ b/src/mesa/drivers/dri/i965/brw_wm_fp.c @@ -705,7 +705,11 @@ static void precalc_tex( struct brw_wm_compile *c, tmpcoord, 0, inst->SrcReg[0], - scale, + src_swizzle(scale, + SWIZZLE_X, + SWIZZLE_Y, + SWIZZLE_ONE, + SWIZZLE_ONE), src_undef()); coord = src_reg_from_dst(tmpcoord); -- cgit v1.2.3 From 83e6c67363d77d89ab4b6e2e202c8634d582c907 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 4 Aug 2009 13:42:30 -0700 Subject: i965: Spell "conditional" correctly. --- src/mesa/drivers/dri/i965/brw_eu.c | 2 +- src/mesa/drivers/dri/i965/brw_eu_emit.c | 26 +++++++++++++------------- src/mesa/drivers/dri/i965/brw_structs.h | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_eu.c b/src/mesa/drivers/dri/i965/brw_eu.c index c53efba599..1df561386e 100644 --- a/src/mesa/drivers/dri/i965/brw_eu.c +++ b/src/mesa/drivers/dri/i965/brw_eu.c @@ -62,7 +62,7 @@ void brw_set_predicate_control( struct brw_compile *p, GLuint pc ) void brw_set_conditionalmod( struct brw_compile *p, GLuint conditional ) { - p->current->header.destreg__conditonalmod = conditional; + p->current->header.destreg__conditionalmod = conditional; } void brw_set_access_mode( struct brw_compile *p, GLuint access_mode ) diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 2a147fb8c3..48243e1574 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -377,8 +377,8 @@ static struct brw_instruction *next_insn( struct brw_compile *p, /* Reset this one-shot flag: */ - if (p->current->header.destreg__conditonalmod) { - p->current->header.destreg__conditonalmod = 0; + if (p->current->header.destreg__conditionalmod) { + p->current->header.destreg__conditionalmod = 0; p->current->header.predicate_control = BRW_PREDICATE_NORMAL; } @@ -746,7 +746,7 @@ void brw_CMP(struct brw_compile *p, { struct brw_instruction *insn = next_insn(p, BRW_OPCODE_CMP); - insn->header.destreg__conditonalmod = conditional; + insn->header.destreg__conditionalmod = conditional; brw_set_dest(insn, dest); brw_set_src0(insn, src0); brw_set_src1(insn, src1); @@ -790,7 +790,7 @@ void brw_math( struct brw_compile *p, * instructions. */ insn->header.predicate_control = 0; - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; brw_set_dest(insn, dest); brw_set_src0(insn, src); @@ -826,7 +826,7 @@ void brw_math_16( struct brw_compile *p, brw_set_compression_control(p, BRW_COMPRESSION_NONE); insn = next_insn(p, BRW_OPCODE_SEND); - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; brw_set_dest(insn, dest); brw_set_src0(insn, src); @@ -842,7 +842,7 @@ void brw_math_16( struct brw_compile *p, */ insn = next_insn(p, BRW_OPCODE_SEND); insn->header.compression_control = BRW_COMPRESSION_2NDHALF; - insn->header.destreg__conditonalmod = msg_reg_nr+1; + insn->header.destreg__conditionalmod = msg_reg_nr+1; brw_set_dest(insn, offset(dest,1)); brw_set_src0(insn, src); @@ -888,7 +888,7 @@ void brw_dp_WRITE_16( struct brw_compile *p, insn->header.predicate_control = 0; /* XXX */ insn->header.compression_control = BRW_COMPRESSION_NONE; - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; brw_set_dest(insn, dest); brw_set_src0(insn, src); @@ -933,7 +933,7 @@ void brw_dp_READ_16( struct brw_compile *p, insn->header.predicate_control = 0; /* XXX */ insn->header.compression_control = BRW_COMPRESSION_NONE; - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; brw_set_dest(insn, dest); /* UW? */ brw_set_src0(insn, retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW)); @@ -986,7 +986,7 @@ void brw_dp_READ_4( struct brw_compile *p, insn->header.predicate_control = BRW_PREDICATE_NONE; insn->header.compression_control = BRW_COMPRESSION_NONE; - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; insn->header.mask_control = BRW_MASK_DISABLE; /* cast dest to a uword[8] vector */ @@ -1059,7 +1059,7 @@ void brw_dp_READ_4_vs(struct brw_compile *p, insn->header.predicate_control = BRW_PREDICATE_NONE; insn->header.compression_control = BRW_COMPRESSION_NONE; - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; insn->header.mask_control = BRW_MASK_DISABLE; /*insn->header.access_mode = BRW_ALIGN_16;*/ @@ -1092,7 +1092,7 @@ void brw_fb_WRITE(struct brw_compile *p, insn->header.predicate_control = 0; /* XXX */ insn->header.compression_control = BRW_COMPRESSION_NONE; - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; brw_set_dest(insn, dest); brw_set_src0(insn, src0); @@ -1187,7 +1187,7 @@ void brw_SAMPLE(struct brw_compile *p, insn->header.predicate_control = 0; /* XXX */ insn->header.compression_control = BRW_COMPRESSION_NONE; - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; brw_set_dest(insn, dest); brw_set_src0(insn, src0); @@ -1238,7 +1238,7 @@ void brw_urb_WRITE(struct brw_compile *p, brw_set_src0(insn, src0); brw_set_src1(insn, brw_imm_d(0)); - insn->header.destreg__conditonalmod = msg_reg_nr; + insn->header.destreg__conditionalmod = msg_reg_nr; brw_set_urb_message(insn, allocate, diff --git a/src/mesa/drivers/dri/i965/brw_structs.h b/src/mesa/drivers/dri/i965/brw_structs.h index 89e2981203..6011a4aa0a 100644 --- a/src/mesa/drivers/dri/i965/brw_structs.h +++ b/src/mesa/drivers/dri/i965/brw_structs.h @@ -1168,7 +1168,7 @@ struct brw_instruction GLuint predicate_control:4; GLuint predicate_inverse:1; GLuint execution_size:3; - GLuint destreg__conditonalmod:4; /* destreg - send, conditionalmod - others */ + GLuint destreg__conditionalmod:4; /* destreg - send, conditionalmod - others */ GLuint pad0:2; GLuint debug_control:1; GLuint saturate:1; -- cgit v1.2.3 From 3d6c73513c5918a3f833ebf402803946b78828b8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 4 Aug 2009 14:13:27 -0700 Subject: i965: Emit conditional code updates as required for GLSL VS if statements. Previously, we'd be branching based on whatever condition code happened to be laying around. (cherry picked from commit 7007f8b352763af89805f287153cb7972bff0523) --- src/mesa/drivers/dri/i965/brw_vs_emit.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index b95079a5d1..4887cdea5b 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -1448,6 +1448,19 @@ void brw_vs_emit(struct brw_vs_compile *c ) "unknown"); } + /* Set the predication update on the last instruction of the native + * instruction sequence. + * + * This would be problematic if it was set on a math instruction, + * but that shouldn't be the case with the current GLSL compiler. + */ + if (inst->CondUpdate) { + struct brw_instruction *hw_insn = &p->store[p->nr_insn - 1]; + + assert(hw_insn->header.destreg__conditionalmod == 0); + hw_insn->header.destreg__conditionalmod = BRW_CONDITIONAL_NZ; + } + if ((inst->DstReg.File == PROGRAM_OUTPUT) && (inst->DstReg.Index != VERT_RESULT_HPOS) && c->output_regs[inst->DstReg.Index].used_in_src) { -- cgit v1.2.3 From a0b7850f1da6e367ed3380fbf0a59fa5af992546 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 18 Jun 2009 09:23:58 -0600 Subject: i965: asst clean-ups, etc in brw_vs_emit() (cherry picked from commit fd7d764514c540987549c3ea88a2d669b0f0ea58) --- src/mesa/drivers/dri/i965/brw_vs_emit.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index 4887cdea5b..7c09222281 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -1195,15 +1195,14 @@ post_vs_emit( struct brw_vs_compile *c, */ void brw_vs_emit(struct brw_vs_compile *c ) { -#define MAX_IFSN 32 +#define MAX_IF_DEPTH 32 struct brw_compile *p = &c->func; - GLuint nr_insns = c->vp->program.Base.NumInstructions; - GLuint insn, if_insn = 0; + const GLuint nr_insns = c->vp->program.Base.NumInstructions; + GLuint insn, if_depth = 0; GLuint end_offset = 0; struct brw_instruction *end_inst, *last_inst; - struct brw_instruction *if_inst[MAX_IFSN]; - struct brw_indirect stack_index = brw_indirect(0, 0); - + struct brw_instruction *if_inst[MAX_IF_DEPTH]; + const struct brw_indirect stack_index = brw_indirect(0, 0); GLuint index; GLuint file; @@ -1394,15 +1393,15 @@ void brw_vs_emit(struct brw_vs_compile *c ) emit_xpd(p, dst, args[0], args[1]); break; case OPCODE_IF: - assert(if_insn < MAX_IFSN); - if_inst[if_insn++] = brw_IF(p, BRW_EXECUTE_8); + assert(if_depth < MAX_IF_DEPTH); + if_inst[if_depth++] = brw_IF(p, BRW_EXECUTE_8); break; case OPCODE_ELSE: - if_inst[if_insn-1] = brw_ELSE(p, if_inst[if_insn-1]); + if_inst[if_depth-1] = brw_ELSE(p, if_inst[if_depth-1]); break; case OPCODE_ENDIF: - assert(if_insn > 0); - brw_ENDIF(p, if_inst[--if_insn]); + assert(if_depth > 0); + brw_ENDIF(p, if_inst[--if_depth]); break; case OPCODE_BRA: brw_set_predicate_control(p, BRW_PREDICATE_NORMAL); -- cgit v1.2.3 From 8c764d5c34548d56e912cdc5990adffb0e8fd9f7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 4 Aug 2009 18:02:31 -0700 Subject: i965: Respect CondSwizzle in OPCODE_IF. Fixes piglit glsl-vs-if-bool and progs/glsl/twoside, and will likely be useful for the looping code. Bug #18992 (cherry picked from commit 78c022acd0b37bf8b32f04313d76255255e769c1) (cherry picked from commit 63d7a2f53fb38e170f4e55f2b599e918edf2c512) --- src/mesa/drivers/dri/i965/brw_vs_emit.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index 7c09222281..72cd36a603 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -1190,6 +1190,23 @@ post_vs_emit( struct brw_vs_compile *c, brw_set_src1(end_inst, brw_imm_d(offset * 16)); } +static uint32_t +get_predicate(uint32_t swizzle) +{ + switch (swizzle) { + case SWIZZLE_XXXX: + return BRW_PREDICATE_ALIGN16_REPLICATE_X; + case SWIZZLE_YYYY: + return BRW_PREDICATE_ALIGN16_REPLICATE_Y; + case SWIZZLE_ZZZZ: + return BRW_PREDICATE_ALIGN16_REPLICATE_Z; + case SWIZZLE_WWWW: + return BRW_PREDICATE_ALIGN16_REPLICATE_W; + default: + _mesa_problem(NULL, "Unexpected predicate: 0x%08x\n", swizzle); + return BRW_PREDICATE_NORMAL; + } +} /* Emit the vertex program instructions here. */ @@ -1394,7 +1411,10 @@ void brw_vs_emit(struct brw_vs_compile *c ) break; case OPCODE_IF: assert(if_depth < MAX_IF_DEPTH); - if_inst[if_depth++] = brw_IF(p, BRW_EXECUTE_8); + if_inst[if_depth] = brw_IF(p, BRW_EXECUTE_8); + if_inst[if_depth]->header.predicate_control = + get_predicate(inst->DstReg.CondSwizzle); + if_depth++; break; case OPCODE_ELSE: if_inst[if_depth-1] = brw_ELSE(p, if_inst[if_depth-1]); -- cgit v1.2.3 From 94d3b832cc5c73544c478804531e16644483d8be Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 5 Aug 2009 20:12:15 -0700 Subject: i965: Fix source depth reg setting for FSes reading and writing to depth. For some IZ setups, we'd forget to account for the source depth register being present, so we'd both read the wrong reg, and write output depth to the wrong reg. Bug #22603. (cherry picked from commit f44916414ecd2b888c8a680d56b7467ccdff6886) --- src/mesa/drivers/dri/i965/brw_wm.c | 2 ++ src/mesa/drivers/dri/i965/brw_wm.h | 1 + src/mesa/drivers/dri/i965/brw_wm_iz.c | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 8a3b7df9c7..d4e22d5939 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -202,6 +202,7 @@ static void brw_wm_populate_key( struct brw_context *brw, /* BRW_NEW_FRAGMENT_PROGRAM */ const struct brw_fragment_program *fp = (struct brw_fragment_program *)brw->fragment_program; + GLboolean uses_depth = (fp->program.Base.InputsRead & (1 << FRAG_ATTRIB_WPOS)) != 0; GLuint lookup = 0; GLuint line_aa; GLuint i; @@ -263,6 +264,7 @@ static void brw_wm_populate_key( struct brw_context *brw, brw_wm_lookup_iz(line_aa, lookup, + uses_depth, key); diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index 295fed851b..307b5e59dd 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -286,6 +286,7 @@ void brw_wm_print_program( struct brw_wm_compile *c, void brw_wm_lookup_iz( GLuint line_aa, GLuint lookup, + GLboolean ps_uses_depth, struct brw_wm_prog_key *key ); GLboolean brw_wm_is_glsl(const struct gl_fragment_program *fp); diff --git a/src/mesa/drivers/dri/i965/brw_wm_iz.c b/src/mesa/drivers/dri/i965/brw_wm_iz.c index bd60ac9b31..7e2b1c79de 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_iz.c +++ b/src/mesa/drivers/dri/i965/brw_wm_iz.c @@ -118,6 +118,7 @@ const struct { void brw_wm_lookup_iz( GLuint line_aa, GLuint lookup, + GLboolean ps_uses_depth, struct brw_wm_prog_key *key ) { GLuint reg = 2; @@ -127,7 +128,7 @@ void brw_wm_lookup_iz( GLuint line_aa, if (lookup & IZ_PS_COMPUTES_DEPTH_BIT) key->computes_depth = 1; - if (wm_iz_table[lookup].sd_present) { + if (wm_iz_table[lookup].sd_present || ps_uses_depth) { key->source_depth_reg = reg; reg += 2; } -- cgit v1.2.3 From 945d34e88ab7413299227fea56acc746010bb2e9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 7 Aug 2009 18:09:31 -0700 Subject: intel: Align untiled region height to 2 according to 965 docs. This may or may not be required pre-965, but it doesn't seem unlikely, and I'd rather be safe. (cherry picked from commit b053474378633249be0e9f24010650ffb816229a) --- src/mesa/drivers/dri/intel/intel_regions.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_regions.c b/src/mesa/drivers/dri/intel/intel_regions.c index 0aa5b8c02c..b8d2dec4cb 100644 --- a/src/mesa/drivers/dri/intel/intel_regions.c +++ b/src/mesa/drivers/dri/intel/intel_regions.c @@ -114,6 +114,13 @@ intel_region_alloc(struct intel_context *intel, { dri_bo *buffer; + /* If we're untiled, we have to align to 2 rows high because the + * data port accesses 2x2 blocks even if the bottom row isn't to be + * rendered, so failure to align means we could walk off the end of the + * GTT and fault. + */ + height = ALIGN(height, 2); + if (expect_accelerated_upload) { buffer = drm_intel_bo_alloc_for_render(intel->bufmgr, "region", pitch * cpp * height, 64); -- cgit v1.2.3 From a9504edee344936ef496341174d4c2d76ee0c44d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 18 Aug 2009 18:48:54 -0700 Subject: intel: Align cubemap texture height to its padding requirements. (cherry picked from commit a70e1315846cd5e8d6f2b622821ff8262fe7179d) (cherry picked from commit 29e51c3872531366570d032147abad50f8a3c1af) --- src/mesa/drivers/dri/i965/brw_tex_layout.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c b/src/mesa/drivers/dri/i965/brw_tex_layout.c index 51a617fcb4..3ab27c26ef 100644 --- a/src/mesa/drivers/dri/i965/brw_tex_layout.c +++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c @@ -119,6 +119,16 @@ GLboolean brw_miptree_layout( struct intel_context *intel, struct intel_mipmap_t } } + /* The 965's sampler lays cachelines out according to how accesses + * in the texture surfaces run, so they may be "vertical" through + * memory. As a result, the docs say in Surface Padding Requirements: + * Sampling Engine Surfaces that two extra rows of padding are required. + * We don't know of similar requirements for pre-965, but given that + * those docs are silent on padding requirements in general, let's play + * it safe. + */ + if (mt->target == GL_TEXTURE_CUBE_MAP) + mt->total_height += 2; break; } -- cgit v1.2.3 From 1d1dfc96c48681c455e1174a60bd325b33a2784f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 16 Jul 2009 15:57:22 -0700 Subject: i965: Add missing state dependency of sf_unit on _NEW_BUFFERS. (cherry picked from commit 99174e7630676307f618c252755a20ba61ad9158) --- src/mesa/drivers/dri/i965/brw_sf_state.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_sf_state.c b/src/mesa/drivers/dri/i965/brw_sf_state.c index c99918724b..38733c8c73 100644 --- a/src/mesa/drivers/dri/i965/brw_sf_state.c +++ b/src/mesa/drivers/dri/i965/brw_sf_state.c @@ -233,7 +233,7 @@ sf_unit_create_from_key(struct brw_context *brw, struct brw_sf_unit_key *key, else if (sf.sf6.line_width <= 0x2) sf.sf6.line_width = 0; - /* _NEW_POINT */ + /* _NEW_BUFFERS */ key->render_to_fbo = brw->intel.ctx.DrawBuffer->Name != 0; if (!key->render_to_fbo) { /* Rendering to an OpenGL window */ @@ -263,6 +263,7 @@ sf_unit_create_from_key(struct brw_context *brw, struct brw_sf_unit_key *key, } /* XXX clamp max depends on AA vs. non-AA */ + /* _NEW_POINT */ sf.sf7.sprite_point = key->point_sprite; sf.sf7.point_size = CLAMP(rint(key->point_size), 1, 255) * (1<<3); sf.sf7.use_point_size_state = !key->point_attenuated; @@ -328,7 +329,8 @@ const struct brw_tracked_state brw_sf_unit = { .mesa = (_NEW_POLYGON | _NEW_LINE | _NEW_POINT | - _NEW_SCISSOR), + _NEW_SCISSOR | + _NEW_BUFFERS), .brw = BRW_NEW_URB_FENCE, .cache = (CACHE_NEW_SF_VP | CACHE_NEW_SF_PROG) -- cgit v1.2.3 From 8f7f22ca1d1594f9a4c6bdef181e24cbdd2c921c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 3 Sep 2009 09:11:44 -0700 Subject: i965: Add support for KIL_NV in brw_wm_emit.c I ran into this lack of support when writing a shader that always discarded the fragments. --- src/mesa/drivers/dri/i965/brw_wm_emit.c | 18 ++++++++++++++++++ src/mesa/drivers/dri/i965/brw_wm_pass1.c | 1 + 2 files changed, 19 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c index 268f7965c0..981864323e 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_emit.c +++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c @@ -908,6 +908,20 @@ static void emit_kil( struct brw_wm_compile *c, } } +/* KIL_NV kills the pixels that are currently executing, not based on a test + * of the arguments. + */ +static void emit_kil_nv( struct brw_wm_compile *c ) +{ + struct brw_compile *p = &c->func; + struct brw_reg r0uw = retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_UW); + + brw_push_insn_state(p); + brw_set_mask_control(p, BRW_MASK_DISABLE); + brw_NOT(p, c->emit_mask_reg, brw_mask_reg(1)); //IMASK + brw_AND(p, r0uw, c->emit_mask_reg, r0uw); + brw_pop_insn_state(p); +} static void fire_fb_write( struct brw_wm_compile *c, GLuint base_reg, @@ -1387,6 +1401,10 @@ void brw_wm_emit( struct brw_wm_compile *c ) emit_kil(c, args[0]); break; + case OPCODE_KIL_NV: + emit_kil_nv(c); + break; + default: _mesa_printf("Unsupported opcode %i (%s) in fragment shader\n", inst->opcode, inst->opcode < MAX_OPCODE ? diff --git a/src/mesa/drivers/dri/i965/brw_wm_pass1.c b/src/mesa/drivers/dri/i965/brw_wm_pass1.c index 3436a24717..9c68bfd78b 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_pass1.c +++ b/src/mesa/drivers/dri/i965/brw_wm_pass1.c @@ -270,6 +270,7 @@ void brw_wm_pass1( struct brw_wm_compile *c ) case OPCODE_DST: case WM_FRONTFACING: + case OPCODE_KIL_NV: default: break; } -- cgit v1.2.3 From a47858e45efd95d798468cfff34616c0de200032 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 3 Sep 2009 09:19:43 -0700 Subject: i965: Add support for 2 threads in the GS. This brings noop vertex shader throughput from 6.8M verts/sec to 10.4M verts/sec using GL_QUADs on my GM45. --- src/mesa/drivers/dri/i965/brw_gs_state.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_gs_state.c b/src/mesa/drivers/dri/i965/brw_gs_state.c index a761c03153..ed9d2ffe60 100644 --- a/src/mesa/drivers/dri/i965/brw_gs_state.c +++ b/src/mesa/drivers/dri/i965/brw_gs_state.c @@ -93,7 +93,10 @@ gs_unit_create_from_key(struct brw_context *brw, struct brw_gs_unit_key *key) gs.thread4.nr_urb_entries = key->nr_urb_entries; gs.thread4.urb_entry_allocation_size = key->urb_size - 1; - gs.thread4.max_threads = 0; /* Hardware requirement */ + if (key->nr_urb_entries >= 8) + gs.thread4.max_threads = 1; + else + gs.thread4.max_threads = 0; if (BRW_IS_IGDNG(brw)) gs.thread4.rendering_enable = 1; -- cgit v1.2.3 From 0612ad4f19ecde4963e55551bc316610f97282ae Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 4 Aug 2009 00:26:42 -0700 Subject: i965: Don't set the complete field when there is more VUE yet to come. This should help with things like lightsmark, but I don't have a testcase for this commit. --- src/mesa/drivers/dri/i965/brw_vs_emit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index 108e19cdbc..584fdbdfc3 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -1208,7 +1208,7 @@ static void emit_vertex_write( struct brw_vs_compile *c) MIN2(c->nr_outputs + 1 + len_vertext_header, (BRW_MAX_MRF-1)), /* msg len */ 0, /* response len */ eot, /* eot */ - 1, /* writes complete */ + eot, /* writes complete */ 0, /* urb destination offset */ BRW_URB_SWIZZLE_INTERLEAVE); -- cgit v1.2.3 From 04081a164ca6160404d87dccbfc641bfd46428e0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 19 Jun 2009 21:43:22 -0700 Subject: intel: Move intel_pixel_read.c to shared for use with i965. (cherry picked from commit dcfe0d66bfff9a55741aee298b7ffb051a48f0d3) --- src/mesa/drivers/dri/i915/intel_pixel_read.c | 307 +------------------------- src/mesa/drivers/dri/intel/intel_pixel_read.c | 306 +++++++++++++++++++++++++ 2 files changed, 307 insertions(+), 306 deletions(-) mode change 100644 => 120000 src/mesa/drivers/dri/i915/intel_pixel_read.c create mode 100644 src/mesa/drivers/dri/intel/intel_pixel_read.c (limited to 'src') diff --git a/src/mesa/drivers/dri/i915/intel_pixel_read.c b/src/mesa/drivers/dri/i915/intel_pixel_read.c deleted file mode 100644 index 56087aacd4..0000000000 --- a/src/mesa/drivers/dri/i915/intel_pixel_read.c +++ /dev/null @@ -1,306 +0,0 @@ -/************************************************************************** - * - * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. - * 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 TUNGSTEN GRAPHICS 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. - * - **************************************************************************/ - -#include "main/glheader.h" -#include "main/enums.h" -#include "main/mtypes.h" -#include "main/macros.h" -#include "main/image.h" -#include "main/bufferobj.h" -#include "swrast/swrast.h" - -#include "intel_screen.h" -#include "intel_context.h" -#include "intel_batchbuffer.h" -#include "intel_blit.h" -#include "intel_buffers.h" -#include "intel_regions.h" -#include "intel_pixel.h" -#include "intel_buffer_objects.h" - -/* For many applications, the new ability to pull the source buffers - * back out of the GTT and then do the packing/conversion operations - * in software will be as much of an improvement as trying to get the - * blitter and/or texture engine to do the work. - * - * This step is gated on private backbuffers. - * - * Obviously the frontbuffer can't be pulled back, so that is either - * an argument for blit/texture readpixels, or for blitting to a - * temporary and then pulling that back. - * - * When the destination is a pbo, however, it's not clear if it is - * ever going to be pulled to main memory (though the access param - * will be a good hint). So it sounds like we do want to be able to - * choose between blit/texture implementation on the gpu and pullback - * and cpu-based copying. - * - * Unless you can magically turn client memory into a PBO for the - * duration of this call, there will be a cpu-based copying step in - * any case. - */ - - -static GLboolean -do_texture_readpixels(GLcontext * ctx, - GLint x, GLint y, GLsizei width, GLsizei height, - GLenum format, GLenum type, - const struct gl_pixelstore_attrib *pack, - struct intel_region *dest_region) -{ -#if 0 - struct intel_context *intel = intel_context(ctx); - intelScreenPrivate *screen = intel->intelScreen; - GLint pitch = pack->RowLength ? pack->RowLength : width; - __DRIdrawablePrivate *dPriv = intel->driDrawable; - int textureFormat; - GLenum glTextureFormat; - int destFormat, depthFormat, destPitch; - drm_clip_rect_t tmp; - - if (INTEL_DEBUG & DEBUG_PIXEL) - fprintf(stderr, "%s\n", __FUNCTION__); - - - if (ctx->_ImageTransferState || - pack->SwapBytes || pack->LsbFirst || !pack->Invert) { - if (INTEL_DEBUG & DEBUG_PIXEL) - fprintf(stderr, "%s: check_color failed\n", __FUNCTION__); - return GL_FALSE; - } - - intel->vtbl.meta_texrect_source(intel, intel_readbuf_region(intel)); - - if (!intel->vtbl.meta_render_dest(intel, dest_region, type, format)) { - if (INTEL_DEBUG & DEBUG_PIXEL) - fprintf(stderr, "%s: couldn't set dest %s/%s\n", - __FUNCTION__, - _mesa_lookup_enum_by_nr(type), - _mesa_lookup_enum_by_nr(format)); - return GL_FALSE; - } - - LOCK_HARDWARE(intel); - - if (intel->driDrawable->numClipRects) { - intel->vtbl.install_meta_state(intel); - intel->vtbl.meta_no_depth_write(intel); - intel->vtbl.meta_no_stencil_write(intel); - - if (!driClipRectToFramebuffer(ctx->ReadBuffer, &x, &y, &width, &height)) { - UNLOCK_HARDWARE(intel); - SET_STATE(i830, state); - if (INTEL_DEBUG & DEBUG_PIXEL) - fprintf(stderr, "%s: cliprect failed\n", __FUNCTION__); - return GL_TRUE; - } - - y = dPriv->h - y - height; - x += dPriv->x; - y += dPriv->y; - - - /* Set the frontbuffer up as a large rectangular texture. - */ - intel->vtbl.meta_tex_rect_source(intel, src_region, textureFormat); - - - intel->vtbl.meta_texture_blend_replace(i830, glTextureFormat); - - - /* Set the 3d engine to draw into the destination region: - */ - - intel->vtbl.meta_draw_region(intel, dest_region); - intel->vtbl.meta_draw_format(intel, destFormat, depthFormat); /* ?? */ - - - /* Draw a single quad, no cliprects: - */ - intel->vtbl.meta_disable_cliprects(intel); - - intel->vtbl.draw_quad(intel, - 0, width, 0, height, - 0x00ff00ff, x, x + width, y, y + height); - - intel->vtbl.leave_meta_state(intel); - } - UNLOCK_HARDWARE(intel); - - intel_region_wait_fence(ctx, dest_region); /* required by GL */ - return GL_TRUE; -#endif - - return GL_FALSE; -} - - - - -static GLboolean -do_blit_readpixels(GLcontext * ctx, - GLint x, GLint y, GLsizei width, GLsizei height, - GLenum format, GLenum type, - const struct gl_pixelstore_attrib *pack, GLvoid * pixels) -{ - struct intel_context *intel = intel_context(ctx); - struct intel_region *src = intel_readbuf_region(intel); - struct intel_buffer_object *dst = intel_buffer_object(pack->BufferObj); - GLuint dst_offset; - GLuint rowLength; - - if (INTEL_DEBUG & DEBUG_PIXEL) - _mesa_printf("%s\n", __FUNCTION__); - - if (!src) - return GL_FALSE; - - if (dst) { - /* XXX This validation should be done by core mesa: - */ - if (!_mesa_validate_pbo_access(2, pack, width, height, 1, - format, type, pixels)) { - _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels"); - return GL_TRUE; - } - } - else { - /* PBO only for now: - */ - if (INTEL_DEBUG & DEBUG_PIXEL) - _mesa_printf("%s - not PBO\n", __FUNCTION__); - return GL_FALSE; - } - - - if (ctx->_ImageTransferState || - !intel_check_blit_format(src, format, type)) { - if (INTEL_DEBUG & DEBUG_PIXEL) - _mesa_printf("%s - bad format for blit\n", __FUNCTION__); - return GL_FALSE; - } - - if (pack->Alignment != 1 || pack->SwapBytes || pack->LsbFirst) { - if (INTEL_DEBUG & DEBUG_PIXEL) - _mesa_printf("%s: bad packing params\n", __FUNCTION__); - return GL_FALSE; - } - - if (pack->RowLength > 0) - rowLength = pack->RowLength; - else - rowLength = width; - - if (pack->Invert) { - if (INTEL_DEBUG & DEBUG_PIXEL) - _mesa_printf("%s: MESA_PACK_INVERT not done yet\n", __FUNCTION__); - return GL_FALSE; - } - else { - rowLength = -rowLength; - } - - /* XXX 64-bit cast? */ - dst_offset = (GLuint) _mesa_image_address(2, pack, pixels, width, height, - format, type, 0, 0, 0); - - - /* Although the blits go on the command buffer, need to do this and - * fire with lock held to guarentee cliprects are correct. - */ - intelFlush(&intel->ctx); - LOCK_HARDWARE(intel); - - if (intel->driDrawable->numClipRects) { - GLboolean all = (width * height * src->cpp == dst->Base.Size && - x == 0 && dst_offset == 0); - - dri_bo *dst_buffer = intel_bufferobj_buffer(intel, dst, - all ? INTEL_WRITE_FULL : - INTEL_WRITE_PART); - __DRIdrawablePrivate *dPriv = intel->driDrawable; - int nbox = dPriv->numClipRects; - drm_clip_rect_t *box = dPriv->pClipRects; - drm_clip_rect_t rect; - drm_clip_rect_t src_rect; - int i; - - src_rect.x1 = dPriv->x + x; - src_rect.y1 = dPriv->y + dPriv->h - (y + height); - src_rect.x2 = src_rect.x1 + width; - src_rect.y2 = src_rect.y1 + height; - - - - for (i = 0; i < nbox; i++) { - if (!intel_intersect_cliprects(&rect, &src_rect, &box[i])) - continue; - - intelEmitCopyBlit(intel, - src->cpp, - src->pitch, src->buffer, 0, src->tiling, - rowLength, dst_buffer, dst_offset, GL_FALSE, - rect.x1, - rect.y1, - rect.x1 - src_rect.x1, - rect.y2 - src_rect.y2, - rect.x2 - rect.x1, rect.y2 - rect.y1, - GL_COPY); - } - } - UNLOCK_HARDWARE(intel); - - if (INTEL_DEBUG & DEBUG_PIXEL) - _mesa_printf("%s - DONE\n", __FUNCTION__); - - return GL_TRUE; -} - -void -intelReadPixels(GLcontext * ctx, - GLint x, GLint y, GLsizei width, GLsizei height, - GLenum format, GLenum type, - const struct gl_pixelstore_attrib *pack, GLvoid * pixels) -{ - if (INTEL_DEBUG & DEBUG_PIXEL) - fprintf(stderr, "%s\n", __FUNCTION__); - - intelFlush(ctx); - - if (do_blit_readpixels - (ctx, x, y, width, height, format, type, pack, pixels)) - return; - - if (do_texture_readpixels - (ctx, x, y, width, height, format, type, pack, pixels)) - return; - - if (INTEL_DEBUG & DEBUG_PIXEL) - _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); - - _swrast_ReadPixels(ctx, x, y, width, height, format, type, pack, pixels); -} diff --git a/src/mesa/drivers/dri/i915/intel_pixel_read.c b/src/mesa/drivers/dri/i915/intel_pixel_read.c new file mode 120000 index 0000000000..cc4589f4d4 --- /dev/null +++ b/src/mesa/drivers/dri/i915/intel_pixel_read.c @@ -0,0 +1 @@ +../intel/intel_pixel_read.c \ No newline at end of file diff --git a/src/mesa/drivers/dri/intel/intel_pixel_read.c b/src/mesa/drivers/dri/intel/intel_pixel_read.c new file mode 100644 index 0000000000..2c57b470f5 --- /dev/null +++ b/src/mesa/drivers/dri/intel/intel_pixel_read.c @@ -0,0 +1,306 @@ +/************************************************************************** + * + * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * 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 TUNGSTEN GRAPHICS 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. + * + **************************************************************************/ + +#include "main/glheader.h" +#include "main/enums.h" +#include "main/mtypes.h" +#include "main/macros.h" +#include "main/image.h" +#include "main/bufferobj.h" +#include "swrast/swrast.h" + +#include "intel_screen.h" +#include "intel_context.h" +#include "intel_batchbuffer.h" +#include "intel_blit.h" +#include "intel_buffers.h" +#include "intel_regions.h" +#include "intel_pixel.h" +#include "intel_buffer_objects.h" + +/* For many applications, the new ability to pull the source buffers + * back out of the GTT and then do the packing/conversion operations + * in software will be as much of an improvement as trying to get the + * blitter and/or texture engine to do the work. + * + * This step is gated on private backbuffers. + * + * Obviously the frontbuffer can't be pulled back, so that is either + * an argument for blit/texture readpixels, or for blitting to a + * temporary and then pulling that back. + * + * When the destination is a pbo, however, it's not clear if it is + * ever going to be pulled to main memory (though the access param + * will be a good hint). So it sounds like we do want to be able to + * choose between blit/texture implementation on the gpu and pullback + * and cpu-based copying. + * + * Unless you can magically turn client memory into a PBO for the + * duration of this call, there will be a cpu-based copying step in + * any case. + */ + + +static GLboolean +do_texture_readpixels(GLcontext * ctx, + GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, + const struct gl_pixelstore_attrib *pack, + struct intel_region *dest_region) +{ +#if 0 + struct intel_context *intel = intel_context(ctx); + intelScreenPrivate *screen = intel->intelScreen; + GLint pitch = pack->RowLength ? pack->RowLength : width; + __DRIdrawablePrivate *dPriv = intel->driDrawable; + int textureFormat; + GLenum glTextureFormat; + int destFormat, depthFormat, destPitch; + drm_clip_rect_t tmp; + + if (INTEL_DEBUG & DEBUG_PIXEL) + fprintf(stderr, "%s\n", __FUNCTION__); + + + if (ctx->_ImageTransferState || + pack->SwapBytes || pack->LsbFirst || !pack->Invert) { + if (INTEL_DEBUG & DEBUG_PIXEL) + fprintf(stderr, "%s: check_color failed\n", __FUNCTION__); + return GL_FALSE; + } + + intel->vtbl.meta_texrect_source(intel, intel_readbuf_region(intel)); + + if (!intel->vtbl.meta_render_dest(intel, dest_region, type, format)) { + if (INTEL_DEBUG & DEBUG_PIXEL) + fprintf(stderr, "%s: couldn't set dest %s/%s\n", + __FUNCTION__, + _mesa_lookup_enum_by_nr(type), + _mesa_lookup_enum_by_nr(format)); + return GL_FALSE; + } + + LOCK_HARDWARE(intel); + + if (intel->driDrawable->numClipRects) { + intel->vtbl.install_meta_state(intel); + intel->vtbl.meta_no_depth_write(intel); + intel->vtbl.meta_no_stencil_write(intel); + + if (!driClipRectToFramebuffer(ctx->ReadBuffer, &x, &y, &width, &height)) { + UNLOCK_HARDWARE(intel); + SET_STATE(i830, state); + if (INTEL_DEBUG & DEBUG_PIXEL) + fprintf(stderr, "%s: cliprect failed\n", __FUNCTION__); + return GL_TRUE; + } + + y = dPriv->h - y - height; + x += dPriv->x; + y += dPriv->y; + + + /* Set the frontbuffer up as a large rectangular texture. + */ + intel->vtbl.meta_tex_rect_source(intel, src_region, textureFormat); + + + intel->vtbl.meta_texture_blend_replace(i830, glTextureFormat); + + + /* Set the 3d engine to draw into the destination region: + */ + + intel->vtbl.meta_draw_region(intel, dest_region); + intel->vtbl.meta_draw_format(intel, destFormat, depthFormat); /* ?? */ + + + /* Draw a single quad, no cliprects: + */ + intel->vtbl.meta_disable_cliprects(intel); + + intel->vtbl.draw_quad(intel, + 0, width, 0, height, + 0x00ff00ff, x, x + width, y, y + height); + + intel->vtbl.leave_meta_state(intel); + } + UNLOCK_HARDWARE(intel); + + intel_region_wait_fence(ctx, dest_region); /* required by GL */ + return GL_TRUE; +#endif + + return GL_FALSE; +} + + + + +static GLboolean +do_blit_readpixels(GLcontext * ctx, + GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, + const struct gl_pixelstore_attrib *pack, GLvoid * pixels) +{ + struct intel_context *intel = intel_context(ctx); + struct intel_region *src = intel_readbuf_region(intel); + struct intel_buffer_object *dst = intel_buffer_object(pack->BufferObj); + GLuint dst_offset; + GLuint rowLength; + + if (INTEL_DEBUG & DEBUG_PIXEL) + _mesa_printf("%s\n", __FUNCTION__); + + if (!src) + return GL_FALSE; + + if (dst) { + /* XXX This validation should be done by core mesa: + */ + if (!_mesa_validate_pbo_access(2, pack, width, height, 1, + format, type, pixels)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels"); + return GL_TRUE; + } + } + else { + /* PBO only for now: + */ + if (INTEL_DEBUG & DEBUG_PIXEL) + _mesa_printf("%s - not PBO\n", __FUNCTION__); + return GL_FALSE; + } + + + if (ctx->_ImageTransferState || + !intel_check_blit_format(src, format, type)) { + if (INTEL_DEBUG & DEBUG_PIXEL) + _mesa_printf("%s - bad format for blit\n", __FUNCTION__); + return GL_FALSE; + } + + if (pack->Alignment != 1 || pack->SwapBytes || pack->LsbFirst) { + if (INTEL_DEBUG & DEBUG_PIXEL) + _mesa_printf("%s: bad packing params\n", __FUNCTION__); + return GL_FALSE; + } + + if (pack->RowLength > 0) + rowLength = pack->RowLength; + else + rowLength = width; + + if (pack->Invert) { + if (INTEL_DEBUG & DEBUG_PIXEL) + _mesa_printf("%s: MESA_PACK_INVERT not done yet\n", __FUNCTION__); + return GL_FALSE; + } + else { + rowLength = -rowLength; + } + + /* XXX 64-bit cast? */ + dst_offset = (GLuint) _mesa_image_address(2, pack, pixels, width, height, + format, type, 0, 0, 0); + + + /* Although the blits go on the command buffer, need to do this and + * fire with lock held to guarentee cliprects are correct. + */ + intelFlush(&intel->ctx); + LOCK_HARDWARE(intel); + + if (intel->driDrawable->numClipRects) { + GLboolean all = (width * height * src->cpp == dst->Base.Size && + x == 0 && dst_offset == 0); + + dri_bo *dst_buffer = intel_bufferobj_buffer(intel, dst, + all ? INTEL_WRITE_FULL : + INTEL_WRITE_PART); + __DRIdrawablePrivate *dPriv = intel->driDrawable; + int nbox = dPriv->numClipRects; + drm_clip_rect_t *box = dPriv->pClipRects; + drm_clip_rect_t rect; + drm_clip_rect_t src_rect; + int i; + + src_rect.x1 = dPriv->x + x; + src_rect.y1 = dPriv->y + dPriv->h - (y + height); + src_rect.x2 = src_rect.x1 + width; + src_rect.y2 = src_rect.y1 + height; + + + + for (i = 0; i < nbox; i++) { + if (!intel_intersect_cliprects(&rect, &src_rect, &box[i])) + continue; + + intelEmitCopyBlit(intel, + src->cpp, + src->pitch, src->buffer, 0, src->tiling, + rowLength, dst_buffer, dst_offset, GL_FALSE, + rect.x1, + rect.y1, + rect.x1 - src_rect.x1, + rect.y2 - src_rect.y2, + rect.x2 - rect.x1, rect.y2 - rect.y1, + GL_COPY); + } + } + UNLOCK_HARDWARE(intel); + + if (INTEL_DEBUG & DEBUG_PIXEL) + _mesa_printf("%s - DONE\n", __FUNCTION__); + + return GL_TRUE; +} + +void +intelReadPixels(GLcontext * ctx, + GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, + const struct gl_pixelstore_attrib *pack, GLvoid * pixels) +{ + if (INTEL_DEBUG & DEBUG_PIXEL) + fprintf(stderr, "%s\n", __FUNCTION__); + + intelFlush(ctx); + + if (do_blit_readpixels + (ctx, x, y, width, height, format, type, pack, pixels)) + return; + + if (do_texture_readpixels + (ctx, x, y, width, height, format, type, pack, pixels)) + return; + + if (INTEL_DEBUG & DEBUG_PIXEL) + _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); + + _swrast_ReadPixels(ctx, x, y, width, height, format, type, pack, pixels); +} -- cgit v1.2.3 From 2855ee82c6d74066e8d9e44b17b2ce3b5782110e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 19 Jun 2009 22:03:37 -0700 Subject: intel: Update Mesa state before span setup in glReadPixels. We could have mapped the wrong set of draw buffers. Noticed while looking into a DRI2 glean ReadPixels issue. (cherry picked from commit afc981ee46791838f3cb83e11eb33938aa3efc83) --- src/mesa/drivers/dri/i965/intel_pixel_read.c | 1 + src/mesa/drivers/dri/intel/intel_pixel.c | 4 +--- src/mesa/drivers/dri/intel/intel_pixel_read.c | 11 +++++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) create mode 120000 src/mesa/drivers/dri/i965/intel_pixel_read.c (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c b/src/mesa/drivers/dri/i965/intel_pixel_read.c new file mode 120000 index 0000000000..cc4589f4d4 --- /dev/null +++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c @@ -0,0 +1 @@ +../intel/intel_pixel_read.c \ No newline at end of file diff --git a/src/mesa/drivers/dri/intel/intel_pixel.c b/src/mesa/drivers/dri/intel/intel_pixel.c index fc0ac0b79c..defb80f85d 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel.c +++ b/src/mesa/drivers/dri/intel/intel_pixel.c @@ -342,10 +342,8 @@ intelInitPixelFuncs(struct dd_function_table *functions) functions->Bitmap = intelBitmap; functions->CopyPixels = intelCopyPixels; functions->DrawPixels = intelDrawPixels; -#ifdef I915 - functions->ReadPixels = intelReadPixels; -#endif } + functions->ReadPixels = intelReadPixels; } void diff --git a/src/mesa/drivers/dri/intel/intel_pixel_read.c b/src/mesa/drivers/dri/intel/intel_pixel_read.c index 2c57b470f5..538da28c50 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_read.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_read.c @@ -291,6 +291,7 @@ intelReadPixels(GLcontext * ctx, intelFlush(ctx); +#ifdef I915 if (do_blit_readpixels (ctx, x, y, width, height, format, type, pack, pixels)) return; @@ -298,9 +299,19 @@ intelReadPixels(GLcontext * ctx, if (do_texture_readpixels (ctx, x, y, width, height, format, type, pack, pixels)) return; +#endif if (INTEL_DEBUG & DEBUG_PIXEL) _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); + /* Update Mesa state before calling down into _swrast_ReadPixels, as + * the spans code requires the computed buffer states to be up to date, + * but _swrast_ReadPixels only updates Mesa state after setting up + * the spans code. + */ + + if (ctx->NewState) + _mesa_update_state(ctx); + _swrast_ReadPixels(ctx, x, y, width, height, format, type, pack, pixels); } -- cgit v1.2.3 From cf820a045f0626718ec147ebb26e31f82ec0b4fb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 19 Jun 2009 22:12:52 -0700 Subject: intel: Also get the DRI2 front buffer when doing front buffer reading. (cherry picked from commit df70d3049a396af3601d2a1747770635a74120bb) --- src/mesa/drivers/dri/i965/Makefile | 1 + src/mesa/drivers/dri/intel/intel_buffers.c | 17 +++++++++++++++++ src/mesa/drivers/dri/intel/intel_context.c | 4 +++- src/mesa/drivers/dri/intel/intel_context.h | 8 ++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/Makefile b/src/mesa/drivers/dri/i965/Makefile index 2934414d99..81c2fdb0dc 100644 --- a/src/mesa/drivers/dri/i965/Makefile +++ b/src/mesa/drivers/dri/i965/Makefile @@ -22,6 +22,7 @@ DRIVER_SOURCES = \ intel_pixel_bitmap.c \ intel_pixel_copy.c \ intel_pixel_draw.c \ + intel_pixel_read.c \ intel_state.c \ intel_swapbuffers.c \ intel_tex.c \ diff --git a/src/mesa/drivers/dri/intel/intel_buffers.c b/src/mesa/drivers/dri/intel/intel_buffers.c index d2fad9e4ea..44e34330a6 100644 --- a/src/mesa/drivers/dri/intel/intel_buffers.c +++ b/src/mesa/drivers/dri/intel/intel_buffers.c @@ -345,6 +345,23 @@ intelDrawBuffer(GLcontext * ctx, GLenum mode) static void intelReadBuffer(GLcontext * ctx, GLenum mode) { + if ((ctx->DrawBuffer != NULL) && (ctx->DrawBuffer->Name == 0)) { + struct intel_context *const intel = intel_context(ctx); + const GLboolean was_front_buffer_reading = + intel->is_front_buffer_reading; + + intel->is_front_buffer_reading = (mode == GL_FRONT_LEFT) + || (mode == GL_FRONT); + + /* If we weren't front-buffer reading before but we are now, make sure + * that the front-buffer has actually been allocated. + */ + if (!was_front_buffer_reading && intel->is_front_buffer_reading) { + intel_update_renderbuffers(intel->driContext, + intel->driContext->driDrawablePriv); + } + } + if (ctx->ReadBuffer == ctx->DrawBuffer) { /* This will update FBO completeness status. * A framebuffer will be incomplete if the GL_READ_BUFFER setting diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 50ae677d20..977fad9313 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -220,7 +220,9 @@ intel_update_renderbuffers(__DRIcontext *context, __DRIdrawable *drawable) struct intel_renderbuffer *stencil_rb; i = 0; - if ((intel->is_front_buffer_rendering || !intel_fb->color_rb[1]) + if ((intel->is_front_buffer_rendering || + intel->is_front_buffer_reading || + !intel_fb->color_rb[1]) && intel_fb->color_rb[0]) { attachments[i++] = __DRI_BUFFER_FRONT_LEFT; attachments[i++] = intel_bits_per_pixel(intel_fb->color_rb[0]); diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index b3db561fd5..e2b3943fb5 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -295,6 +295,14 @@ struct intel_context * easily. */ GLboolean is_front_buffer_rendering; + /** + * Track whether front-buffer is the current read target. + * + * This is closely associated with is_front_buffer_rendering, but may + * be set separately. The DRI2 fake front buffer must be referenced + * either way. + */ + GLboolean is_front_buffer_reading; drm_clip_rect_t fboRect; /**< cliprect for FBO rendering */ -- cgit v1.2.3 From b2cba25f9eecf2063c3b98d66ade59cd9e50990e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 22 Jun 2009 08:52:52 -0700 Subject: i965: Fix warnings in intel_pixel_read.c. (cherry picked from commit c80ce5ac90b1e0ac7a72cd41c314aa2000bfecf5) --- src/mesa/drivers/dri/intel/intel_pixel_read.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_read.c b/src/mesa/drivers/dri/intel/intel_pixel_read.c index 538da28c50..0370255614 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_read.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_read.c @@ -31,6 +31,7 @@ #include "main/macros.h" #include "main/image.h" #include "main/bufferobj.h" +#include "main/state.h" #include "swrast/swrast.h" #include "intel_screen.h" @@ -299,6 +300,9 @@ intelReadPixels(GLcontext * ctx, if (do_texture_readpixels (ctx, x, y, width, height, format, type, pack, pixels)) return; +#else + (void)do_blit_readpixels; + (void)do_texture_readpixels; #endif if (INTEL_DEBUG & DEBUG_PIXEL) -- cgit v1.2.3 From 8fd7586bcccc49a627c9dfe23653be6620b95320 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Fri, 4 Sep 2009 18:08:31 -0400 Subject: r600: Add support for GL_EXT_provoking_vertex --- src/mesa/drivers/dri/r600/r600_context.c | 2 ++ src/mesa/drivers/dri/r600/r700_state.c | 8 ++++++++ 2 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_context.c b/src/mesa/drivers/dri/r600/r600_context.c index 251c124cbf..7a5bcd9ac2 100644 --- a/src/mesa/drivers/dri/r600/r600_context.c +++ b/src/mesa/drivers/dri/r600/r600_context.c @@ -85,6 +85,7 @@ int hw_tcl_on = 1; #define need_GL_EXT_framebuffer_object #define need_GL_EXT_fog_coord #define need_GL_EXT_gpu_program_parameters +#define need_GL_EXT_provoking_vertex #define need_GL_EXT_secondary_color #define need_GL_EXT_stencil_two_side #define need_GL_ATI_separate_stencil @@ -117,6 +118,7 @@ const struct dri_extension card_extensions[] = { {"GL_EXT_packed_depth_stencil", NULL}, {"GL_EXT_fog_coord", GL_EXT_fog_coord_functions }, {"GL_EXT_gpu_program_parameters", GL_EXT_gpu_program_parameters_functions}, + {"GL_EXT_provoking_vertex", GL_EXT_provoking_vertex_functions }, {"GL_EXT_secondary_color", GL_EXT_secondary_color_functions}, {"GL_EXT_shadow_funcs", NULL}, {"GL_EXT_stencil_two_side", GL_EXT_stencil_two_side_functions}, diff --git a/src/mesa/drivers/dri/r600/r700_state.c b/src/mesa/drivers/dri/r600/r700_state.c index 1f4724e838..93b4ebfdb9 100644 --- a/src/mesa/drivers/dri/r600/r700_state.c +++ b/src/mesa/drivers/dri/r600/r700_state.c @@ -171,6 +171,14 @@ static void r700InvalidateState(GLcontext * ctx, GLuint new_state) //----------- R600_STATECHANGE(context, db_target); } + if (new_state & (_NEW_LIGHT)) { + R600_STATECHANGE(context, su); + if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION) + SETbit(r700->PA_SU_SC_MODE_CNTL.u32All, PROVOKING_VTX_LAST_bit); + else + CLEARbit(r700->PA_SU_SC_MODE_CNTL.u32All, PROVOKING_VTX_LAST_bit); + } + r700UpdateStateParameters(ctx, new_state); R600_STATECHANGE(context, cl); -- cgit v1.2.3 From 60ca65c0165874bb18f1f89951da0281ee235cb3 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Fri, 4 Sep 2009 18:21:34 -0400 Subject: r300: Add support for GL_EXT_provoking_vertex --- src/mesa/drivers/dri/r300/r300_context.c | 2 ++ src/mesa/drivers/dri/r300/r300_reg.h | 6 ++---- src/mesa/drivers/dri/r300/r300_state.c | 8 ++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r300/r300_context.c b/src/mesa/drivers/dri/r300/r300_context.c index 2ea1b826de..6fcf209af6 100644 --- a/src/mesa/drivers/dri/r300/r300_context.c +++ b/src/mesa/drivers/dri/r300/r300_context.c @@ -84,6 +84,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define need_GL_EXT_framebuffer_object #define need_GL_EXT_fog_coord #define need_GL_EXT_gpu_program_parameters +#define need_GL_EXT_provoking_vertex #define need_GL_EXT_secondary_color #define need_GL_EXT_stencil_two_side #define need_GL_ATI_separate_stencil @@ -116,6 +117,7 @@ const struct dri_extension card_extensions[] = { {"GL_EXT_packed_depth_stencil", NULL}, {"GL_EXT_fog_coord", GL_EXT_fog_coord_functions }, {"GL_EXT_gpu_program_parameters", GL_EXT_gpu_program_parameters_functions}, + {"GL_EXT_provoking_vertex", GL_EXT_provoking_vertex_functions }, {"GL_EXT_secondary_color", GL_EXT_secondary_color_functions}, {"GL_EXT_shadow_funcs", NULL}, {"GL_EXT_stencil_two_side", GL_EXT_stencil_two_side_functions}, diff --git a/src/mesa/drivers/dri/r300/r300_reg.h b/src/mesa/drivers/dri/r300/r300_reg.h index 39b4b61a10..98512d778e 100644 --- a/src/mesa/drivers/dri/r300/r300_reg.h +++ b/src/mesa/drivers/dri/r300/r300_reg.h @@ -1022,15 +1022,13 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. R300_GA_COLOR_CONTROL_RGB0_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA0_SHADING_GOURAUD | \ R300_GA_COLOR_CONTROL_RGB1_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA1_SHADING_GOURAUD | \ R300_GA_COLOR_CONTROL_RGB2_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA2_SHADING_GOURAUD | \ - R300_GA_COLOR_CONTROL_RGB3_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA3_SHADING_GOURAUD | \ - R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_LAST ) + R300_GA_COLOR_CONTROL_RGB3_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA3_SHADING_GOURAUD) /** TODO: might be candidate for removal, the GOURAUD stuff also looks buggy to me */ # define R300_RE_SHADE_MODEL_FLAT ( \ R300_GA_COLOR_CONTROL_RGB0_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA0_SHADING_FLAT | \ R300_GA_COLOR_CONTROL_RGB1_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA1_SHADING_GOURAUD | \ R300_GA_COLOR_CONTROL_RGB2_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA2_SHADING_FLAT | \ - R300_GA_COLOR_CONTROL_RGB3_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA3_SHADING_GOURAUD | \ - R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_LAST ) + R300_GA_COLOR_CONTROL_RGB3_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA3_SHADING_GOURAUD) /* Specifies red & green components of fill color -- S312 format -- Backwards comp. */ #define R300_GA_SOLID_RG 0x427c diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index 9301543d38..d4c3ecee66 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -2253,6 +2253,14 @@ static void r300InvalidateState(GLcontext * ctx, GLuint new_state) R300_STATECHANGE(r300, zb); } + if (new_state & (_NEW_LIGHT)) { + R300_STATECHANGE(r300, shade2); + if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION) + r300->hw.shade2.cmd[1] |= R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_LAST; + else + r300->hw.shade2.cmd[1] &= ~R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_LAST; + } + r300->radeon.NewGLState |= new_state; } -- cgit v1.2.3 From 9ab19a39001ab5b6afa71a4d1f16714e6907b67c Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Fri, 4 Sep 2009 18:45:09 -0400 Subject: r600: add support for EXT_texture_sRGB --- src/mesa/drivers/dri/r600/r600_context.c | 1 + src/mesa/drivers/dri/r600/r600_texstate.c | 43 +++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_context.c b/src/mesa/drivers/dri/r600/r600_context.c index 7a5bcd9ac2..07a7bcf11f 100644 --- a/src/mesa/drivers/dri/r600/r600_context.c +++ b/src/mesa/drivers/dri/r600/r600_context.c @@ -130,6 +130,7 @@ const struct dri_extension card_extensions[] = { {"GL_EXT_texture_lod_bias", NULL}, {"GL_EXT_texture_mirror_clamp", NULL}, {"GL_EXT_texture_rectangle", NULL}, + {"GL_EXT_texture_sRGB", NULL}, {"GL_ATI_separate_stencil", GL_ATI_separate_stencil_functions}, {"GL_ATI_texture_env_combine3", NULL}, {"GL_ATI_texture_mirror_once", NULL}, diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c b/src/mesa/drivers/dri/r600/r600_texstate.c index 49b603b65e..fff6e74386 100644 --- a/src/mesa/drivers/dri/r600/r600_texstate.c +++ b/src/mesa/drivers/dri/r600/r600_texstate.c @@ -531,6 +531,49 @@ static GLboolean r600GetTexFormat(struct gl_texture_object *tObj, GLuint mesa_fo return GL_FALSE; } break; + /* EXT_texture_sRGB */ + case MESA_FORMAT_SRGBA8: + SETfield(t->SQ_TEX_RESOURCE1, FMT_8_8_8_8, + SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_shift, SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_mask); + + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_W, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_Z, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_Y, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_X, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_mask); + SETbit(t->SQ_TEX_RESOURCE4, SQ_TEX_RESOURCE_WORD4_0__FORCE_DEGAMMA_bit); + break; + case MESA_FORMAT_SLA8: + SETfield(t->SQ_TEX_RESOURCE1, FMT_8_8, + SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_shift, SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_mask); + + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_X, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_X, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_X, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_Y, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_mask); + SETbit(t->SQ_TEX_RESOURCE4, SQ_TEX_RESOURCE_WORD4_0__FORCE_DEGAMMA_bit); + break; + case MESA_FORMAT_SL8: /* X, X, X, ONE */ + SETfield(t->SQ_TEX_RESOURCE1, FMT_8, + SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_shift, SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_mask); + + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_X, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_X, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_X, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_mask); + SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_1, + SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_mask); + SETbit(t->SQ_TEX_RESOURCE4, SQ_TEX_RESOURCE_WORD4_0__FORCE_DEGAMMA_bit); + break; default: /* Not supported format */ return GL_FALSE; -- cgit v1.2.3 From 8f990f928b1d6cb395ea4f3d4c1d7e3a670f1ad6 Mon Sep 17 00:00:00 2001 From: Cooper Yuan Date: Sat, 5 Sep 2009 10:26:39 +0800 Subject: r300g: need to validate scissor and viewport state if bind new rasterizer --- src/gallium/drivers/r300/r300_state.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index c16cadd040..5642aed663 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -429,6 +429,8 @@ static void r300_bind_rs_state(struct pipe_context* pipe, void* state) r300->rs_state = rs; r300->dirty_state |= R300_NEW_RASTERIZER; + r300->dirty_state |= R300_NEW_SCISSOR; + r300->dirty_state |= R300_NEW_VIEWPORT; } /* Free rasterizer state. */ -- cgit v1.2.3 From 80ea03bd174ab7824c754faa9944d7736bf513f2 Mon Sep 17 00:00:00 2001 From: Cooper Yuan Date: Sat, 5 Sep 2009 14:26:39 +0800 Subject: r300g: update rs_block state after changing rasterizer --- src/gallium/drivers/r300/r300_state.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index 5642aed663..81808017f8 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -429,6 +429,7 @@ static void r300_bind_rs_state(struct pipe_context* pipe, void* state) r300->rs_state = rs; r300->dirty_state |= R300_NEW_RASTERIZER; + r300->dirty_state |= R300_NEW_RS_BLOCK; r300->dirty_state |= R300_NEW_SCISSOR; r300->dirty_state |= R300_NEW_VIEWPORT; } -- cgit v1.2.3 From 9778731732b4753e79a1b786c65325a52392411d Mon Sep 17 00:00:00 2001 From: Cooper Yuan Date: Sat, 5 Sep 2009 20:58:32 +0800 Subject: r300g: update the value of register VAP_VF_MAX_VTX_INDX according to actual vertex index count. --- src/gallium/drivers/r300/r300_render.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c index cd458d019a..aced4ab887 100644 --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@ -233,7 +233,8 @@ static void r300_render_draw(struct vbuf_render* render, OUT_CS_INDEX_RELOC(index_buffer, 0, count, RADEON_GEM_DOMAIN_GTT, 0, 0); END_CS; */ - BEGIN_CS(2 + (count+1)/2); + BEGIN_CS(4 + (count+1)/2); + OUT_CS_REG(R300_VAP_VF_MAX_VTX_INDX, count); OUT_CS_PKT3(R300_PACKET3_3D_DRAW_INDX_2, (count+1)/2); OUT_CS(R300_VAP_VF_CNTL__PRIM_WALK_INDICES | (count << 16) | r300render->hwprim); -- cgit v1.2.3 From 4b01e6f614052e48971f2b2ff474fb66afc4f752 Mon Sep 17 00:00:00 2001 From: Nicolai HĂ€hnle Date: Sun, 6 Sep 2009 15:03:51 +0200 Subject: r300g: Debug flags infrastructure So that debugging is no longer a full-spam-or-nothing approach, you are now supposed to set the RADEON_DEBUG environment flag just like for classic Mesa. The available debug flags are different, however. Just running an OpenGL application with RADEON_DEBUG set to an arbitrary string will print out helpful information. Everything must be compiled with -DDEBUG for any of this to work --- src/gallium/drivers/r300/Makefile | 1 + src/gallium/drivers/r300/r300_context.c | 2 + src/gallium/drivers/r300/r300_context.h | 39 ++++++++++++ src/gallium/drivers/r300/r300_cs.h | 19 +++--- src/gallium/drivers/r300/r300_debug.c | 88 +++++++++++++++++++++++++++ src/gallium/drivers/r300/r300_emit.c | 2 +- src/gallium/drivers/r300/r300_fs.c | 2 +- src/gallium/drivers/r300/r300_render.c | 6 +- src/gallium/drivers/r300/r300_state_derived.c | 12 ++-- src/gallium/drivers/r300/r300_vs.c | 2 +- 10 files changed, 152 insertions(+), 21 deletions(-) create mode 100644 src/gallium/drivers/r300/r300_debug.c (limited to 'src') diff --git a/src/gallium/drivers/r300/Makefile b/src/gallium/drivers/r300/Makefile index d7a2c8c462..93c2152edc 100644 --- a/src/gallium/drivers/r300/Makefile +++ b/src/gallium/drivers/r300/Makefile @@ -9,6 +9,7 @@ C_SOURCES = \ r300_chipset.c \ r300_clear.c \ r300_context.c \ + r300_debug.c \ r300_emit.c \ r300_flush.c \ r300_fs.c \ diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c index da67bc29b8..ef79d7bbbb 100644 --- a/src/gallium/drivers/r300/r300_context.c +++ b/src/gallium/drivers/r300/r300_context.c @@ -146,6 +146,8 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen, r300->context.winsys = (struct pipe_winsys*)r300_winsys; r300->context.screen = r300_screen(screen); + r300_init_debug(r300); + r300->context.destroy = r300_destroy_context; r300->context.clear = r300_clear; diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h index f78492d4aa..cd7b36b467 100644 --- a/src/gallium/drivers/r300/r300_context.h +++ b/src/gallium/drivers/r300/r300_context.h @@ -275,6 +275,9 @@ struct r300_context { uint32_t dirty_state; /* Flag indicating whether or not the HW is dirty. */ uint32_t dirty_hw; + + /** Combination of DBG_xxx flags */ + unsigned debug; }; /* Convenience cast wrapper. */ @@ -288,4 +291,40 @@ struct draw_stage* r300_draw_stage(struct r300_context* r300); void r300_init_state_functions(struct r300_context* r300); void r300_init_surface_functions(struct r300_context* r300); +/* Debug functionality. */ + +/** + * Debug flags to disable/enable certain groups of debugging outputs. + * + * \note These may be rather coarse, and the grouping may be impractical. + * If you find, while debugging the driver, that a different grouping + * of these flags would be beneficial, just feel free to change them + * but make sure to update the documentation in r300_debug.c to reflect + * those changes. + */ +/*@{*/ +#define DBG_HELP 0x0000001 +#define DBG_FP 0x0000002 +#define DBG_VP 0x0000004 +#define DBG_CS 0x0000008 +#define DBG_DRAW 0x0000010 +/*@}*/ + +static INLINE boolean DBG_ON(struct r300_context * ctx, unsigned flags) +{ + return (ctx->debug & flags) ? true : false; +} + +static INLINE void DBG(struct r300_context * ctx, unsigned flags, const char * fmt, ...) +{ + if (DBG_ON(ctx, flags)) { + va_list va; + va_start(va, fmt); + debug_vprintf(fmt, va); + va_end(va); + } +} + +void r300_init_debug(struct r300_context * ctx); + #endif /* R300_CONTEXT_H */ diff --git a/src/gallium/drivers/r300/r300_cs.h b/src/gallium/drivers/r300/r300_cs.h index 71b142c0db..0a7e470363 100644 --- a/src/gallium/drivers/r300/r300_cs.h +++ b/src/gallium/drivers/r300/r300_cs.h @@ -49,7 +49,8 @@ (RADEON_CP_PACKET0 | ((count) << 16) | ((register) >> 2)) #define CS_LOCALS(context) \ - struct r300_winsys* cs_winsys = context->winsys; \ + struct r300_context* const cs_context_copy = (context); \ + struct r300_winsys* cs_winsys = cs_context_copy->winsys; \ int cs_count = 0; #define CHECK_CS(size) \ @@ -58,7 +59,7 @@ #define BEGIN_CS(size) do { \ CHECK_CS(size); \ if (VERY_VERBOSE_CS) { \ - debug_printf("r300: BEGIN_CS, count %d, in %s (%s:%d)\n", \ + DBG(cs_context_copy, DBG_CS, "r300: BEGIN_CS, count %d, in %s (%s:%d)\n", \ size, __FUNCTION__, __FILE__, __LINE__); \ } \ cs_winsys->begin_cs(cs_winsys, (size), \ @@ -78,7 +79,7 @@ #define OUT_CS_REG(register, value) do { \ if (VERY_VERBOSE_REGISTERS) \ - debug_printf("r300: writing 0x%08X to register 0x%04X\n", \ + DBG(cs_context_copy, DBG_CS, "r300: writing 0x%08X to register 0x%04X\n", \ value, register); \ assert(register); \ OUT_CS(CP_PACKET0(register, 0)); \ @@ -89,14 +90,14 @@ * not the actual packet0 count! */ #define OUT_CS_REG_SEQ(register, count) do { \ if (VERY_VERBOSE_REGISTERS) \ - debug_printf("r300: writing register sequence of %d to 0x%04X\n", \ + DBG(cs_context_copy, DBG_CS, "r300: writing register sequence of %d to 0x%04X\n", \ count, register); \ assert(register); \ OUT_CS(CP_PACKET0(register, ((count) - 1))); \ } while (0) #define OUT_CS_RELOC(bo, offset, rd, wd, flags) do { \ - debug_printf("r300: writing relocation for buffer %p, offset %d, " \ + DBG(cs_context_copy, DBG_CS, "r300: writing relocation for buffer %p, offset %d, " \ "domains (%d, %d, %d)\n", \ bo, offset, rd, wd, flags); \ assert(bo); \ @@ -107,7 +108,7 @@ #define END_CS do { \ if (VERY_VERBOSE_CS) { \ - debug_printf("r300: END_CS in %s (%s:%d)\n", __FUNCTION__, \ + DBG(cs_context_copy, DBG_CS, "r300: END_CS in %s (%s:%d)\n", __FUNCTION__, \ __FILE__, __LINE__); \ } \ if (cs_count != 0) \ @@ -117,7 +118,7 @@ #define FLUSH_CS do { \ if (VERY_VERBOSE_CS) { \ - debug_printf("r300: FLUSH_CS in %s (%s:%d)\n\n", __FUNCTION__, \ + DBG(cs_context_copy, DBG_CS, "r300: FLUSH_CS in %s (%s:%d)\n\n", __FUNCTION__, \ __FILE__, __LINE__); \ } \ cs_winsys->flush_cs(cs_winsys); \ @@ -127,7 +128,7 @@ #define OUT_CS_ONE_REG(register, count) do { \ if (VERY_VERBOSE_REGISTERS) \ - debug_printf("r300: writing data sequence of %d to 0x%04X\n", \ + DBG(cs_context_copy, DBG_CS, "r300: writing data sequence of %d to 0x%04X\n", \ count, register); \ assert(register); \ OUT_CS(CP_PACKET0(register, ((count) - 1)) | RADEON_ONE_REG_WR); \ @@ -141,7 +142,7 @@ } while (0) #define OUT_CS_INDEX_RELOC(bo, offset, count, rd, wd, flags) do { \ - debug_printf("r300: writing relocation for index buffer %p," \ + DBG(cs_context_copy, DBG_CS, "r300: writing relocation for index buffer %p," \ "offset %d\n", bo, offset); \ assert(bo); \ OUT_CS(offset); \ diff --git a/src/gallium/drivers/r300/r300_debug.c b/src/gallium/drivers/r300/r300_debug.c new file mode 100644 index 0000000000..15308dda1d --- /dev/null +++ b/src/gallium/drivers/r300/r300_debug.c @@ -0,0 +1,88 @@ +/* + * Copyright 2009 Nicolai Haehnle + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * on the rights to use, copy, modify, merge, publish, distribute, sub + * license, and/or sell copies of the Software, and to permit persons to whom + * the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + * USE OR OTHER DEALINGS IN THE SOFTWARE. */ + +#include "r300_context.h" + +#include + + +struct debug_option { + const char * name; + unsigned flag; + const char * description; +}; + +static struct debug_option debug_options[] = { + { "help", DBG_HELP, "Helpful meta-information about the driver" }, + { "fp", DBG_FP, "Fragment program handling" }, + { "vp", DBG_VP, "Vertex program handling" }, + { "cs", DBG_CS, "Command submissions" }, + { "draw", DBG_DRAW, "Draw and emit" }, + + { "all", ~0, "Convenience option that enables all debug flags" }, + + /* must be last */ + { 0, 0, 0 } +}; + +void r300_init_debug(struct r300_context * ctx) +{ + const char * options = debug_get_option("RADEON_DEBUG", 0); + boolean printhint = false; + + if (options) { + while(*options) { + if (*options == ' ' || *options == ',') { + options++; + continue; + } + + size_t length = strcspn(options, " ,"); + struct debug_option * opt; + + for(opt = debug_options; opt->name; ++opt) { + if (!strncmp(options, opt->name, length)) { + ctx->debug |= opt->flag; + break; + } + } + + if (!opt->name) { + debug_printf("Unknown debug option: %s\n", options); + printhint = true; + } + + options += length; + } + + if (!ctx->debug) + printhint = true; + } + + if (printhint || ctx->debug & DBG_HELP) { + debug_printf("You can enable debug output by setting the RADEON_DEBUG environment variable\n" + "to a comma-separated list of debug options. Available options are:\n"); + for(struct debug_option * opt = debug_options; opt->name; ++opt) { + debug_printf(" %s: %s\n", opt->name, opt->description); + } + } +} diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index bd4d59e6f1..f77df22326 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -490,7 +490,7 @@ void r300_emit_vertex_buffer(struct r300_context* r300) { CS_LOCALS(r300); - debug_printf("r300: Preparing vertex buffer %p for render, " + DBG(r300, DBG_DRAW, "r300: Preparing vertex buffer %p for render, " "vertex size %d\n", r300->vbo, r300->vertex_info.vinfo.size); /* Set the pointer to our vertex buffer. The emitted values are this: diff --git a/src/gallium/drivers/r300/r300_fs.c b/src/gallium/drivers/r300/r300_fs.c index 36463b9a2e..a0e848a59a 100644 --- a/src/gallium/drivers/r300/r300_fs.c +++ b/src/gallium/drivers/r300/r300_fs.c @@ -96,7 +96,7 @@ void r300_translate_fragment_shader(struct r300_context* r300, memset(&compiler, 0, sizeof(compiler)); rc_init(&compiler.Base); - compiler.Base.Debug = 1; + compiler.Base.Debug = DBG_ON(r300, DBG_FP); compiler.code = &fs->code; compiler.is_r500 = r300_screen(r300->context.screen)->caps->is_r500; diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c index aced4ab887..df511abfd9 100644 --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@ -34,7 +34,7 @@ struct r300_render { /* Parent class */ struct vbuf_render base; - + /* Pipe context */ struct r300_context* r300; @@ -77,7 +77,7 @@ static boolean r300_render_allocate_vertices(struct vbuf_render* render, if (r300render->vbo && (size > r300render->vbo_alloc_size)) { pipe_buffer_reference(&r300render->vbo, NULL); } - + if (!r300render->vbo) { r300render->vbo = pipe_buffer_create(screen, 64, @@ -184,7 +184,7 @@ static void r300_render_draw_arrays(struct vbuf_render* render, prepare_render(r300render, count); - debug_printf("r300: Doing vbuf render, count %d\n", count); + DBG(r300, DBG_DRAW, "r300: Doing vbuf render, count %d\n", count); BEGIN_CS(2); OUT_CS_PKT3(R300_PACKET3_3D_DRAW_VBUF_2, 0); diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c index c01e61a9b1..94e3ce085c 100644 --- a/src/gallium/drivers/r300/r300_state_derived.c +++ b/src/gallium/drivers/r300/r300_state_derived.c @@ -195,13 +195,13 @@ static void r300_vertex_psc(struct r300_context* r300, * and not on attrib information. */ if (r300screen->caps->has_tcl) { attrib_count = r300->vs->info.num_inputs; - debug_printf("r300: routing %d attribs in psc for vs\n", + DBG(r300, DBG_DRAW, "r300: routing %d attribs in psc for vs\n", attrib_count); } else { attrib_count = vinfo->num_attribs; - debug_printf("r300: attrib count: %d\n", attrib_count); + DBG(r300, DBG_DRAW, "r300: attrib count: %d\n", attrib_count); for (i = 0; i < attrib_count; i++) { - debug_printf("r300: attrib: offset %d, interp %d, size %d," + DBG(r300, DBG_DRAW, "r300: attrib: offset %d, interp %d, size %d," " tab %d\n", vinfo->attrib[i].src_index, vinfo->attrib[i].interp_mode, vinfo->attrib[i].emit, tab[i]); @@ -299,18 +299,18 @@ static void r300_update_fs_tab(struct r300_context* r300) } /* Now that we know where everything is... */ - debug_printf("r300: fp input count: %d\n", info->num_inputs); + DBG(r300, DBG_DRAW, "r300: fp input count: %d\n", info->num_inputs); for (i = 0; i < info->num_inputs; i++) { switch (tab[i]) { case INTERP_LINEAR: - debug_printf("r300: attrib: " + DBG(r300, DBG_DRAW, "r300: attrib: " "stack offset %d, color, tab %d\n", i, cols_emitted); tab[i] = cols_emitted; cols_emitted++; break; case INTERP_PERSPECTIVE: - debug_printf("r300: attrib: " + DBG(r300, DBG_DRAW, "r300: attrib: " "stack offset %d, texcoord, tab %d\n", i, cols + texs); tab[i] = cols + texs; diff --git a/src/gallium/drivers/r300/r300_vs.c b/src/gallium/drivers/r300/r300_vs.c index 2cb903bba2..12a6e37be6 100644 --- a/src/gallium/drivers/r300/r300_vs.c +++ b/src/gallium/drivers/r300/r300_vs.c @@ -116,7 +116,7 @@ void r300_translate_vertex_shader(struct r300_context* r300, /* Setup the compiler */ rc_init(&compiler.Base); - compiler.Base.Debug = 1; + compiler.Base.Debug = DBG_ON(r300, DBG_VP); compiler.code = &vs->code; compiler.UserData = vs; -- cgit v1.2.3 From 1ddb22675c123fc955ad3ab46bba45d3330d2ec4 Mon Sep 17 00:00:00 2001 From: Nicolai HĂ€hnle Date: Sun, 6 Sep 2009 15:10:59 +0200 Subject: r300g: Fix a number of warnings Seriously guys.... --- src/gallium/drivers/r300/r300_context.c | 3 +++ src/gallium/drivers/r300/r300_context.h | 5 +---- src/gallium/drivers/r300/r300_emit.c | 1 + src/gallium/drivers/r300/r300_emit.h | 5 +++++ src/gallium/drivers/r300/r300_query.c | 2 ++ src/gallium/drivers/r300/r300_render.c | 1 + src/gallium/drivers/r300/r300_state.c | 3 ++- src/gallium/drivers/r300/r300_state_derived.c | 1 + src/gallium/drivers/r300/r300_state_derived.h | 6 +----- src/gallium/drivers/r300/r300_state_invariant.c | 6 ++++++ 10 files changed, 23 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c index ef79d7bbbb..9cc455135d 100644 --- a/src/gallium/drivers/r300/r300_context.c +++ b/src/gallium/drivers/r300/r300_context.c @@ -22,6 +22,9 @@ #include "r300_context.h" +#include "r300_flush.h" +#include "r300_state_invariant.h" + static boolean r300_draw_range_elements(struct pipe_context* pipe, struct pipe_buffer* indexBuffer, unsigned indexSize, diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h index cd7b36b467..6c5914baa3 100644 --- a/src/gallium/drivers/r300/r300_context.h +++ b/src/gallium/drivers/r300/r300_context.h @@ -211,10 +211,7 @@ struct r300_vertex_format { int fs_tab[16]; }; -static struct pipe_viewport_state r300_viewport_identity = { - .scale = {1.0, 1.0, 1.0, 1.0}, - .translate = {0.0, 0.0, 0.0, 0.0}, -}; +extern struct pipe_viewport_state r300_viewport_identity; struct r300_context { /* Parent class */ diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index f77df22326..1bc35c2486 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -25,6 +25,7 @@ #include "r300_emit.h" #include "r300_fs.h" +#include "r300_state_derived.h" #include "r300_vs.h" void r300_emit_blend_state(struct r300_context* r300, diff --git a/src/gallium/drivers/r300/r300_emit.h b/src/gallium/drivers/r300/r300_emit.h index 350691d592..c4002b8e5d 100644 --- a/src/gallium/drivers/r300/r300_emit.h +++ b/src/gallium/drivers/r300/r300_emit.h @@ -56,6 +56,11 @@ void r500_emit_fragment_program_code(struct r300_context* r300, void r300_emit_fb_state(struct r300_context* r300, struct pipe_framebuffer_state* fb); +void r300_emit_query_begin(struct r300_context* r300, + struct r300_query* query); +void r300_emit_query_end(struct r300_context* r300, + struct r300_query* query); + void r300_emit_rs_state(struct r300_context* r300, struct r300_rs_state* rs); void r300_emit_rs_block_state(struct r300_context* r300, diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c index 1d5185b417..2880d34877 100644 --- a/src/gallium/drivers/r300/r300_query.c +++ b/src/gallium/drivers/r300/r300_query.c @@ -22,6 +22,8 @@ #include "r300_query.h" +#include "r300_emit.h" + static struct pipe_query* r300_create_query(struct pipe_context* pipe, unsigned query_type) { diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c index df511abfd9..d05a736dd9 100644 --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@ -26,6 +26,7 @@ #include "r300_cs.h" #include "r300_context.h" +#include "r300_emit.h" #include "r300_reg.h" #include "r300_state_derived.h" diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index 81808017f8..88cb9af6fb 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -20,10 +20,11 @@ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include "util/u_debug.h" #include "util/u_math.h" #include "util/u_pack_color.h" -#include "util/u_debug.h" +#include "tgsi/tgsi_parse.h" #include "pipe/p_config.h" #include "pipe/internal/p_winsys_screen.h" diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c index 94e3ce085c..5f6b225d34 100644 --- a/src/gallium/drivers/r300/r300_state_derived.c +++ b/src/gallium/drivers/r300/r300_state_derived.c @@ -23,6 +23,7 @@ #include "r300_state_derived.h" #include "r300_fs.h" +#include "r300_state_inlines.h" #include "r300_vs.h" /* r300_state_derived: Various bits of state which are dependent upon diff --git a/src/gallium/drivers/r300/r300_state_derived.h b/src/gallium/drivers/r300/r300_state_derived.h index 63ae8eb8d0..71a4a47b00 100644 --- a/src/gallium/drivers/r300/r300_state_derived.h +++ b/src/gallium/drivers/r300/r300_state_derived.h @@ -23,11 +23,7 @@ #ifndef R300_STATE_DERIVED_H #define R300_STATE_DERIVED_H -#include "draw/draw_vertex.h" - -#include "r300_context.h" -#include "r300_reg.h" -#include "r300_state_inlines.h" +struct r300_context; void r300_update_derived_state(struct r300_context* r300); diff --git a/src/gallium/drivers/r300/r300_state_invariant.c b/src/gallium/drivers/r300/r300_state_invariant.c index 7d822fec48..3865730d63 100644 --- a/src/gallium/drivers/r300/r300_state_invariant.c +++ b/src/gallium/drivers/r300/r300_state_invariant.c @@ -23,6 +23,12 @@ #include "r300_state_invariant.h" + +struct pipe_viewport_state r300_viewport_identity = { + .scale = {1.0, 1.0, 1.0, 1.0}, + .translate = {0.0, 0.0, 0.0, 0.0}, +}; + /* Calculate and emit invariant state. This is data that the 3D engine * will probably want at the beginning of every CS, but it's not currently * handled by any CSO setup, and in addition it doesn't really change much. -- cgit v1.2.3 From 4fdc96db1d7c897863be0d55455a09e896206260 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 21:19:23 -0600 Subject: xlib: move misplaced brace --- src/mesa/drivers/x11/xm_dd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c index 465a40ac8d..e4922d2eb5 100644 --- a/src/mesa/drivers/x11/xm_dd.c +++ b/src/mesa/drivers/x11/xm_dd.c @@ -1167,8 +1167,8 @@ xmesa_init_driver_functions( XMesaVisual xmvisual, else if (xmvisual->undithered_pf == PF_5R6G5B) { driver->DrawPixels = xmesa_DrawPixels_5R6G5B; } - } #endif + } driver->TestProxyTexImage = test_proxy_teximage; #if ENABLE_EXT_texure_compression_s3tc driver->ChooseTextureFormat = choose_tex_format; -- cgit v1.2.3 From bcb62ae78a9d2f4d08001e9f207b6f1291443968 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 21:27:06 -0600 Subject: mesa: _mesa_meta_bitmap() function --- src/mesa/drivers/common/meta.c | 171 ++++++++++++++++++++++++++++++++++++++++- src/mesa/drivers/common/meta.h | 7 ++ 2 files changed, 175 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 965fb8697e..ecf440c9ad 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -181,6 +181,16 @@ struct drawpix_state }; +/** + * State for glBitmap() + */ +struct bitmap_state +{ + GLuint ArrayObj; + GLuint VBO; +}; + + /** * Temporary texture used for glBlitFramebuffer, glDrawPixels, etc. * This is currently shared by all the meta ops. But we could create a @@ -211,9 +221,9 @@ struct gl_meta_state struct clear_state Clear; /**< For _mesa_meta_clear() */ struct copypix_state CopyPix; /**< For _mesa_meta_copy_pixels() */ struct drawpix_state DrawPix; /**< For _mesa_meta_draw_pixels() */ + struct bitmap_state Bitmap; /**< For _mesa_meta_bitmap() */ /* other possible meta-ops: - * glBitmap() * glGenerateMipmap() */ }; @@ -382,6 +392,11 @@ _mesa_meta_begin(GLcontext *ctx, GLbitfield state) save->ClientActiveUnit = ctx->Array.ActiveTexture; save->EnvMode = ctx->Texture.Unit[0].EnvMode; + if (ctx->Texture._EnabledUnits | + ctx->Texture._EnabledCoordUnits | + ctx->Texture._TexGenEnabled | + ctx->Texture._TexMatEnabled) { + /* Disable all texture units */ for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { save->TexEnabled[u] = ctx->Texture.Unit[u].Enabled; @@ -400,6 +415,7 @@ _mesa_meta_begin(GLcontext *ctx, GLbitfield state) _mesa_set_enable(ctx, GL_TEXTURE_GEN_Q, GL_FALSE); } } + } /* save current texture objects for unit[0] only */ for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++) { @@ -754,8 +770,8 @@ alloc_texture(struct temp_texture *tex, if (tex->NPOT) { /* use non-power of two size */ - tex->Width = width; - tex->Height = height; + tex->Width = MIN2(64, width); + tex->Height = MIN2(64, height); } else { /* find power of two size */ @@ -1636,3 +1652,152 @@ _mesa_meta_draw_pixels(GLcontext *ctx, _mesa_meta_end(ctx); } + + +/** + * Do glBitmap with a alpha texture quad. Use the alpha test to + * cull the 'off' bits. If alpha test is already enabled, fall back + * to swrast (should be a rare case). + * A bitmap cache as in the gallium/mesa state tracker would + * improve performance a lot. + */ +void +_mesa_meta_bitmap(GLcontext *ctx, + GLint x, GLint y, GLsizei width, GLsizei height, + const struct gl_pixelstore_attrib *unpack, + const GLubyte *bitmap1) +{ + struct bitmap_state *bitmap = &ctx->Meta->Bitmap; + struct temp_texture *tex = get_temp_texture(ctx); + const GLenum texIntFormat = GL_ALPHA; + const struct gl_pixelstore_attrib unpackSave = *unpack; + GLfloat verts[4][9]; /* four verts of X,Y,Z,S,T,R,G,B,A */ + GLboolean newTex; + GLubyte *bitmap8; + + /* + * Check if swrast fallback is needed. + */ + if (ctx->_ImageTransferState || + ctx->Color.AlphaEnabled || + ctx->Fog.Enabled || + ctx->Texture._EnabledUnits || + width > tex->MaxSize || + height > tex->MaxSize) { + _swrast_Bitmap(ctx, x, y, width, height, unpack, bitmap1); + return; + } + + /* Most GL state applies to glBitmap (like blending, stencil, etc), + * but a there's a few things we need to override: + */ + _mesa_meta_begin(ctx, (META_ALPHA_TEST | + META_PIXEL_STORE | + META_RASTERIZATION | + META_SHADER | + META_TEXTURE | + META_TRANSFORM | + META_VERTEX | + META_VIEWPORT)); + + if (bitmap->ArrayObj == 0) { + /* one-time setup */ + + /* create vertex array object */ + _mesa_GenVertexArraysAPPLE(1, &bitmap->ArrayObj); + _mesa_BindVertexArrayAPPLE(bitmap->ArrayObj); + + /* create vertex array buffer */ + _mesa_GenBuffersARB(1, &bitmap->VBO); + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, bitmap->VBO); + _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), + NULL, GL_DYNAMIC_DRAW_ARB); + + /* setup vertex arrays */ + _mesa_VertexPointer(3, GL_FLOAT, sizeof(verts[0]), + (void *) (0 * sizeof(GLfloat))); + _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(verts[0]), + (void *) (3 * sizeof(GLfloat))); + _mesa_ColorPointer(4, GL_FLOAT, sizeof(verts[0]), + (void *) (5 * sizeof(GLfloat))); + + _mesa_EnableClientState(GL_VERTEX_ARRAY); + _mesa_EnableClientState(GL_TEXTURE_COORD_ARRAY); + _mesa_EnableClientState(GL_COLOR_ARRAY); + } + else { + _mesa_BindVertexArray(bitmap->ArrayObj); + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, bitmap->VBO); + } + + newTex = alloc_texture(tex, width, height, texIntFormat); + + /* vertex positions, texcoords, colors (after texture allocation!) */ + { + const GLfloat x0 = (GLfloat) x; + const GLfloat y0 = (GLfloat) y; + const GLfloat x1 = (GLfloat) (x + width); + const GLfloat y1 = (GLfloat) (y + height); + const GLfloat z = ctx->Current.RasterPos[2]; + GLuint i; + + verts[0][0] = x0; + verts[0][1] = y0; + verts[0][2] = z; + verts[0][3] = 0.0F; + verts[0][4] = 0.0F; + verts[1][0] = x1; + verts[1][1] = y0; + verts[1][2] = z; + verts[1][3] = tex->Sright; + verts[1][4] = 0.0F; + verts[2][0] = x1; + verts[2][1] = y1; + verts[2][2] = z; + verts[2][3] = tex->Sright; + verts[2][4] = tex->Ttop; + verts[3][0] = x0; + verts[3][1] = y1; + verts[3][2] = z; + verts[3][3] = 0.0F; + verts[3][4] = tex->Ttop; + + for (i = 0; i < 4; i++) { + verts[i][5] = ctx->Current.RasterColor[0]; + verts[i][6] = ctx->Current.RasterColor[1]; + verts[i][7] = ctx->Current.RasterColor[2]; + verts[i][8] = ctx->Current.RasterColor[3]; + } + + /* upload new vertex data */ + _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); + } + + bitmap1 = _mesa_map_pbo_source(ctx, &unpackSave, bitmap1); + if (!bitmap1) + return; + + bitmap8 = (GLubyte *) _mesa_calloc(width * height); + if (bitmap8) { + _mesa_expand_bitmap(width, height, &unpackSave, bitmap1, + bitmap8, width, 0xff); + + _mesa_set_enable(ctx, tex->Target, GL_TRUE); + + _mesa_set_enable(ctx, GL_ALPHA_TEST, GL_TRUE); + _mesa_AlphaFunc(GL_GREATER, 0.0); + + setup_drawpix_texture(tex, newTex, texIntFormat, width, height, + GL_ALPHA, GL_UNSIGNED_BYTE, bitmap8); + + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + + _mesa_set_enable(ctx, tex->Target, GL_FALSE); + + _mesa_free(bitmap8); + } + + _mesa_unmap_pbo_source(ctx, &unpackSave); + + _mesa_meta_end(ctx); +} diff --git a/src/mesa/drivers/common/meta.h b/src/mesa/drivers/common/meta.h index b03b64c48a..b729208492 100644 --- a/src/mesa/drivers/common/meta.h +++ b/src/mesa/drivers/common/meta.h @@ -77,5 +77,12 @@ _mesa_meta_draw_pixels(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels); +extern void +_mesa_meta_bitmap(GLcontext *ctx, + GLint x, GLint y, GLsizei width, GLsizei height, + const struct gl_pixelstore_attrib *unpack, + const GLubyte *bitmap); + + #endif /* META_H */ -- cgit v1.2.3 From 0e5293a24019a777c46734f9b5f6e8d764c11672 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 21:30:06 -0600 Subject: mesa: use _mesa_set_enable() --- src/mesa/drivers/common/meta.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index ecf440c9ad..10b3516fbd 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -300,16 +300,16 @@ _mesa_meta_begin(GLcontext *ctx, GLbitfield state) if (state & META_ALPHA_TEST) { save->AlphaEnabled = ctx->Color.AlphaEnabled; if (ctx->Color.AlphaEnabled) - _mesa_Disable(GL_ALPHA_TEST); + _mesa_set_enable(ctx, GL_ALPHA_TEST, GL_FALSE); } if (state & META_BLEND) { save->BlendEnabled = ctx->Color.BlendEnabled; if (ctx->Color.BlendEnabled) - _mesa_Disable(GL_BLEND); + _mesa_set_enable(ctx, GL_BLEND, GL_FALSE); save->ColorLogicOpEnabled = ctx->Color.ColorLogicOpEnabled; if (ctx->Color.ColorLogicOpEnabled) - _mesa_Disable(GL_COLOR_LOGIC_OP); + _mesa_set_enable(ctx, GL_COLOR_LOGIC_OP, GL_FALSE); } if (state & META_COLOR_MASK) { @@ -324,7 +324,7 @@ _mesa_meta_begin(GLcontext *ctx, GLbitfield state) if (state & META_DEPTH_TEST) { save->Depth = ctx->Depth; /* struct copy */ if (ctx->Depth.Test) - _mesa_Disable(GL_DEPTH_TEST); + _mesa_set_enable(ctx, GL_DEPTH_TEST, GL_FALSE); } if (state & META_FOG) { @@ -381,7 +381,7 @@ _mesa_meta_begin(GLcontext *ctx, GLbitfield state) if (state & META_STENCIL_TEST) { save->Stencil = ctx->Stencil; /* struct copy */ if (ctx->Stencil.Enabled) - _mesa_Disable(GL_STENCIL_TEST); + _mesa_set_enable(ctx, GL_STENCIL_TEST, GL_FALSE); /* NOTE: other stencil state not reset */ } @@ -1015,7 +1015,7 @@ _mesa_meta_blit_framebuffer(GLcontext *ctx, _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); } - _mesa_Enable(tex->Target); + _mesa_set_enable(ctx, tex->Target, GL_TRUE); if (mask & GL_COLOR_BUFFER_BIT) { setup_copypix_texture(tex, newTex, srcX, srcY, srcW, srcH, @@ -1057,7 +1057,7 @@ _mesa_meta_blit_framebuffer(GLcontext *ctx, /* XXX can't easily do stencil */ } - _mesa_Disable(tex->Target); + _mesa_set_enable(ctx, tex->Target, GL_FALSE); _mesa_meta_end(ctx); @@ -1282,12 +1282,12 @@ _mesa_meta_copy_pixels(GLcontext *ctx, GLint srcX, GLint srcY, setup_copypix_texture(tex, newTex, srcX, srcY, width, height, GL_RGBA, GL_NEAREST); - _mesa_Enable(tex->Target); + _mesa_set_enable(ctx, tex->Target, GL_TRUE); /* draw textured quad */ _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); - _mesa_Disable(tex->Target); + _mesa_set_enable(ctx, tex->Target, GL_FALSE); _mesa_meta_end(ctx); } @@ -1588,7 +1588,7 @@ _mesa_meta_draw_pixels(GLcontext *ctx, /* set given unpack params */ ctx->Unpack = *unpack; - _mesa_Enable(tex->Target); + _mesa_set_enable(ctx, tex->Target, GL_TRUE); if (_mesa_is_stencil_format(format)) { /* Drawing stencil */ @@ -1645,7 +1645,7 @@ _mesa_meta_draw_pixels(GLcontext *ctx, _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); } - _mesa_Disable(tex->Target); + _mesa_set_enable(ctx, tex->Target, GL_FALSE); /* restore unpack params */ ctx->Unpack = unpackSave; -- cgit v1.2.3 From f477fa7a85b76256aea910bd03ee83a26fedae4f Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 21:36:59 -0600 Subject: mesa: free meta bitmap buffers --- src/mesa/drivers/common/meta.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 10b3516fbd..1010d6a683 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -276,6 +276,10 @@ _mesa_meta_free(GLcontext *ctx) _mesa_DeleteVertexArraysAPPLE(1, &meta->DrawPix.ArrayObj); _mesa_DeletePrograms(1, &meta->DrawPix.DepthFP); _mesa_DeletePrograms(1, &meta->DrawPix.StencilFP); + + /* glBitmap */ + _mesa_DeleteBuffersARB(1, & meta->Bitmap.VBO); + _mesa_DeleteVertexArraysAPPLE(1, &meta->Bitmap.ArrayObj); } _mesa_free(ctx->Meta); -- cgit v1.2.3 From b2951ffe962f56cb88cc2e4eabe4aa4eb7232170 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 21:47:30 -0600 Subject: mesa: temp_texture changes --- src/mesa/drivers/common/meta.c | 56 ++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 1010d6a683..8d60f69634 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -200,6 +200,7 @@ struct temp_texture { GLuint TexObj; GLenum Target; /**< GL_TEXTURE_2D or GL_TEXTURE_RECTANGLE */ + GLsizei MinSize; /**< Min texture size to allocate */ GLsizei MaxSize; /**< Max possible texture size */ GLboolean NPOT; /**< Non-power of two size OK? */ GLsizei Width, Height; /**< Current texture size */ @@ -718,6 +719,33 @@ _mesa_meta_end(GLcontext *ctx) } +/** + * One-time init for a temp_texture object. + * Choose tex target, compute max tex size, etc. + */ +static void +init_temp_texture(GLcontext *ctx, struct temp_texture *tex) +{ + /* prefer texture rectangle */ + if (ctx->Extensions.NV_texture_rectangle) { + tex->Target = GL_TEXTURE_RECTANGLE; + tex->MaxSize = ctx->Const.MaxTextureRectSize; + tex->NPOT = GL_TRUE; + } + else { + /* use 2D texture, NPOT if possible */ + tex->Target = GL_TEXTURE_2D; + tex->MaxSize = 1 << (ctx->Const.MaxTextureLevels - 1); + tex->NPOT = ctx->Extensions.ARB_texture_non_power_of_two; + } + tex->MinSize = 16; /* 16 x 16 at least */ + assert(tex->MaxSize > 0); + + _mesa_GenTextures(1, &tex->TexObj); + _mesa_BindTexture(tex->Target, tex->TexObj); +} + + /** * Return pointer to temp_texture info. This does some one-time init * if needed. @@ -728,24 +756,7 @@ get_temp_texture(GLcontext *ctx) struct temp_texture *tex = &ctx->Meta->TempTex; if (!tex->TexObj) { - /* do one-time init */ - - /* prefer texture rectangle */ - if (ctx->Extensions.NV_texture_rectangle) { - tex->Target = GL_TEXTURE_RECTANGLE; - tex->MaxSize = ctx->Const.MaxTextureRectSize; - tex->NPOT = GL_TRUE; - } - else { - /* use 2D texture, NPOT if possible */ - tex->Target = GL_TEXTURE_2D; - tex->MaxSize = 1 << (ctx->Const.MaxTextureLevels - 1); - tex->NPOT = ctx->Extensions.ARB_texture_non_power_of_two; - } - assert(tex->MaxSize > 0); - - _mesa_GenTextures(1, &tex->TexObj); - _mesa_BindTexture(tex->Target, tex->TexObj); + init_temp_texture(ctx, tex); } return tex; @@ -767,6 +778,9 @@ alloc_texture(struct temp_texture *tex, { GLboolean newTex = GL_FALSE; + ASSERT(width <= tex->MaxSize); + ASSERT(height <= tex->MaxSize); + if (width > tex->Width || height > tex->Height || intFormat != tex->IntFormat) { @@ -774,13 +788,13 @@ alloc_texture(struct temp_texture *tex, if (tex->NPOT) { /* use non-power of two size */ - tex->Width = MIN2(64, width); - tex->Height = MIN2(64, height); + tex->Width = MAX2(tex->MinSize, width); + tex->Height = MAX2(tex->MinSize, height); } else { /* find power of two size */ GLsizei w, h; - w = h = 16; + w = h = tex->MinSize; while (w < width) w *= 2; while (h < height) -- cgit v1.2.3 From 886e7b318dc2add8cd51abb7ba4fdc33af741586 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 22:03:02 -0600 Subject: mesa: use separate temp texture for bitmaps --- src/mesa/drivers/common/meta.c | 63 ++++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 8d60f69634..35ce6e408e 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -137,6 +137,24 @@ struct save_state }; +/** + * Temporary texture used for glBlitFramebuffer, glDrawPixels, etc. + * This is currently shared by all the meta ops. But we could create a + * separate one for each of glDrawPixel, glBlitFramebuffer, glCopyPixels, etc. + */ +struct temp_texture +{ + GLuint TexObj; + GLenum Target; /**< GL_TEXTURE_2D or GL_TEXTURE_RECTANGLE */ + GLsizei MinSize; /**< Min texture size to allocate */ + GLsizei MaxSize; /**< Max possible texture size */ + GLboolean NPOT; /**< Non-power of two size OK? */ + GLsizei Width, Height; /**< Current texture size */ + GLenum IntFormat; + GLfloat Sright, Ttop; /**< right, top texcoords */ +}; + + /** * State for glBlitFramebufer() */ @@ -188,24 +206,7 @@ struct bitmap_state { GLuint ArrayObj; GLuint VBO; -}; - - -/** - * Temporary texture used for glBlitFramebuffer, glDrawPixels, etc. - * This is currently shared by all the meta ops. But we could create a - * separate one for each of glDrawPixel, glBlitFramebuffer, glCopyPixels, etc. - */ -struct temp_texture -{ - GLuint TexObj; - GLenum Target; /**< GL_TEXTURE_2D or GL_TEXTURE_RECTANGLE */ - GLsizei MinSize; /**< Min texture size to allocate */ - GLsizei MaxSize; /**< Max possible texture size */ - GLboolean NPOT; /**< Non-power of two size OK? */ - GLsizei Width, Height; /**< Current texture size */ - GLenum IntFormat; - GLfloat Sright, Ttop; /**< right, top texcoords */ + struct temp_texture Tex; /**< separate texture from other meta ops */ }; @@ -257,6 +258,7 @@ _mesa_meta_free(GLcontext *ctx) * still get freed by _mesa_free_context_data(). */ + /* the temporary texture */ _mesa_DeleteTextures(1, &meta->TempTex.TexObj); /* glBlitFramebuffer */ @@ -281,6 +283,7 @@ _mesa_meta_free(GLcontext *ctx) /* glBitmap */ _mesa_DeleteBuffersARB(1, & meta->Bitmap.VBO); _mesa_DeleteVertexArraysAPPLE(1, &meta->Bitmap.ArrayObj); + _mesa_DeleteTextures(1, &meta->Bitmap.Tex.TexObj); } _mesa_free(ctx->Meta); @@ -747,8 +750,8 @@ init_temp_texture(GLcontext *ctx, struct temp_texture *tex) /** - * Return pointer to temp_texture info. This does some one-time init - * if needed. + * Return pointer to temp_texture info for non-bitmap ops. + * This does some one-time init if needed. */ static struct temp_texture * get_temp_texture(GLcontext *ctx) @@ -763,6 +766,24 @@ get_temp_texture(GLcontext *ctx) } +/** + * Return pointer to temp_texture info for _mesa_meta_bitmap(). + * We use a separate texture for bitmaps to reduce texture + * allocation/deallocation. + */ +static struct temp_texture * +get_bitmap_temp_texture(GLcontext *ctx) +{ + struct temp_texture *tex = &ctx->Meta->Bitmap.Tex; + + if (!tex->TexObj) { + init_temp_texture(ctx, tex); + } + + return tex; +} + + /** * Compute the width/height of texture needed to draw an image of the * given size. Return a flag indicating whether the current texture @@ -1686,7 +1707,7 @@ _mesa_meta_bitmap(GLcontext *ctx, const GLubyte *bitmap1) { struct bitmap_state *bitmap = &ctx->Meta->Bitmap; - struct temp_texture *tex = get_temp_texture(ctx); + struct temp_texture *tex = get_bitmap_temp_texture(ctx); const GLenum texIntFormat = GL_ALPHA; const struct gl_pixelstore_attrib unpackSave = *unpack; GLfloat verts[4][9]; /* four verts of X,Y,Z,S,T,R,G,B,A */ -- cgit v1.2.3 From 4d63c626d0f436f0def817333230415794b73f3c Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 3 Sep 2009 22:10:55 -0600 Subject: xlib: test _mesa_meta_bitmap() --- src/mesa/drivers/x11/xm_dd.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c index e4922d2eb5..4e9c001cc7 100644 --- a/src/mesa/drivers/x11/xm_dd.c +++ b/src/mesa/drivers/x11/xm_dd.c @@ -1154,6 +1154,7 @@ xmesa_init_driver_functions( XMesaVisual xmvisual, driver->CopyPixels = _mesa_meta_copy_pixels; driver->BlitFramebuffer = _mesa_meta_blit_framebuffer; driver->DrawPixels = _mesa_meta_draw_pixels; + driver->Bitmap = _mesa_meta_bitmap; } else { driver->Clear = clear_buffers; -- cgit v1.2.3 From 23663ae9148b9a976b8a95e48af8404cbda046fe Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sun, 6 Sep 2009 09:39:47 -0600 Subject: mesa: initial version of _mesa_meta_generate_mipmap() Incomplete and totally untested. Based on intel_generate_mipmap(). --- src/mesa/drivers/common/meta.c | 183 ++++++++++++++++++++++++++++++++++++++++- src/mesa/drivers/common/meta.h | 3 + 2 files changed, 182 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 35ce6e408e..6e0905aa49 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -37,11 +37,14 @@ #include "main/arrayobj.h" #include "main/blend.h" #include "main/bufferobj.h" +#include "main/buffers.h" #include "main/depth.h" #include "main/enable.h" +#include "main/fbobject.h" #include "main/image.h" #include "main/macros.h" #include "main/matrix.h" +#include "main/mipmap.h" #include "main/polygon.h" #include "main/readpix.h" #include "main/scissor.h" @@ -210,6 +213,17 @@ struct bitmap_state }; +/** + * State for _mesa_meta_generate_mipmap() + */ +struct gen_mipmap_state +{ + GLuint ArrayObj; + GLuint VBO; + GLuint FBO; +}; + + /** * All per-context meta state. */ @@ -224,10 +238,7 @@ struct gl_meta_state struct copypix_state CopyPix; /**< For _mesa_meta_copy_pixels() */ struct drawpix_state DrawPix; /**< For _mesa_meta_draw_pixels() */ struct bitmap_state Bitmap; /**< For _mesa_meta_bitmap() */ - - /* other possible meta-ops: - * glGenerateMipmap() - */ + struct gen_mipmap_state Mipmap; /**< For _mesa_meta_generate_mipmap() */ }; @@ -1840,3 +1851,167 @@ _mesa_meta_bitmap(GLcontext *ctx, _mesa_meta_end(ctx); } + + +void +_mesa_meta_generate_mipmap(GLcontext *ctx, GLenum target, + struct gl_texture_object *texObj) +{ + struct gen_mipmap_state *mipmap = &ctx->Meta->Mipmap; + struct { GLfloat x, y, s, t, r; } verts[4]; + const GLuint baseLevel = texObj->BaseLevel; + const GLuint maxLevel = texObj->MaxLevel; + const GLenum minFilterSave = texObj->MinFilter; + const GLenum magFilterSave = texObj->MagFilter; + const GLuint fboSave = ctx->DrawBuffer->Name; + GLenum faceTarget; + GLuint level; + GLuint border = 0; + + /* check for fallbacks */ + if (!ctx->Extensions.EXT_framebuffer_object) { + _mesa_generate_mipmap(ctx, target, texObj); + return; + } + + if (target >= GL_TEXTURE_CUBE_MAP_POSITIVE_X && + target <= GL_TEXTURE_CUBE_MAP_NEGATIVE_Z) { + faceTarget = target; + target = GL_TEXTURE_CUBE_MAP; + } + else { + faceTarget = target; + } + + _mesa_meta_begin(ctx, META_ALL); + + if (mipmap->ArrayObj == 0) { + /* one-time setup */ + + /* create vertex array object */ + _mesa_GenVertexArraysAPPLE(1, &mipmap->ArrayObj); + _mesa_BindVertexArrayAPPLE(mipmap->ArrayObj); + + /* create vertex array buffer */ + _mesa_GenBuffersARB(1, &mipmap->VBO); + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, mipmap->VBO); + _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), + NULL, GL_DYNAMIC_DRAW_ARB); + + /* setup vertex arrays */ + _mesa_VertexPointer(2, GL_FLOAT, sizeof(verts[0]), + (void *) (0 * sizeof(GLfloat))); + _mesa_TexCoordPointer(3, GL_FLOAT, sizeof(verts[0]), + (void *) (2 * sizeof(GLfloat))); + + _mesa_EnableClientState(GL_VERTEX_ARRAY); + _mesa_EnableClientState(GL_TEXTURE_COORD_ARRAY); + } + else { + _mesa_BindVertexArray(mipmap->ArrayObj); + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, mipmap->VBO); + } + + if (!mipmap->FBO) { + /* Bind the new renderbuffer to the color attachment point. */ + _mesa_GenFramebuffersEXT(1, &mipmap->FBO); + } + + _mesa_BindFramebufferEXT(GL_FRAMEBUFFER_EXT, mipmap->FBO); + + _mesa_TexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + _mesa_TexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + _mesa_set_enable(ctx, target, GL_TRUE); + + /* setup texcoords once (XXX what about border?) */ + switch (faceTarget) { + case GL_TEXTURE_CUBE_MAP_POSITIVE_X: + break; + case GL_TEXTURE_2D: + verts[0].s = 0.0F; + verts[0].t = 0.0F; + verts[0].r = 0.0F; + verts[1].s = 1.0F; + verts[1].t = 0.0F; + verts[2].r = 0.0F; + verts[3].s = 1.0F; + verts[3].t = 1.0F; + verts[3].r = 0.0F; + verts[4].s = 0.0F; + verts[4].t = 1.0F; + verts[4].r = 0.0F; + break; + } + + + for (level = baseLevel + 1; level <= maxLevel; level++) { + const struct gl_texture_image *srcImage; + const GLuint srcLevel = level - 1; + GLsizei srcWidth, srcHeight; + GLsizei newWidth, newHeight; + GLenum status; + + srcImage = _mesa_select_tex_image(ctx, texObj, target, srcLevel); + assert(srcImage->Border == 0); /* XXX we can fix this */ + + srcWidth = srcImage->Width - 2 * border; + srcHeight = srcImage->Height - 2 * border; + + newWidth = MAX2(1, srcWidth / 2) + 2 * border; + newHeight = MAX2(1, srcHeight / 2) + 2 * border; + + if (newWidth == srcImage->Width && newHeight == srcImage->Height) { + break; + } + + /* Create empty image */ + _mesa_TexImage2D(GL_TEXTURE_2D, level, srcImage->InternalFormat, + newWidth, newHeight, border, + GL_RGBA, GL_UNSIGNED_BYTE, NULL); + + /* vertex positions */ + { + verts[0].x = 0.0F; + verts[0].y = 0.0F; + verts[1].x = (GLfloat) newWidth; + verts[1].y = 0.0F; + verts[2].x = (GLfloat) newWidth; + verts[2].y = (GLfloat) newHeight; + verts[3].x = 0.0F; + verts[3].y = (GLfloat) newHeight; + + /* upload new vertex data */ + _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); + } + + /* limit sampling to src level */ + _mesa_TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, srcLevel); + _mesa_TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, srcLevel); + + /* Set to draw into the current level */ + _mesa_FramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, + GL_COLOR_ATTACHMENT0_EXT, + target, + texObj->Name, + level); + + /* Choose to render to the color attachment. */ + _mesa_DrawBuffer(GL_COLOR_ATTACHMENT0_EXT); + + status = _mesa_CheckFramebufferStatusEXT (GL_FRAMEBUFFER_EXT); + if (status != GL_FRAMEBUFFER_COMPLETE_EXT) { + abort(); + break; + } + + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + } + + _mesa_meta_end(ctx); + + _mesa_TexParameteri(target, GL_TEXTURE_MIN_FILTER, minFilterSave); + _mesa_TexParameteri(target, GL_TEXTURE_MAG_FILTER, magFilterSave); + + /* restore (XXX add to meta_begin/end()? */ + _mesa_BindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboSave); +} diff --git a/src/mesa/drivers/common/meta.h b/src/mesa/drivers/common/meta.h index b729208492..171ad27f26 100644 --- a/src/mesa/drivers/common/meta.h +++ b/src/mesa/drivers/common/meta.h @@ -83,6 +83,9 @@ _mesa_meta_bitmap(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack, const GLubyte *bitmap); +extern void +_mesa_meta_generate_mipmap(GLcontext *ctx, GLenum target, + struct gl_texture_object *texObj); #endif /* META_H */ -- cgit v1.2.3 From 7b8ec0d8e72b4dd0c60db9c9454acd1f1ec75a7e Mon Sep 17 00:00:00 2001 From: Michel DĂ€nzer Date: Sun, 6 Sep 2009 18:12:14 +0200 Subject: r300g: Handle PIPE_BUFFER_USAGE_DONTBLOCK as intended. Return NULL if the BO is busy, otherwise just map it. --- src/gallium/winsys/drm/radeon/core/radeon_buffer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c index 07551e7cd1..ee39af9f76 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c @@ -134,8 +134,11 @@ static void *radeon_buffer_map(struct pipe_winsys *ws, (struct radeon_pipe_buffer*)buffer; int write = 0; - if (!(flags & PIPE_BUFFER_USAGE_DONTBLOCK)) { - radeon_bo_wait(radeon_buffer->bo); + if (flags & PIPE_BUFFER_USAGE_DONTBLOCK) { + uint32_t domain; + + if (radeon_bo_is_busy(radeon_buffer->bo, &domain)) + return NULL; } if (flags & PIPE_BUFFER_USAGE_CPU_WRITE) { write = 1; -- cgit v1.2.3 From 617202b5783b227be4f082b0da51b84d48500b3c Mon Sep 17 00:00:00 2001 From: Michel DĂ€nzer Date: Sun, 6 Sep 2009 18:12:14 +0200 Subject: r300g: Fix some issues pointed out by compiler warnings. --- src/gallium/winsys/drm/radeon/core/radeon_buffer.c | 4 +++- src/gallium/winsys/drm/radeon/core/radeon_drm.c | 28 ++++++++++++---------- src/gallium/winsys/drm/radeon/core/radeon_r300.c | 2 +- 3 files changed, 19 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c index ee39af9f76..7bf23cba23 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c @@ -32,6 +32,8 @@ #include "radeon_buffer.h" +#include "radeon_bo_gem.h" + static const char *radeon_get_name(struct pipe_winsys *ws) { return "Radeon/GEM+KMS"; @@ -99,6 +101,7 @@ static struct pipe_buffer *radeon_surface_buffer_create(struct pipe_winsys *ws, unsigned height, enum pipe_format format, unsigned usage, + unsigned tex_usage, unsigned *stride) { struct pipe_format_block block; @@ -190,7 +193,6 @@ static void radeon_flush_frontbuffer(struct pipe_winsys *pipe_winsys, struct radeon_winsys* radeon_pipe_winsys(int fd) { struct radeon_winsys* radeon_ws; - struct radeon_bo_manager* bom; radeon_ws = CALLOC_STRUCT(radeon_winsys); if (radeon_ws == NULL) { diff --git a/src/gallium/winsys/drm/radeon/core/radeon_drm.c b/src/gallium/winsys/drm/radeon/core/radeon_drm.c index 47376a0f07..a4011db0b8 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_drm.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_drm.c @@ -98,7 +98,7 @@ struct pipe_buffer* radeon_buffer_from_handle(struct drm_api* api, return &radeon_buffer->base; } -struct pipe_texture* +static struct pipe_texture* radeon_texture_from_shared_handle(struct drm_api *api, struct pipe_screen *screen, struct pipe_texture *templ, @@ -116,20 +116,22 @@ radeon_texture_from_shared_handle(struct drm_api *api, return screen->texture_blanket(screen, templ, &stride, buffer); } -boolean radeon_shared_handle_from_texture(struct drm_api *api, - struct pipe_screen *screen, - struct pipe_texture *texture, - unsigned *stride, - unsigned *handle) +static boolean radeon_shared_handle_from_texture(struct drm_api *api, + struct pipe_screen *screen, + struct pipe_texture *texture, + unsigned *stride, + unsigned *handle) { int retval, fd; struct drm_gem_flink flink; struct radeon_pipe_buffer* radeon_buffer; - struct pipe_buffer* buffer = &radeon_buffer->base; - if (!radeon_buffer_from_texture(api, texture, buffer, stride)) { + struct pipe_buffer *buffer; + + if (!radeon_buffer_from_texture(api, texture, &buffer, stride)) { return FALSE; } + radeon_buffer = (struct radeon_pipe_buffer*)buffer; if (!radeon_buffer->flinked) { fd = ((struct radeon_winsys*)screen->winsys)->priv->fd; @@ -150,11 +152,11 @@ boolean radeon_shared_handle_from_texture(struct drm_api *api, return TRUE; } -boolean radeon_local_handle_from_texture(struct drm_api *api, - struct pipe_screen *screen, - struct pipe_texture *texture, - unsigned *stride, - unsigned *handle) +static boolean radeon_local_handle_from_texture(struct drm_api *api, + struct pipe_screen *screen, + struct pipe_texture *texture, + unsigned *stride, + unsigned *handle) { struct pipe_buffer *buffer; if (!radeon_buffer_from_texture(api, texture, &buffer, stride)) { diff --git a/src/gallium/winsys/drm/radeon/core/radeon_r300.c b/src/gallium/winsys/drm/radeon/core/radeon_r300.c index d723876221..d2d84f1a8f 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_r300.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_r300.c @@ -137,7 +137,7 @@ static void do_ioctls(struct r300_winsys* winsys, int fd) int target = 0; int retval; - info.value = ⌖ + info.value = (unsigned long)⌖ /* First, get the number of pixel pipes */ info.request = RADEON_INFO_NUM_GB_PIPES; -- cgit v1.2.3 From 826d441cdfa16a16d165297beb3013f4ff8b4816 Mon Sep 17 00:00:00 2001 From: Michal Krol Date: Mon, 7 Sep 2009 09:16:35 +0200 Subject: mesa: Fix calling conventions of sync object api callbacks. --- src/mesa/main/syncobj.c | 12 ++++++------ src/mesa/main/syncobj.h | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c index 64f923ff91..ac3f9eb175 100644 --- a/src/mesa/main/syncobj.c +++ b/src/mesa/main/syncobj.c @@ -190,7 +190,7 @@ _mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj) } -GLboolean +GLboolean GLAPIENTRY _mesa_IsSync(GLsync sync) { GET_CURRENT_CONTEXT(ctx); @@ -201,7 +201,7 @@ _mesa_IsSync(GLsync sync) } -void +void GLAPIENTRY _mesa_DeleteSync(GLsync sync) { GET_CURRENT_CONTEXT(ctx); @@ -231,7 +231,7 @@ _mesa_DeleteSync(GLsync sync) } -GLsync +GLsync GLAPIENTRY _mesa_FenceSync(GLenum condition, GLbitfield flags) { GET_CURRENT_CONTEXT(ctx); @@ -278,7 +278,7 @@ _mesa_FenceSync(GLenum condition, GLbitfield flags) } -GLenum +GLenum GLAPIENTRY _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { GET_CURRENT_CONTEXT(ctx); @@ -319,7 +319,7 @@ _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) } -void +void GLAPIENTRY _mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { GET_CURRENT_CONTEXT(ctx); @@ -348,7 +348,7 @@ _mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) } -void +void GLAPIENTRY _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { diff --git a/src/mesa/main/syncobj.h b/src/mesa/main/syncobj.h index fc160af289..f23fa281e2 100644 --- a/src/mesa/main/syncobj.h +++ b/src/mesa/main/syncobj.h @@ -48,22 +48,22 @@ _mesa_ref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj); extern void _mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj); -extern GLboolean +extern GLboolean GLAPIENTRY _mesa_IsSync(GLsync sync); -extern void +extern void GLAPIENTRY _mesa_DeleteSync(GLsync sync); -extern GLsync +extern GLsync GLAPIENTRY _mesa_FenceSync(GLenum condition, GLbitfield flags); -extern GLenum +extern GLenum GLAPIENTRY _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout); -extern void +extern void GLAPIENTRY _mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout); -extern void +extern void GLAPIENTRY _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); -- cgit v1.2.3 From 970823978c2f7d2cf0757aa6ddbd6289b34c476f Mon Sep 17 00:00:00 2001 From: Michal Krol Date: Mon, 7 Sep 2009 09:31:17 +0200 Subject: mesa: Include only when one is available. --- src/mesa/shader/lex.yy.c | 4 ++++ src/mesa/shader/program_lexer.l | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'src') diff --git a/src/mesa/shader/lex.yy.c b/src/mesa/shader/lex.yy.c index 709426f3a6..283ba8d26e 100644 --- a/src/mesa/shader/lex.yy.c +++ b/src/mesa/shader/lex.yy.c @@ -912,6 +912,10 @@ static yyconst flex_int16_t yy_chk[1023] = #define require_rect (yyextra->option.TexRect) #define require_texarray (yyextra->option.TexArray) +#ifndef HAVE_UNISTD_H +#define YY_NO_UNISTD_H +#endif + #define return_token_or_IDENTIFIER(condition, token) \ do { \ if (condition) { \ diff --git a/src/mesa/shader/program_lexer.l b/src/mesa/shader/program_lexer.l index d240217481..612f99a42d 100644 --- a/src/mesa/shader/program_lexer.l +++ b/src/mesa/shader/program_lexer.l @@ -34,6 +34,10 @@ #define require_rect (yyextra->option.TexRect) #define require_texarray (yyextra->option.TexArray) +#ifndef HAVE_UNISTD_H +#define YY_NO_UNISTD_H +#endif + #define return_token_or_IDENTIFIER(condition, token) \ do { \ if (condition) { \ -- cgit v1.2.3 From 8be72bb7646d430e66cb36e09c13c13bee030d53 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Sun, 6 Sep 2009 11:20:14 +0100 Subject: llvmpipe: Further abstract the texture sampling generation from TGSI translation. --- src/gallium/drivers/llvmpipe/lp_bld_tgsi.h | 35 +++++-- src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c | 16 +-- src/gallium/drivers/llvmpipe/lp_state_fs.c | 115 ++------------------- src/gallium/drivers/llvmpipe/lp_tex_sample.c | 133 +++++++++++++++++++++++++ src/gallium/drivers/llvmpipe/lp_tex_sample.h | 12 +++ 5 files changed, 186 insertions(+), 125 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_tgsi.h b/src/gallium/drivers/llvmpipe/lp_bld_tgsi.h index 912db24aec..10c251c416 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_tgsi.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_tgsi.h @@ -44,14 +44,30 @@ struct lp_build_context; struct lp_build_mask_context; -typedef void -(*lp_emit_fetch_texel_soa_callback)( LLVMBuilderRef builder, - void *context, - unsigned unit, - unsigned num_coords, - const LLVMValueRef *coords, - LLVMValueRef lodbias, - LLVMValueRef *texel); +/** + * Sampler code generation interface. + * + * Although texture sampling is a requirement for TGSI translation, it is + * a very different problem with several different approaches to it. This + * structure establishes an interface for texture sampling code generation, so + * that we can easily use different texture sampling strategies. + */ +struct lp_build_sampler_soa +{ + void + (*destroy)( struct lp_build_sampler_soa *sampler ); + + void + (*emit_fetch_texel)( struct lp_build_sampler_soa *sampler, + LLVMBuilderRef builder, + union lp_type type, + unsigned unit, + unsigned num_coords, + const LLVMValueRef *coords, + LLVMValueRef lodbias, + LLVMValueRef *texel); +}; + void lp_build_tgsi_soa(LLVMBuilderRef builder, @@ -62,8 +78,7 @@ lp_build_tgsi_soa(LLVMBuilderRef builder, const LLVMValueRef *pos, const LLVMValueRef (*inputs)[4], LLVMValueRef (*outputs)[4], - lp_emit_fetch_texel_soa_callback emit_fetch_texel, - void *emit_fetch_texel_context); + struct lp_build_sampler_soa *sampler); #endif /* LP_BLD_TGSI_H */ diff --git a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c index d4d18febec..3ce379de12 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_tgsi_soa.c @@ -88,8 +88,7 @@ struct lp_build_tgsi_soa_context const LLVMValueRef (*inputs)[NUM_CHANNELS]; LLVMValueRef (*outputs)[NUM_CHANNELS]; - lp_emit_fetch_texel_soa_callback emit_fetch_texel; - void *emit_fetch_texel_context; + struct lp_build_sampler_soa *sampler; LLVMValueRef immediates[LP_MAX_IMMEDIATES][NUM_CHANNELS]; LLVMValueRef temps[LP_MAX_TEMPS][NUM_CHANNELS]; @@ -289,8 +288,11 @@ emit_tex( struct lp_build_tgsi_soa_context *bld, coords[i] = lp_build_mul(&bld->base, coords[i], oow); } - bld->emit_fetch_texel(bld->base.builder, bld->emit_fetch_texel_context, - unit, num_coords, coords, lodbias, texel); + bld->sampler->emit_fetch_texel(bld->sampler, + bld->base.builder, + bld->base.type, + unit, num_coords, coords, lodbias, + texel); FOR_EACH_DST0_ENABLED_CHANNEL( inst, i ) { emit_store( bld, inst, 0, i, texel[i] ); @@ -1283,8 +1285,7 @@ lp_build_tgsi_soa(LLVMBuilderRef builder, const LLVMValueRef *pos, const LLVMValueRef (*inputs)[NUM_CHANNELS], LLVMValueRef (*outputs)[NUM_CHANNELS], - lp_emit_fetch_texel_soa_callback emit_fetch_texel, - void *emit_fetch_texel_context) + struct lp_build_sampler_soa *sampler) { struct lp_build_tgsi_soa_context bld; struct tgsi_parse_context parse; @@ -1299,8 +1300,7 @@ lp_build_tgsi_soa(LLVMBuilderRef builder, bld.inputs = inputs; bld.outputs = outputs; bld.consts_ptr = consts_ptr; - bld.emit_fetch_texel = emit_fetch_texel; - bld.emit_fetch_texel_context = emit_fetch_texel_context; + bld.sampler = sampler; tgsi_parse_init( &parse, tokens ); diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 94170bd716..80f705c871 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -85,6 +85,7 @@ #include "lp_context.h" #include "lp_state.h" #include "lp_quad.h" +#include "lp_tex_sample.h" static const unsigned char quad_offset_x[4] = {0, 1, 0, 1}; @@ -173,107 +174,6 @@ generate_depth(struct llvmpipe_context *lp, } -struct build_fetch_texel_context -{ - LLVMValueRef context_ptr; - - LLVMValueRef samplers_ptr; - - /** Coords/texels store */ - LLVMValueRef store_ptr; -}; - - -void PIPE_CDECL -lp_fetch_texel_soa( struct tgsi_sampler **samplers, - uint32_t unit, - float *store ) -{ - struct tgsi_sampler *sampler = samplers[unit]; - -#if 0 - uint j; - - debug_printf("%s sampler: %p (%p) store: %p\n", - __FUNCTION__, - sampler, *sampler, - store ); - - debug_printf("lodbias %f\n", store[12]); - - for (j = 0; j < 4; j++) - debug_printf("sample %d texcoord %f %f\n", - j, - store[0+j], - store[4+j]); -#endif - - { - float rgba[NUM_CHANNELS][QUAD_SIZE]; - sampler->get_samples(sampler, - &store[0], - &store[4], - &store[8], - 0.0f, /*store[12], lodbias */ - rgba); - memcpy(store, rgba, sizeof rgba); - } - -#if 0 - for (j = 0; j < 4; j++) - debug_printf("sample %d result %f %f %f %f\n", - j, - store[0+j], - store[4+j], - store[8+j], - store[12+j]); -#endif -} - - -static void -emit_fetch_texel( LLVMBuilderRef builder, - void *context, - unsigned unit, - unsigned num_coords, - const LLVMValueRef *coords, - LLVMValueRef lodbias, - LLVMValueRef *texel) -{ - struct build_fetch_texel_context *bld = context; - LLVMTypeRef vec_type = LLVMTypeOf(coords[0]); - LLVMValueRef args[3]; - unsigned i; - - if(!bld->samplers_ptr) - bld->samplers_ptr = lp_jit_context_samplers(builder, bld->context_ptr); - - if(!bld->store_ptr) - bld->store_ptr = LLVMBuildArrayAlloca(builder, - vec_type, - LLVMConstInt(LLVMInt32Type(), 4, 0), - "texel_store"); - - for (i = 0; i < num_coords; i++) { - LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); - LLVMValueRef coord_ptr = LLVMBuildGEP(builder, bld->store_ptr, &index, 1, ""); - LLVMBuildStore(builder, coords[i], coord_ptr); - } - - args[0] = bld->samplers_ptr; - args[1] = LLVMConstInt(LLVMInt32Type(), unit, 0); - args[2] = bld->store_ptr; - - lp_build_intrinsic(builder, "fetch_texel", LLVMVoidType(), args, 3); - - for (i = 0; i < NUM_CHANNELS; ++i) { - LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); - LLVMValueRef texel_ptr = LLVMBuildGEP(builder, bld->store_ptr, &index, 1, ""); - texel[i] = LLVMBuildLoad(builder, texel_ptr, ""); - } -} - - /** * Generate the fragment shader, depth/stencil test, and alpha tests. */ @@ -286,7 +186,7 @@ generate_fs(struct llvmpipe_context *lp, LLVMValueRef context_ptr, unsigned i, const struct lp_build_interp_soa_context *interp, - struct build_fetch_texel_context *sampler, + struct lp_build_sampler_soa *sampler, LLVMValueRef *pmask, LLVMValueRef *color, LLVMValueRef depth_ptr) @@ -327,7 +227,7 @@ generate_fs(struct llvmpipe_context *lp, lp_build_tgsi_soa(builder, tokens, type, &mask, consts_ptr, interp->pos, interp->inputs, - outputs, emit_fetch_texel, sampler); + outputs, sampler); for (attrib = 0; attrib < shader->info.num_outputs; ++attrib) { for(chan = 0; chan < NUM_CHANNELS; ++chan) { @@ -462,7 +362,7 @@ generate_fragment(struct llvmpipe_context *lp, LLVMBuilderRef builder; LLVMValueRef x0; LLVMValueRef y0; - struct build_fetch_texel_context sampler; + struct lp_build_sampler_soa *sampler; struct lp_build_interp_soa_context interp; LLVMValueRef fs_mask[LP_MAX_VECTOR_LENGTH]; LLVMValueRef fs_out_color[NUM_CHANNELS][LP_MAX_VECTOR_LENGTH]; @@ -586,8 +486,7 @@ generate_fragment(struct llvmpipe_context *lp, a0_ptr, dadx_ptr, dady_ptr, x0, y0, 2, 0); - memset(&sampler, 0, sizeof sampler); - sampler.context_ptr = context_ptr; + sampler = lp_c_sampler_soa_create(context_ptr); for(i = 0; i < num_fs; ++i) { LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); @@ -606,7 +505,7 @@ generate_fragment(struct llvmpipe_context *lp, context_ptr, i, &interp, - &sampler, + sampler, &fs_mask[i], out_color, depth_ptr_i); @@ -615,6 +514,8 @@ generate_fragment(struct llvmpipe_context *lp, fs_out_color[chan][i] = out_color[chan]; } + sampler->destroy(sampler); + /* * Convert the fs's output color and mask to fit to the blending type. */ diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample.c b/src/gallium/drivers/llvmpipe/lp_tex_sample.c index 94eb6dad5a..9a876f404d 100644 --- a/src/gallium/drivers/llvmpipe/lp_tex_sample.c +++ b/src/gallium/drivers/llvmpipe/lp_tex_sample.c @@ -1578,3 +1578,136 @@ out: tgsi_sampler->get_samples( tgsi_sampler, s, t, p, lodbias, rgba ); } + +void PIPE_CDECL +lp_fetch_texel_soa( struct tgsi_sampler **samplers, + uint32_t unit, + float *store ) +{ + struct tgsi_sampler *sampler = samplers[unit]; + +#if 0 + uint j; + + debug_printf("%s sampler: %p (%p) store: %p\n", + __FUNCTION__, + sampler, *sampler, + store ); + + debug_printf("lodbias %f\n", store[12]); + + for (j = 0; j < 4; j++) + debug_printf("sample %d texcoord %f %f\n", + j, + store[0+j], + store[4+j]); +#endif + + { + float rgba[NUM_CHANNELS][QUAD_SIZE]; + sampler->get_samples(sampler, + &store[0], + &store[4], + &store[8], + 0.0f, /*store[12], lodbias */ + rgba); + memcpy(store, rgba, sizeof rgba); + } + +#if 0 + for (j = 0; j < 4; j++) + debug_printf("sample %d result %f %f %f %f\n", + j, + store[0+j], + store[4+j], + store[8+j], + store[12+j]); +#endif +} + + +#include "lp_bld_type.h" +#include "lp_bld_intr.h" +#include "lp_bld_tgsi.h" + + +struct lp_c_sampler_soa +{ + struct lp_build_sampler_soa base; + + LLVMValueRef context_ptr; + + LLVMValueRef samplers_ptr; + + /** Coords/texels store */ + LLVMValueRef store_ptr; +}; + + +static void +lp_c_sampler_soa_destroy(struct lp_build_sampler_soa *sampler) +{ + FREE(sampler); +} + + +static void +lp_c_sampler_soa_emit_fetch_texel(struct lp_build_sampler_soa *_sampler, + LLVMBuilderRef builder, + union lp_type type, + unsigned unit, + unsigned num_coords, + const LLVMValueRef *coords, + LLVMValueRef lodbias, + LLVMValueRef *texel) +{ + struct lp_c_sampler_soa *sampler = (struct lp_c_sampler_soa *)_sampler; + LLVMTypeRef vec_type = LLVMTypeOf(coords[0]); + LLVMValueRef args[3]; + unsigned i; + + if(!sampler->samplers_ptr) + sampler->samplers_ptr = lp_jit_context_samplers(builder, sampler->context_ptr); + + if(!sampler->store_ptr) + sampler->store_ptr = LLVMBuildArrayAlloca(builder, + vec_type, + LLVMConstInt(LLVMInt32Type(), 4, 0), + "texel_store"); + + for (i = 0; i < num_coords; i++) { + LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); + LLVMValueRef coord_ptr = LLVMBuildGEP(builder, sampler->store_ptr, &index, 1, ""); + LLVMBuildStore(builder, coords[i], coord_ptr); + } + + args[0] = sampler->samplers_ptr; + args[1] = LLVMConstInt(LLVMInt32Type(), unit, 0); + args[2] = sampler->store_ptr; + + lp_build_intrinsic(builder, "fetch_texel", LLVMVoidType(), args, 3); + + for (i = 0; i < NUM_CHANNELS; ++i) { + LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); + LLVMValueRef texel_ptr = LLVMBuildGEP(builder, sampler->store_ptr, &index, 1, ""); + texel[i] = LLVMBuildLoad(builder, texel_ptr, ""); + } +} + + +struct lp_build_sampler_soa * +lp_c_sampler_soa_create(LLVMValueRef context_ptr) +{ + struct lp_c_sampler_soa *sampler; + + sampler = CALLOC_STRUCT(lp_c_sampler_soa); + if(!sampler) + return NULL; + + sampler->base.destroy = lp_c_sampler_soa_destroy; + sampler->base.emit_fetch_texel = lp_c_sampler_soa_emit_fetch_texel; + sampler->context_ptr = context_ptr; + + return &sampler->base; +} + diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample.h b/src/gallium/drivers/llvmpipe/lp_tex_sample.h index 628ec3f1ef..7d1e565885 100644 --- a/src/gallium/drivers/llvmpipe/lp_tex_sample.h +++ b/src/gallium/drivers/llvmpipe/lp_tex_sample.h @@ -29,6 +29,8 @@ #define LP_TEX_SAMPLE_H +#include + #include "tgsi/tgsi_exec.h" @@ -75,4 +77,14 @@ lp_get_samples(struct tgsi_sampler *tgsi_sampler, float rgba[NUM_CHANNELS][QUAD_SIZE]); +/** + * Texture sampling code generator that just calls lp_get_samples C function + * for the actual sampling computation. + * + * @param context_ptr LLVM value with the pointer to the struct lp_jit_context. + */ +struct lp_build_sampler_soa * +lp_c_sampler_soa_create(LLVMValueRef context_ptr); + + #endif /* LP_TEX_SAMPLE_H */ -- cgit v1.2.3 From 6b129a82223c674d3e11472aa8abe07fd741764a Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:21:51 +0100 Subject: util: Utility function to check if a number is a power of two. --- src/gallium/auxiliary/util/u_math.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h index 4c6c2bc00e..b12c97dfb4 100644 --- a/src/gallium/auxiliary/util/u_math.h +++ b/src/gallium/auxiliary/util/u_math.h @@ -340,6 +340,16 @@ util_is_inf_or_nan(float x) } +/** + * Test whether x is a power of two. + */ +static INLINE boolean +util_is_pot(unsigned x) +{ + return (x & (x - 1)) == 0; +} + + /** * Find first bit set in word. Least significant bit is 1. * Return 0 if no bits set. -- cgit v1.2.3 From 866fbacf2bf93282f622f1f455250491d0b3b63f Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:24:31 +0100 Subject: llvmpipe: SoA pixel unpacking specialization. --- src/gallium/drivers/llvmpipe/Makefile | 1 + src/gallium/drivers/llvmpipe/SConscript | 1 + src/gallium/drivers/llvmpipe/lp_bld_format.h | 62 +++++--- src/gallium/drivers/llvmpipe/lp_bld_format_aos.c | 30 ++-- src/gallium/drivers/llvmpipe/lp_bld_format_soa.c | 193 +++++++++++++++++++++++ src/gallium/drivers/llvmpipe/lp_test_format.c | 4 +- 6 files changed, 252 insertions(+), 39 deletions(-) create mode 100644 src/gallium/drivers/llvmpipe/lp_bld_format_soa.c (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/Makefile b/src/gallium/drivers/llvmpipe/Makefile index 6e63a0c2b7..54bb3a0e73 100644 --- a/src/gallium/drivers/llvmpipe/Makefile +++ b/src/gallium/drivers/llvmpipe/Makefile @@ -15,6 +15,7 @@ C_SOURCES = \ lp_bld_depth.c \ lp_bld_flow.c \ lp_bld_format_aos.c \ + lp_bld_format_soa.c \ lp_bld_interp.c \ lp_bld_intr.c \ lp_bld_logic.c \ diff --git a/src/gallium/drivers/llvmpipe/SConscript b/src/gallium/drivers/llvmpipe/SConscript index 5c29bdac56..3dcd5cb994 100644 --- a/src/gallium/drivers/llvmpipe/SConscript +++ b/src/gallium/drivers/llvmpipe/SConscript @@ -23,6 +23,7 @@ llvmpipe = env.ConvenienceLibrary( 'lp_bld_depth.c', 'lp_bld_flow.c', 'lp_bld_format_aos.c', + 'lp_bld_format_soa.c', 'lp_bld_interp.c', 'lp_bld_intr.c', 'lp_bld_struct.c', diff --git a/src/gallium/drivers/llvmpipe/lp_bld_format.h b/src/gallium/drivers/llvmpipe/lp_bld_format.h index 01c8a752d1..5ee0656093 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_format.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_format.h @@ -31,20 +31,14 @@ /** * @file - * LLVM IR building helpers interfaces. - * - * We use LLVM-C bindings for now. They are not documented, but follow the C++ - * interfaces very closely, and appear to be complete enough for code - * genration. See - * http://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html - * for a standalone example. + * Pixel format helpers. */ #include - -#include "pipe/p_format.h" +#include "pipe/p_format.h" +struct util_format_description; union lp_type; @@ -56,9 +50,9 @@ union lp_type; * @return RGBA in a 4 floats vector. */ LLVMValueRef -lp_build_unpack_rgba(LLVMBuilderRef builder, - enum pipe_format format, - LLVMValueRef packed); +lp_build_unpack_rgba_aos(LLVMBuilderRef builder, + enum pipe_format format, + LLVMValueRef packed); /** @@ -67,9 +61,9 @@ lp_build_unpack_rgba(LLVMBuilderRef builder, * @param rgba 4 float vector with the unpacked components. */ LLVMValueRef -lp_build_pack_rgba(LLVMBuilderRef builder, - enum pipe_format format, - LLVMValueRef rgba); +lp_build_pack_rgba_aos(LLVMBuilderRef builder, + enum pipe_format format, + LLVMValueRef rgba); /** @@ -81,9 +75,9 @@ lp_build_pack_rgba(LLVMBuilderRef builder, * @return RGBA in a 4 floats vector. */ LLVMValueRef -lp_build_load_rgba(LLVMBuilderRef builder, - enum pipe_format format, - LLVMValueRef ptr); +lp_build_load_rgba_aos(LLVMBuilderRef builder, + enum pipe_format format, + LLVMValueRef ptr); /** @@ -92,10 +86,34 @@ lp_build_load_rgba(LLVMBuilderRef builder, * @param rgba 4 float vector with the unpacked components. */ void -lp_build_store_rgba(LLVMBuilderRef builder, - enum pipe_format format, - LLVMValueRef ptr, - LLVMValueRef rgba); +lp_build_store_rgba_aos(LLVMBuilderRef builder, + enum pipe_format format, + LLVMValueRef ptr, + LLVMValueRef rgba); +LLVMValueRef +lp_build_gather(LLVMBuilderRef builder, + unsigned length, + unsigned src_width, + unsigned dst_width, + LLVMValueRef base_ptr, + LLVMValueRef offsets); + + +void +lp_build_unpack_rgba_soa(LLVMBuilderRef builder, + const struct util_format_description *format_desc, + union lp_type type, + LLVMValueRef packed, + LLVMValueRef *rgba); + + +void +lp_build_load_rgba_soa(LLVMBuilderRef builder, + const struct util_format_description *format_desc, + union lp_type type, + LLVMValueRef base_ptr, + LLVMValueRef offsets, + LLVMValueRef *rgba); #endif /* !LP_BLD_H */ diff --git a/src/gallium/drivers/llvmpipe/lp_bld_format_aos.c b/src/gallium/drivers/llvmpipe/lp_bld_format_aos.c index dcbc0076c7..b9b5d84bed 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_format_aos.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_format_aos.c @@ -32,9 +32,9 @@ LLVMValueRef -lp_build_unpack_rgba(LLVMBuilderRef builder, - enum pipe_format format, - LLVMValueRef packed) +lp_build_unpack_rgba_aos(LLVMBuilderRef builder, + enum pipe_format format, + LLVMValueRef packed) { const struct util_format_description *desc; LLVMTypeRef type; @@ -152,9 +152,9 @@ lp_build_unpack_rgba(LLVMBuilderRef builder, LLVMValueRef -lp_build_pack_rgba(LLVMBuilderRef builder, - enum pipe_format format, - LLVMValueRef rgba) +lp_build_pack_rgba_aos(LLVMBuilderRef builder, + enum pipe_format format, + LLVMValueRef rgba) { const struct util_format_description *desc; LLVMTypeRef type; @@ -250,9 +250,9 @@ lp_build_pack_rgba(LLVMBuilderRef builder, LLVMValueRef -lp_build_load_rgba(LLVMBuilderRef builder, - enum pipe_format format, - LLVMValueRef ptr) +lp_build_load_rgba_aos(LLVMBuilderRef builder, + enum pipe_format format, + LLVMValueRef ptr) { const struct util_format_description *desc; LLVMTypeRef type; @@ -272,15 +272,15 @@ lp_build_load_rgba(LLVMBuilderRef builder, packed = LLVMBuildLoad(builder, ptr, ""); - return lp_build_unpack_rgba(builder, format, packed); + return lp_build_unpack_rgba_aos(builder, format, packed); } void -lp_build_store_rgba(LLVMBuilderRef builder, - enum pipe_format format, - LLVMValueRef ptr, - LLVMValueRef rgba) +lp_build_store_rgba_aos(LLVMBuilderRef builder, + enum pipe_format format, + LLVMValueRef ptr, + LLVMValueRef rgba) { const struct util_format_description *desc; LLVMTypeRef type; @@ -294,7 +294,7 @@ lp_build_store_rgba(LLVMBuilderRef builder, type = LLVMIntType(desc->block.bits); - packed = lp_build_pack_rgba(builder, format, rgba); + packed = lp_build_pack_rgba_aos(builder, format, rgba); ptr = LLVMBuildBitCast(builder, ptr, LLVMPointerType(type, 0), ""); diff --git a/src/gallium/drivers/llvmpipe/lp_bld_format_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_format_soa.c new file mode 100644 index 0000000000..36bac06d2e --- /dev/null +++ b/src/gallium/drivers/llvmpipe/lp_bld_format_soa.c @@ -0,0 +1,193 @@ +/************************************************************************** + * + * Copyright 2009 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, 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 VMWARE 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. + * + **************************************************************************/ + + +#include "util/u_format.h" + +#include "lp_bld_type.h" +#include "lp_bld_const.h" +#include "lp_bld_conv.h" +#include "lp_bld_format.h" + + +/** + * Gather elements from scatter positions in memory into a single vector. + * + * @param src_width src element width + * @param dst_width result element width (source will be expanded to fit) + * @param length length of the offsets, + * @param base_ptr base pointer, should be a i8 pointer type. + * @param offsets vector with offsets + */ +LLVMValueRef +lp_build_gather(LLVMBuilderRef builder, + unsigned length, + unsigned src_width, + unsigned dst_width, + LLVMValueRef base_ptr, + LLVMValueRef offsets) +{ + LLVMTypeRef src_type = LLVMIntType(src_width); + LLVMTypeRef src_ptr_type = LLVMPointerType(src_type, 0); + LLVMTypeRef dst_elem_type = LLVMIntType(dst_width); + LLVMTypeRef dst_vec_type = LLVMVectorType(dst_elem_type, length); + LLVMValueRef res; + unsigned i; + + res = LLVMGetUndef(dst_vec_type); + for(i = 0; i < length; ++i) { + LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); + LLVMValueRef elem_offset; + LLVMValueRef elem_ptr; + LLVMValueRef elem; + + elem_offset = LLVMBuildExtractElement(builder, offsets, index, ""); + elem_ptr = LLVMBuildGEP(builder, base_ptr, &elem_offset, 1, ""); + elem_ptr = LLVMBuildBitCast(builder, elem_ptr, src_ptr_type, ""); + elem = LLVMBuildLoad(builder, elem_ptr, ""); + + assert(src_width <= dst_width); + if(src_width > dst_width) + elem = LLVMBuildTrunc(builder, elem, dst_elem_type, ""); + if(src_width < dst_width) + elem = LLVMBuildZExt(builder, elem, dst_elem_type, ""); + + res = LLVMBuildInsertElement(builder, res, elem, index, ""); + } + + return res; +} + + +void +lp_build_unpack_rgba_soa(LLVMBuilderRef builder, + const struct util_format_description *format_desc, + union lp_type type, + LLVMValueRef packed, + LLVMValueRef *rgba) +{ + LLVMValueRef inputs[4]; + unsigned start; + unsigned chan; + + /* FIXME: Support more formats */ + assert(format_desc->layout == UTIL_FORMAT_LAYOUT_ARITH); + assert(format_desc->block.width == 1); + assert(format_desc->block.height == 1); + assert(format_desc->block.bits <= 32); + + /* Decode the input vector components */ + start = 0; + for (chan = 0; chan < 4; ++chan) { + unsigned width = format_desc->channel[chan].size; + unsigned stop = start + width; + LLVMValueRef input; + + input = packed; + + switch(format_desc->channel[chan].type) { + case UTIL_FORMAT_TYPE_VOID: + input = NULL; + break; + + case UTIL_FORMAT_TYPE_UNSIGNED: + if(type.floating) { + if(start) + input = LLVMBuildLShr(builder, input, lp_build_int_const_scalar(type, start), ""); + if(stop < format_desc->block.bits) { + unsigned mask = ((unsigned long long)1 << width) - 1; + input = LLVMBuildAnd(builder, input, lp_build_int_const_scalar(type, mask), ""); + } + + if(format_desc->channel[chan].normalized) + input = lp_build_unsigned_norm_to_float(builder, width, type, input); + else + input = LLVMBuildFPToSI(builder, input, lp_build_vec_type(type), ""); + } + else { + /* FIXME */ + assert(0); + input = lp_build_undef(type); + } + break; + + default: + /* fall through */ + input = lp_build_undef(type); + break; + } + + inputs[chan] = input; + + start = stop; + } + + for (chan = 0; chan < 4; ++chan) { + enum util_format_swizzle swizzle = format_desc->swizzle[chan]; + + switch (swizzle) { + case UTIL_FORMAT_SWIZZLE_X: + case UTIL_FORMAT_SWIZZLE_Y: + case UTIL_FORMAT_SWIZZLE_Z: + case UTIL_FORMAT_SWIZZLE_W: + rgba[chan] = inputs[swizzle]; + break; + case UTIL_FORMAT_SWIZZLE_0: + rgba[chan] = lp_build_zero(type); + break; + case UTIL_FORMAT_SWIZZLE_1: + rgba[chan] = lp_build_one(type); + break; + case UTIL_FORMAT_SWIZZLE_NONE: + rgba[chan] = lp_build_undef(type); + break; + } + } +} + + +void +lp_build_load_rgba_soa(LLVMBuilderRef builder, + const struct util_format_description *format_desc, + union lp_type type, + LLVMValueRef base_ptr, + LLVMValueRef offsets, + LLVMValueRef *rgba) +{ + LLVMValueRef packed; + + assert(format_desc->layout == UTIL_FORMAT_LAYOUT_ARITH); + assert(format_desc->block.width == 1); + assert(format_desc->block.height == 1); + assert(format_desc->block.bits <= 32); + + packed = lp_build_gather(builder, + type.length, format_desc->block.bits, type.width, + base_ptr, offsets); + + lp_build_unpack_rgba_soa(builder, format_desc, type, packed, rgba); +} diff --git a/src/gallium/drivers/llvmpipe/lp_test_format.c b/src/gallium/drivers/llvmpipe/lp_test_format.c index 1d192355ee..d8455e5649 100644 --- a/src/gallium/drivers/llvmpipe/lp_test_format.c +++ b/src/gallium/drivers/llvmpipe/lp_test_format.c @@ -119,7 +119,7 @@ add_load_rgba_test(LLVMModuleRef module, lp_build_loop_begin(builder, LLVMConstInt(LLVMInt32Type(), 1, 0), &loop); - rgba = lp_build_load_rgba(builder, format, ptr); + rgba = lp_build_load_rgba_aos(builder, format, ptr); LLVMBuildStore(builder, rgba, rgba_ptr); lp_build_loop_end(builder, LLVMConstInt(LLVMInt32Type(), 4, 0), NULL, &loop); @@ -160,7 +160,7 @@ add_store_rgba_test(LLVMModuleRef module, rgba = LLVMBuildLoad(builder, rgba_ptr, ""); - lp_build_store_rgba(builder, format, ptr, rgba); + lp_build_store_rgba_aos(builder, format, ptr, rgba); LLVMBuildRetVoid(builder); -- cgit v1.2.3 From b1eff018c7a07502c673032ef6426f49364146be Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:25:02 +0100 Subject: llvmpipe: Utility function to get the pointer to a structure member. --- src/gallium/drivers/llvmpipe/lp_bld_struct.c | 21 +++++++++++++++++---- src/gallium/drivers/llvmpipe/lp_bld_struct.h | 12 ++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_struct.c b/src/gallium/drivers/llvmpipe/lp_bld_struct.c index 14d2b10df9..3998ac374f 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_struct.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_struct.c @@ -41,18 +41,31 @@ #include "lp_bld_struct.h" +LLVMValueRef +lp_build_struct_get_ptr(LLVMBuilderRef builder, + LLVMValueRef ptr, + unsigned member, + const char *name) +{ + LLVMValueRef indices[2]; + LLVMValueRef member_ptr; + indices[0] = LLVMConstInt(LLVMInt32Type(), 0, 0); + indices[1] = LLVMConstInt(LLVMInt32Type(), member, 0); + member_ptr = LLVMBuildGEP(builder, ptr, indices, Elements(indices), ""); + lp_build_name(member_ptr, "%s.%s_ptr", LLVMGetValueName(ptr), name); + return member_ptr; +} + + LLVMValueRef lp_build_struct_get(LLVMBuilderRef builder, LLVMValueRef ptr, unsigned member, const char *name) { - LLVMValueRef indices[2]; LLVMValueRef member_ptr; LLVMValueRef res; - indices[0] = LLVMConstInt(LLVMInt32Type(), 0, 0); - indices[1] = LLVMConstInt(LLVMInt32Type(), member, 0); - member_ptr = LLVMBuildGEP(builder, ptr, indices, Elements(indices), ""); + member_ptr = lp_build_struct_get_ptr(builder, ptr, member, name); res = LLVMBuildLoad(builder, member_ptr, ""); lp_build_name(res, "%s.%s", LLVMGetValueName(ptr), name); return res; diff --git a/src/gallium/drivers/llvmpipe/lp_bld_struct.h b/src/gallium/drivers/llvmpipe/lp_bld_struct.h index cbefdc9f81..740392f561 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_struct.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_struct.h @@ -53,6 +53,18 @@ offsetof(_ctype, _cmember)) +/** + * Get value pointer to a structure member. + */ +LLVMValueRef +lp_build_struct_get_ptr(LLVMBuilderRef builder, + LLVMValueRef ptr, + unsigned member, + const char *name); + +/** + * Get the value of a structure member. + */ LLVMValueRef lp_build_struct_get(LLVMBuilderRef builder, LLVMValueRef ptr, -- cgit v1.2.3 From 4da20234f3ea9b1606522fd0a9f4ef5c4b903906 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:26:30 +0100 Subject: llvmpipe: Correct implementation of floor. --- src/gallium/drivers/llvmpipe/lp_bld_arit.c | 83 ++++++++++++++++++++++++++++++ src/gallium/drivers/llvmpipe/lp_bld_arit.h | 12 +++++ 2 files changed, 95 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_arit.c b/src/gallium/drivers/llvmpipe/lp_bld_arit.c index 09a57ff33d..eb9e579bdd 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_arit.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_arit.c @@ -587,6 +587,89 @@ lp_build_abs(struct lp_build_context *bld, } +enum lp_build_round_sse41_mode +{ + LP_BUILD_ROUND_SSE41_NEAREST = 0, + LP_BUILD_ROUND_SSE41_FLOOR = 1, + LP_BUILD_ROUND_SSE41_CEIL = 2, + LP_BUILD_ROUND_SSE41_TRUNCATE = 3 +}; + + +static INLINE LLVMValueRef +lp_build_round_sse41(struct lp_build_context *bld, + LLVMValueRef a, + enum lp_build_round_sse41_mode mode) +{ + const union lp_type type = bld->type; + LLVMTypeRef vec_type = lp_build_vec_type(type); + const char *intrinsic; + + assert(type.floating); + assert(type.width*type.length == 128); + + switch(type.width) { + case 32: + intrinsic = "llvm.x86.sse41.round.ps"; + break; + case 64: + intrinsic = "llvm.x86.sse41.round.pd"; + break; + default: + assert(0); + return bld->undef; + } + + return lp_build_intrinsic_binary(bld->builder, intrinsic, vec_type, a, + LLVMConstInt(LLVMInt32Type(), mode, 0)); +} + + +LLVMValueRef +lp_build_floor(struct lp_build_context *bld, + LLVMValueRef a) +{ + const union lp_type type = bld->type; + + assert(type.floating); + +#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) + return lp_build_round_sse41(bld, a, LP_BUILD_ROUND_SSE41_FLOOR); +#endif + + /* FIXME */ + assert(0); + return bld->undef; +} + + +/** + * Convert to integer, through whichever rounding method that's fastest, + * typically truncating to zero. + */ +LLVMValueRef +lp_build_int(struct lp_build_context *bld, + LLVMValueRef a) +{ + const union lp_type type = bld->type; + LLVMTypeRef int_vec_type = lp_build_int_vec_type(type); + + assert(type.floating); + + return LLVMBuildFPToSI(bld->builder, a, int_vec_type, ""); +} + + +LLVMValueRef +lp_build_ifloor(struct lp_build_context *bld, + LLVMValueRef a) +{ + a = lp_build_floor(bld, a); + a = lp_build_int(bld, a); + return a; +} + + LLVMValueRef lp_build_sqrt(struct lp_build_context *bld, LLVMValueRef a) diff --git a/src/gallium/drivers/llvmpipe/lp_bld_arit.h b/src/gallium/drivers/llvmpipe/lp_bld_arit.h index fc8cb25966..0732b9fa75 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_arit.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_arit.h @@ -85,6 +85,18 @@ LLVMValueRef lp_build_abs(struct lp_build_context *bld, LLVMValueRef a); +LLVMValueRef +lp_build_floor(struct lp_build_context *bld, + LLVMValueRef a); + +LLVMValueRef +lp_build_int(struct lp_build_context *bld, + LLVMValueRef a); + +LLVMValueRef +lp_build_ifloor(struct lp_build_context *bld, + LLVMValueRef a); + LLVMValueRef lp_build_sqrt(struct lp_build_context *bld, LLVMValueRef a); -- cgit v1.2.3 From fa0f4b35be17f68667edd6a2757b89086a11a833 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:27:06 +0100 Subject: llvmpipe: Utility functions for linear and bilinear interpolation. --- src/gallium/drivers/llvmpipe/lp_bld_arit.c | 25 +++++++++++++++++++++++++ src/gallium/drivers/llvmpipe/lp_bld_arit.h | 20 ++++++++++++++++++++ 2 files changed, 45 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_arit.c b/src/gallium/drivers/llvmpipe/lp_bld_arit.c index eb9e579bdd..a1d8a89774 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_arit.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_arit.c @@ -502,6 +502,31 @@ lp_build_div(struct lp_build_context *bld, } +LLVMValueRef +lp_build_lerp(struct lp_build_context *bld, + LLVMValueRef x, + LLVMValueRef v0, + LLVMValueRef v1) +{ + return lp_build_add(bld, v0, lp_build_mul(bld, x, lp_build_sub(bld, v1, v0))); +} + + +LLVMValueRef +lp_build_lerp_2d(struct lp_build_context *bld, + LLVMValueRef x, + LLVMValueRef y, + LLVMValueRef v00, + LLVMValueRef v01, + LLVMValueRef v10, + LLVMValueRef v11) +{ + LLVMValueRef v0 = lp_build_lerp(bld, x, v00, v01); + LLVMValueRef v1 = lp_build_lerp(bld, x, v10, v11); + return lp_build_lerp(bld, y, v0, v1); +} + + /** * Generate min(a, b) * Do checks for special cases. diff --git a/src/gallium/drivers/llvmpipe/lp_bld_arit.h b/src/gallium/drivers/llvmpipe/lp_bld_arit.h index 0732b9fa75..383c3c3313 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_arit.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_arit.h @@ -71,6 +71,26 @@ lp_build_div(struct lp_build_context *bld, LLVMValueRef a, LLVMValueRef b); +LLVMValueRef +lp_build_lerp(struct lp_build_context *bld, + LLVMValueRef x, + LLVMValueRef v0, + LLVMValueRef v1); + +/** + * Bilinear interpolation. + * + * Values indices are in v_{yx}. + */ +LLVMValueRef +lp_build_lerp_2d(struct lp_build_context *bld, + LLVMValueRef x, + LLVMValueRef y, + LLVMValueRef v00, + LLVMValueRef v01, + LLVMValueRef v10, + LLVMValueRef v11); + LLVMValueRef lp_build_min(struct lp_build_context *bld, LLVMValueRef a, -- cgit v1.2.3 From 0c2ea2433833d5eda8a4fefe1412bf0ea40b14bf Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:42:57 +0100 Subject: llvmpipe: Convenience function to obtain the integer type with same bitdepth of an arbitrary type. --- src/gallium/drivers/llvmpipe/lp_bld_type.c | 11 +++++++++++ src/gallium/drivers/llvmpipe/lp_bld_type.h | 4 ++++ 2 files changed, 15 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_type.c b/src/gallium/drivers/llvmpipe/lp_bld_type.c index 8e0026fd97..577644b7ab 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_type.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_type.c @@ -157,6 +157,17 @@ lp_build_int_vec_type(union lp_type type) } +union lp_type +lp_int_type(union lp_type type) +{ + union lp_type int_type; + int_type.value = 0; + int_type.width = type.width; + int_type.length = type.length; + return int_type; +} + + void lp_build_context_init(struct lp_build_context *bld, LLVMBuilderRef builder, diff --git a/src/gallium/drivers/llvmpipe/lp_bld_type.h b/src/gallium/drivers/llvmpipe/lp_bld_type.h index 3ce566be64..9933e0b45c 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_type.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_type.h @@ -165,6 +165,10 @@ LLVMTypeRef lp_build_int_vec_type(union lp_type type); +union lp_type +lp_int_type(union lp_type type); + + void lp_build_context_init(struct lp_build_context *bld, LLVMBuilderRef builder, -- cgit v1.2.3 From de8376e2f22a59a0bc18bb7ddab88ee3153678b8 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:43:51 +0100 Subject: llvmpipe: Texture sampling code generation primitives. Only supports single level 2d textures, with neareast and bilinear filtering for now. --- src/gallium/drivers/llvmpipe/Makefile | 1 + src/gallium/drivers/llvmpipe/SConscript | 1 + src/gallium/drivers/llvmpipe/lp_bld_sample.h | 134 +++++++++ src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c | 342 +++++++++++++++++++++++ 4 files changed, 478 insertions(+) create mode 100644 src/gallium/drivers/llvmpipe/lp_bld_sample.h create mode 100644 src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/Makefile b/src/gallium/drivers/llvmpipe/Makefile index 54bb3a0e73..c0033dea34 100644 --- a/src/gallium/drivers/llvmpipe/Makefile +++ b/src/gallium/drivers/llvmpipe/Makefile @@ -19,6 +19,7 @@ C_SOURCES = \ lp_bld_interp.c \ lp_bld_intr.c \ lp_bld_logic.c \ + lp_bld_sample_soa.c \ lp_bld_swizzle.c \ lp_bld_struct.c \ lp_bld_tgsi_soa.c \ diff --git a/src/gallium/drivers/llvmpipe/SConscript b/src/gallium/drivers/llvmpipe/SConscript index 3dcd5cb994..b74c9c4b6e 100644 --- a/src/gallium/drivers/llvmpipe/SConscript +++ b/src/gallium/drivers/llvmpipe/SConscript @@ -26,6 +26,7 @@ llvmpipe = env.ConvenienceLibrary( 'lp_bld_format_soa.c', 'lp_bld_interp.c', 'lp_bld_intr.c', + 'lp_bld_sample_soa.c', 'lp_bld_struct.c', 'lp_bld_logic.c', 'lp_bld_swizzle.c', diff --git a/src/gallium/drivers/llvmpipe/lp_bld_sample.h b/src/gallium/drivers/llvmpipe/lp_bld_sample.h new file mode 100644 index 0000000000..5798f191fe --- /dev/null +++ b/src/gallium/drivers/llvmpipe/lp_bld_sample.h @@ -0,0 +1,134 @@ +/************************************************************************** + * + * Copyright 2009 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, 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 VMWARE 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. + * + **************************************************************************/ + +/** + * @file + * Texture sampling. + * + * @author Jose Fonseca + */ + +#ifndef LP_BLD_SAMPLE_H +#define LP_BLD_SAMPLE_H + + +#include + +struct pipe_texture; +struct pipe_sampler_state; +union lp_type; + + +/** + * Sampler static state. + * + * These are the bits of state from pipe_texture and pipe_sampler_state that + * are embedded in the generated code. + */ +struct lp_sampler_static_state +{ + /* pipe_texture's state */ + enum pipe_format format; + unsigned pot_width:1; + unsigned pot_height:1; + unsigned pot_depth:1; + + /* pipe_sampler_state's state */ + unsigned wrap_s:3; + unsigned wrap_t:3; + unsigned wrap_r:3; + unsigned min_img_filter:2; + unsigned min_mip_filter:2; + unsigned mag_img_filter:2; + unsigned compare_mode:1; + unsigned compare_func:3; + unsigned normalized_coords:1; + unsigned prefilter:4; +}; + + +/** + * Sampler dynamic state. + * + * These are the bits of state from pipe_texture and pipe_sampler_state that + * are computed in runtime. + * + * There are obtained through callbacks, as we don't want to tie the texture + * sampling code generation logic to any particular texture layout or pipe + * driver. + */ +struct lp_sampler_dynamic_state +{ + + /** Obtain the base texture width. */ + LLVMValueRef + (*width)( struct lp_sampler_dynamic_state *state, + LLVMBuilderRef builder, + unsigned unit); + + /** Obtain the base texture height. */ + LLVMValueRef + (*height)( struct lp_sampler_dynamic_state *state, + LLVMBuilderRef builder, + unsigned unit); + + LLVMValueRef + (*stride)( struct lp_sampler_dynamic_state *state, + LLVMBuilderRef builder, + unsigned unit); + + LLVMValueRef + (*data_ptr)( struct lp_sampler_dynamic_state *state, + LLVMBuilderRef builder, + unsigned unit); + +}; + + +/** + * Derive the sampler static state. + */ +void +lp_sampler_static_state(struct lp_sampler_static_state *state, + const struct pipe_texture *texture, + const struct pipe_sampler_state *sampler); + + +void +lp_build_sample_soa(LLVMBuilderRef builder, + const struct lp_sampler_static_state *static_state, + struct lp_sampler_dynamic_state *dynamic_state, + union lp_type fp_type, + unsigned unit, + unsigned num_coords, + const LLVMValueRef *coords, + LLVMValueRef lodbias, + LLVMValueRef *texel); + + + +#endif /* LP_BLD_SAMPLE_H */ diff --git a/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c new file mode 100644 index 0000000000..25c8d84501 --- /dev/null +++ b/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c @@ -0,0 +1,342 @@ +/************************************************************************** + * + * Copyright 2009 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, 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 VMWARE 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. + * + **************************************************************************/ + +/** + * @file + * Texture sampling. + * + * @author Jose Fonseca + */ + +#include "pipe/p_defines.h" +#include "pipe/p_state.h" +#include "util/u_debug.h" +#include "util/u_memory.h" +#include "util/u_math.h" +#include "util/u_format.h" +#include "lp_bld_debug.h" +#include "lp_bld_type.h" +#include "lp_bld_const.h" +#include "lp_bld_arit.h" +#include "lp_bld_swizzle.h" +#include "lp_bld_format.h" +#include "lp_bld_sample.h" + + +void +lp_sampler_static_state(struct lp_sampler_static_state *state, + const struct pipe_texture *texture, + const struct pipe_sampler_state *sampler) +{ + memset(state, 0, sizeof *state); + + if(!texture) + return; + + if(!sampler) + return; + + state->format = texture->format; + state->pot_width = util_is_pot(texture->width[0]); + state->pot_height = util_is_pot(texture->height[0]); + state->pot_depth = util_is_pot(texture->depth[0]); + + state->wrap_s = sampler->wrap_s; + state->wrap_t = sampler->wrap_t; + state->wrap_r = sampler->wrap_r; + state->min_img_filter = sampler->min_img_filter; + state->min_mip_filter = sampler->min_mip_filter; + state->mag_img_filter = sampler->mag_img_filter; + state->compare_mode = sampler->compare_mode; + state->compare_func = sampler->compare_func; + state->normalized_coords = sampler->normalized_coords; + state->prefilter = sampler->prefilter; +} + + + +/** + * Keep all information for sampling code generation in a single place. + */ +struct lp_build_sample_context +{ + LLVMBuilderRef builder; + + const struct lp_sampler_static_state *static_state; + + struct lp_sampler_dynamic_state *dynamic_state; + + const struct util_format_description *format_desc; + + /** Incoming coordinates type and build context */ + union lp_type coord_type; + struct lp_build_context coord_bld; + + /** Integer coordinates */ + union lp_type int_coord_type; + struct lp_build_context int_coord_bld; + + /** Output texels type and build context */ + union lp_type texel_type; + struct lp_build_context texel_bld; +}; + + +static void +lp_build_sample_texel(struct lp_build_sample_context *bld, + LLVMValueRef x, + LLVMValueRef y, + LLVMValueRef y_stride, + LLVMValueRef data_ptr, + LLVMValueRef *texel) +{ + LLVMValueRef x_stride; + LLVMValueRef x_offset; + LLVMValueRef y_offset; + LLVMValueRef offset; + + x_stride = lp_build_const_scalar(bld->int_coord_type, bld->format_desc->block.bits/8); + + x_offset = lp_build_mul(&bld->int_coord_bld, x, x_stride); + y_offset = lp_build_mul(&bld->int_coord_bld, y, y_stride); + + offset = lp_build_add(&bld->int_coord_bld, x_offset, y_offset); + + lp_build_load_rgba_soa(bld->builder, + bld->format_desc, + bld->texel_type, + data_ptr, + offset, + texel); +} + + +static LLVMValueRef +lp_build_sample_wrap(struct lp_build_sample_context *bld, + LLVMValueRef coord, + LLVMValueRef length, + boolean is_pot, + unsigned wrap_mode) +{ + struct lp_build_context *int_coord_bld = &bld->int_coord_bld; + LLVMValueRef length_minus_one; + + length_minus_one = lp_build_sub(int_coord_bld, length, int_coord_bld->one); + + switch(wrap_mode) { + case PIPE_TEX_WRAP_REPEAT: + if(is_pot) + coord = LLVMBuildAnd(bld->builder, coord, length_minus_one, ""); + else + /* Signed remainder won't give the right results for negative + * dividends but unsigned remainder does.*/ + coord = LLVMBuildURem(bld->builder, coord, length, ""); + break; + + case PIPE_TEX_WRAP_CLAMP: + coord = lp_build_max(int_coord_bld, coord, int_coord_bld->zero); + coord = lp_build_min(int_coord_bld, coord, length_minus_one); + break; + + case PIPE_TEX_WRAP_CLAMP_TO_EDGE: + case PIPE_TEX_WRAP_CLAMP_TO_BORDER: + case PIPE_TEX_WRAP_MIRROR_REPEAT: + case PIPE_TEX_WRAP_MIRROR_CLAMP: + case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE: + case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER: + default: + assert(0); + } + + return coord; +} + + +static void +lp_build_sample_2d_nearest_soa(struct lp_build_sample_context *bld, + LLVMValueRef s, + LLVMValueRef t, + LLVMValueRef width, + LLVMValueRef height, + LLVMValueRef stride, + LLVMValueRef data_ptr, + LLVMValueRef *texel) +{ + LLVMValueRef x; + LLVMValueRef y; + + x = lp_build_ifloor(&bld->coord_bld, s); + y = lp_build_ifloor(&bld->coord_bld, t); + + x = lp_build_sample_wrap(bld, x, width, bld->static_state->pot_width, bld->static_state->wrap_s); + y = lp_build_sample_wrap(bld, y, height, bld->static_state->pot_height, bld->static_state->wrap_t); + + lp_build_sample_texel(bld, x, y, stride, data_ptr, texel); +} + + +static void +lp_build_sample_2d_linear_soa(struct lp_build_sample_context *bld, + LLVMValueRef s, + LLVMValueRef t, + LLVMValueRef width, + LLVMValueRef height, + LLVMValueRef stride, + LLVMValueRef data_ptr, + LLVMValueRef *texel) +{ + LLVMValueRef half; + LLVMValueRef s_ipart; + LLVMValueRef t_ipart; + LLVMValueRef s_fpart; + LLVMValueRef t_fpart; + LLVMValueRef x0, x1; + LLVMValueRef y0, y1; + LLVMValueRef neighbors[2][2][4]; + unsigned chan; + + half = lp_build_const_scalar(bld->coord_type, 0.5); + s = lp_build_sub(&bld->coord_bld, s, half); + t = lp_build_sub(&bld->coord_bld, t, half); + + s_ipart = lp_build_floor(&bld->coord_bld, s); + t_ipart = lp_build_floor(&bld->coord_bld, t); + + s_fpart = lp_build_sub(&bld->coord_bld, s, s_ipart); + t_fpart = lp_build_sub(&bld->coord_bld, t, t_ipart); + + x0 = lp_build_int(&bld->coord_bld, s_ipart); + y0 = lp_build_int(&bld->coord_bld, t_ipart); + + x0 = lp_build_sample_wrap(bld, x0, width, bld->static_state->pot_width, bld->static_state->wrap_s); + y0 = lp_build_sample_wrap(bld, y0, height, bld->static_state->pot_height, bld->static_state->wrap_t); + + x1 = lp_build_add(&bld->int_coord_bld, x0, bld->int_coord_bld.one); + y1 = lp_build_add(&bld->int_coord_bld, y0, bld->int_coord_bld.one); + + x1 = lp_build_sample_wrap(bld, x1, width, bld->static_state->pot_width, bld->static_state->wrap_s); + y1 = lp_build_sample_wrap(bld, y1, height, bld->static_state->pot_height, bld->static_state->wrap_t); + + lp_build_sample_texel(bld, x0, y0, stride, data_ptr, neighbors[0][0]); + lp_build_sample_texel(bld, x1, y0, stride, data_ptr, neighbors[0][1]); + lp_build_sample_texel(bld, x0, y1, stride, data_ptr, neighbors[1][0]); + lp_build_sample_texel(bld, x1, y1, stride, data_ptr, neighbors[1][1]); + + /* TODO: Don't interpolate missing channels */ + for(chan = 0; chan < 4; ++chan) { + switch(bld->format_desc->swizzle[chan]) { + case UTIL_FORMAT_SWIZZLE_X: + case UTIL_FORMAT_SWIZZLE_Y: + case UTIL_FORMAT_SWIZZLE_Z: + case UTIL_FORMAT_SWIZZLE_W: + texel[chan] = lp_build_lerp_2d(&bld->texel_bld, + s_fpart, t_fpart, + neighbors[0][0][chan], + neighbors[0][1][chan], + neighbors[1][0][chan], + neighbors[1][1][chan]); + break; + case UTIL_FORMAT_SWIZZLE_0: + texel[chan] = bld->texel_bld.zero; + break; + case UTIL_FORMAT_SWIZZLE_1: + texel[chan] = bld->texel_bld.one; + break; + default: + assert(0); + texel[chan] = bld->texel_bld.undef; + break; + } + } +} + + +void +lp_build_sample_soa(LLVMBuilderRef builder, + const struct lp_sampler_static_state *static_state, + struct lp_sampler_dynamic_state *dynamic_state, + union lp_type type, + unsigned unit, + unsigned num_coords, + const LLVMValueRef *coords, + LLVMValueRef lodbias, + LLVMValueRef *texel) +{ + struct lp_build_sample_context bld; + LLVMValueRef width; + LLVMValueRef height; + LLVMValueRef stride; + LLVMValueRef data_ptr; + LLVMValueRef s; + LLVMValueRef t; + LLVMValueRef p; + + /* Setup our build context */ + memset(&bld, 0, sizeof bld); + bld.builder = builder; + bld.static_state = static_state; + bld.dynamic_state = dynamic_state; + bld.format_desc = util_format_description(static_state->format); + bld.coord_type = type; + bld.int_coord_type = lp_int_type(type); + bld.texel_type = type; + lp_build_context_init(&bld.coord_bld, builder, bld.coord_type); + lp_build_context_init(&bld.int_coord_bld, builder, bld.int_coord_type); + lp_build_context_init(&bld.texel_bld, builder, bld.texel_type); + + /* Get the dynamic state */ + width = dynamic_state->width(dynamic_state, builder, unit); + height = dynamic_state->height(dynamic_state, builder, unit); + stride = dynamic_state->stride(dynamic_state, builder, unit); + data_ptr = dynamic_state->data_ptr(dynamic_state, builder, unit); + + s = coords[0]; + t = coords[1]; + p = coords[2]; + + width = lp_build_broadcast_scalar(&bld.int_coord_bld, width); + height = lp_build_broadcast_scalar(&bld.int_coord_bld, height); + stride = lp_build_broadcast_scalar(&bld.int_coord_bld, stride); + + if(static_state->normalized_coords) { + LLVMTypeRef coord_vec_type = lp_build_vec_type(bld.coord_type); + LLVMValueRef fp_width = LLVMBuildSIToFP(builder, width, coord_vec_type, ""); + LLVMValueRef fp_height = LLVMBuildSIToFP(builder, height, coord_vec_type, ""); + s = lp_build_mul(&bld.coord_bld, s, fp_width); + t = lp_build_mul(&bld.coord_bld, t, fp_height); + } + + switch (static_state->min_img_filter) { + case PIPE_TEX_FILTER_NEAREST: + lp_build_sample_2d_nearest_soa(&bld, s, t, width, height, stride, data_ptr, texel); + break; + case PIPE_TEX_FILTER_LINEAR: + case PIPE_TEX_FILTER_ANISO: + lp_build_sample_2d_linear_soa(&bld, s, t, width, height, stride, data_ptr, texel); + break; + } +} -- cgit v1.2.3 From e4c76c02f77ed6e86537b546f4200f8f8132d114 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:52:39 +0100 Subject: llvmpipe: Code generate the texture sampling inside the shader. Finally a substantial performance improvement: framerates of apps using texturing tripled, and furthermore, enabling/disabling texturing only affects around 15% of the framerate, which means the bottleneck is now somewhere else. Generated texture sampling code is not complete though -- we always sample from the base level -- so final figures will be different. --- src/gallium/drivers/llvmpipe/Makefile | 3 +- src/gallium/drivers/llvmpipe/SConscript | 3 +- src/gallium/drivers/llvmpipe/lp_jit.c | 37 +- src/gallium/drivers/llvmpipe/lp_jit.h | 27 + src/gallium/drivers/llvmpipe/lp_state.h | 6 +- src/gallium/drivers/llvmpipe/lp_state_derived.c | 4 +- src/gallium/drivers/llvmpipe/lp_state_fs.c | 15 +- src/gallium/drivers/llvmpipe/lp_state_sampler.c | 10 + src/gallium/drivers/llvmpipe/lp_tex_sample.c | 1713 --------------------- src/gallium/drivers/llvmpipe/lp_tex_sample.h | 11 + src/gallium/drivers/llvmpipe/lp_tex_sample_c.c | 1713 +++++++++++++++++++++ src/gallium/drivers/llvmpipe/lp_tex_sample_llvm.c | 196 +++ 12 files changed, 2019 insertions(+), 1719 deletions(-) delete mode 100644 src/gallium/drivers/llvmpipe/lp_tex_sample.c create mode 100644 src/gallium/drivers/llvmpipe/lp_tex_sample_c.c create mode 100644 src/gallium/drivers/llvmpipe/lp_tex_sample_llvm.c (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/Makefile b/src/gallium/drivers/llvmpipe/Makefile index c0033dea34..06c586e6bb 100644 --- a/src/gallium/drivers/llvmpipe/Makefile +++ b/src/gallium/drivers/llvmpipe/Makefile @@ -46,7 +46,8 @@ C_SOURCES = \ lp_state_vs.c \ lp_surface.c \ lp_tex_cache.c \ - lp_tex_sample.c \ + lp_tex_sample_c.c \ + lp_tex_sample_llvm.c \ lp_texture.c \ lp_tile_cache.c \ lp_tile_soa.c diff --git a/src/gallium/drivers/llvmpipe/SConscript b/src/gallium/drivers/llvmpipe/SConscript index b74c9c4b6e..ac1b5d6d1d 100644 --- a/src/gallium/drivers/llvmpipe/SConscript +++ b/src/gallium/drivers/llvmpipe/SConscript @@ -54,7 +54,8 @@ llvmpipe = env.ConvenienceLibrary( 'lp_state_vs.c', 'lp_surface.c', 'lp_tex_cache.c', - 'lp_tex_sample.c', + 'lp_tex_sample_c.c', + 'lp_tex_sample_llvm.c', 'lp_texture.c', 'lp_tile_cache.c', 'lp_tile_soa.c', diff --git a/src/gallium/drivers/llvmpipe/lp_jit.c b/src/gallium/drivers/llvmpipe/lp_jit.c index d288460a1b..9465f763d5 100644 --- a/src/gallium/drivers/llvmpipe/lp_jit.c +++ b/src/gallium/drivers/llvmpipe/lp_jit.c @@ -44,15 +44,47 @@ static void lp_jit_init_globals(struct llvmpipe_screen *screen) { - /* struct lp_jit_context */ + LLVMTypeRef texture_type; + + /* struct lp_jit_texture */ { LLVMTypeRef elem_types[4]; + + elem_types[LP_JIT_TEXTURE_WIDTH] = LLVMInt32Type(); + elem_types[LP_JIT_TEXTURE_HEIGHT] = LLVMInt32Type(); + elem_types[LP_JIT_TEXTURE_STRIDE] = LLVMInt32Type(); + elem_types[LP_JIT_TEXTURE_DATA] = LLVMPointerType(LLVMInt8Type(), 0); + + texture_type = LLVMStructType(elem_types, Elements(elem_types), 0); + + LP_CHECK_MEMBER_OFFSET(struct lp_jit_texture, width, + screen->target, texture_type, + LP_JIT_TEXTURE_WIDTH); + LP_CHECK_MEMBER_OFFSET(struct lp_jit_texture, height, + screen->target, texture_type, + LP_JIT_TEXTURE_HEIGHT); + LP_CHECK_MEMBER_OFFSET(struct lp_jit_texture, stride, + screen->target, texture_type, + LP_JIT_TEXTURE_STRIDE); + LP_CHECK_MEMBER_OFFSET(struct lp_jit_texture, data, + screen->target, texture_type, + LP_JIT_TEXTURE_DATA); + LP_CHECK_STRUCT_SIZE(struct lp_jit_texture, + screen->target, texture_type); + + LLVMAddTypeName(screen->module, "texture", texture_type); + } + + /* struct lp_jit_context */ + { + LLVMTypeRef elem_types[5]; LLVMTypeRef context_type; elem_types[0] = LLVMPointerType(LLVMFloatType(), 0); /* constants */ elem_types[1] = LLVMPointerType(LLVMInt8Type(), 0); /* samplers */ elem_types[2] = LLVMFloatType(); /* alpha_ref_value */ elem_types[3] = LLVMPointerType(LLVMInt8Type(), 0); /* blend_color */ + elem_types[4] = LLVMArrayType(texture_type, PIPE_MAX_SAMPLERS); /* textures */ context_type = LLVMStructType(elem_types, Elements(elem_types), 0); @@ -64,6 +96,9 @@ lp_jit_init_globals(struct llvmpipe_screen *screen) screen->target, context_type, 2); LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, blend_color, screen->target, context_type, 3); + LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, textures, + screen->target, context_type, + LP_JIT_CONTEXT_TEXTURES_INDEX); LP_CHECK_STRUCT_SIZE(struct lp_jit_context, screen->target, context_type); diff --git a/src/gallium/drivers/llvmpipe/lp_jit.h b/src/gallium/drivers/llvmpipe/lp_jit.h index a7fb60f9f5..c3e3e1af67 100644 --- a/src/gallium/drivers/llvmpipe/lp_jit.h +++ b/src/gallium/drivers/llvmpipe/lp_jit.h @@ -38,11 +38,31 @@ #include "lp_bld_struct.h" +#include "pipe/p_state.h" + struct tgsi_sampler; struct llvmpipe_screen; +struct lp_jit_texture +{ + uint32_t width; + uint32_t height; + uint32_t stride; + const void *data; +}; + + +enum { + LP_JIT_TEXTURE_WIDTH = 0, + LP_JIT_TEXTURE_HEIGHT, + LP_JIT_TEXTURE_STRIDE, + LP_JIT_TEXTURE_DATA +}; + + + /** * This structure is passed directly to the generated fragment shader. * @@ -65,6 +85,8 @@ struct lp_jit_context /* TODO: blend constant color */ uint8_t *blend_color; + + struct lp_jit_texture textures[PIPE_MAX_SAMPLERS]; }; @@ -80,6 +102,11 @@ struct lp_jit_context #define lp_jit_context_blend_color(_builder, _ptr) \ lp_build_struct_get(_builder, _ptr, 3, "blend_color") +#define LP_JIT_CONTEXT_TEXTURES_INDEX 4 + +#define lp_jit_context_textures(_builder, _ptr) \ + lp_build_struct_get_ptr(_builder, _ptr, LP_JIT_CONTEXT_TEXTURES_INDEX, "textures") + typedef void (*lp_jit_frag_func)(struct lp_jit_context *context, diff --git a/src/gallium/drivers/llvmpipe/lp_state.h b/src/gallium/drivers/llvmpipe/lp_state.h index fb10329887..0b846ecb13 100644 --- a/src/gallium/drivers/llvmpipe/lp_state.h +++ b/src/gallium/drivers/llvmpipe/lp_state.h @@ -36,6 +36,7 @@ #include "pipe/p_state.h" #include "tgsi/tgsi_scan.h" #include "lp_jit.h" +#include "lp_bld_sample.h" /* for struct lp_sampler_static_state */ #define LP_NEW_VIEWPORT 0x1 @@ -57,7 +58,8 @@ struct tgsi_sampler; struct vertex_info; - +struct pipe_context; +struct llvmpipe_context; struct lp_fragment_shader; @@ -67,6 +69,8 @@ struct lp_fragment_shader_variant_key struct pipe_depth_state depth; struct pipe_alpha_state alpha; struct pipe_blend_state blend; + + struct lp_sampler_static_state sampler[PIPE_MAX_SAMPLERS]; }; diff --git a/src/gallium/drivers/llvmpipe/lp_state_derived.c b/src/gallium/drivers/llvmpipe/lp_state_derived.c index 6fbb057937..e87976b9f3 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_derived.c +++ b/src/gallium/drivers/llvmpipe/lp_state_derived.c @@ -250,7 +250,9 @@ void llvmpipe_update_derived( struct llvmpipe_context *llvmpipe ) if (llvmpipe->dirty & (LP_NEW_FS | LP_NEW_BLEND | - LP_NEW_DEPTH_STENCIL_ALPHA)) + LP_NEW_DEPTH_STENCIL_ALPHA | + LP_NEW_SAMPLER | + LP_NEW_TEXTURE)) llvmpipe_update_fs( llvmpipe ); diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 80f705c871..1a3e168245 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -486,7 +486,13 @@ generate_fragment(struct llvmpipe_context *lp, a0_ptr, dadx_ptr, dady_ptr, x0, y0, 2, 0); +#if 0 + /* C texture sampling */ sampler = lp_c_sampler_soa_create(context_ptr); +#else + /* code generated texture sampling */ + sampler = lp_llvm_sampler_soa_create(key->sampler, context_ptr); +#endif for(i = 0; i < num_fs; ++i) { LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); @@ -666,8 +672,11 @@ llvmpipe_set_constant_buffer(struct pipe_context *pipe, */ static void make_variant_key(struct llvmpipe_context *lp, + struct lp_fragment_shader *shader, struct lp_fragment_shader_variant_key *key) { + unsigned i; + memset(key, 0, sizeof *key); memcpy(&key->depth, &lp->depth_stencil->depth, sizeof key->depth); @@ -678,6 +687,10 @@ make_variant_key(struct llvmpipe_context *lp, /* alpha.ref_value is passed in jit_context */ memcpy(&key->blend, lp->blend, sizeof key->blend); + + for(i = 0; i < PIPE_MAX_SAMPLERS; ++i) + if(shader->info.file_mask[TGSI_FILE_SAMPLER] & (1 << i)) + lp_sampler_static_state(&key->sampler[i], lp->texture[i], lp->sampler[i]); } @@ -688,7 +701,7 @@ llvmpipe_update_fs(struct llvmpipe_context *lp) struct lp_fragment_shader_variant_key key; struct lp_fragment_shader_variant *variant; - make_variant_key(lp, &key); + make_variant_key(lp, shader, &key); variant = shader->variants; while(variant) { diff --git a/src/gallium/drivers/llvmpipe/lp_state_sampler.c b/src/gallium/drivers/llvmpipe/lp_state_sampler.c index 4fef541b1e..c69d90c723 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_sampler.c +++ b/src/gallium/drivers/llvmpipe/lp_state_sampler.c @@ -98,6 +98,16 @@ llvmpipe_set_sampler_textures(struct pipe_context *pipe, pipe_texture_reference(&llvmpipe->texture[i], tex); lp_tex_tile_cache_set_texture(llvmpipe->tex_cache[i], tex); + + if(tex) { + struct llvmpipe_texture *lp_tex = llvmpipe_texture(tex); + struct lp_jit_texture *jit_tex = &llvmpipe->jit_context.textures[i]; + jit_tex->width = tex->width[0]; + jit_tex->height = tex->height[0]; + jit_tex->stride = lp_tex->stride[0]; + if(!lp_tex->dt) + jit_tex->data = lp_tex->data; + } } llvmpipe->num_textures = num; diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample.c b/src/gallium/drivers/llvmpipe/lp_tex_sample.c deleted file mode 100644 index 9a876f404d..0000000000 --- a/src/gallium/drivers/llvmpipe/lp_tex_sample.c +++ /dev/null @@ -1,1713 +0,0 @@ -/************************************************************************** - * - * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas. - * All Rights Reserved. - * Copyright 2008 VMware, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, 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 TUNGSTEN GRAPHICS 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. - * - **************************************************************************/ - -/** - * Texture sampling - * - * Authors: - * Brian Paul - */ - -#include "lp_context.h" -#include "lp_quad.h" -#include "lp_surface.h" -#include "lp_texture.h" -#include "lp_tex_sample.h" -#include "lp_tex_cache.h" -#include "pipe/p_context.h" -#include "pipe/p_defines.h" -#include "pipe/p_shader_tokens.h" -#include "util/u_math.h" -#include "util/u_memory.h" - - - -/* - * Note, the FRAC macro has to work perfectly. Otherwise you'll sometimes - * see 1-pixel bands of improperly weighted linear-filtered textures. - * The tests/texwrap.c demo is a good test. - * Also note, FRAC(x) doesn't truly return the fractional part of x for x < 0. - * Instead, if x < 0 then FRAC(x) = 1 - true_frac(x). - */ -#define FRAC(f) ((f) - util_ifloor(f)) - - -/** - * Linear interpolation macro - */ -static INLINE float -lerp(float a, float v0, float v1) -{ - return v0 + a * (v1 - v0); -} - - -/** - * Do 2D/biliner interpolation of float values. - * v00, v10, v01 and v11 are typically four texture samples in a square/box. - * a and b are the horizontal and vertical interpolants. - * It's important that this function is inlined when compiled with - * optimization! If we find that's not true on some systems, convert - * to a macro. - */ -static INLINE float -lerp_2d(float a, float b, - float v00, float v10, float v01, float v11) -{ - const float temp0 = lerp(a, v00, v10); - const float temp1 = lerp(a, v01, v11); - return lerp(b, temp0, temp1); -} - - -/** - * As above, but 3D interpolation of 8 values. - */ -static INLINE float -lerp_3d(float a, float b, float c, - float v000, float v100, float v010, float v110, - float v001, float v101, float v011, float v111) -{ - const float temp0 = lerp_2d(a, b, v000, v100, v010, v110); - const float temp1 = lerp_2d(a, b, v001, v101, v011, v111); - return lerp(c, temp0, temp1); -} - - - -/** - * If A is a signed integer, A % B doesn't give the right value for A < 0 - * (in terms of texture repeat). Just casting to unsigned fixes that. - */ -#define REMAINDER(A, B) ((unsigned) (A) % (unsigned) (B)) - - -/** - * Apply texture coord wrapping mode and return integer texture indexes - * for a vector of four texcoords (S or T or P). - * \param wrapMode PIPE_TEX_WRAP_x - * \param s the incoming texcoords - * \param size the texture image size - * \param icoord returns the integer texcoords - * \return integer texture index - */ -static INLINE void -nearest_texcoord_4(unsigned wrapMode, const float s[4], unsigned size, - int icoord[4]) -{ - uint ch; - switch (wrapMode) { - case PIPE_TEX_WRAP_REPEAT: - /* s limited to [0,1) */ - /* i limited to [0,size-1] */ - for (ch = 0; ch < 4; ch++) { - int i = util_ifloor(s[ch] * size); - icoord[ch] = REMAINDER(i, size); - } - return; - case PIPE_TEX_WRAP_CLAMP: - /* s limited to [0,1] */ - /* i limited to [0,size-1] */ - for (ch = 0; ch < 4; ch++) { - if (s[ch] <= 0.0F) - icoord[ch] = 0; - else if (s[ch] >= 1.0F) - icoord[ch] = size - 1; - else - icoord[ch] = util_ifloor(s[ch] * size); - } - return; - case PIPE_TEX_WRAP_CLAMP_TO_EDGE: - { - /* s limited to [min,max] */ - /* i limited to [0, size-1] */ - const float min = 1.0F / (2.0F * size); - const float max = 1.0F - min; - for (ch = 0; ch < 4; ch++) { - if (s[ch] < min) - icoord[ch] = 0; - else if (s[ch] > max) - icoord[ch] = size - 1; - else - icoord[ch] = util_ifloor(s[ch] * size); - } - } - return; - case PIPE_TEX_WRAP_CLAMP_TO_BORDER: - { - /* s limited to [min,max] */ - /* i limited to [-1, size] */ - const float min = -1.0F / (2.0F * size); - const float max = 1.0F - min; - for (ch = 0; ch < 4; ch++) { - if (s[ch] <= min) - icoord[ch] = -1; - else if (s[ch] >= max) - icoord[ch] = size; - else - icoord[ch] = util_ifloor(s[ch] * size); - } - } - return; - case PIPE_TEX_WRAP_MIRROR_REPEAT: - { - const float min = 1.0F / (2.0F * size); - const float max = 1.0F - min; - for (ch = 0; ch < 4; ch++) { - const int flr = util_ifloor(s[ch]); - float u; - if (flr & 1) - u = 1.0F - (s[ch] - (float) flr); - else - u = s[ch] - (float) flr; - if (u < min) - icoord[ch] = 0; - else if (u > max) - icoord[ch] = size - 1; - else - icoord[ch] = util_ifloor(u * size); - } - } - return; - case PIPE_TEX_WRAP_MIRROR_CLAMP: - for (ch = 0; ch < 4; ch++) { - /* s limited to [0,1] */ - /* i limited to [0,size-1] */ - const float u = fabsf(s[ch]); - if (u <= 0.0F) - icoord[ch] = 0; - else if (u >= 1.0F) - icoord[ch] = size - 1; - else - icoord[ch] = util_ifloor(u * size); - } - return; - case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE: - { - /* s limited to [min,max] */ - /* i limited to [0, size-1] */ - const float min = 1.0F / (2.0F * size); - const float max = 1.0F - min; - for (ch = 0; ch < 4; ch++) { - const float u = fabsf(s[ch]); - if (u < min) - icoord[ch] = 0; - else if (u > max) - icoord[ch] = size - 1; - else - icoord[ch] = util_ifloor(u * size); - } - } - return; - case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER: - { - /* s limited to [min,max] */ - /* i limited to [0, size-1] */ - const float min = -1.0F / (2.0F * size); - const float max = 1.0F - min; - for (ch = 0; ch < 4; ch++) { - const float u = fabsf(s[ch]); - if (u < min) - icoord[ch] = -1; - else if (u > max) - icoord[ch] = size; - else - icoord[ch] = util_ifloor(u * size); - } - } - return; - default: - assert(0); - } -} - - -/** - * Used to compute texel locations for linear sampling for four texcoords. - * \param wrapMode PIPE_TEX_WRAP_x - * \param s the texcoords - * \param size the texture image size - * \param icoord0 returns first texture indexes - * \param icoord1 returns second texture indexes (usually icoord0 + 1) - * \param w returns blend factor/weight between texture indexes - * \param icoord returns the computed integer texture coords - */ -static INLINE void -linear_texcoord_4(unsigned wrapMode, const float s[4], unsigned size, - int icoord0[4], int icoord1[4], float w[4]) -{ - uint ch; - - switch (wrapMode) { - case PIPE_TEX_WRAP_REPEAT: - for (ch = 0; ch < 4; ch++) { - float u = s[ch] * size - 0.5F; - icoord0[ch] = REMAINDER(util_ifloor(u), size); - icoord1[ch] = REMAINDER(icoord0[ch] + 1, size); - w[ch] = FRAC(u); - } - break;; - case PIPE_TEX_WRAP_CLAMP: - for (ch = 0; ch < 4; ch++) { - float u = CLAMP(s[ch], 0.0F, 1.0F); - u = u * size - 0.5f; - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - w[ch] = FRAC(u); - } - break;; - case PIPE_TEX_WRAP_CLAMP_TO_EDGE: - for (ch = 0; ch < 4; ch++) { - float u = CLAMP(s[ch], 0.0F, 1.0F); - u = u * size - 0.5f; - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - if (icoord0[ch] < 0) - icoord0[ch] = 0; - if (icoord1[ch] >= (int) size) - icoord1[ch] = size - 1; - w[ch] = FRAC(u); - } - break;; - case PIPE_TEX_WRAP_CLAMP_TO_BORDER: - { - const float min = -1.0F / (2.0F * size); - const float max = 1.0F - min; - for (ch = 0; ch < 4; ch++) { - float u = CLAMP(s[ch], min, max); - u = u * size - 0.5f; - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - w[ch] = FRAC(u); - } - } - break;; - case PIPE_TEX_WRAP_MIRROR_REPEAT: - for (ch = 0; ch < 4; ch++) { - const int flr = util_ifloor(s[ch]); - float u; - if (flr & 1) - u = 1.0F - (s[ch] - (float) flr); - else - u = s[ch] - (float) flr; - u = u * size - 0.5F; - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - if (icoord0[ch] < 0) - icoord0[ch] = 0; - if (icoord1[ch] >= (int) size) - icoord1[ch] = size - 1; - w[ch] = FRAC(u); - } - break;; - case PIPE_TEX_WRAP_MIRROR_CLAMP: - for (ch = 0; ch < 4; ch++) { - float u = fabsf(s[ch]); - if (u >= 1.0F) - u = (float) size; - else - u *= size; - u -= 0.5F; - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - w[ch] = FRAC(u); - } - break;; - case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE: - for (ch = 0; ch < 4; ch++) { - float u = fabsf(s[ch]); - if (u >= 1.0F) - u = (float) size; - else - u *= size; - u -= 0.5F; - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - if (icoord0[ch] < 0) - icoord0[ch] = 0; - if (icoord1[ch] >= (int) size) - icoord1[ch] = size - 1; - w[ch] = FRAC(u); - } - break;; - case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER: - { - const float min = -1.0F / (2.0F * size); - const float max = 1.0F - min; - for (ch = 0; ch < 4; ch++) { - float u = fabsf(s[ch]); - if (u <= min) - u = min * size; - else if (u >= max) - u = max * size; - else - u *= size; - u -= 0.5F; - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - w[ch] = FRAC(u); - } - } - break;; - default: - assert(0); - } -} - - -/** - * For RECT textures / unnormalized texcoords - * Only a subset of wrap modes supported. - */ -static INLINE void -nearest_texcoord_unnorm_4(unsigned wrapMode, const float s[4], unsigned size, - int icoord[4]) -{ - uint ch; - switch (wrapMode) { - case PIPE_TEX_WRAP_CLAMP: - for (ch = 0; ch < 4; ch++) { - int i = util_ifloor(s[ch]); - icoord[ch]= CLAMP(i, 0, (int) size-1); - } - return; - case PIPE_TEX_WRAP_CLAMP_TO_EDGE: - /* fall-through */ - case PIPE_TEX_WRAP_CLAMP_TO_BORDER: - for (ch = 0; ch < 4; ch++) { - icoord[ch]= util_ifloor( CLAMP(s[ch], 0.5F, (float) size - 0.5F) ); - } - return; - default: - assert(0); - } -} - - -/** - * For RECT textures / unnormalized texcoords. - * Only a subset of wrap modes supported. - */ -static INLINE void -linear_texcoord_unnorm_4(unsigned wrapMode, const float s[4], unsigned size, - int icoord0[4], int icoord1[4], float w[4]) -{ - uint ch; - switch (wrapMode) { - case PIPE_TEX_WRAP_CLAMP: - for (ch = 0; ch < 4; ch++) { - /* Not exactly what the spec says, but it matches NVIDIA output */ - float u = CLAMP(s[ch] - 0.5F, 0.0f, (float) size - 1.0f); - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - w[ch] = FRAC(u); - } - return; - case PIPE_TEX_WRAP_CLAMP_TO_EDGE: - /* fall-through */ - case PIPE_TEX_WRAP_CLAMP_TO_BORDER: - for (ch = 0; ch < 4; ch++) { - float u = CLAMP(s[ch], 0.5F, (float) size - 0.5F); - u -= 0.5F; - icoord0[ch] = util_ifloor(u); - icoord1[ch] = icoord0[ch] + 1; - if (icoord1[ch] > (int) size - 1) - icoord1[ch] = size - 1; - w[ch] = FRAC(u); - } - break; - default: - assert(0); - } -} - - -static unsigned -choose_cube_face(float rx, float ry, float rz, float *newS, float *newT) -{ - /* - major axis - direction target sc tc ma - ---------- ------------------------------- --- --- --- - +rx TEXTURE_CUBE_MAP_POSITIVE_X_EXT -rz -ry rx - -rx TEXTURE_CUBE_MAP_NEGATIVE_X_EXT +rz -ry rx - +ry TEXTURE_CUBE_MAP_POSITIVE_Y_EXT +rx +rz ry - -ry TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT +rx -rz ry - +rz TEXTURE_CUBE_MAP_POSITIVE_Z_EXT +rx -ry rz - -rz TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT -rx -ry rz - */ - const float arx = fabsf(rx), ary = fabsf(ry), arz = fabsf(rz); - unsigned face; - float sc, tc, ma; - - if (arx > ary && arx > arz) { - if (rx >= 0.0F) { - face = PIPE_TEX_FACE_POS_X; - sc = -rz; - tc = -ry; - ma = arx; - } - else { - face = PIPE_TEX_FACE_NEG_X; - sc = rz; - tc = -ry; - ma = arx; - } - } - else if (ary > arx && ary > arz) { - if (ry >= 0.0F) { - face = PIPE_TEX_FACE_POS_Y; - sc = rx; - tc = rz; - ma = ary; - } - else { - face = PIPE_TEX_FACE_NEG_Y; - sc = rx; - tc = -rz; - ma = ary; - } - } - else { - if (rz > 0.0F) { - face = PIPE_TEX_FACE_POS_Z; - sc = rx; - tc = -ry; - ma = arz; - } - else { - face = PIPE_TEX_FACE_NEG_Z; - sc = -rx; - tc = -ry; - ma = arz; - } - } - - *newS = ( sc / ma + 1.0F ) * 0.5F; - *newT = ( tc / ma + 1.0F ) * 0.5F; - - return face; -} - - -/** - * Examine the quad's texture coordinates to compute the partial - * derivatives w.r.t X and Y, then compute lambda (level of detail). - * - * This is only done for fragment shaders, not vertex shaders. - */ -static float -compute_lambda(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - const struct pipe_texture *texture = samp->texture; - const struct pipe_sampler_state *sampler = samp->sampler; - float rho, lambda; - - if (samp->processor == TGSI_PROCESSOR_VERTEX) - return lodbias; - - assert(sampler->normalized_coords); - - assert(s); - { - float dsdx = s[QUAD_BOTTOM_RIGHT] - s[QUAD_BOTTOM_LEFT]; - float dsdy = s[QUAD_TOP_LEFT] - s[QUAD_BOTTOM_LEFT]; - dsdx = fabsf(dsdx); - dsdy = fabsf(dsdy); - rho = MAX2(dsdx, dsdy) * texture->width[0]; - } - if (t) { - float dtdx = t[QUAD_BOTTOM_RIGHT] - t[QUAD_BOTTOM_LEFT]; - float dtdy = t[QUAD_TOP_LEFT] - t[QUAD_BOTTOM_LEFT]; - float max; - dtdx = fabsf(dtdx); - dtdy = fabsf(dtdy); - max = MAX2(dtdx, dtdy) * texture->height[0]; - rho = MAX2(rho, max); - } - if (p) { - float dpdx = p[QUAD_BOTTOM_RIGHT] - p[QUAD_BOTTOM_LEFT]; - float dpdy = p[QUAD_TOP_LEFT] - p[QUAD_BOTTOM_LEFT]; - float max; - dpdx = fabsf(dpdx); - dpdy = fabsf(dpdy); - max = MAX2(dpdx, dpdy) * texture->depth[0]; - rho = MAX2(rho, max); - } - - lambda = util_fast_log2(rho); - lambda += lodbias + sampler->lod_bias; - lambda = CLAMP(lambda, sampler->min_lod, sampler->max_lod); - - return lambda; -} - - -/** - * Do several things here: - * 1. Compute lambda from the texcoords, if needed - * 2. Determine if we're minifying or magnifying - * 3. If minifying, choose mipmap levels - * 4. Return image filter to use within mipmap images - * \param level0 Returns first mipmap level to sample from - * \param level1 Returns second mipmap level to sample from - * \param levelBlend Returns blend factor between levels, in [0,1] - * \param imgFilter Returns either the min or mag filter, depending on lambda - */ -static void -choose_mipmap_levels(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - unsigned *level0, unsigned *level1, float *levelBlend, - unsigned *imgFilter) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - const struct pipe_texture *texture = samp->texture; - const struct pipe_sampler_state *sampler = samp->sampler; - - if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_NONE) { - /* no mipmap selection needed */ - *level0 = *level1 = CLAMP((int) sampler->min_lod, - 0, (int) texture->last_level); - - if (sampler->min_img_filter != sampler->mag_img_filter) { - /* non-mipmapped texture, but still need to determine if doing - * minification or magnification. - */ - float lambda = compute_lambda(tgsi_sampler, s, t, p, lodbias); - if (lambda <= 0.0) { - *imgFilter = sampler->mag_img_filter; - } - else { - *imgFilter = sampler->min_img_filter; - } - } - else { - *imgFilter = sampler->mag_img_filter; - } - } - else { - float lambda = compute_lambda(tgsi_sampler, s, t, p, lodbias); - - if (lambda <= 0.0) { /* XXX threshold depends on the filter */ - /* magnifying */ - *imgFilter = sampler->mag_img_filter; - *level0 = *level1 = 0; - } - else { - /* minifying */ - *imgFilter = sampler->min_img_filter; - - /* choose mipmap level(s) and compute the blend factor between them */ - if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_NEAREST) { - /* Nearest mipmap level */ - const int lvl = (int) (lambda + 0.5); - *level0 = - *level1 = CLAMP(lvl, 0, (int) texture->last_level); - } - else { - /* Linear interpolation between mipmap levels */ - const int lvl = (int) lambda; - *level0 = CLAMP(lvl, 0, (int) texture->last_level); - *level1 = CLAMP(lvl + 1, 0, (int) texture->last_level); - *levelBlend = FRAC(lambda); /* blending weight between levels */ - } - } - } -} - - -/** - * Get a texel from a texture, using the texture tile cache. - * - * \param face the cube face in 0..5 - * \param level the mipmap level - * \param x the x coord of texel within 2D image - * \param y the y coord of texel within 2D image - * \param z which slice of a 3D texture - * \param rgba the quad to put the texel/color into - * \param j which element of the rgba quad to write to - * - * XXX maybe move this into lp_tile_cache.c and merge with the - * lp_get_cached_tile_tex() function. Also, get 4 texels instead of 1... - */ -static void -get_texel_quad_2d(const struct tgsi_sampler *tgsi_sampler, - unsigned face, unsigned level, int x, int y, - const uint8_t *out[4]) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - - const struct llvmpipe_cached_tex_tile *tile - = lp_get_cached_tex_tile(samp->cache, - tex_tile_address(x, y, 0, face, level)); - - y %= TEX_TILE_SIZE; - x %= TEX_TILE_SIZE; - - out[0] = &tile->color[y ][x ][0]; - out[1] = &tile->color[y ][x+1][0]; - out[2] = &tile->color[y+1][x ][0]; - out[3] = &tile->color[y+1][x+1][0]; -} - -static INLINE const uint8_t * -get_texel_2d_ptr(const struct tgsi_sampler *tgsi_sampler, - unsigned face, unsigned level, int x, int y) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - - const struct llvmpipe_cached_tex_tile *tile - = lp_get_cached_tex_tile(samp->cache, - tex_tile_address(x, y, 0, face, level)); - - y %= TEX_TILE_SIZE; - x %= TEX_TILE_SIZE; - - return &tile->color[y][x][0]; -} - - -static void -get_texel_quad_2d_mt(const struct tgsi_sampler *tgsi_sampler, - unsigned face, unsigned level, - int x0, int y0, - int x1, int y1, - const uint8_t *out[4]) -{ - unsigned i; - - for (i = 0; i < 4; i++) { - unsigned tx = (i & 1) ? x1 : x0; - unsigned ty = (i >> 1) ? y1 : y0; - - out[i] = get_texel_2d_ptr( tgsi_sampler, face, level, tx, ty ); - } -} - -static void -get_texel(const struct tgsi_sampler *tgsi_sampler, - unsigned face, unsigned level, int x, int y, int z, - float rgba[NUM_CHANNELS][QUAD_SIZE], unsigned j) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - const struct pipe_texture *texture = samp->texture; - const struct pipe_sampler_state *sampler = samp->sampler; - - if (x < 0 || x >= (int) texture->width[level] || - y < 0 || y >= (int) texture->height[level] || - z < 0 || z >= (int) texture->depth[level]) { - rgba[0][j] = sampler->border_color[0]; - rgba[1][j] = sampler->border_color[1]; - rgba[2][j] = sampler->border_color[2]; - rgba[3][j] = sampler->border_color[3]; - } - else { - const unsigned tx = x % TEX_TILE_SIZE; - const unsigned ty = y % TEX_TILE_SIZE; - const struct llvmpipe_cached_tex_tile *tile; - - tile = lp_get_cached_tex_tile(samp->cache, - tex_tile_address(x, y, z, face, level)); - - rgba[0][j] = ubyte_to_float(tile->color[ty][tx][0]); - rgba[1][j] = ubyte_to_float(tile->color[ty][tx][1]); - rgba[2][j] = ubyte_to_float(tile->color[ty][tx][2]); - rgba[3][j] = ubyte_to_float(tile->color[ty][tx][3]); - if (0) - { - debug_printf("Get texel %f %f %f %f from %s\n", - rgba[0][j], rgba[1][j], rgba[2][j], rgba[3][j], - pf_name(texture->format)); - } - } -} - - -/** - * Compare texcoord 'p' (aka R) against texture value 'rgba[0]' - * When we sampled the depth texture, the depth value was put into all - * RGBA channels. We look at the red channel here. - * \param rgba quad of (depth) texel values - * \param p texture 'P' components for four pixels in quad - * \param j which pixel in the quad to test [0..3] - */ -static INLINE void -shadow_compare(const struct pipe_sampler_state *sampler, - float rgba[NUM_CHANNELS][QUAD_SIZE], - const float p[QUAD_SIZE], - uint j) -{ - int k; - switch (sampler->compare_func) { - case PIPE_FUNC_LESS: - k = p[j] < rgba[0][j]; - break; - case PIPE_FUNC_LEQUAL: - k = p[j] <= rgba[0][j]; - break; - case PIPE_FUNC_GREATER: - k = p[j] > rgba[0][j]; - break; - case PIPE_FUNC_GEQUAL: - k = p[j] >= rgba[0][j]; - break; - case PIPE_FUNC_EQUAL: - k = p[j] == rgba[0][j]; - break; - case PIPE_FUNC_NOTEQUAL: - k = p[j] != rgba[0][j]; - break; - case PIPE_FUNC_ALWAYS: - k = 1; - break; - case PIPE_FUNC_NEVER: - k = 0; - break; - default: - k = 0; - assert(0); - break; - } - - /* XXX returning result for default GL_DEPTH_TEXTURE_MODE = GL_LUMINANCE */ - rgba[0][j] = rgba[1][j] = rgba[2][j] = (float) k; - rgba[3][j] = 1.0F; -} - - -/** - * As above, but do four z/texture comparisons. - */ -static INLINE void -shadow_compare4(const struct pipe_sampler_state *sampler, - float rgba[NUM_CHANNELS][QUAD_SIZE], - const float p[QUAD_SIZE]) -{ - int j, k0, k1, k2, k3; - float val; - - /* compare four texcoords vs. four texture samples */ - switch (sampler->compare_func) { - case PIPE_FUNC_LESS: - k0 = p[0] < rgba[0][0]; - k1 = p[1] < rgba[0][1]; - k2 = p[2] < rgba[0][2]; - k3 = p[3] < rgba[0][3]; - break; - case PIPE_FUNC_LEQUAL: - k0 = p[0] <= rgba[0][0]; - k1 = p[1] <= rgba[0][1]; - k2 = p[2] <= rgba[0][2]; - k3 = p[3] <= rgba[0][3]; - break; - case PIPE_FUNC_GREATER: - k0 = p[0] > rgba[0][0]; - k1 = p[1] > rgba[0][1]; - k2 = p[2] > rgba[0][2]; - k3 = p[3] > rgba[0][3]; - break; - case PIPE_FUNC_GEQUAL: - k0 = p[0] >= rgba[0][0]; - k1 = p[1] >= rgba[0][1]; - k2 = p[2] >= rgba[0][2]; - k3 = p[3] >= rgba[0][3]; - break; - case PIPE_FUNC_EQUAL: - k0 = p[0] == rgba[0][0]; - k1 = p[1] == rgba[0][1]; - k2 = p[2] == rgba[0][2]; - k3 = p[3] == rgba[0][3]; - break; - case PIPE_FUNC_NOTEQUAL: - k0 = p[0] != rgba[0][0]; - k1 = p[1] != rgba[0][1]; - k2 = p[2] != rgba[0][2]; - k3 = p[3] != rgba[0][3]; - break; - case PIPE_FUNC_ALWAYS: - k0 = k1 = k2 = k3 = 1; - break; - case PIPE_FUNC_NEVER: - k0 = k1 = k2 = k3 = 0; - break; - default: - k0 = k1 = k2 = k3 = 0; - assert(0); - break; - } - - /* convert four pass/fail values to an intensity in [0,1] */ - val = 0.25F * (k0 + k1 + k2 + k3); - - /* XXX returning result for default GL_DEPTH_TEXTURE_MODE = GL_LUMINANCE */ - for (j = 0; j < 4; j++) { - rgba[0][j] = rgba[1][j] = rgba[2][j] = val; - rgba[3][j] = 1.0F; - } -} - - - -static void -lp_get_samples_2d_linear_repeat_POT(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - unsigned j; - unsigned level = samp->level; - unsigned xpot = 1 << (samp->xpot - level); - unsigned ypot = 1 << (samp->ypot - level); - unsigned xmax = (xpot - 1) & (TEX_TILE_SIZE - 1); /* MIN2(TEX_TILE_SIZE, xpot) - 1; */ - unsigned ymax = (ypot - 1) & (TEX_TILE_SIZE - 1); /* MIN2(TEX_TILE_SIZE, ypot) - 1; */ - - for (j = 0; j < QUAD_SIZE; j++) { - int c; - - float u = s[j] * xpot - 0.5F; - float v = t[j] * ypot - 0.5F; - - int uflr = util_ifloor(u); - int vflr = util_ifloor(v); - - float xw = u - (float)uflr; - float yw = v - (float)vflr; - - int x0 = uflr & (xpot - 1); - int y0 = vflr & (ypot - 1); - - const uint8_t *tx[4]; - - - /* Can we fetch all four at once: - */ - if (x0 < xmax && y0 < ymax) - { - get_texel_quad_2d(tgsi_sampler, 0, level, x0, y0, tx); - } - else - { - unsigned x1 = (x0 + 1) & (xpot - 1); - unsigned y1 = (y0 + 1) & (ypot - 1); - get_texel_quad_2d_mt(tgsi_sampler, 0, level, - x0, y0, x1, y1, tx); - } - - - /* interpolate R, G, B, A */ - for (c = 0; c < 4; c++) { - rgba[c][j] = lerp_2d(xw, yw, - ubyte_to_float(tx[0][c]), ubyte_to_float(tx[1][c]), - ubyte_to_float(tx[2][c]), ubyte_to_float(tx[3][c])); - } - } -} - - -static void -lp_get_samples_2d_nearest_repeat_POT(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - unsigned j; - unsigned level = samp->level; - unsigned xpot = 1 << (samp->xpot - level); - unsigned ypot = 1 << (samp->ypot - level); - - for (j = 0; j < QUAD_SIZE; j++) { - int c; - - float u = s[j] * xpot; - float v = t[j] * ypot; - - int uflr = util_ifloor(u); - int vflr = util_ifloor(v); - - int x0 = uflr & (xpot - 1); - int y0 = vflr & (ypot - 1); - - const uint8_t *out = get_texel_2d_ptr(tgsi_sampler, 0, level, x0, y0); - - for (c = 0; c < 4; c++) { - rgba[c][j] = ubyte_to_float(out[c]); - } - } -} - - -static void -lp_get_samples_2d_nearest_clamp_POT(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - unsigned j; - unsigned level = samp->level; - unsigned xpot = 1 << (samp->xpot - level); - unsigned ypot = 1 << (samp->ypot - level); - - for (j = 0; j < QUAD_SIZE; j++) { - int c; - - float u = s[j] * xpot; - float v = t[j] * ypot; - - int x0, y0; - const uint8_t *out; - - x0 = util_ifloor(u); - if (x0 < 0) - x0 = 0; - else if (x0 > xpot - 1) - x0 = xpot - 1; - - y0 = util_ifloor(v); - if (y0 < 0) - y0 = 0; - else if (y0 > ypot - 1) - y0 = ypot - 1; - - out = get_texel_2d_ptr(tgsi_sampler, 0, level, x0, y0); - - for (c = 0; c < 4; c++) { - rgba[c][j] = ubyte_to_float(out[c]); - } - } -} - - -static void -lp_get_samples_2d_linear_mip_linear_repeat_POT(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - const struct pipe_texture *texture = samp->texture; - int level0; - float lambda; - - lambda = compute_lambda(tgsi_sampler, s, t, p, lodbias); - level0 = (int)lambda; - - if (lambda < 0.0) { - samp->level = 0; - lp_get_samples_2d_linear_repeat_POT( tgsi_sampler, - s, t, p, 0, rgba ); - } - else if (level0 >= texture->last_level) { - samp->level = texture->last_level; - lp_get_samples_2d_linear_repeat_POT( tgsi_sampler, - s, t, p, 0, rgba ); - } - else { - float levelBlend = lambda - level0; - float rgba0[4][4]; - float rgba1[4][4]; - int c,j; - - samp->level = level0; - lp_get_samples_2d_linear_repeat_POT( tgsi_sampler, - s, t, p, 0, rgba0 ); - - samp->level = level0+1; - lp_get_samples_2d_linear_repeat_POT( tgsi_sampler, - s, t, p, 0, rgba1 ); - - for (j = 0; j < QUAD_SIZE; j++) { - for (c = 0; c < 4; c++) { - rgba[c][j] = lerp(levelBlend, rgba0[c][j], rgba1[c][j]); - } - } - } -} - -/** - * Common code for sampling 1D/2D/cube textures. - * Could probably extend for 3D... - */ -static void -lp_get_samples_2d_common(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE], - const unsigned faces[4]) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - const struct pipe_texture *texture = samp->texture; - const struct pipe_sampler_state *sampler = samp->sampler; - unsigned level0, level1, j, imgFilter; - int width, height; - float levelBlend; - - choose_mipmap_levels(tgsi_sampler, s, t, p, - lodbias, - &level0, &level1, &levelBlend, &imgFilter); - - assert(sampler->normalized_coords); - - width = texture->width[level0]; - height = texture->height[level0]; - - assert(width > 0); - - switch (imgFilter) { - case PIPE_TEX_FILTER_NEAREST: - { - int x[4], y[4]; - nearest_texcoord_4(sampler->wrap_s, s, width, x); - nearest_texcoord_4(sampler->wrap_t, t, height, y); - - for (j = 0; j < QUAD_SIZE; j++) { - get_texel(tgsi_sampler, faces[j], level0, x[j], y[j], 0, rgba, j); - if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) { - shadow_compare(sampler, rgba, p, j); - } - - if (level0 != level1) { - /* get texels from second mipmap level and blend */ - float rgba2[4][4]; - unsigned c; - x[j] /= 2; - y[j] /= 2; - get_texel(tgsi_sampler, faces[j], level1, x[j], y[j], 0, - rgba2, j); - if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE){ - shadow_compare(sampler, rgba2, p, j); - } - - for (c = 0; c < NUM_CHANNELS; c++) { - rgba[c][j] = lerp(levelBlend, rgba[c][j], rgba2[c][j]); - } - } - } - } - break; - case PIPE_TEX_FILTER_LINEAR: - case PIPE_TEX_FILTER_ANISO: - { - int x0[4], y0[4], x1[4], y1[4]; - float xw[4], yw[4]; /* weights */ - - linear_texcoord_4(sampler->wrap_s, s, width, x0, x1, xw); - linear_texcoord_4(sampler->wrap_t, t, height, y0, y1, yw); - - for (j = 0; j < QUAD_SIZE; j++) { - float tx[4][4]; /* texels */ - int c; - get_texel(tgsi_sampler, faces[j], level0, x0[j], y0[j], 0, tx, 0); - get_texel(tgsi_sampler, faces[j], level0, x1[j], y0[j], 0, tx, 1); - get_texel(tgsi_sampler, faces[j], level0, x0[j], y1[j], 0, tx, 2); - get_texel(tgsi_sampler, faces[j], level0, x1[j], y1[j], 0, tx, 3); - if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) { - shadow_compare4(sampler, tx, p); - } - - /* interpolate R, G, B, A */ - for (c = 0; c < 4; c++) { - rgba[c][j] = lerp_2d(xw[j], yw[j], - tx[c][0], tx[c][1], - tx[c][2], tx[c][3]); - } - - if (level0 != level1) { - /* get texels from second mipmap level and blend */ - float rgba2[4][4]; - - /* XXX: This is incorrect -- will often end up with (x0 - * == x1 && y0 == y1), meaning that we fetch the same - * texel four times and linearly interpolate between - * identical values. The correct approach would be to - * call linear_texcoord again for the second level. - */ - x0[j] /= 2; - y0[j] /= 2; - x1[j] /= 2; - y1[j] /= 2; - get_texel(tgsi_sampler, faces[j], level1, x0[j], y0[j], 0, tx, 0); - get_texel(tgsi_sampler, faces[j], level1, x1[j], y0[j], 0, tx, 1); - get_texel(tgsi_sampler, faces[j], level1, x0[j], y1[j], 0, tx, 2); - get_texel(tgsi_sampler, faces[j], level1, x1[j], y1[j], 0, tx, 3); - if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE){ - shadow_compare4(sampler, tx, p); - } - - /* interpolate R, G, B, A */ - for (c = 0; c < 4; c++) { - rgba2[c][j] = lerp_2d(xw[j], yw[j], - tx[c][0], tx[c][1], tx[c][2], tx[c][3]); - } - - for (c = 0; c < NUM_CHANNELS; c++) { - rgba[c][j] = lerp(levelBlend, rgba[c][j], rgba2[c][j]); - } - } - } - } - break; - default: - assert(0); - } -} - - -static INLINE void -lp_get_samples_1d(struct tgsi_sampler *sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - static const unsigned faces[4] = {0, 0, 0, 0}; - static const float tzero[4] = {0, 0, 0, 0}; - lp_get_samples_2d_common(sampler, s, tzero, NULL, - lodbias, rgba, faces); -} - - -static INLINE void -lp_get_samples_2d(struct tgsi_sampler *sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - static const unsigned faces[4] = {0, 0, 0, 0}; - lp_get_samples_2d_common(sampler, s, t, p, - lodbias, rgba, faces); -} - - -static INLINE void -lp_get_samples_3d(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - const struct pipe_texture *texture = samp->texture; - const struct pipe_sampler_state *sampler = samp->sampler; - /* get/map pipe_surfaces corresponding to 3D tex slices */ - unsigned level0, level1, j, imgFilter; - int width, height, depth; - float levelBlend; - const uint face = 0; - - choose_mipmap_levels(tgsi_sampler, s, t, p, - lodbias, - &level0, &level1, &levelBlend, &imgFilter); - - assert(sampler->normalized_coords); - - width = texture->width[level0]; - height = texture->height[level0]; - depth = texture->depth[level0]; - - assert(width > 0); - assert(height > 0); - assert(depth > 0); - - switch (imgFilter) { - case PIPE_TEX_FILTER_NEAREST: - { - int x[4], y[4], z[4]; - nearest_texcoord_4(sampler->wrap_s, s, width, x); - nearest_texcoord_4(sampler->wrap_t, t, height, y); - nearest_texcoord_4(sampler->wrap_r, p, depth, z); - for (j = 0; j < QUAD_SIZE; j++) { - get_texel(tgsi_sampler, face, level0, x[j], y[j], z[j], rgba, j); - if (level0 != level1) { - /* get texels from second mipmap level and blend */ - float rgba2[4][4]; - unsigned c; - x[j] /= 2; - y[j] /= 2; - z[j] /= 2; - get_texel(tgsi_sampler, face, level1, x[j], y[j], z[j], rgba2, j); - for (c = 0; c < NUM_CHANNELS; c++) { - rgba[c][j] = lerp(levelBlend, rgba2[c][j], rgba[c][j]); - } - } - } - } - break; - case PIPE_TEX_FILTER_LINEAR: - case PIPE_TEX_FILTER_ANISO: - { - int x0[4], x1[4], y0[4], y1[4], z0[4], z1[4]; - float xw[4], yw[4], zw[4]; /* interpolation weights */ - linear_texcoord_4(sampler->wrap_s, s, width, x0, x1, xw); - linear_texcoord_4(sampler->wrap_t, t, height, y0, y1, yw); - linear_texcoord_4(sampler->wrap_r, p, depth, z0, z1, zw); - - for (j = 0; j < QUAD_SIZE; j++) { - int c; - float tx0[4][4], tx1[4][4]; - get_texel(tgsi_sampler, face, level0, x0[j], y0[j], z0[j], tx0, 0); - get_texel(tgsi_sampler, face, level0, x1[j], y0[j], z0[j], tx0, 1); - get_texel(tgsi_sampler, face, level0, x0[j], y1[j], z0[j], tx0, 2); - get_texel(tgsi_sampler, face, level0, x1[j], y1[j], z0[j], tx0, 3); - get_texel(tgsi_sampler, face, level0, x0[j], y0[j], z1[j], tx1, 0); - get_texel(tgsi_sampler, face, level0, x1[j], y0[j], z1[j], tx1, 1); - get_texel(tgsi_sampler, face, level0, x0[j], y1[j], z1[j], tx1, 2); - get_texel(tgsi_sampler, face, level0, x1[j], y1[j], z1[j], tx1, 3); - - /* interpolate R, G, B, A */ - for (c = 0; c < 4; c++) { - rgba[c][j] = lerp_3d(xw[j], yw[j], zw[j], - tx0[c][0], tx0[c][1], - tx0[c][2], tx0[c][3], - tx1[c][0], tx1[c][1], - tx1[c][2], tx1[c][3]); - } - - if (level0 != level1) { - /* get texels from second mipmap level and blend */ - float rgba2[4][4]; - x0[j] /= 2; - y0[j] /= 2; - z0[j] /= 2; - x1[j] /= 2; - y1[j] /= 2; - z1[j] /= 2; - get_texel(tgsi_sampler, face, level1, x0[j], y0[j], z0[j], tx0, 0); - get_texel(tgsi_sampler, face, level1, x1[j], y0[j], z0[j], tx0, 1); - get_texel(tgsi_sampler, face, level1, x0[j], y1[j], z0[j], tx0, 2); - get_texel(tgsi_sampler, face, level1, x1[j], y1[j], z0[j], tx0, 3); - get_texel(tgsi_sampler, face, level1, x0[j], y0[j], z1[j], tx1, 0); - get_texel(tgsi_sampler, face, level1, x1[j], y0[j], z1[j], tx1, 1); - get_texel(tgsi_sampler, face, level1, x0[j], y1[j], z1[j], tx1, 2); - get_texel(tgsi_sampler, face, level1, x1[j], y1[j], z1[j], tx1, 3); - - /* interpolate R, G, B, A */ - for (c = 0; c < 4; c++) { - rgba2[c][j] = lerp_3d(xw[j], yw[j], zw[j], - tx0[c][0], tx0[c][1], - tx0[c][2], tx0[c][3], - tx1[c][0], tx1[c][1], - tx1[c][2], tx1[c][3]); - } - - /* blend mipmap levels */ - for (c = 0; c < NUM_CHANNELS; c++) { - rgba[c][j] = lerp(levelBlend, rgba[c][j], rgba2[c][j]); - } - } - } - } - break; - default: - assert(0); - } -} - - -static void -lp_get_samples_cube(struct tgsi_sampler *sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - unsigned faces[QUAD_SIZE], j; - float ssss[4], tttt[4]; - for (j = 0; j < QUAD_SIZE; j++) { - faces[j] = choose_cube_face(s[j], t[j], p[j], ssss + j, tttt + j); - } - lp_get_samples_2d_common(sampler, ssss, tttt, NULL, - lodbias, rgba, faces); -} - - -static void -lp_get_samples_rect(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - const struct pipe_texture *texture = samp->texture; - const struct pipe_sampler_state *sampler = samp->sampler; - const uint face = 0; - unsigned level0, level1, j, imgFilter; - int width, height; - float levelBlend; - - choose_mipmap_levels(tgsi_sampler, s, t, p, - lodbias, - &level0, &level1, &levelBlend, &imgFilter); - - /* texture RECTS cannot be mipmapped */ - assert(level0 == level1); - - width = texture->width[level0]; - height = texture->height[level0]; - - assert(width > 0); - - switch (imgFilter) { - case PIPE_TEX_FILTER_NEAREST: - { - int x[4], y[4]; - nearest_texcoord_unnorm_4(sampler->wrap_s, s, width, x); - nearest_texcoord_unnorm_4(sampler->wrap_t, t, height, y); - for (j = 0; j < QUAD_SIZE; j++) { - get_texel(tgsi_sampler, face, level0, x[j], y[j], 0, rgba, j); - if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) { - shadow_compare(sampler, rgba, p, j); - } - } - } - break; - case PIPE_TEX_FILTER_LINEAR: - case PIPE_TEX_FILTER_ANISO: - { - int x0[4], y0[4], x1[4], y1[4]; - float xw[4], yw[4]; /* weights */ - linear_texcoord_unnorm_4(sampler->wrap_s, s, width, x0, x1, xw); - linear_texcoord_unnorm_4(sampler->wrap_t, t, height, y0, y1, yw); - for (j = 0; j < QUAD_SIZE; j++) { - float tx[4][4]; /* texels */ - int c; - get_texel(tgsi_sampler, face, level0, x0[j], y0[j], 0, tx, 0); - get_texel(tgsi_sampler, face, level0, x1[j], y0[j], 0, tx, 1); - get_texel(tgsi_sampler, face, level0, x0[j], y1[j], 0, tx, 2); - get_texel(tgsi_sampler, face, level0, x1[j], y1[j], 0, tx, 3); - if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) { - shadow_compare4(sampler, tx, p); - } - for (c = 0; c < 4; c++) { - rgba[c][j] = lerp_2d(xw[j], yw[j], - tx[c][0], tx[c][1], tx[c][2], tx[c][3]); - } - } - } - break; - default: - assert(0); - } -} - - -/** - * Error condition handler - */ -static INLINE void -lp_get_samples_null(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - int i,j; - - for (i = 0; i < 4; i++) - for (j = 0; j < 4; j++) - rgba[i][j] = 1.0; -} - -/** - * Called via tgsi_sampler::get_samples() when using a sampler for the - * first time. Determine the actual sampler function, link it in and - * call it. - */ -void -lp_get_samples(struct tgsi_sampler *tgsi_sampler, - const float s[QUAD_SIZE], - const float t[QUAD_SIZE], - const float p[QUAD_SIZE], - float lodbias, - float rgba[NUM_CHANNELS][QUAD_SIZE]) -{ - struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); - const struct pipe_texture *texture = samp->texture; - const struct pipe_sampler_state *sampler = samp->sampler; - - /* Default to the 'undefined' case: - */ - tgsi_sampler->get_samples = lp_get_samples_null; - - if (!texture) { - assert(0); /* is this legal?? */ - goto out; - } - - if (!sampler->normalized_coords) { - assert (texture->target == PIPE_TEXTURE_2D); - tgsi_sampler->get_samples = lp_get_samples_rect; - goto out; - } - - switch (texture->target) { - case PIPE_TEXTURE_1D: - tgsi_sampler->get_samples = lp_get_samples_1d; - break; - case PIPE_TEXTURE_2D: - tgsi_sampler->get_samples = lp_get_samples_2d; - break; - case PIPE_TEXTURE_3D: - tgsi_sampler->get_samples = lp_get_samples_3d; - break; - case PIPE_TEXTURE_CUBE: - tgsi_sampler->get_samples = lp_get_samples_cube; - break; - default: - assert(0); - break; - } - - /* Do this elsewhere: - */ - samp->xpot = util_unsigned_logbase2( samp->texture->width[0] ); - samp->ypot = util_unsigned_logbase2( samp->texture->height[0] ); - - /* Try to hook in a faster sampler. Ultimately we'll have to - * code-generate these. Luckily most of this looks like it is - * orthogonal state within the sampler. - */ - if (texture->target == PIPE_TEXTURE_2D && - sampler->min_img_filter == sampler->mag_img_filter && - sampler->wrap_s == sampler->wrap_t && - sampler->compare_mode == FALSE && - sampler->normalized_coords) - { - if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_NONE) { - samp->level = CLAMP((int) sampler->min_lod, - 0, (int) texture->last_level); - - if (sampler->wrap_s == PIPE_TEX_WRAP_REPEAT) { - switch (sampler->min_img_filter) { - case PIPE_TEX_FILTER_NEAREST: - tgsi_sampler->get_samples = lp_get_samples_2d_nearest_repeat_POT; - break; - case PIPE_TEX_FILTER_LINEAR: - tgsi_sampler->get_samples = lp_get_samples_2d_linear_repeat_POT; - break; - default: - break; - } - } - else if (sampler->wrap_s == PIPE_TEX_WRAP_CLAMP) { - switch (sampler->min_img_filter) { - case PIPE_TEX_FILTER_NEAREST: - tgsi_sampler->get_samples = lp_get_samples_2d_nearest_clamp_POT; - break; - default: - break; - } - } - } - else if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_LINEAR) { - if (sampler->wrap_s == PIPE_TEX_WRAP_REPEAT) { - switch (sampler->min_img_filter) { - case PIPE_TEX_FILTER_LINEAR: - tgsi_sampler->get_samples = lp_get_samples_2d_linear_mip_linear_repeat_POT; - break; - default: - break; - } - } - } - } - else if (0) { - _debug_printf("target %d/%d min_mip %d/%d min_img %d/%d wrap %d/%d compare %d/%d norm %d/%d\n", - texture->target, PIPE_TEXTURE_2D, - sampler->min_mip_filter, PIPE_TEX_MIPFILTER_NONE, - sampler->min_img_filter, sampler->mag_img_filter, - sampler->wrap_s, sampler->wrap_t, - sampler->compare_mode, FALSE, - sampler->normalized_coords, TRUE); - } - -out: - tgsi_sampler->get_samples( tgsi_sampler, s, t, p, lodbias, rgba ); -} - - -void PIPE_CDECL -lp_fetch_texel_soa( struct tgsi_sampler **samplers, - uint32_t unit, - float *store ) -{ - struct tgsi_sampler *sampler = samplers[unit]; - -#if 0 - uint j; - - debug_printf("%s sampler: %p (%p) store: %p\n", - __FUNCTION__, - sampler, *sampler, - store ); - - debug_printf("lodbias %f\n", store[12]); - - for (j = 0; j < 4; j++) - debug_printf("sample %d texcoord %f %f\n", - j, - store[0+j], - store[4+j]); -#endif - - { - float rgba[NUM_CHANNELS][QUAD_SIZE]; - sampler->get_samples(sampler, - &store[0], - &store[4], - &store[8], - 0.0f, /*store[12], lodbias */ - rgba); - memcpy(store, rgba, sizeof rgba); - } - -#if 0 - for (j = 0; j < 4; j++) - debug_printf("sample %d result %f %f %f %f\n", - j, - store[0+j], - store[4+j], - store[8+j], - store[12+j]); -#endif -} - - -#include "lp_bld_type.h" -#include "lp_bld_intr.h" -#include "lp_bld_tgsi.h" - - -struct lp_c_sampler_soa -{ - struct lp_build_sampler_soa base; - - LLVMValueRef context_ptr; - - LLVMValueRef samplers_ptr; - - /** Coords/texels store */ - LLVMValueRef store_ptr; -}; - - -static void -lp_c_sampler_soa_destroy(struct lp_build_sampler_soa *sampler) -{ - FREE(sampler); -} - - -static void -lp_c_sampler_soa_emit_fetch_texel(struct lp_build_sampler_soa *_sampler, - LLVMBuilderRef builder, - union lp_type type, - unsigned unit, - unsigned num_coords, - const LLVMValueRef *coords, - LLVMValueRef lodbias, - LLVMValueRef *texel) -{ - struct lp_c_sampler_soa *sampler = (struct lp_c_sampler_soa *)_sampler; - LLVMTypeRef vec_type = LLVMTypeOf(coords[0]); - LLVMValueRef args[3]; - unsigned i; - - if(!sampler->samplers_ptr) - sampler->samplers_ptr = lp_jit_context_samplers(builder, sampler->context_ptr); - - if(!sampler->store_ptr) - sampler->store_ptr = LLVMBuildArrayAlloca(builder, - vec_type, - LLVMConstInt(LLVMInt32Type(), 4, 0), - "texel_store"); - - for (i = 0; i < num_coords; i++) { - LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); - LLVMValueRef coord_ptr = LLVMBuildGEP(builder, sampler->store_ptr, &index, 1, ""); - LLVMBuildStore(builder, coords[i], coord_ptr); - } - - args[0] = sampler->samplers_ptr; - args[1] = LLVMConstInt(LLVMInt32Type(), unit, 0); - args[2] = sampler->store_ptr; - - lp_build_intrinsic(builder, "fetch_texel", LLVMVoidType(), args, 3); - - for (i = 0; i < NUM_CHANNELS; ++i) { - LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); - LLVMValueRef texel_ptr = LLVMBuildGEP(builder, sampler->store_ptr, &index, 1, ""); - texel[i] = LLVMBuildLoad(builder, texel_ptr, ""); - } -} - - -struct lp_build_sampler_soa * -lp_c_sampler_soa_create(LLVMValueRef context_ptr) -{ - struct lp_c_sampler_soa *sampler; - - sampler = CALLOC_STRUCT(lp_c_sampler_soa); - if(!sampler) - return NULL; - - sampler->base.destroy = lp_c_sampler_soa_destroy; - sampler->base.emit_fetch_texel = lp_c_sampler_soa_emit_fetch_texel; - sampler->context_ptr = context_ptr; - - return &sampler->base; -} - diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample.h b/src/gallium/drivers/llvmpipe/lp_tex_sample.h index 7d1e565885..9ad1bde956 100644 --- a/src/gallium/drivers/llvmpipe/lp_tex_sample.h +++ b/src/gallium/drivers/llvmpipe/lp_tex_sample.h @@ -35,6 +35,7 @@ struct llvmpipe_tex_tile_cache; +struct lp_sampler_static_state; /** @@ -87,4 +88,14 @@ struct lp_build_sampler_soa * lp_c_sampler_soa_create(LLVMValueRef context_ptr); +/** + * Pure-LLVM texture sampling code generator. + * + * @param context_ptr LLVM value with the pointer to the struct lp_jit_context. + */ +struct lp_build_sampler_soa * +lp_llvm_sampler_soa_create(const struct lp_sampler_static_state *key, + LLVMValueRef context_ptr); + + #endif /* LP_TEX_SAMPLE_H */ diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample_c.c b/src/gallium/drivers/llvmpipe/lp_tex_sample_c.c new file mode 100644 index 0000000000..9a876f404d --- /dev/null +++ b/src/gallium/drivers/llvmpipe/lp_tex_sample_c.c @@ -0,0 +1,1713 @@ +/************************************************************************** + * + * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * Copyright 2008 VMware, Inc. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, 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 TUNGSTEN GRAPHICS 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. + * + **************************************************************************/ + +/** + * Texture sampling + * + * Authors: + * Brian Paul + */ + +#include "lp_context.h" +#include "lp_quad.h" +#include "lp_surface.h" +#include "lp_texture.h" +#include "lp_tex_sample.h" +#include "lp_tex_cache.h" +#include "pipe/p_context.h" +#include "pipe/p_defines.h" +#include "pipe/p_shader_tokens.h" +#include "util/u_math.h" +#include "util/u_memory.h" + + + +/* + * Note, the FRAC macro has to work perfectly. Otherwise you'll sometimes + * see 1-pixel bands of improperly weighted linear-filtered textures. + * The tests/texwrap.c demo is a good test. + * Also note, FRAC(x) doesn't truly return the fractional part of x for x < 0. + * Instead, if x < 0 then FRAC(x) = 1 - true_frac(x). + */ +#define FRAC(f) ((f) - util_ifloor(f)) + + +/** + * Linear interpolation macro + */ +static INLINE float +lerp(float a, float v0, float v1) +{ + return v0 + a * (v1 - v0); +} + + +/** + * Do 2D/biliner interpolation of float values. + * v00, v10, v01 and v11 are typically four texture samples in a square/box. + * a and b are the horizontal and vertical interpolants. + * It's important that this function is inlined when compiled with + * optimization! If we find that's not true on some systems, convert + * to a macro. + */ +static INLINE float +lerp_2d(float a, float b, + float v00, float v10, float v01, float v11) +{ + const float temp0 = lerp(a, v00, v10); + const float temp1 = lerp(a, v01, v11); + return lerp(b, temp0, temp1); +} + + +/** + * As above, but 3D interpolation of 8 values. + */ +static INLINE float +lerp_3d(float a, float b, float c, + float v000, float v100, float v010, float v110, + float v001, float v101, float v011, float v111) +{ + const float temp0 = lerp_2d(a, b, v000, v100, v010, v110); + const float temp1 = lerp_2d(a, b, v001, v101, v011, v111); + return lerp(c, temp0, temp1); +} + + + +/** + * If A is a signed integer, A % B doesn't give the right value for A < 0 + * (in terms of texture repeat). Just casting to unsigned fixes that. + */ +#define REMAINDER(A, B) ((unsigned) (A) % (unsigned) (B)) + + +/** + * Apply texture coord wrapping mode and return integer texture indexes + * for a vector of four texcoords (S or T or P). + * \param wrapMode PIPE_TEX_WRAP_x + * \param s the incoming texcoords + * \param size the texture image size + * \param icoord returns the integer texcoords + * \return integer texture index + */ +static INLINE void +nearest_texcoord_4(unsigned wrapMode, const float s[4], unsigned size, + int icoord[4]) +{ + uint ch; + switch (wrapMode) { + case PIPE_TEX_WRAP_REPEAT: + /* s limited to [0,1) */ + /* i limited to [0,size-1] */ + for (ch = 0; ch < 4; ch++) { + int i = util_ifloor(s[ch] * size); + icoord[ch] = REMAINDER(i, size); + } + return; + case PIPE_TEX_WRAP_CLAMP: + /* s limited to [0,1] */ + /* i limited to [0,size-1] */ + for (ch = 0; ch < 4; ch++) { + if (s[ch] <= 0.0F) + icoord[ch] = 0; + else if (s[ch] >= 1.0F) + icoord[ch] = size - 1; + else + icoord[ch] = util_ifloor(s[ch] * size); + } + return; + case PIPE_TEX_WRAP_CLAMP_TO_EDGE: + { + /* s limited to [min,max] */ + /* i limited to [0, size-1] */ + const float min = 1.0F / (2.0F * size); + const float max = 1.0F - min; + for (ch = 0; ch < 4; ch++) { + if (s[ch] < min) + icoord[ch] = 0; + else if (s[ch] > max) + icoord[ch] = size - 1; + else + icoord[ch] = util_ifloor(s[ch] * size); + } + } + return; + case PIPE_TEX_WRAP_CLAMP_TO_BORDER: + { + /* s limited to [min,max] */ + /* i limited to [-1, size] */ + const float min = -1.0F / (2.0F * size); + const float max = 1.0F - min; + for (ch = 0; ch < 4; ch++) { + if (s[ch] <= min) + icoord[ch] = -1; + else if (s[ch] >= max) + icoord[ch] = size; + else + icoord[ch] = util_ifloor(s[ch] * size); + } + } + return; + case PIPE_TEX_WRAP_MIRROR_REPEAT: + { + const float min = 1.0F / (2.0F * size); + const float max = 1.0F - min; + for (ch = 0; ch < 4; ch++) { + const int flr = util_ifloor(s[ch]); + float u; + if (flr & 1) + u = 1.0F - (s[ch] - (float) flr); + else + u = s[ch] - (float) flr; + if (u < min) + icoord[ch] = 0; + else if (u > max) + icoord[ch] = size - 1; + else + icoord[ch] = util_ifloor(u * size); + } + } + return; + case PIPE_TEX_WRAP_MIRROR_CLAMP: + for (ch = 0; ch < 4; ch++) { + /* s limited to [0,1] */ + /* i limited to [0,size-1] */ + const float u = fabsf(s[ch]); + if (u <= 0.0F) + icoord[ch] = 0; + else if (u >= 1.0F) + icoord[ch] = size - 1; + else + icoord[ch] = util_ifloor(u * size); + } + return; + case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE: + { + /* s limited to [min,max] */ + /* i limited to [0, size-1] */ + const float min = 1.0F / (2.0F * size); + const float max = 1.0F - min; + for (ch = 0; ch < 4; ch++) { + const float u = fabsf(s[ch]); + if (u < min) + icoord[ch] = 0; + else if (u > max) + icoord[ch] = size - 1; + else + icoord[ch] = util_ifloor(u * size); + } + } + return; + case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER: + { + /* s limited to [min,max] */ + /* i limited to [0, size-1] */ + const float min = -1.0F / (2.0F * size); + const float max = 1.0F - min; + for (ch = 0; ch < 4; ch++) { + const float u = fabsf(s[ch]); + if (u < min) + icoord[ch] = -1; + else if (u > max) + icoord[ch] = size; + else + icoord[ch] = util_ifloor(u * size); + } + } + return; + default: + assert(0); + } +} + + +/** + * Used to compute texel locations for linear sampling for four texcoords. + * \param wrapMode PIPE_TEX_WRAP_x + * \param s the texcoords + * \param size the texture image size + * \param icoord0 returns first texture indexes + * \param icoord1 returns second texture indexes (usually icoord0 + 1) + * \param w returns blend factor/weight between texture indexes + * \param icoord returns the computed integer texture coords + */ +static INLINE void +linear_texcoord_4(unsigned wrapMode, const float s[4], unsigned size, + int icoord0[4], int icoord1[4], float w[4]) +{ + uint ch; + + switch (wrapMode) { + case PIPE_TEX_WRAP_REPEAT: + for (ch = 0; ch < 4; ch++) { + float u = s[ch] * size - 0.5F; + icoord0[ch] = REMAINDER(util_ifloor(u), size); + icoord1[ch] = REMAINDER(icoord0[ch] + 1, size); + w[ch] = FRAC(u); + } + break;; + case PIPE_TEX_WRAP_CLAMP: + for (ch = 0; ch < 4; ch++) { + float u = CLAMP(s[ch], 0.0F, 1.0F); + u = u * size - 0.5f; + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + w[ch] = FRAC(u); + } + break;; + case PIPE_TEX_WRAP_CLAMP_TO_EDGE: + for (ch = 0; ch < 4; ch++) { + float u = CLAMP(s[ch], 0.0F, 1.0F); + u = u * size - 0.5f; + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + if (icoord0[ch] < 0) + icoord0[ch] = 0; + if (icoord1[ch] >= (int) size) + icoord1[ch] = size - 1; + w[ch] = FRAC(u); + } + break;; + case PIPE_TEX_WRAP_CLAMP_TO_BORDER: + { + const float min = -1.0F / (2.0F * size); + const float max = 1.0F - min; + for (ch = 0; ch < 4; ch++) { + float u = CLAMP(s[ch], min, max); + u = u * size - 0.5f; + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + w[ch] = FRAC(u); + } + } + break;; + case PIPE_TEX_WRAP_MIRROR_REPEAT: + for (ch = 0; ch < 4; ch++) { + const int flr = util_ifloor(s[ch]); + float u; + if (flr & 1) + u = 1.0F - (s[ch] - (float) flr); + else + u = s[ch] - (float) flr; + u = u * size - 0.5F; + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + if (icoord0[ch] < 0) + icoord0[ch] = 0; + if (icoord1[ch] >= (int) size) + icoord1[ch] = size - 1; + w[ch] = FRAC(u); + } + break;; + case PIPE_TEX_WRAP_MIRROR_CLAMP: + for (ch = 0; ch < 4; ch++) { + float u = fabsf(s[ch]); + if (u >= 1.0F) + u = (float) size; + else + u *= size; + u -= 0.5F; + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + w[ch] = FRAC(u); + } + break;; + case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE: + for (ch = 0; ch < 4; ch++) { + float u = fabsf(s[ch]); + if (u >= 1.0F) + u = (float) size; + else + u *= size; + u -= 0.5F; + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + if (icoord0[ch] < 0) + icoord0[ch] = 0; + if (icoord1[ch] >= (int) size) + icoord1[ch] = size - 1; + w[ch] = FRAC(u); + } + break;; + case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER: + { + const float min = -1.0F / (2.0F * size); + const float max = 1.0F - min; + for (ch = 0; ch < 4; ch++) { + float u = fabsf(s[ch]); + if (u <= min) + u = min * size; + else if (u >= max) + u = max * size; + else + u *= size; + u -= 0.5F; + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + w[ch] = FRAC(u); + } + } + break;; + default: + assert(0); + } +} + + +/** + * For RECT textures / unnormalized texcoords + * Only a subset of wrap modes supported. + */ +static INLINE void +nearest_texcoord_unnorm_4(unsigned wrapMode, const float s[4], unsigned size, + int icoord[4]) +{ + uint ch; + switch (wrapMode) { + case PIPE_TEX_WRAP_CLAMP: + for (ch = 0; ch < 4; ch++) { + int i = util_ifloor(s[ch]); + icoord[ch]= CLAMP(i, 0, (int) size-1); + } + return; + case PIPE_TEX_WRAP_CLAMP_TO_EDGE: + /* fall-through */ + case PIPE_TEX_WRAP_CLAMP_TO_BORDER: + for (ch = 0; ch < 4; ch++) { + icoord[ch]= util_ifloor( CLAMP(s[ch], 0.5F, (float) size - 0.5F) ); + } + return; + default: + assert(0); + } +} + + +/** + * For RECT textures / unnormalized texcoords. + * Only a subset of wrap modes supported. + */ +static INLINE void +linear_texcoord_unnorm_4(unsigned wrapMode, const float s[4], unsigned size, + int icoord0[4], int icoord1[4], float w[4]) +{ + uint ch; + switch (wrapMode) { + case PIPE_TEX_WRAP_CLAMP: + for (ch = 0; ch < 4; ch++) { + /* Not exactly what the spec says, but it matches NVIDIA output */ + float u = CLAMP(s[ch] - 0.5F, 0.0f, (float) size - 1.0f); + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + w[ch] = FRAC(u); + } + return; + case PIPE_TEX_WRAP_CLAMP_TO_EDGE: + /* fall-through */ + case PIPE_TEX_WRAP_CLAMP_TO_BORDER: + for (ch = 0; ch < 4; ch++) { + float u = CLAMP(s[ch], 0.5F, (float) size - 0.5F); + u -= 0.5F; + icoord0[ch] = util_ifloor(u); + icoord1[ch] = icoord0[ch] + 1; + if (icoord1[ch] > (int) size - 1) + icoord1[ch] = size - 1; + w[ch] = FRAC(u); + } + break; + default: + assert(0); + } +} + + +static unsigned +choose_cube_face(float rx, float ry, float rz, float *newS, float *newT) +{ + /* + major axis + direction target sc tc ma + ---------- ------------------------------- --- --- --- + +rx TEXTURE_CUBE_MAP_POSITIVE_X_EXT -rz -ry rx + -rx TEXTURE_CUBE_MAP_NEGATIVE_X_EXT +rz -ry rx + +ry TEXTURE_CUBE_MAP_POSITIVE_Y_EXT +rx +rz ry + -ry TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT +rx -rz ry + +rz TEXTURE_CUBE_MAP_POSITIVE_Z_EXT +rx -ry rz + -rz TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT -rx -ry rz + */ + const float arx = fabsf(rx), ary = fabsf(ry), arz = fabsf(rz); + unsigned face; + float sc, tc, ma; + + if (arx > ary && arx > arz) { + if (rx >= 0.0F) { + face = PIPE_TEX_FACE_POS_X; + sc = -rz; + tc = -ry; + ma = arx; + } + else { + face = PIPE_TEX_FACE_NEG_X; + sc = rz; + tc = -ry; + ma = arx; + } + } + else if (ary > arx && ary > arz) { + if (ry >= 0.0F) { + face = PIPE_TEX_FACE_POS_Y; + sc = rx; + tc = rz; + ma = ary; + } + else { + face = PIPE_TEX_FACE_NEG_Y; + sc = rx; + tc = -rz; + ma = ary; + } + } + else { + if (rz > 0.0F) { + face = PIPE_TEX_FACE_POS_Z; + sc = rx; + tc = -ry; + ma = arz; + } + else { + face = PIPE_TEX_FACE_NEG_Z; + sc = -rx; + tc = -ry; + ma = arz; + } + } + + *newS = ( sc / ma + 1.0F ) * 0.5F; + *newT = ( tc / ma + 1.0F ) * 0.5F; + + return face; +} + + +/** + * Examine the quad's texture coordinates to compute the partial + * derivatives w.r.t X and Y, then compute lambda (level of detail). + * + * This is only done for fragment shaders, not vertex shaders. + */ +static float +compute_lambda(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + const struct pipe_texture *texture = samp->texture; + const struct pipe_sampler_state *sampler = samp->sampler; + float rho, lambda; + + if (samp->processor == TGSI_PROCESSOR_VERTEX) + return lodbias; + + assert(sampler->normalized_coords); + + assert(s); + { + float dsdx = s[QUAD_BOTTOM_RIGHT] - s[QUAD_BOTTOM_LEFT]; + float dsdy = s[QUAD_TOP_LEFT] - s[QUAD_BOTTOM_LEFT]; + dsdx = fabsf(dsdx); + dsdy = fabsf(dsdy); + rho = MAX2(dsdx, dsdy) * texture->width[0]; + } + if (t) { + float dtdx = t[QUAD_BOTTOM_RIGHT] - t[QUAD_BOTTOM_LEFT]; + float dtdy = t[QUAD_TOP_LEFT] - t[QUAD_BOTTOM_LEFT]; + float max; + dtdx = fabsf(dtdx); + dtdy = fabsf(dtdy); + max = MAX2(dtdx, dtdy) * texture->height[0]; + rho = MAX2(rho, max); + } + if (p) { + float dpdx = p[QUAD_BOTTOM_RIGHT] - p[QUAD_BOTTOM_LEFT]; + float dpdy = p[QUAD_TOP_LEFT] - p[QUAD_BOTTOM_LEFT]; + float max; + dpdx = fabsf(dpdx); + dpdy = fabsf(dpdy); + max = MAX2(dpdx, dpdy) * texture->depth[0]; + rho = MAX2(rho, max); + } + + lambda = util_fast_log2(rho); + lambda += lodbias + sampler->lod_bias; + lambda = CLAMP(lambda, sampler->min_lod, sampler->max_lod); + + return lambda; +} + + +/** + * Do several things here: + * 1. Compute lambda from the texcoords, if needed + * 2. Determine if we're minifying or magnifying + * 3. If minifying, choose mipmap levels + * 4. Return image filter to use within mipmap images + * \param level0 Returns first mipmap level to sample from + * \param level1 Returns second mipmap level to sample from + * \param levelBlend Returns blend factor between levels, in [0,1] + * \param imgFilter Returns either the min or mag filter, depending on lambda + */ +static void +choose_mipmap_levels(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + unsigned *level0, unsigned *level1, float *levelBlend, + unsigned *imgFilter) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + const struct pipe_texture *texture = samp->texture; + const struct pipe_sampler_state *sampler = samp->sampler; + + if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_NONE) { + /* no mipmap selection needed */ + *level0 = *level1 = CLAMP((int) sampler->min_lod, + 0, (int) texture->last_level); + + if (sampler->min_img_filter != sampler->mag_img_filter) { + /* non-mipmapped texture, but still need to determine if doing + * minification or magnification. + */ + float lambda = compute_lambda(tgsi_sampler, s, t, p, lodbias); + if (lambda <= 0.0) { + *imgFilter = sampler->mag_img_filter; + } + else { + *imgFilter = sampler->min_img_filter; + } + } + else { + *imgFilter = sampler->mag_img_filter; + } + } + else { + float lambda = compute_lambda(tgsi_sampler, s, t, p, lodbias); + + if (lambda <= 0.0) { /* XXX threshold depends on the filter */ + /* magnifying */ + *imgFilter = sampler->mag_img_filter; + *level0 = *level1 = 0; + } + else { + /* minifying */ + *imgFilter = sampler->min_img_filter; + + /* choose mipmap level(s) and compute the blend factor between them */ + if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_NEAREST) { + /* Nearest mipmap level */ + const int lvl = (int) (lambda + 0.5); + *level0 = + *level1 = CLAMP(lvl, 0, (int) texture->last_level); + } + else { + /* Linear interpolation between mipmap levels */ + const int lvl = (int) lambda; + *level0 = CLAMP(lvl, 0, (int) texture->last_level); + *level1 = CLAMP(lvl + 1, 0, (int) texture->last_level); + *levelBlend = FRAC(lambda); /* blending weight between levels */ + } + } + } +} + + +/** + * Get a texel from a texture, using the texture tile cache. + * + * \param face the cube face in 0..5 + * \param level the mipmap level + * \param x the x coord of texel within 2D image + * \param y the y coord of texel within 2D image + * \param z which slice of a 3D texture + * \param rgba the quad to put the texel/color into + * \param j which element of the rgba quad to write to + * + * XXX maybe move this into lp_tile_cache.c and merge with the + * lp_get_cached_tile_tex() function. Also, get 4 texels instead of 1... + */ +static void +get_texel_quad_2d(const struct tgsi_sampler *tgsi_sampler, + unsigned face, unsigned level, int x, int y, + const uint8_t *out[4]) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + + const struct llvmpipe_cached_tex_tile *tile + = lp_get_cached_tex_tile(samp->cache, + tex_tile_address(x, y, 0, face, level)); + + y %= TEX_TILE_SIZE; + x %= TEX_TILE_SIZE; + + out[0] = &tile->color[y ][x ][0]; + out[1] = &tile->color[y ][x+1][0]; + out[2] = &tile->color[y+1][x ][0]; + out[3] = &tile->color[y+1][x+1][0]; +} + +static INLINE const uint8_t * +get_texel_2d_ptr(const struct tgsi_sampler *tgsi_sampler, + unsigned face, unsigned level, int x, int y) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + + const struct llvmpipe_cached_tex_tile *tile + = lp_get_cached_tex_tile(samp->cache, + tex_tile_address(x, y, 0, face, level)); + + y %= TEX_TILE_SIZE; + x %= TEX_TILE_SIZE; + + return &tile->color[y][x][0]; +} + + +static void +get_texel_quad_2d_mt(const struct tgsi_sampler *tgsi_sampler, + unsigned face, unsigned level, + int x0, int y0, + int x1, int y1, + const uint8_t *out[4]) +{ + unsigned i; + + for (i = 0; i < 4; i++) { + unsigned tx = (i & 1) ? x1 : x0; + unsigned ty = (i >> 1) ? y1 : y0; + + out[i] = get_texel_2d_ptr( tgsi_sampler, face, level, tx, ty ); + } +} + +static void +get_texel(const struct tgsi_sampler *tgsi_sampler, + unsigned face, unsigned level, int x, int y, int z, + float rgba[NUM_CHANNELS][QUAD_SIZE], unsigned j) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + const struct pipe_texture *texture = samp->texture; + const struct pipe_sampler_state *sampler = samp->sampler; + + if (x < 0 || x >= (int) texture->width[level] || + y < 0 || y >= (int) texture->height[level] || + z < 0 || z >= (int) texture->depth[level]) { + rgba[0][j] = sampler->border_color[0]; + rgba[1][j] = sampler->border_color[1]; + rgba[2][j] = sampler->border_color[2]; + rgba[3][j] = sampler->border_color[3]; + } + else { + const unsigned tx = x % TEX_TILE_SIZE; + const unsigned ty = y % TEX_TILE_SIZE; + const struct llvmpipe_cached_tex_tile *tile; + + tile = lp_get_cached_tex_tile(samp->cache, + tex_tile_address(x, y, z, face, level)); + + rgba[0][j] = ubyte_to_float(tile->color[ty][tx][0]); + rgba[1][j] = ubyte_to_float(tile->color[ty][tx][1]); + rgba[2][j] = ubyte_to_float(tile->color[ty][tx][2]); + rgba[3][j] = ubyte_to_float(tile->color[ty][tx][3]); + if (0) + { + debug_printf("Get texel %f %f %f %f from %s\n", + rgba[0][j], rgba[1][j], rgba[2][j], rgba[3][j], + pf_name(texture->format)); + } + } +} + + +/** + * Compare texcoord 'p' (aka R) against texture value 'rgba[0]' + * When we sampled the depth texture, the depth value was put into all + * RGBA channels. We look at the red channel here. + * \param rgba quad of (depth) texel values + * \param p texture 'P' components for four pixels in quad + * \param j which pixel in the quad to test [0..3] + */ +static INLINE void +shadow_compare(const struct pipe_sampler_state *sampler, + float rgba[NUM_CHANNELS][QUAD_SIZE], + const float p[QUAD_SIZE], + uint j) +{ + int k; + switch (sampler->compare_func) { + case PIPE_FUNC_LESS: + k = p[j] < rgba[0][j]; + break; + case PIPE_FUNC_LEQUAL: + k = p[j] <= rgba[0][j]; + break; + case PIPE_FUNC_GREATER: + k = p[j] > rgba[0][j]; + break; + case PIPE_FUNC_GEQUAL: + k = p[j] >= rgba[0][j]; + break; + case PIPE_FUNC_EQUAL: + k = p[j] == rgba[0][j]; + break; + case PIPE_FUNC_NOTEQUAL: + k = p[j] != rgba[0][j]; + break; + case PIPE_FUNC_ALWAYS: + k = 1; + break; + case PIPE_FUNC_NEVER: + k = 0; + break; + default: + k = 0; + assert(0); + break; + } + + /* XXX returning result for default GL_DEPTH_TEXTURE_MODE = GL_LUMINANCE */ + rgba[0][j] = rgba[1][j] = rgba[2][j] = (float) k; + rgba[3][j] = 1.0F; +} + + +/** + * As above, but do four z/texture comparisons. + */ +static INLINE void +shadow_compare4(const struct pipe_sampler_state *sampler, + float rgba[NUM_CHANNELS][QUAD_SIZE], + const float p[QUAD_SIZE]) +{ + int j, k0, k1, k2, k3; + float val; + + /* compare four texcoords vs. four texture samples */ + switch (sampler->compare_func) { + case PIPE_FUNC_LESS: + k0 = p[0] < rgba[0][0]; + k1 = p[1] < rgba[0][1]; + k2 = p[2] < rgba[0][2]; + k3 = p[3] < rgba[0][3]; + break; + case PIPE_FUNC_LEQUAL: + k0 = p[0] <= rgba[0][0]; + k1 = p[1] <= rgba[0][1]; + k2 = p[2] <= rgba[0][2]; + k3 = p[3] <= rgba[0][3]; + break; + case PIPE_FUNC_GREATER: + k0 = p[0] > rgba[0][0]; + k1 = p[1] > rgba[0][1]; + k2 = p[2] > rgba[0][2]; + k3 = p[3] > rgba[0][3]; + break; + case PIPE_FUNC_GEQUAL: + k0 = p[0] >= rgba[0][0]; + k1 = p[1] >= rgba[0][1]; + k2 = p[2] >= rgba[0][2]; + k3 = p[3] >= rgba[0][3]; + break; + case PIPE_FUNC_EQUAL: + k0 = p[0] == rgba[0][0]; + k1 = p[1] == rgba[0][1]; + k2 = p[2] == rgba[0][2]; + k3 = p[3] == rgba[0][3]; + break; + case PIPE_FUNC_NOTEQUAL: + k0 = p[0] != rgba[0][0]; + k1 = p[1] != rgba[0][1]; + k2 = p[2] != rgba[0][2]; + k3 = p[3] != rgba[0][3]; + break; + case PIPE_FUNC_ALWAYS: + k0 = k1 = k2 = k3 = 1; + break; + case PIPE_FUNC_NEVER: + k0 = k1 = k2 = k3 = 0; + break; + default: + k0 = k1 = k2 = k3 = 0; + assert(0); + break; + } + + /* convert four pass/fail values to an intensity in [0,1] */ + val = 0.25F * (k0 + k1 + k2 + k3); + + /* XXX returning result for default GL_DEPTH_TEXTURE_MODE = GL_LUMINANCE */ + for (j = 0; j < 4; j++) { + rgba[0][j] = rgba[1][j] = rgba[2][j] = val; + rgba[3][j] = 1.0F; + } +} + + + +static void +lp_get_samples_2d_linear_repeat_POT(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + unsigned j; + unsigned level = samp->level; + unsigned xpot = 1 << (samp->xpot - level); + unsigned ypot = 1 << (samp->ypot - level); + unsigned xmax = (xpot - 1) & (TEX_TILE_SIZE - 1); /* MIN2(TEX_TILE_SIZE, xpot) - 1; */ + unsigned ymax = (ypot - 1) & (TEX_TILE_SIZE - 1); /* MIN2(TEX_TILE_SIZE, ypot) - 1; */ + + for (j = 0; j < QUAD_SIZE; j++) { + int c; + + float u = s[j] * xpot - 0.5F; + float v = t[j] * ypot - 0.5F; + + int uflr = util_ifloor(u); + int vflr = util_ifloor(v); + + float xw = u - (float)uflr; + float yw = v - (float)vflr; + + int x0 = uflr & (xpot - 1); + int y0 = vflr & (ypot - 1); + + const uint8_t *tx[4]; + + + /* Can we fetch all four at once: + */ + if (x0 < xmax && y0 < ymax) + { + get_texel_quad_2d(tgsi_sampler, 0, level, x0, y0, tx); + } + else + { + unsigned x1 = (x0 + 1) & (xpot - 1); + unsigned y1 = (y0 + 1) & (ypot - 1); + get_texel_quad_2d_mt(tgsi_sampler, 0, level, + x0, y0, x1, y1, tx); + } + + + /* interpolate R, G, B, A */ + for (c = 0; c < 4; c++) { + rgba[c][j] = lerp_2d(xw, yw, + ubyte_to_float(tx[0][c]), ubyte_to_float(tx[1][c]), + ubyte_to_float(tx[2][c]), ubyte_to_float(tx[3][c])); + } + } +} + + +static void +lp_get_samples_2d_nearest_repeat_POT(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + unsigned j; + unsigned level = samp->level; + unsigned xpot = 1 << (samp->xpot - level); + unsigned ypot = 1 << (samp->ypot - level); + + for (j = 0; j < QUAD_SIZE; j++) { + int c; + + float u = s[j] * xpot; + float v = t[j] * ypot; + + int uflr = util_ifloor(u); + int vflr = util_ifloor(v); + + int x0 = uflr & (xpot - 1); + int y0 = vflr & (ypot - 1); + + const uint8_t *out = get_texel_2d_ptr(tgsi_sampler, 0, level, x0, y0); + + for (c = 0; c < 4; c++) { + rgba[c][j] = ubyte_to_float(out[c]); + } + } +} + + +static void +lp_get_samples_2d_nearest_clamp_POT(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + unsigned j; + unsigned level = samp->level; + unsigned xpot = 1 << (samp->xpot - level); + unsigned ypot = 1 << (samp->ypot - level); + + for (j = 0; j < QUAD_SIZE; j++) { + int c; + + float u = s[j] * xpot; + float v = t[j] * ypot; + + int x0, y0; + const uint8_t *out; + + x0 = util_ifloor(u); + if (x0 < 0) + x0 = 0; + else if (x0 > xpot - 1) + x0 = xpot - 1; + + y0 = util_ifloor(v); + if (y0 < 0) + y0 = 0; + else if (y0 > ypot - 1) + y0 = ypot - 1; + + out = get_texel_2d_ptr(tgsi_sampler, 0, level, x0, y0); + + for (c = 0; c < 4; c++) { + rgba[c][j] = ubyte_to_float(out[c]); + } + } +} + + +static void +lp_get_samples_2d_linear_mip_linear_repeat_POT(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + const struct pipe_texture *texture = samp->texture; + int level0; + float lambda; + + lambda = compute_lambda(tgsi_sampler, s, t, p, lodbias); + level0 = (int)lambda; + + if (lambda < 0.0) { + samp->level = 0; + lp_get_samples_2d_linear_repeat_POT( tgsi_sampler, + s, t, p, 0, rgba ); + } + else if (level0 >= texture->last_level) { + samp->level = texture->last_level; + lp_get_samples_2d_linear_repeat_POT( tgsi_sampler, + s, t, p, 0, rgba ); + } + else { + float levelBlend = lambda - level0; + float rgba0[4][4]; + float rgba1[4][4]; + int c,j; + + samp->level = level0; + lp_get_samples_2d_linear_repeat_POT( tgsi_sampler, + s, t, p, 0, rgba0 ); + + samp->level = level0+1; + lp_get_samples_2d_linear_repeat_POT( tgsi_sampler, + s, t, p, 0, rgba1 ); + + for (j = 0; j < QUAD_SIZE; j++) { + for (c = 0; c < 4; c++) { + rgba[c][j] = lerp(levelBlend, rgba0[c][j], rgba1[c][j]); + } + } + } +} + +/** + * Common code for sampling 1D/2D/cube textures. + * Could probably extend for 3D... + */ +static void +lp_get_samples_2d_common(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE], + const unsigned faces[4]) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + const struct pipe_texture *texture = samp->texture; + const struct pipe_sampler_state *sampler = samp->sampler; + unsigned level0, level1, j, imgFilter; + int width, height; + float levelBlend; + + choose_mipmap_levels(tgsi_sampler, s, t, p, + lodbias, + &level0, &level1, &levelBlend, &imgFilter); + + assert(sampler->normalized_coords); + + width = texture->width[level0]; + height = texture->height[level0]; + + assert(width > 0); + + switch (imgFilter) { + case PIPE_TEX_FILTER_NEAREST: + { + int x[4], y[4]; + nearest_texcoord_4(sampler->wrap_s, s, width, x); + nearest_texcoord_4(sampler->wrap_t, t, height, y); + + for (j = 0; j < QUAD_SIZE; j++) { + get_texel(tgsi_sampler, faces[j], level0, x[j], y[j], 0, rgba, j); + if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) { + shadow_compare(sampler, rgba, p, j); + } + + if (level0 != level1) { + /* get texels from second mipmap level and blend */ + float rgba2[4][4]; + unsigned c; + x[j] /= 2; + y[j] /= 2; + get_texel(tgsi_sampler, faces[j], level1, x[j], y[j], 0, + rgba2, j); + if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE){ + shadow_compare(sampler, rgba2, p, j); + } + + for (c = 0; c < NUM_CHANNELS; c++) { + rgba[c][j] = lerp(levelBlend, rgba[c][j], rgba2[c][j]); + } + } + } + } + break; + case PIPE_TEX_FILTER_LINEAR: + case PIPE_TEX_FILTER_ANISO: + { + int x0[4], y0[4], x1[4], y1[4]; + float xw[4], yw[4]; /* weights */ + + linear_texcoord_4(sampler->wrap_s, s, width, x0, x1, xw); + linear_texcoord_4(sampler->wrap_t, t, height, y0, y1, yw); + + for (j = 0; j < QUAD_SIZE; j++) { + float tx[4][4]; /* texels */ + int c; + get_texel(tgsi_sampler, faces[j], level0, x0[j], y0[j], 0, tx, 0); + get_texel(tgsi_sampler, faces[j], level0, x1[j], y0[j], 0, tx, 1); + get_texel(tgsi_sampler, faces[j], level0, x0[j], y1[j], 0, tx, 2); + get_texel(tgsi_sampler, faces[j], level0, x1[j], y1[j], 0, tx, 3); + if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) { + shadow_compare4(sampler, tx, p); + } + + /* interpolate R, G, B, A */ + for (c = 0; c < 4; c++) { + rgba[c][j] = lerp_2d(xw[j], yw[j], + tx[c][0], tx[c][1], + tx[c][2], tx[c][3]); + } + + if (level0 != level1) { + /* get texels from second mipmap level and blend */ + float rgba2[4][4]; + + /* XXX: This is incorrect -- will often end up with (x0 + * == x1 && y0 == y1), meaning that we fetch the same + * texel four times and linearly interpolate between + * identical values. The correct approach would be to + * call linear_texcoord again for the second level. + */ + x0[j] /= 2; + y0[j] /= 2; + x1[j] /= 2; + y1[j] /= 2; + get_texel(tgsi_sampler, faces[j], level1, x0[j], y0[j], 0, tx, 0); + get_texel(tgsi_sampler, faces[j], level1, x1[j], y0[j], 0, tx, 1); + get_texel(tgsi_sampler, faces[j], level1, x0[j], y1[j], 0, tx, 2); + get_texel(tgsi_sampler, faces[j], level1, x1[j], y1[j], 0, tx, 3); + if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE){ + shadow_compare4(sampler, tx, p); + } + + /* interpolate R, G, B, A */ + for (c = 0; c < 4; c++) { + rgba2[c][j] = lerp_2d(xw[j], yw[j], + tx[c][0], tx[c][1], tx[c][2], tx[c][3]); + } + + for (c = 0; c < NUM_CHANNELS; c++) { + rgba[c][j] = lerp(levelBlend, rgba[c][j], rgba2[c][j]); + } + } + } + } + break; + default: + assert(0); + } +} + + +static INLINE void +lp_get_samples_1d(struct tgsi_sampler *sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + static const unsigned faces[4] = {0, 0, 0, 0}; + static const float tzero[4] = {0, 0, 0, 0}; + lp_get_samples_2d_common(sampler, s, tzero, NULL, + lodbias, rgba, faces); +} + + +static INLINE void +lp_get_samples_2d(struct tgsi_sampler *sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + static const unsigned faces[4] = {0, 0, 0, 0}; + lp_get_samples_2d_common(sampler, s, t, p, + lodbias, rgba, faces); +} + + +static INLINE void +lp_get_samples_3d(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + const struct pipe_texture *texture = samp->texture; + const struct pipe_sampler_state *sampler = samp->sampler; + /* get/map pipe_surfaces corresponding to 3D tex slices */ + unsigned level0, level1, j, imgFilter; + int width, height, depth; + float levelBlend; + const uint face = 0; + + choose_mipmap_levels(tgsi_sampler, s, t, p, + lodbias, + &level0, &level1, &levelBlend, &imgFilter); + + assert(sampler->normalized_coords); + + width = texture->width[level0]; + height = texture->height[level0]; + depth = texture->depth[level0]; + + assert(width > 0); + assert(height > 0); + assert(depth > 0); + + switch (imgFilter) { + case PIPE_TEX_FILTER_NEAREST: + { + int x[4], y[4], z[4]; + nearest_texcoord_4(sampler->wrap_s, s, width, x); + nearest_texcoord_4(sampler->wrap_t, t, height, y); + nearest_texcoord_4(sampler->wrap_r, p, depth, z); + for (j = 0; j < QUAD_SIZE; j++) { + get_texel(tgsi_sampler, face, level0, x[j], y[j], z[j], rgba, j); + if (level0 != level1) { + /* get texels from second mipmap level and blend */ + float rgba2[4][4]; + unsigned c; + x[j] /= 2; + y[j] /= 2; + z[j] /= 2; + get_texel(tgsi_sampler, face, level1, x[j], y[j], z[j], rgba2, j); + for (c = 0; c < NUM_CHANNELS; c++) { + rgba[c][j] = lerp(levelBlend, rgba2[c][j], rgba[c][j]); + } + } + } + } + break; + case PIPE_TEX_FILTER_LINEAR: + case PIPE_TEX_FILTER_ANISO: + { + int x0[4], x1[4], y0[4], y1[4], z0[4], z1[4]; + float xw[4], yw[4], zw[4]; /* interpolation weights */ + linear_texcoord_4(sampler->wrap_s, s, width, x0, x1, xw); + linear_texcoord_4(sampler->wrap_t, t, height, y0, y1, yw); + linear_texcoord_4(sampler->wrap_r, p, depth, z0, z1, zw); + + for (j = 0; j < QUAD_SIZE; j++) { + int c; + float tx0[4][4], tx1[4][4]; + get_texel(tgsi_sampler, face, level0, x0[j], y0[j], z0[j], tx0, 0); + get_texel(tgsi_sampler, face, level0, x1[j], y0[j], z0[j], tx0, 1); + get_texel(tgsi_sampler, face, level0, x0[j], y1[j], z0[j], tx0, 2); + get_texel(tgsi_sampler, face, level0, x1[j], y1[j], z0[j], tx0, 3); + get_texel(tgsi_sampler, face, level0, x0[j], y0[j], z1[j], tx1, 0); + get_texel(tgsi_sampler, face, level0, x1[j], y0[j], z1[j], tx1, 1); + get_texel(tgsi_sampler, face, level0, x0[j], y1[j], z1[j], tx1, 2); + get_texel(tgsi_sampler, face, level0, x1[j], y1[j], z1[j], tx1, 3); + + /* interpolate R, G, B, A */ + for (c = 0; c < 4; c++) { + rgba[c][j] = lerp_3d(xw[j], yw[j], zw[j], + tx0[c][0], tx0[c][1], + tx0[c][2], tx0[c][3], + tx1[c][0], tx1[c][1], + tx1[c][2], tx1[c][3]); + } + + if (level0 != level1) { + /* get texels from second mipmap level and blend */ + float rgba2[4][4]; + x0[j] /= 2; + y0[j] /= 2; + z0[j] /= 2; + x1[j] /= 2; + y1[j] /= 2; + z1[j] /= 2; + get_texel(tgsi_sampler, face, level1, x0[j], y0[j], z0[j], tx0, 0); + get_texel(tgsi_sampler, face, level1, x1[j], y0[j], z0[j], tx0, 1); + get_texel(tgsi_sampler, face, level1, x0[j], y1[j], z0[j], tx0, 2); + get_texel(tgsi_sampler, face, level1, x1[j], y1[j], z0[j], tx0, 3); + get_texel(tgsi_sampler, face, level1, x0[j], y0[j], z1[j], tx1, 0); + get_texel(tgsi_sampler, face, level1, x1[j], y0[j], z1[j], tx1, 1); + get_texel(tgsi_sampler, face, level1, x0[j], y1[j], z1[j], tx1, 2); + get_texel(tgsi_sampler, face, level1, x1[j], y1[j], z1[j], tx1, 3); + + /* interpolate R, G, B, A */ + for (c = 0; c < 4; c++) { + rgba2[c][j] = lerp_3d(xw[j], yw[j], zw[j], + tx0[c][0], tx0[c][1], + tx0[c][2], tx0[c][3], + tx1[c][0], tx1[c][1], + tx1[c][2], tx1[c][3]); + } + + /* blend mipmap levels */ + for (c = 0; c < NUM_CHANNELS; c++) { + rgba[c][j] = lerp(levelBlend, rgba[c][j], rgba2[c][j]); + } + } + } + } + break; + default: + assert(0); + } +} + + +static void +lp_get_samples_cube(struct tgsi_sampler *sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + unsigned faces[QUAD_SIZE], j; + float ssss[4], tttt[4]; + for (j = 0; j < QUAD_SIZE; j++) { + faces[j] = choose_cube_face(s[j], t[j], p[j], ssss + j, tttt + j); + } + lp_get_samples_2d_common(sampler, ssss, tttt, NULL, + lodbias, rgba, faces); +} + + +static void +lp_get_samples_rect(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + const struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + const struct pipe_texture *texture = samp->texture; + const struct pipe_sampler_state *sampler = samp->sampler; + const uint face = 0; + unsigned level0, level1, j, imgFilter; + int width, height; + float levelBlend; + + choose_mipmap_levels(tgsi_sampler, s, t, p, + lodbias, + &level0, &level1, &levelBlend, &imgFilter); + + /* texture RECTS cannot be mipmapped */ + assert(level0 == level1); + + width = texture->width[level0]; + height = texture->height[level0]; + + assert(width > 0); + + switch (imgFilter) { + case PIPE_TEX_FILTER_NEAREST: + { + int x[4], y[4]; + nearest_texcoord_unnorm_4(sampler->wrap_s, s, width, x); + nearest_texcoord_unnorm_4(sampler->wrap_t, t, height, y); + for (j = 0; j < QUAD_SIZE; j++) { + get_texel(tgsi_sampler, face, level0, x[j], y[j], 0, rgba, j); + if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) { + shadow_compare(sampler, rgba, p, j); + } + } + } + break; + case PIPE_TEX_FILTER_LINEAR: + case PIPE_TEX_FILTER_ANISO: + { + int x0[4], y0[4], x1[4], y1[4]; + float xw[4], yw[4]; /* weights */ + linear_texcoord_unnorm_4(sampler->wrap_s, s, width, x0, x1, xw); + linear_texcoord_unnorm_4(sampler->wrap_t, t, height, y0, y1, yw); + for (j = 0; j < QUAD_SIZE; j++) { + float tx[4][4]; /* texels */ + int c; + get_texel(tgsi_sampler, face, level0, x0[j], y0[j], 0, tx, 0); + get_texel(tgsi_sampler, face, level0, x1[j], y0[j], 0, tx, 1); + get_texel(tgsi_sampler, face, level0, x0[j], y1[j], 0, tx, 2); + get_texel(tgsi_sampler, face, level0, x1[j], y1[j], 0, tx, 3); + if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) { + shadow_compare4(sampler, tx, p); + } + for (c = 0; c < 4; c++) { + rgba[c][j] = lerp_2d(xw[j], yw[j], + tx[c][0], tx[c][1], tx[c][2], tx[c][3]); + } + } + } + break; + default: + assert(0); + } +} + + +/** + * Error condition handler + */ +static INLINE void +lp_get_samples_null(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + int i,j; + + for (i = 0; i < 4; i++) + for (j = 0; j < 4; j++) + rgba[i][j] = 1.0; +} + +/** + * Called via tgsi_sampler::get_samples() when using a sampler for the + * first time. Determine the actual sampler function, link it in and + * call it. + */ +void +lp_get_samples(struct tgsi_sampler *tgsi_sampler, + const float s[QUAD_SIZE], + const float t[QUAD_SIZE], + const float p[QUAD_SIZE], + float lodbias, + float rgba[NUM_CHANNELS][QUAD_SIZE]) +{ + struct lp_shader_sampler *samp = lp_shader_sampler(tgsi_sampler); + const struct pipe_texture *texture = samp->texture; + const struct pipe_sampler_state *sampler = samp->sampler; + + /* Default to the 'undefined' case: + */ + tgsi_sampler->get_samples = lp_get_samples_null; + + if (!texture) { + assert(0); /* is this legal?? */ + goto out; + } + + if (!sampler->normalized_coords) { + assert (texture->target == PIPE_TEXTURE_2D); + tgsi_sampler->get_samples = lp_get_samples_rect; + goto out; + } + + switch (texture->target) { + case PIPE_TEXTURE_1D: + tgsi_sampler->get_samples = lp_get_samples_1d; + break; + case PIPE_TEXTURE_2D: + tgsi_sampler->get_samples = lp_get_samples_2d; + break; + case PIPE_TEXTURE_3D: + tgsi_sampler->get_samples = lp_get_samples_3d; + break; + case PIPE_TEXTURE_CUBE: + tgsi_sampler->get_samples = lp_get_samples_cube; + break; + default: + assert(0); + break; + } + + /* Do this elsewhere: + */ + samp->xpot = util_unsigned_logbase2( samp->texture->width[0] ); + samp->ypot = util_unsigned_logbase2( samp->texture->height[0] ); + + /* Try to hook in a faster sampler. Ultimately we'll have to + * code-generate these. Luckily most of this looks like it is + * orthogonal state within the sampler. + */ + if (texture->target == PIPE_TEXTURE_2D && + sampler->min_img_filter == sampler->mag_img_filter && + sampler->wrap_s == sampler->wrap_t && + sampler->compare_mode == FALSE && + sampler->normalized_coords) + { + if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_NONE) { + samp->level = CLAMP((int) sampler->min_lod, + 0, (int) texture->last_level); + + if (sampler->wrap_s == PIPE_TEX_WRAP_REPEAT) { + switch (sampler->min_img_filter) { + case PIPE_TEX_FILTER_NEAREST: + tgsi_sampler->get_samples = lp_get_samples_2d_nearest_repeat_POT; + break; + case PIPE_TEX_FILTER_LINEAR: + tgsi_sampler->get_samples = lp_get_samples_2d_linear_repeat_POT; + break; + default: + break; + } + } + else if (sampler->wrap_s == PIPE_TEX_WRAP_CLAMP) { + switch (sampler->min_img_filter) { + case PIPE_TEX_FILTER_NEAREST: + tgsi_sampler->get_samples = lp_get_samples_2d_nearest_clamp_POT; + break; + default: + break; + } + } + } + else if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_LINEAR) { + if (sampler->wrap_s == PIPE_TEX_WRAP_REPEAT) { + switch (sampler->min_img_filter) { + case PIPE_TEX_FILTER_LINEAR: + tgsi_sampler->get_samples = lp_get_samples_2d_linear_mip_linear_repeat_POT; + break; + default: + break; + } + } + } + } + else if (0) { + _debug_printf("target %d/%d min_mip %d/%d min_img %d/%d wrap %d/%d compare %d/%d norm %d/%d\n", + texture->target, PIPE_TEXTURE_2D, + sampler->min_mip_filter, PIPE_TEX_MIPFILTER_NONE, + sampler->min_img_filter, sampler->mag_img_filter, + sampler->wrap_s, sampler->wrap_t, + sampler->compare_mode, FALSE, + sampler->normalized_coords, TRUE); + } + +out: + tgsi_sampler->get_samples( tgsi_sampler, s, t, p, lodbias, rgba ); +} + + +void PIPE_CDECL +lp_fetch_texel_soa( struct tgsi_sampler **samplers, + uint32_t unit, + float *store ) +{ + struct tgsi_sampler *sampler = samplers[unit]; + +#if 0 + uint j; + + debug_printf("%s sampler: %p (%p) store: %p\n", + __FUNCTION__, + sampler, *sampler, + store ); + + debug_printf("lodbias %f\n", store[12]); + + for (j = 0; j < 4; j++) + debug_printf("sample %d texcoord %f %f\n", + j, + store[0+j], + store[4+j]); +#endif + + { + float rgba[NUM_CHANNELS][QUAD_SIZE]; + sampler->get_samples(sampler, + &store[0], + &store[4], + &store[8], + 0.0f, /*store[12], lodbias */ + rgba); + memcpy(store, rgba, sizeof rgba); + } + +#if 0 + for (j = 0; j < 4; j++) + debug_printf("sample %d result %f %f %f %f\n", + j, + store[0+j], + store[4+j], + store[8+j], + store[12+j]); +#endif +} + + +#include "lp_bld_type.h" +#include "lp_bld_intr.h" +#include "lp_bld_tgsi.h" + + +struct lp_c_sampler_soa +{ + struct lp_build_sampler_soa base; + + LLVMValueRef context_ptr; + + LLVMValueRef samplers_ptr; + + /** Coords/texels store */ + LLVMValueRef store_ptr; +}; + + +static void +lp_c_sampler_soa_destroy(struct lp_build_sampler_soa *sampler) +{ + FREE(sampler); +} + + +static void +lp_c_sampler_soa_emit_fetch_texel(struct lp_build_sampler_soa *_sampler, + LLVMBuilderRef builder, + union lp_type type, + unsigned unit, + unsigned num_coords, + const LLVMValueRef *coords, + LLVMValueRef lodbias, + LLVMValueRef *texel) +{ + struct lp_c_sampler_soa *sampler = (struct lp_c_sampler_soa *)_sampler; + LLVMTypeRef vec_type = LLVMTypeOf(coords[0]); + LLVMValueRef args[3]; + unsigned i; + + if(!sampler->samplers_ptr) + sampler->samplers_ptr = lp_jit_context_samplers(builder, sampler->context_ptr); + + if(!sampler->store_ptr) + sampler->store_ptr = LLVMBuildArrayAlloca(builder, + vec_type, + LLVMConstInt(LLVMInt32Type(), 4, 0), + "texel_store"); + + for (i = 0; i < num_coords; i++) { + LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); + LLVMValueRef coord_ptr = LLVMBuildGEP(builder, sampler->store_ptr, &index, 1, ""); + LLVMBuildStore(builder, coords[i], coord_ptr); + } + + args[0] = sampler->samplers_ptr; + args[1] = LLVMConstInt(LLVMInt32Type(), unit, 0); + args[2] = sampler->store_ptr; + + lp_build_intrinsic(builder, "fetch_texel", LLVMVoidType(), args, 3); + + for (i = 0; i < NUM_CHANNELS; ++i) { + LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), i, 0); + LLVMValueRef texel_ptr = LLVMBuildGEP(builder, sampler->store_ptr, &index, 1, ""); + texel[i] = LLVMBuildLoad(builder, texel_ptr, ""); + } +} + + +struct lp_build_sampler_soa * +lp_c_sampler_soa_create(LLVMValueRef context_ptr) +{ + struct lp_c_sampler_soa *sampler; + + sampler = CALLOC_STRUCT(lp_c_sampler_soa); + if(!sampler) + return NULL; + + sampler->base.destroy = lp_c_sampler_soa_destroy; + sampler->base.emit_fetch_texel = lp_c_sampler_soa_emit_fetch_texel; + sampler->context_ptr = context_ptr; + + return &sampler->base; +} + diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample_llvm.c b/src/gallium/drivers/llvmpipe/lp_tex_sample_llvm.c new file mode 100644 index 0000000000..7d31705d01 --- /dev/null +++ b/src/gallium/drivers/llvmpipe/lp_tex_sample_llvm.c @@ -0,0 +1,196 @@ +/************************************************************************** + * + * Copyright 2009 VMware, Inc. + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, 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 VMWARE 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. + * + **************************************************************************/ + +/** + * Texture sampling code generation + * + * This file is nothing more than ugly glue between three largely independent + * entities: + * - TGSI -> LLVM translation (i.e., lp_build_tgsi_soa) + * - texture sampling code generation (i.e., lp_build_sample_soa) + * - LLVM pipe driver + * + * All interesting code is in the functions mentioned above. There is really + * nothing to see here. + * + * @author Jose Fonseca + */ + +#include "pipe/p_defines.h" +#include "pipe/p_shader_tokens.h" +#include "lp_bld_debug.h" +#include "lp_bld_type.h" +#include "lp_bld_intr.h" +#include "lp_bld_sample.h" +#include "lp_bld_tgsi.h" +#include "lp_state.h" +#include "lp_tex_sample.h" + + +/** + * This provides the bridge between the sampler state store in lp_jit_context + * and lp_jit_texture and the sampler code generator. It provides the + * texture layout information required by the texture sampler code generator + * in terms of the state stored in lp_jit_context and lp_jit_texture in runtime. + */ +struct llvmpipe_sampler_dynamic_state +{ + struct lp_sampler_dynamic_state base; + + const struct lp_sampler_static_state *static_state; + + LLVMValueRef context_ptr; +}; + + +/** + * This is the bridge between our sampler and the TGSI translator. + */ +struct lp_llvm_sampler_soa +{ + struct lp_build_sampler_soa base; + + struct llvmpipe_sampler_dynamic_state dynamic_state; +}; + + +/** + * Fetch the specified member of the lp_jit_texture structure. + * + * @sa http://llvm.org/docs/GetElementPtr.html + */ +static LLVMValueRef +lp_llvm_texture_member(struct lp_sampler_dynamic_state *base, + LLVMBuilderRef builder, + unsigned unit, + unsigned member_index, + const char *member_name) +{ + struct llvmpipe_sampler_dynamic_state *state = (struct llvmpipe_sampler_dynamic_state *)base; + LLVMValueRef indices[4]; + LLVMValueRef ptr; + LLVMValueRef res; + + assert(unit < PIPE_MAX_SAMPLERS); + + /* context[0] */ + indices[0] = LLVMConstInt(LLVMInt32Type(), 0, 0); + /* context[0].textures */ + indices[1] = LLVMConstInt(LLVMInt32Type(), LP_JIT_CONTEXT_TEXTURES_INDEX, 0); + /* context[0].textures[unit] */ + indices[2] = LLVMConstInt(LLVMInt32Type(), unit, 0); + /* context[0].textures[unit].member */ + indices[3] = LLVMConstInt(LLVMInt32Type(), member_index, 0); + + ptr = LLVMBuildGEP(builder, state->context_ptr, indices, Elements(indices), ""); + + res = LLVMBuildLoad(builder, ptr, ""); + + lp_build_name(res, "context.texture%u.%s", unit, member_name); + + return res; +} + + +/** + * Helper macro to instantiate the functions that generate the code to fetch + * the members of lp_jit_texture to fulfill the sampler code generator requests. + * + * This complexity is the price we have to pay to keep the texture sampler code + * generator a reusable module without dependencies to llvmpipe internals. + */ +#define LP_LLVM_TEXTURE_MEMBER(_name, _index) \ + static LLVMValueRef \ + lp_llvm_texture_##_name( struct lp_sampler_dynamic_state *base, \ + LLVMBuilderRef builder, \ + unsigned unit) \ + { \ + return lp_llvm_texture_member(base, builder, unit, _index, #_name ); \ + } + + +LP_LLVM_TEXTURE_MEMBER(width, LP_JIT_TEXTURE_WIDTH) +LP_LLVM_TEXTURE_MEMBER(height, LP_JIT_TEXTURE_HEIGHT) +LP_LLVM_TEXTURE_MEMBER(stride, LP_JIT_TEXTURE_STRIDE) +LP_LLVM_TEXTURE_MEMBER(data_ptr, LP_JIT_TEXTURE_DATA) + + +static void +lp_llvm_sampler_soa_destroy(struct lp_build_sampler_soa *sampler) +{ + FREE(sampler); +} + + +static void +lp_llvm_sampler_soa_emit_fetch_texel(struct lp_build_sampler_soa *base, + LLVMBuilderRef builder, + union lp_type type, + unsigned unit, + unsigned num_coords, + const LLVMValueRef *coords, + LLVMValueRef lodbias, + LLVMValueRef *texel) +{ + struct lp_llvm_sampler_soa *sampler = (struct lp_llvm_sampler_soa *)base; + + assert(unit < PIPE_MAX_SAMPLERS); + + lp_build_sample_soa(builder, + &sampler->dynamic_state.static_state[unit], + &sampler->dynamic_state.base, + type, + unit, + num_coords, + coords, + lodbias, + texel); +} + + +struct lp_build_sampler_soa * +lp_llvm_sampler_soa_create(const struct lp_sampler_static_state *static_state, + LLVMValueRef context_ptr) +{ + struct lp_llvm_sampler_soa *sampler; + + sampler = CALLOC_STRUCT(lp_llvm_sampler_soa); + if(!sampler) + return NULL; + + sampler->base.destroy = lp_llvm_sampler_soa_destroy; + sampler->base.emit_fetch_texel = lp_llvm_sampler_soa_emit_fetch_texel; + sampler->dynamic_state.base.width = lp_llvm_texture_width; + sampler->dynamic_state.base.height = lp_llvm_texture_height; + sampler->dynamic_state.base.stride = lp_llvm_texture_stride; + sampler->dynamic_state.base.data_ptr = lp_llvm_texture_data_ptr; + sampler->dynamic_state.static_state = static_state; + sampler->dynamic_state.context_ptr = context_ptr; + + return &sampler->base; +} + -- cgit v1.2.3 From 11272010887ce26b0f4162dd311376798c1d3fc3 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:53:15 +0100 Subject: llvmpipe: Better abs for floating points. --- src/gallium/drivers/llvmpipe/lp_bld_arit.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_arit.c b/src/gallium/drivers/llvmpipe/lp_bld_arit.c index a1d8a89774..be7442d00a 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_arit.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_arit.c @@ -591,20 +591,31 @@ lp_build_abs(struct lp_build_context *bld, LLVMValueRef a) { const union lp_type type = bld->type; + LLVMTypeRef vec_type = lp_build_vec_type(type); if(!type.sign) return a; - /* XXX: is this really necessary? */ + if(type.floating) { + /* Mask out the sign bit */ + LLVMTypeRef int_vec_type = lp_build_int_vec_type(type); + LLVMValueRef mask = lp_build_int_const_scalar(type, ((unsigned long long)1 << type.width) - 1); + a = LLVMBuildBitCast(bld->builder, a, int_vec_type, ""); + a = LLVMBuildAnd(bld->builder, a, mask, ""); + a = LLVMBuildBitCast(bld->builder, a, vec_type, ""); + return a; + } + #if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) - if(!type.floating && type.width*type.length == 128) { - LLVMTypeRef vec_type = lp_build_vec_type(type); - if(type.width == 8) + if(type.width*type.length == 128) { + switch(type.width) { + case 8: return lp_build_intrinsic_unary(bld->builder, "llvm.x86.ssse3.pabs.b.128", vec_type, a); - if(type.width == 16) + case 16: return lp_build_intrinsic_unary(bld->builder, "llvm.x86.ssse3.pabs.w.128", vec_type, a); - if(type.width == 32) + case 32: return lp_build_intrinsic_unary(bld->builder, "llvm.x86.ssse3.pabs.d.128", vec_type, a); + } } #endif -- cgit v1.2.3 From b481fb2c6d8a8def0956acb0bf9083f5441edd07 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Mon, 7 Sep 2009 14:53:26 +0100 Subject: llvmpipe: Silent debug statement. --- src/gallium/drivers/llvmpipe/lp_tex_cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_tex_cache.c b/src/gallium/drivers/llvmpipe/lp_tex_cache.c index 23a94b5b0d..773e848242 100644 --- a/src/gallium/drivers/llvmpipe/lp_tex_cache.c +++ b/src/gallium/drivers/llvmpipe/lp_tex_cache.c @@ -154,7 +154,7 @@ lp_tex_tile_cache_validate_texture(struct llvmpipe_tex_tile_cache *tc) if (lpt->timestamp != tc->timestamp) { /* texture was modified, invalidate all cached tiles */ uint i; - _debug_printf("INV %d %d\n", tc->timestamp, lpt->timestamp); + debug_printf("INV %d %d\n", tc->timestamp, lpt->timestamp); for (i = 0; i < NUM_ENTRIES; i++) { tc->entries[i].addr.bits.invalid = 1; } -- cgit v1.2.3 From 79f48c9f9e739a1f6b0810072e41bc826f2b789d Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Mon, 7 Sep 2009 15:16:25 +0100 Subject: scons: Don't set LLVM_VERSION if one of the llvm-config calls fails. Ubuntu 8.10 has llvm-config version 2.2, which doesn't have nativecodegen. This triggers an exception. --- scons/llvm.py | 18 ++++++++++-------- src/gallium/drivers/llvmpipe/SConscript | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/scons/llvm.py b/scons/llvm.py index 702f1e354f..46a8d829ca 100644 --- a/scons/llvm.py +++ b/scons/llvm.py @@ -56,15 +56,17 @@ def generate(env): env.PrependENVPath('PATH', llvm_bin_dir) if env.Detect('llvm-config'): - try: - env['LLVM_VERSION'] = env.backtick('llvm-config --version') - except AttributeError: - env['LLVM_VERSION'] = 'X.X' + version = env.backtick('llvm-config --version').rstrip() - env.ParseConfig('llvm-config --cppflags') - env.ParseConfig('llvm-config --libs jit interpreter nativecodegen bitwriter') - env.ParseConfig('llvm-config --ldflags') - env['LINK'] = env['CXX'] + try: + env.ParseConfig('llvm-config --cppflags') + env.ParseConfig('llvm-config --libs jit interpreter nativecodegen bitwriter') + env.ParseConfig('llvm-config --ldflags') + except OSError: + print 'llvm-config version %s failed' % version + else: + env['LINK'] = env['CXX'] + env['LLVM_VERSION'] = version def exists(env): return True diff --git a/src/gallium/drivers/llvmpipe/SConscript b/src/gallium/drivers/llvmpipe/SConscript index ac1b5d6d1d..dea4b703c4 100644 --- a/src/gallium/drivers/llvmpipe/SConscript +++ b/src/gallium/drivers/llvmpipe/SConscript @@ -3,7 +3,7 @@ Import('*') env = env.Clone() env.Tool('llvm') -if 'LLVM_VERSION' not in env: +if env.has_key('LLVM_VERSION') is False: print 'warning: LLVM not found: not building llvmpipe' Return() -- cgit v1.2.3 From fcb94f6e3e81abe9fbfe8dac3925c6c210b5cf42 Mon Sep 17 00:00:00 2001 From: Michal Krol Date: Tue, 8 Sep 2009 10:22:07 +0200 Subject: gdi: Fix prototype of gdi_softpipe_surface_buffer_create(). --- src/gallium/winsys/gdi/gdi_softpipe_winsys.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/gallium/winsys/gdi/gdi_softpipe_winsys.c b/src/gallium/winsys/gdi/gdi_softpipe_winsys.c index 33826524d7..66120a6a98 100644 --- a/src/gallium/winsys/gdi/gdi_softpipe_winsys.c +++ b/src/gallium/winsys/gdi/gdi_softpipe_winsys.c @@ -166,6 +166,7 @@ gdi_softpipe_surface_buffer_create(struct pipe_winsys *winsys, unsigned width, unsigned height, enum pipe_format format, unsigned usage, + unsigned tex_usage, unsigned *stride) { const unsigned alignment = 64; -- cgit v1.2.3 From e34ea368d9fccaf84b7e4aec4ba3f633eeaefec6 Mon Sep 17 00:00:00 2001 From: Michel DĂ€nzer Date: Tue, 8 Sep 2009 18:08:24 +0200 Subject: st/xorg: Add support for EXA_MIXED_PIXMAPS and EXA_SUPPORTS_PREPARE_AUX. Also make sure not to leak malloced memory when switching pixmaps to texture based. --- src/gallium/state_trackers/xorg/xorg_dri2.c | 1 + src/gallium/state_trackers/xorg/xorg_exa.c | 9 +++++++++ 2 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_dri2.c b/src/gallium/state_trackers/xorg/xorg_dri2.c index 6431a0fe25..8a362596c7 100644 --- a/src/gallium/state_trackers/xorg/xorg_dri2.c +++ b/src/gallium/state_trackers/xorg/xorg_dri2.c @@ -118,6 +118,7 @@ driDoCreateBuffer(DrawablePtr pDraw, DRI2BufferPtr buffer, unsigned int format) } if (!tex) { + exaMoveInPixmap(private->pPixmap); xorg_exa_set_shared_usage(private->pPixmap); pScreen->ModifyPixmapHeader(private->pPixmap, 0, 0, 0, 0, 0, NULL); tex = xorg_exa_get_texture(private->pPixmap); diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index a17a71f23a..1a183de6db 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -563,6 +563,9 @@ ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, pPixmap->devKind, 0, 0); exa->scrn->transfer_unmap(exa->scrn, transfer); exa->scrn->tex_transfer_destroy(transfer); + + xfree(pPixmap->devPrivate.ptr); + pPixmap->devPrivate.ptr = NULL; } } #ifdef DRM_MODE_FEATURE_DIRTYFB @@ -645,6 +648,12 @@ xorg_exa_init(ScrnInfoPtr pScrn) pExa->pixmapOffsetAlign = 0; pExa->pixmapPitchAlign = 1; pExa->flags = EXA_OFFSCREEN_PIXMAPS | EXA_HANDLES_PIXMAPS; +#ifdef EXA_SUPPORTS_PREPARE_AUX + pExa->flags |= EXA_SUPPORTS_PREPARE_AUX; +#endif +#ifdef EXA_MIXED_PIXMAPS + pExa->flags |= EXA_MIXED_PIXMAPS; +#endif pExa->maxX = 8191; /* FIXME */ pExa->maxY = 8191; /* FIXME */ -- cgit v1.2.3 From 8de625c7cf639c583e8bf43acb1214010989bb64 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 12:21:42 -0600 Subject: i965: fix incorrect test for vertex position attribute --- src/mesa/drivers/dri/i965/brw_context.h | 2 ++ src/mesa/drivers/dri/i965/brw_draw.c | 1 + src/mesa/drivers/dri/i965/brw_draw_upload.c | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index e52fc3f374..5cf12fb353 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -386,6 +386,8 @@ struct brw_cached_batch_item { struct brw_vertex_element { const struct gl_client_array *glarray; + /** The corresponding Mesa vertex attribute */ + gl_vert_attrib attrib; /** Size of a complete element */ GLuint element_size; /** Number of uploaded elements for this input. */ diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c index 5342622a73..54b0661db8 100644 --- a/src/mesa/drivers/dri/i965/brw_draw.c +++ b/src/mesa/drivers/dri/i965/brw_draw.c @@ -185,6 +185,7 @@ static void brw_merge_inputs( struct brw_context *brw, for (i = 0; i < VERT_ATTRIB_MAX; i++) { brw->vb.inputs[i].glarray = arrays[i]; + brw->vb.inputs[i].attrib = (gl_vert_attrib) i; if (arrays[i]->StrideB != 0) brw->vb.info.varying |= 1 << i; diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index 05079c043a..fd9c3915c4 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -422,7 +422,7 @@ static void brw_prepare_vertices(struct brw_context *brw) /* Queue the buffer object up to be uploaded in the next pass, * when we've decided if we're doing interleaved or not. */ - if (i == 0) { + if (input->attrib == VERT_ATTRIB_POS) { /* Position array not properly enabled: */ if (input->glarray->StrideB == 0) { -- cgit v1.2.3 From e6ad286a80eadd3f38105bf3643e13db83c5b40e Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Tue, 8 Sep 2009 16:03:25 -0400 Subject: r600: fix dri2 clipping --- src/mesa/drivers/dri/r600/r700_state.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r700_state.c b/src/mesa/drivers/dri/r600/r700_state.c index 93b4ebfdb9..e91aa43118 100644 --- a/src/mesa/drivers/dri/r600/r700_state.c +++ b/src/mesa/drivers/dri/r600/r700_state.c @@ -1280,8 +1280,8 @@ void r700SetScissor(context_t *context) //--------------- if (context->radeon.radeonScreen->driScreen->dri2.enabled) { x1 = 0; y1 = 0; - x2 = rrb->base.Width - 1; - y2 = rrb->base.Height - 1; + x2 = rrb->base.Width; + y2 = rrb->base.Height; } else { x1 = rrb->dPriv->x; y1 = rrb->dPriv->y; -- cgit v1.2.3 From 00aac1d29a7ca06d1f1ac429371d9a6774873389 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 14:27:00 -0600 Subject: i965: use _mesa_is_bufferobj() --- src/mesa/drivers/dri/i965/brw_draw_upload.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index d49fb0fd95..97205dac32 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -28,6 +28,7 @@ #include #include "main/glheader.h" +#include "main/bufferobj.h" #include "main/context.h" #include "main/state.h" #include "main/api_validate.h" @@ -384,7 +385,7 @@ static void brw_prepare_vertices(struct brw_context *brw) input->element_size = get_size(input->glarray->Type) * input->glarray->Size; - if (input->glarray->BufferObj->Name != 0) { + if (_mesa_is_bufferobj(input->glarray->BufferObj)) { struct intel_buffer_object *intel_buffer = intel_buffer_object(input->glarray->BufferObj); @@ -623,7 +624,7 @@ static void brw_prepare_indices(struct brw_context *brw) /* Turn into a proper VBO: */ - if (!bufferobj->Name) { + if (!_mesa_is_bufferobj(bufferobj)) { brw->ib.start_vertex_offset = 0; /* Get new bufferobj, offset: -- cgit v1.2.3 From abdf2e14bc174ecd510b580756efa42f43ca4419 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 14:27:15 -0600 Subject: i965: use _mesa_is_bufferobj() --- src/mesa/drivers/dri/intel/intel_pixel_bitmap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c index b543a0bbc3..9a0bcc07a5 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c @@ -209,7 +209,7 @@ do_blit_bitmap( GLcontext *ctx, if (!dst) return GL_FALSE; - if (unpack->BufferObj->Name) { + if (_mesa_is_bufferobj(unpack->BufferObj)) { bitmap = map_pbo(ctx, width, height, unpack, bitmap); if (bitmap == NULL) return GL_TRUE; /* even though this is an error, we're done */ @@ -329,7 +329,7 @@ out: if (INTEL_DEBUG & DEBUG_SYNC) intel_batchbuffer_flush(intel->batch); - if (unpack->BufferObj->Name) { + if (_mesa_is_bufferobj(unpack->BufferObj)) { /* done with PBO so unmap it now */ ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, unpack->BufferObj); @@ -418,7 +418,7 @@ intel_texture_bitmap(GLcontext * ctx, return GL_FALSE; } - if (unpack->BufferObj->Name) { + if (_mesa_is_bufferobj(unpack->BufferObj)) { bitmap = map_pbo(ctx, width, height, unpack, bitmap); if (bitmap == NULL) return GL_TRUE; /* even though this is an error, we're done */ @@ -428,7 +428,7 @@ intel_texture_bitmap(GLcontext * ctx, a8_bitmap = _mesa_calloc(width * height); _mesa_expand_bitmap(width, height, unpack, bitmap, a8_bitmap, width, 0xff); - if (unpack->BufferObj->Name) { + if (_mesa_is_bufferobj(unpack->BufferObj)) { /* done with PBO so unmap it now */ ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, unpack->BufferObj); -- cgit v1.2.3 From ced699b37a048ea32434c222fcf83235048918bc Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 14:27:35 -0600 Subject: i965: use _mesa_is_bufferobj() --- src/mesa/drivers/dri/intel/intel_tex_image.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c index c5f5220837..28d9da0ef7 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_image.c +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c @@ -6,6 +6,7 @@ #include "main/macros.h" #include "main/mtypes.h" #include "main/enums.h" +#include "main/bufferobj.h" #include "main/colortab.h" #include "main/convolve.h" #include "main/context.h" @@ -206,7 +207,7 @@ try_pbo_upload(struct intel_context *intel, GLuint src_offset, src_stride; GLuint dst_offset, dst_stride; - if (unpack->BufferObj->Name == 0 || + if (!_mesa_is_bufferobj(unpack->BufferObj) || intel->ctx._ImageTransferState || unpack->SkipPixels || unpack->SkipRows) { DBG("%s: failure 1\n", __FUNCTION__); @@ -264,7 +265,7 @@ try_pbo_zcopy(struct intel_context *intel, GLuint src_offset, src_stride; GLuint dst_offset, dst_stride; - if (unpack->BufferObj->Name == 0 || + if (!_mesa_is_bufferobj(unpack->BufferObj) || intel->ctx._ImageTransferState || unpack->SkipPixels || unpack->SkipRows) { DBG("%s: failure 1\n", __FUNCTION__); @@ -427,7 +428,7 @@ intelTexImage(GLcontext * ctx, */ if (dims <= 2 && intelImage->mt && - unpack->BufferObj->Name != 0 && + _mesa_is_bufferobj(unpack->BufferObj) && check_pbo_format(internalFormat, format, type, intelImage->base.TexFormat)) { -- cgit v1.2.3 From 8e8d3470be3b1aae4ede7ccca097a28b0978dd1b Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 14:28:19 -0600 Subject: i965: use _mesa_is_bufferobj() Also, remove unneeded call to _mesa_validate_pbo_access(). It's done by core Mesa as the comment suggested. --- src/mesa/drivers/dri/intel/intel_pixel_read.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_read.c b/src/mesa/drivers/dri/intel/intel_pixel_read.c index 8713463ace..bc67f6242a 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_read.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_read.c @@ -180,16 +180,7 @@ do_blit_readpixels(GLcontext * ctx, if (!src) return GL_FALSE; - if (pack->BufferObj->Name) { - /* XXX This validation should be done by core mesa: - */ - if (!_mesa_validate_pbo_access(2, pack, width, height, 1, - format, type, pixels)) { - _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels"); - return GL_TRUE; - } - } - else { + if (!_mesa_is_bufferobj(pack->BufferObj)) { /* PBO only for now: */ if (INTEL_DEBUG & DEBUG_PIXEL) -- cgit v1.2.3 From e61215242b977f8422b3284b4b2b0c853daf50ca Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 14:32:41 -0600 Subject: intel: #include clean-ups --- src/mesa/drivers/dri/intel/intel_blit.c | 3 --- src/mesa/drivers/dri/intel/intel_tex_image.c | 5 ----- 2 files changed, 8 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c index 0c5be4c798..43141c509c 100644 --- a/src/mesa/drivers/dri/intel/intel_blit.c +++ b/src/mesa/drivers/dri/intel/intel_blit.c @@ -26,9 +26,6 @@ **************************************************************************/ -#include -#include - #include "main/mtypes.h" #include "main/context.h" #include "main/enums.h" diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c index 28d9da0ef7..a206fe6805 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_image.c +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c @@ -1,16 +1,11 @@ -#include -#include - #include "main/glheader.h" #include "main/macros.h" #include "main/mtypes.h" #include "main/enums.h" #include "main/bufferobj.h" -#include "main/colortab.h" #include "main/convolve.h" #include "main/context.h" -#include "main/simple_list.h" #include "main/texcompress.h" #include "main/texformat.h" #include "main/texgetimage.h" -- cgit v1.2.3 From b2de02852381dccea6cb9bdca049d5629cca80ef Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 14:32:56 -0600 Subject: i965: #include clean-ups --- src/mesa/drivers/dri/i965/brw_draw.c | 11 ++++------- src/mesa/drivers/dri/i965/brw_draw_upload.c | 1 - 2 files changed, 4 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c index 682094ff13..4411b24540 100644 --- a/src/mesa/drivers/dri/i965/brw_draw.c +++ b/src/mesa/drivers/dri/i965/brw_draw.c @@ -25,13 +25,15 @@ * **************************************************************************/ -#include #include "main/glheader.h" #include "main/context.h" #include "main/state.h" -#include "main/api_validate.h" #include "main/enums.h" +#include "tnl/tnl.h" +#include "vbo/vbo_context.h" +#include "swrast/swrast.h" +#include "swrast_setup/swrast_setup.h" #include "brw_draw.h" #include "brw_defines.h" @@ -42,11 +44,6 @@ #include "intel_batchbuffer.h" #include "intel_buffer_objects.h" -#include "tnl/tnl.h" -#include "vbo/vbo_context.h" -#include "swrast/swrast.h" -#include "swrast_setup/swrast_setup.h" - #define FILE_DEBUG_FLAG DEBUG_BATCH static GLuint prim_to_hw_prim[GL_POLYGON+1] = { diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index 97205dac32..27dabc02f3 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -25,7 +25,6 @@ * **************************************************************************/ -#include #include "main/glheader.h" #include "main/bufferobj.h" -- cgit v1.2.3 From 42943a4cf90d66ade212feea29a29a3702eec6c1 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 14:45:24 -0600 Subject: mesa: bump version to 7.5.2 I'm not 100% sure there'll be a 7.5.2 release, but just in case. --- Makefile | 2 +- configs/default | 2 +- src/mesa/main/version.h | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/Makefile b/Makefile index 6ad07e6137..636be5c28c 100644 --- a/Makefile +++ b/Makefile @@ -182,7 +182,7 @@ ultrix-gcc: # Rules for making release tarballs -VERSION=7.5.1 +VERSION=7.5.2 DIRECTORY = Mesa-$(VERSION) LIB_NAME = MesaLib-$(VERSION) DEMO_NAME = MesaDemos-$(VERSION) diff --git a/configs/default b/configs/default index 2981bb9a8f..773a6204d3 100644 --- a/configs/default +++ b/configs/default @@ -10,7 +10,7 @@ CONFIG_NAME = default # Version info MESA_MAJOR=7 MESA_MINOR=5 -MESA_TINY=1 +MESA_TINY=2 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY) # external projects. This should be useless now that we use libdrm. diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 50c1143ccc..995e46d318 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -1,6 +1,6 @@ /* * Mesa 3-D graphics library - * Version: 7.5.1 + * Version: 7.5.2 * * Copyright (C) 1999-2009 Brian Paul All Rights Reserved. * @@ -30,8 +30,8 @@ /* Mesa version */ #define MESA_MAJOR 7 #define MESA_MINOR 5 -#define MESA_PATCH 1 -#define MESA_VERSION_STRING "7.5.1" +#define MESA_PATCH 2 +#define MESA_VERSION_STRING "7.5.2-devel" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) -- cgit v1.2.3 From 58a57e3fc48b4ba081caa6ffaec24dfad9ed002a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 4 Sep 2009 14:30:30 -0700 Subject: Revert "intel: helper to debug bufmgr (disabled)" This reverts commit e0ec405a9fa6fbc1cf2ac531ed5efd1a64e01f18. This is already available in INTEL_DEBUG=bufmgr in the environment. --- src/mesa/drivers/dri/intel/intel_context.c | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 89f99f7ffd..7ab8299802 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -641,10 +641,6 @@ intelInitContext(struct intel_context *intel, intel->maxBatchSize = BATCH_SZ; intel->bufmgr = intelScreen->bufmgr; - - if (0) /* for debug */ - drm_intel_bufmgr_set_debug(intel->bufmgr, 1); - intel->ttm = intelScreen->ttm; if (intel->ttm) { int bo_reuse_mode; -- cgit v1.2.3 From ea6dab2537998d6910c04cd7bb68a79bee8fda68 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 4 Sep 2009 17:59:08 -0700 Subject: i965: Use the renderbuffer surface size instead of region size for WM surfaces. For drawing to lower mipmap levels, the region size makes the renderbuffer be the size of the lowest level, instead of the current level. On DRI1, Brian previously found that the RB size was incorrect, so leave this broken there. --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index 096f74394e..c3f8750488 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -545,8 +545,13 @@ brw_update_renderbuffer_surface(struct brw_context *brw, irb->texformat->MesaFormat); } key.tiling = region->tiling; - key.width = region->width; - key.height = region->height; + if (brw->intel.intelScreen->driScrnPriv->dri2.enabled) { + key.width = rb->Width; + key.height = rb->Height; + } else { + key.width = region->width; + key.height = region->height; + } key.pitch = region->pitch; key.cpp = region->cpp; key.draw_offset = region->draw_offset; /* cur 3d or cube face offset */ -- cgit v1.2.3 From 15c0cc5cf4b75d60fa9a8469df34b487a8c0e376 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 6 Sep 2009 15:39:52 -0700 Subject: i965: Set NULL WM surfaces as tiled according to requirement by specs. --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index c3f8750488..bff2ab9721 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -558,7 +558,7 @@ brw_update_renderbuffer_surface(struct brw_context *brw, } else { key.surface_type = BRW_SURFACE_NULL; key.surface_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; - key.tiling = 0; + key.tiling = I915_TILING_X; key.width = 1; key.height = 1; key.cpp = 4; -- cgit v1.2.3 From 3e4539a471da48066a83eda8e14301dbc4dbf6db Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 6 Sep 2009 15:46:17 -0700 Subject: i965: Respect spec requirement for pixel shader computed depth with no zbuffer. --- src/mesa/drivers/dri/i965/brw_wm_state.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm_state.c b/src/mesa/drivers/dri/i965/brw_wm_state.c index 39f8c6d522..361f91292b 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_state.c @@ -107,6 +107,12 @@ wm_unit_populate_key(struct brw_context *brw, struct brw_wm_unit_key *key) /* as far as we can tell */ key->computes_depth = (fp->Base.OutputsWritten & (1 << FRAG_RESULT_DEPTH)) != 0; + /* BRW_NEW_DEPTH_BUFFER + * Override for NULL depthbuffer case, required by the Pixel Shader Computed + * Depth field. + */ + if (brw->state.depth_region == NULL) + key->computes_depth = 0; /* _NEW_COLOR */ key->uses_kill = fp->UsesKill || ctx->Color.AlphaEnabled; @@ -300,6 +306,7 @@ const struct brw_tracked_state brw_wm_unit = { .brw = (BRW_NEW_FRAGMENT_PROGRAM | BRW_NEW_CURBE_OFFSETS | + BRW_NEW_DEPTH_BUFFER | BRW_NEW_NR_WM_SURFACES), .cache = (CACHE_NEW_WM_PROG | -- cgit v1.2.3 From b4922b533155cc139ebafb111502bb55d2ad2ccf Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 26 Aug 2009 09:51:15 -0700 Subject: mesa: Add support for ARB_depth_clamp. This currently doesn't include fixing up the cliptests in the assembly paths to support ARB_depth_clamp, so enabling depth_clamp forces the C path. --- src/mesa/drivers/dri/swrast/swrast.c | 1 + src/mesa/drivers/x11/xm_api.c | 1 + src/mesa/glapi/ARB_depth_clamp.xml | 12 ++++++++++ src/mesa/glapi/Makefile | 1 + src/mesa/glapi/gl_API.xml | 2 ++ src/mesa/main/attrib.c | 7 ++++++ src/mesa/main/enable.c | 20 ++++++++++++++++ src/mesa/main/extensions.c | 2 ++ src/mesa/main/get_gen.py | 4 ++++ src/mesa/main/mtypes.h | 2 ++ src/mesa/math/m_clip_tmp.h | 44 ++++++++++++++++++++++++------------ src/mesa/math/m_debug_clip.c | 9 +++++--- src/mesa/math/m_xform.h | 6 +++-- src/mesa/sparc/clip.S | 3 ++- src/mesa/sparc/sparc.c | 6 +++-- src/mesa/swrast/s_depth.c | 27 ++++++++++++++++++++++ src/mesa/swrast/s_depth.h | 2 ++ src/mesa/swrast/s_span.c | 3 +++ src/mesa/tnl/t_rasterpos.c | 25 ++++++++++++-------- src/mesa/tnl/t_vb_program.c | 6 +++-- src/mesa/tnl/t_vb_vertex.c | 6 +++-- src/mesa/x86/x86_xform.c | 9 +++++--- 22 files changed, 158 insertions(+), 40 deletions(-) create mode 100644 src/mesa/glapi/ARB_depth_clamp.xml (limited to 'src') diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index a858af30c1..9a130d61cf 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -95,6 +95,7 @@ const struct dri_extension card_extensions[] = { "GL_EXT_histogram", GL_EXT_histogram_functions }, { "GL_SGI_color_table", GL_SGI_color_table_functions }, + { "GL_ARB_depth_clamp", NULL }, { "GL_ARB_shader_objects", GL_ARB_shader_objects_functions }, { "GL_ARB_vertex_array_object", GL_ARB_vertex_array_object_functions }, { "GL_ARB_vertex_program", GL_ARB_vertex_program_functions }, diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c index 2c7be9f182..78545d0e17 100644 --- a/src/mesa/drivers/x11/xm_api.c +++ b/src/mesa/drivers/x11/xm_api.c @@ -1347,6 +1347,7 @@ const struct dri_extension card_extensions[] = { "GL_EXT_histogram", GL_EXT_histogram_functions }, { "GL_SGI_color_table", GL_SGI_color_table_functions }, + { "GL_ARB_depth_clamp", NULL }, { "GL_ARB_shader_objects", GL_ARB_shader_objects_functions }, { "GL_ARB_sync", GL_ARB_sync_functions }, { "GL_ARB_vertex_program", GL_ARB_vertex_program_functions }, diff --git a/src/mesa/glapi/ARB_depth_clamp.xml b/src/mesa/glapi/ARB_depth_clamp.xml new file mode 100644 index 0000000000..157c9a86b1 --- /dev/null +++ b/src/mesa/glapi/ARB_depth_clamp.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/mesa/glapi/Makefile b/src/mesa/glapi/Makefile index 65edab7cec..22f65b74c2 100644 --- a/src/mesa/glapi/Makefile +++ b/src/mesa/glapi/Makefile @@ -48,6 +48,7 @@ SERVER_OUTPUTS = \ API_XML = gl_API.xml \ EXT_framebuffer_object.xml \ ARB_copy_buffer.xml \ + ARB_depth_clamp.xml \ ARB_framebuffer_object.xml \ ARB_map_buffer_range.xml \ ARB_seamless_cube_map.xml \ diff --git a/src/mesa/glapi/gl_API.xml b/src/mesa/glapi/gl_API.xml index 1dfd92be08..920ce80c45 100644 --- a/src/mesa/glapi/gl_API.xml +++ b/src/mesa/glapi/gl_API.xml @@ -7950,6 +7950,8 @@ + + diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index ab99ca1c64..0fb8fa3bba 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -74,6 +74,7 @@ struct gl_enable_attrib GLboolean Convolution2D; GLboolean Separable2D; GLboolean CullFace; + GLboolean DepthClamp; GLboolean DepthTest; GLboolean Dither; GLboolean Fog; @@ -265,6 +266,7 @@ _mesa_PushAttrib(GLbitfield mask) attr->Convolution2D = ctx->Pixel.Convolution2DEnabled; attr->Separable2D = ctx->Pixel.Separable2DEnabled; attr->CullFace = ctx->Polygon.CullFlag; + attr->DepthClamp = ctx->Transform.DepthClamp; attr->DepthTest = ctx->Depth.Test; attr->Dither = ctx->Color.DitherFlag; attr->Fog = ctx->Fog.Enabled; @@ -514,6 +516,8 @@ pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable) enable->ColorTable[COLORTABLE_POSTCOLORMATRIX], GL_POST_COLOR_MATRIX_COLOR_TABLE); TEST_AND_UPDATE(ctx->Polygon.CullFlag, enable->CullFace, GL_CULL_FACE); + TEST_AND_UPDATE(ctx->Transform.DepthClamp, enable->DepthClamp, + GL_DEPTH_CLAMP); TEST_AND_UPDATE(ctx->Depth.Test, enable->DepthTest, GL_DEPTH_TEST); TEST_AND_UPDATE(ctx->Color.DitherFlag, enable->Dither, GL_DITHER); TEST_AND_UPDATE(ctx->Pixel.Convolution1DEnabled, enable->Convolution1D, @@ -1221,6 +1225,9 @@ _mesa_PopAttrib(void) if (xform->RescaleNormals != ctx->Transform.RescaleNormals) _mesa_set_enable(ctx, GL_RESCALE_NORMAL_EXT, ctx->Transform.RescaleNormals); + if (xform->DepthClamp != ctx->Transform.DepthClamp) + _mesa_set_enable(ctx, GL_DEPTH_CLAMP, + ctx->Transform.DepthClamp); } break; case GL_TEXTURE_BIT: diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c index 4bc54771e9..d066153fc2 100644 --- a/src/mesa/main/enable.c +++ b/src/mesa/main/enable.c @@ -37,6 +37,7 @@ #include "mtypes.h" #include "enums.h" #include "math/m_matrix.h" +#include "math/m_xform.h" #include "api_arrayelt.h" @@ -947,6 +948,20 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state) ctx->Depth.BoundsTest = state; break; + case GL_DEPTH_CLAMP: + if (ctx->Transform.DepthClamp == state) + return; + /* Neither the x86 nor sparc asm cliptest functions have been updated + * for ARB_depth_clamp, so force the C paths. + */ + if (state) + init_c_cliptest(); + + CHECK_EXTENSION(ARB_depth_clamp, cap); + FLUSH_VERTICES(ctx, _NEW_TRANSFORM); + ctx->Transform.DepthClamp = state; + break; + #if FEATURE_ATI_fragment_shader case GL_FRAGMENT_SHADER_ATI: CHECK_EXTENSION(ATI_fragment_shader, cap); @@ -1395,6 +1410,11 @@ _mesa_IsEnabled( GLenum cap ) CHECK_EXTENSION(EXT_depth_bounds_test); return ctx->Depth.BoundsTest; + /* GL_ARB_depth_clamp */ + case GL_DEPTH_CLAMP: + CHECK_EXTENSION(ARB_depth_clamp); + return ctx->Transform.DepthClamp; + #if FEATURE_ATI_fragment_shader case GL_FRAGMENT_SHADER_ATI: CHECK_EXTENSION(ATI_fragment_shader); diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index e3070b1547..ea67f820af 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -47,6 +47,7 @@ static const struct { } default_extensions[] = { { OFF, "GL_ARB_copy_buffer", F(ARB_copy_buffer) }, { OFF, "GL_ARB_depth_texture", F(ARB_depth_texture) }, + { OFF, "GL_ARB_depth_clamp", F(ARB_depth_clamp) }, { ON, "GL_ARB_draw_buffers", F(ARB_draw_buffers) }, { OFF, "GL_ARB_fragment_program", F(ARB_fragment_program) }, { OFF, "GL_ARB_fragment_program_shadow", F(ARB_fragment_program_shadow) }, @@ -192,6 +193,7 @@ void _mesa_enable_sw_extensions(GLcontext *ctx) { ctx->Extensions.ARB_copy_buffer = GL_TRUE; + ctx->Extensions.ARB_depth_clamp = GL_TRUE; ctx->Extensions.ARB_depth_texture = GL_TRUE; /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/ #if FEATURE_ARB_fragment_program diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py index 2878c1b552..364d8c55c4 100644 --- a/src/mesa/main/get_gen.py +++ b/src/mesa/main/get_gen.py @@ -905,6 +905,10 @@ StateVars = [ ["ctx->Depth.BoundsMin", "ctx->Depth.BoundsMax"], "", ["EXT_depth_bounds_test"] ), + # GL_ARB_depth_clamp + ( "GL_DEPTH_CLAMP", GLboolean, ["ctx->Transform.DepthClamp"], "", + ["ARB_depth_clamp"] ), + # GL_ARB_draw_buffers ( "GL_MAX_DRAW_BUFFERS_ARB", GLint, ["ctx->Const.MaxDrawBuffers"], "", None ), diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 6b64bf8139..20cd3aa5c0 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1482,6 +1482,7 @@ struct gl_transform_attrib GLboolean Normalize; /**< Normalize all normals? */ GLboolean RescaleNormals; /**< GL_EXT_rescale_normal */ GLboolean RasterPositionUnclipped; /**< GL_IBM_rasterpos_clip */ + GLboolean DepthClamp; /**< GL_ARB_depth_clamp */ GLboolean CullVertexFlag; /**< True if GL_CULL_VERTEX_EXT is enabled */ GLfloat CullEyePos[4]; @@ -2475,6 +2476,7 @@ struct gl_extensions GLboolean dummy; /* don't remove this! */ GLboolean ARB_copy_buffer; GLboolean ARB_depth_texture; + GLboolean ARB_depth_clamp; GLboolean ARB_draw_buffers; GLboolean ARB_fragment_program; GLboolean ARB_fragment_program_shadow; diff --git a/src/mesa/math/m_clip_tmp.h b/src/mesa/math/m_clip_tmp.h index f3a589be05..2e30964057 100644 --- a/src/mesa/math/m_clip_tmp.h +++ b/src/mesa/math/m_clip_tmp.h @@ -44,7 +44,8 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points4)( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ) + GLubyte *andMask, + GLboolean viewport_z_clip ) { const GLuint stride = clip_vec->stride; const GLfloat *from = (GLfloat *)clip_vec->start; @@ -66,16 +67,20 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points4)( GLvector4f *clip_vec, mask |= (((cw < -cx) << CLIP_LEFT_SHIFT)); mask |= (((cw < cy) << CLIP_TOP_SHIFT)); mask |= (((cw < -cy) << CLIP_BOTTOM_SHIFT)); - mask |= (((cw < cz) << CLIP_FAR_SHIFT)); - mask |= (((cw < -cz) << CLIP_NEAR_SHIFT)); + if (viewport_z_clip) { + mask |= (((cw < cz) << CLIP_FAR_SHIFT)); + mask |= (((cw < -cz) << CLIP_NEAR_SHIFT)); + } #else /* !defined(macintosh)) */ GLubyte mask = 0; if (-cx + cw < 0) mask |= CLIP_RIGHT_BIT; if ( cx + cw < 0) mask |= CLIP_LEFT_BIT; if (-cy + cw < 0) mask |= CLIP_TOP_BIT; if ( cy + cw < 0) mask |= CLIP_BOTTOM_BIT; - if (-cz + cw < 0) mask |= CLIP_FAR_BIT; - if ( cz + cw < 0) mask |= CLIP_NEAR_BIT; + if (viewport_z_clip) { + if (-cz + cw < 0) mask |= CLIP_FAR_BIT; + if ( cz + cw < 0) mask |= CLIP_NEAR_BIT; + } #endif /* defined(macintosh) */ clipMask[i] = mask; @@ -119,7 +124,8 @@ static GLvector4f * _XFORMAPI TAG(cliptest_np_points4)( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ) + GLubyte *andMask, + GLboolean viewport_z_clip ) { const GLuint stride = clip_vec->stride; const GLuint count = clip_vec->count; @@ -141,16 +147,20 @@ static GLvector4f * _XFORMAPI TAG(cliptest_np_points4)( GLvector4f *clip_vec, mask |= (((cw < -cx) << CLIP_LEFT_SHIFT)); mask |= (((cw < cy) << CLIP_TOP_SHIFT)); mask |= (((cw < -cy) << CLIP_BOTTOM_SHIFT)); - mask |= (((cw < cz) << CLIP_FAR_SHIFT)); - mask |= (((cw < -cz) << CLIP_NEAR_SHIFT)); + if (viewport_z_clip) { + mask |= (((cw < cz) << CLIP_FAR_SHIFT)); + mask |= (((cw < -cz) << CLIP_NEAR_SHIFT)); + } #else /* !defined(macintosh)) */ GLubyte mask = 0; if (-cx + cw < 0) mask |= CLIP_RIGHT_BIT; if ( cx + cw < 0) mask |= CLIP_LEFT_BIT; if (-cy + cw < 0) mask |= CLIP_TOP_BIT; if ( cy + cw < 0) mask |= CLIP_BOTTOM_BIT; - if (-cz + cw < 0) mask |= CLIP_FAR_BIT; - if ( cz + cw < 0) mask |= CLIP_NEAR_BIT; + if (viewport_z_clip) { + if (-cz + cw < 0) mask |= CLIP_FAR_BIT; + if ( cz + cw < 0) mask |= CLIP_NEAR_BIT; + } #endif /* defined(macintosh) */ clipMask[i] = mask; @@ -171,7 +181,8 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points3)( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ) + GLubyte *andMask, + GLboolean viewport_z_clip ) { const GLuint stride = clip_vec->stride; const GLuint count = clip_vec->count; @@ -187,8 +198,10 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points3)( GLvector4f *clip_vec, else if (cx < -1.0) mask |= CLIP_LEFT_BIT; if (cy > 1.0) mask |= CLIP_TOP_BIT; else if (cy < -1.0) mask |= CLIP_BOTTOM_BIT; - if (cz > 1.0) mask |= CLIP_FAR_BIT; - else if (cz < -1.0) mask |= CLIP_NEAR_BIT; + if (viewport_z_clip) { + if (cz > 1.0) mask |= CLIP_FAR_BIT; + else if (cz < -1.0) mask |= CLIP_NEAR_BIT; + } clipMask[i] = mask; tmpOrMask |= mask; tmpAndMask &= mask; @@ -204,7 +217,8 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points2)( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ) + GLubyte *andMask, + GLboolean viewport_z_clip ) { const GLuint stride = clip_vec->stride; const GLuint count = clip_vec->count; @@ -231,7 +245,7 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points2)( GLvector4f *clip_vec, } -static void TAG(init_c_cliptest)( void ) +void TAG(init_c_cliptest)( void ) { _mesa_clip_tab[4] = TAG(cliptest_points4); _mesa_clip_tab[3] = TAG(cliptest_points3); diff --git a/src/mesa/math/m_debug_clip.c b/src/mesa/math/m_debug_clip.c index 460fed4a75..f2b757a91b 100644 --- a/src/mesa/math/m_debug_clip.c +++ b/src/mesa/math/m_debug_clip.c @@ -67,7 +67,8 @@ static GLvector4f *ref_cliptest_points4( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ) + GLubyte *andMask, + GLboolean viewport_z_clip ) { const GLuint stride = clip_vec->stride; const GLuint count = clip_vec->count; @@ -87,8 +88,10 @@ static GLvector4f *ref_cliptest_points4( GLvector4f *clip_vec, if ( cx + cw < 0 ) mask |= CLIP_LEFT_BIT; if ( -cy + cw < 0 ) mask |= CLIP_TOP_BIT; if ( cy + cw < 0 ) mask |= CLIP_BOTTOM_BIT; - if ( -cz + cw < 0 ) mask |= CLIP_FAR_BIT; - if ( cz + cw < 0 ) mask |= CLIP_NEAR_BIT; + if (viewport_z_clip) { + if ( -cz + cw < 0 ) mask |= CLIP_FAR_BIT; + if ( cz + cw < 0 ) mask |= CLIP_NEAR_BIT; + } clipMask[i] = mask; if ( mask ) { c++; diff --git a/src/mesa/math/m_xform.h b/src/mesa/math/m_xform.h index 7ef76e0b92..33421ad1c0 100644 --- a/src/mesa/math/m_xform.h +++ b/src/mesa/math/m_xform.h @@ -43,7 +43,8 @@ extern void _math_init_transformation(void); - +extern void +init_c_cliptest(void); /* KW: Clip functions now do projective divide as well. The projected * coordinates are very useful to us because they let us cull @@ -102,7 +103,8 @@ typedef GLvector4f * (_XFORMAPIP clip_func)( GLvector4f *vClip, GLvector4f *vProj, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ); + GLubyte *andMask, + GLboolean viewport_z_clip ); typedef void (*dotprod_func)( GLfloat *out, GLuint out_stride, diff --git a/src/mesa/sparc/clip.S b/src/mesa/sparc/clip.S index 208843c606..dc239171ff 100644 --- a/src/mesa/sparc/clip.S +++ b/src/mesa/sparc/clip.S @@ -58,7 +58,8 @@ clip_table: .byte 31, 29, 31, 30, 27, 25, 27, 26 /* GLvector4f *clip_vec, GLvector4f *proj_vec, - GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask */ + GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask, + GLboolean viewport_z_enable */ .align 64 __pc_tramp: diff --git a/src/mesa/sparc/sparc.c b/src/mesa/sparc/sparc.c index d2286a2c83..cea0c7cecf 100644 --- a/src/mesa/sparc/sparc.c +++ b/src/mesa/sparc/sparc.c @@ -78,13 +78,15 @@ extern GLvector4f *_mesa_sparc_cliptest_points4(GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask); + GLubyte *andMask, + GLboolean viewport_z_clip); extern GLvector4f *_mesa_sparc_cliptest_points4_np(GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask); + GLubyte *andMask, + GLboolean viewport_z_clip); #define NORM_ARGS const GLmatrix *mat, \ GLfloat scale, \ diff --git a/src/mesa/swrast/s_depth.c b/src/mesa/swrast/s_depth.c index 26e23f02d5..1a428fb1a2 100644 --- a/src/mesa/swrast/s_depth.c +++ b/src/mesa/swrast/s_depth.c @@ -497,6 +497,33 @@ depth_test_span32( GLcontext *ctx, GLuint n, return passed; } +/* Apply ARB_depth_clamp to span of fragments. */ +void +_swrast_depth_clamp_span( GLcontext *ctx, SWspan *span ) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct gl_renderbuffer *rb = fb->_DepthBuffer; + const GLuint count = span->end; + GLuint *zValues = span->array->z; + GLuint near, far; + int i; + + if (rb->DataType == GL_UNSIGNED_SHORT) { + near = FLOAT_TO_UINT(ctx->Viewport.Near); + far = FLOAT_TO_UINT(ctx->Viewport.Far); + } else { + assert(rb->DataType == GL_UNSIGNED_INT); + CLAMPED_FLOAT_TO_USHORT(near, ctx->Viewport.Near); + CLAMPED_FLOAT_TO_USHORT(far, ctx->Viewport.Far); + } + for (i = 0; i < count; i++) { + if (zValues[i] < near) + zValues[i] = near; + if (zValues[i] > far) + zValues[i] = far; + } +} + /* diff --git a/src/mesa/swrast/s_depth.h b/src/mesa/swrast/s_depth.h index 3688625683..7eae366742 100644 --- a/src/mesa/swrast/s_depth.h +++ b/src/mesa/swrast/s_depth.h @@ -33,6 +33,8 @@ extern GLuint _swrast_depth_test_span( GLcontext *ctx, SWspan *span); +extern void +_swrast_depth_clamp_span( GLcontext *ctx, SWspan *span ); extern GLboolean _swrast_depth_bounds_test( GLcontext *ctx, SWspan *span ); diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c index 0e2793b474..a45eac438e 100644 --- a/src/mesa/swrast/s_span.c +++ b/src/mesa/swrast/s_span.c @@ -880,6 +880,9 @@ _swrast_write_index_span( GLcontext *ctx, SWspan *span) stipple_polygon_span(ctx, span); } + if (ctx->Transform.DepthClamp) + _swrast_depth_clamp_span(ctx, span); + /* Stencil and Z testing */ if (ctx->Stencil._Enabled || ctx->Depth.Test) { if (!(span->arrayMask & SPAN_Z)) diff --git a/src/mesa/tnl/t_rasterpos.c b/src/mesa/tnl/t_rasterpos.c index f1fdddf0f5..99b6787455 100644 --- a/src/mesa/tnl/t_rasterpos.c +++ b/src/mesa/tnl/t_rasterpos.c @@ -46,11 +46,10 @@ * \return zero if outside view volume, or one if inside. */ static GLuint -viewclip_point( const GLfloat v[] ) +viewclip_point_xy( const GLfloat v[] ) { if ( v[0] > v[3] || v[0] < -v[3] - || v[1] > v[3] || v[1] < -v[3] - || v[2] > v[3] || v[2] < -v[3] ) { + || v[1] > v[3] || v[1] < -v[3] ) { return 0; } else { @@ -408,18 +407,18 @@ _tnl_RasterPos(GLcontext *ctx, const GLfloat vObj[4]) /* apply projection matrix: clip = Proj * eye */ TRANSFORM_POINT( clip, ctx->ProjectionMatrixStack.Top->m, eye ); - /* clip to view volume */ - if (ctx->Transform.RasterPositionUnclipped) { - /* GL_IBM_rasterpos_clip: only clip against Z */ + /* clip to view volume. */ + if (!ctx->Transform.DepthClamp) { if (viewclip_point_z(clip) == 0) { ctx->Current.RasterPosValid = GL_FALSE; return; } } - else if (viewclip_point(clip) == 0) { - /* Normal OpenGL behaviour */ - ctx->Current.RasterPosValid = GL_FALSE; - return; + if (!ctx->Transform.RasterPositionUnclipped) { + if (viewclip_point_xy(clip) == 0) { + ctx->Current.RasterPosValid = GL_FALSE; + return; + } } /* clip to user clipping planes */ @@ -443,6 +442,12 @@ _tnl_RasterPos(GLcontext *ctx, const GLfloat vObj[4]) / ctx->DrawBuffer->_DepthMaxF; ctx->Current.RasterPos[3] = clip[3]; + if (ctx->Transform.DepthClamp) { + ctx->Current.RasterPos[3] = CLAMP(ctx->Current.RasterPos[3], + ctx->Viewport.Near, + ctx->Viewport.Far); + } + /* compute raster distance */ if (ctx->Fog.FogCoordinateSource == GL_FOG_COORDINATE_EXT) ctx->Current.RasterDistance = ctx->Current.Attrib[VERT_ATTRIB_FOG][0]; diff --git a/src/mesa/tnl/t_vb_program.c b/src/mesa/tnl/t_vb_program.c index dc954bcba1..5d89f8bc31 100644 --- a/src/mesa/tnl/t_vb_program.c +++ b/src/mesa/tnl/t_vb_program.c @@ -137,7 +137,8 @@ do_ndc_cliptest(GLcontext *ctx, struct vp_stage_data *store) &store->ndcCoords, store->clipmask, &store->ormask, - &store->andmask ); + &store->andmask, + !ctx->Transform.DepthClamp ); } else { VB->NdcPtr = NULL; @@ -145,7 +146,8 @@ do_ndc_cliptest(GLcontext *ctx, struct vp_stage_data *store) NULL, store->clipmask, &store->ormask, - &store->andmask ); + &store->andmask, + !ctx->Transform.DepthClamp ); } if (store->andmask) { diff --git a/src/mesa/tnl/t_vb_vertex.c b/src/mesa/tnl/t_vb_vertex.c index 30aa7c4086..6a746417c8 100644 --- a/src/mesa/tnl/t_vb_vertex.c +++ b/src/mesa/tnl/t_vb_vertex.c @@ -173,7 +173,8 @@ static GLboolean run_vertex_stage( GLcontext *ctx, &store->proj, store->clipmask, &store->ormask, - &store->andmask ); + &store->andmask, + !ctx->Transform.DepthClamp ); } else { VB->NdcPtr = NULL; @@ -181,7 +182,8 @@ static GLboolean run_vertex_stage( GLcontext *ctx, NULL, store->clipmask, &store->ormask, - &store->andmask ); + &store->andmask, + !ctx->Transform.DepthClamp ); } if (store->andmask) diff --git a/src/mesa/x86/x86_xform.c b/src/mesa/x86/x86_xform.c index 16b2b26bcc..52f6b25d81 100644 --- a/src/mesa/x86/x86_xform.c +++ b/src/mesa/x86/x86_xform.c @@ -60,21 +60,24 @@ _mesa_x86_cliptest_points4( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ); + GLubyte *andMask, + GLboolean viewport_z_clip ); extern GLvector4f * _ASMAPI _mesa_x86_cliptest_points4_np( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ); + GLubyte *andMask, + GLboolean viewport_z_clip ); extern void _ASMAPI _mesa_v16_x86_cliptest_points4( GLfloat *first_vert, GLfloat *last_vert, GLubyte *or_mask, GLubyte *and_mask, - GLubyte *clip_mask ); + GLubyte *clip_mask, + GLboolean viewport_z_clip ); extern void _ASMAPI _mesa_v16_x86_general_xform( GLfloat *dest, -- cgit v1.2.3 From 0e5c2598ec8cd9e20cb02e2b120d5b43103b7b05 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 26 Aug 2009 10:34:31 -0700 Subject: Regenerate files for GL_ARB_depth_clamp. --- src/mesa/main/enums.c | 5212 +++++++++++++++++++++++++------------------------ 1 file changed, 2607 insertions(+), 2605 deletions(-) (limited to 'src') diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c index 9f650dadd3..2d1594eb7a 100644 --- a/src/mesa/main/enums.c +++ b/src/mesa/main/enums.c @@ -391,6 +391,7 @@ LONGSTRING static const char enum_string_table[] = "GL_DEPTH_BOUNDS_EXT\0" "GL_DEPTH_BOUNDS_TEST_EXT\0" "GL_DEPTH_BUFFER_BIT\0" + "GL_DEPTH_CLAMP\0" "GL_DEPTH_CLAMP_NV\0" "GL_DEPTH_CLEAR_VALUE\0" "GL_DEPTH_COMPONENT\0" @@ -1895,7 +1896,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[1857] = +static const enum_elt all_enums[1858] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -2252,1588 +2253,1589 @@ static const enum_elt all_enums[1857] = { 7262, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ { 7282, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ { 7307, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ - { 7327, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ - { 7345, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ - { 7366, 0x00001902 }, /* GL_DEPTH_COMPONENT */ - { 7385, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ - { 7406, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ - { 7431, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ - { 7457, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ - { 7478, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ - { 7503, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ - { 7529, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ - { 7550, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ - { 7575, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ - { 7601, 0x00000B74 }, /* GL_DEPTH_FUNC */ - { 7615, 0x00000B70 }, /* GL_DEPTH_RANGE */ - { 7630, 0x00000D1E }, /* GL_DEPTH_SCALE */ - { 7645, 0x000084F9 }, /* GL_DEPTH_STENCIL */ - { 7662, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */ - { 7690, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ - { 7710, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - { 7738, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - { 7766, 0x00000B71 }, /* GL_DEPTH_TEST */ - { 7780, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ - { 7802, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ - { 7828, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ - { 7847, 0x00001201 }, /* GL_DIFFUSE */ - { 7858, 0x00000BD0 }, /* GL_DITHER */ - { 7868, 0x00000A02 }, /* GL_DOMAIN */ - { 7878, 0x00001100 }, /* GL_DONT_CARE */ - { 7891, 0x000086AE }, /* GL_DOT3_RGB */ - { 7903, 0x000086AF }, /* GL_DOT3_RGBA */ - { 7916, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ - { 7933, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ - { 7950, 0x000086AE }, /* GL_DOT3_RGB_ARB */ - { 7966, 0x00008740 }, /* GL_DOT3_RGB_EXT */ - { 7982, 0x0000140A }, /* GL_DOUBLE */ - { 7992, 0x00000C32 }, /* GL_DOUBLEBUFFER */ - { 8008, 0x00000C01 }, /* GL_DRAW_BUFFER */ - { 8023, 0x00008825 }, /* GL_DRAW_BUFFER0 */ - { 8039, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ - { 8059, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ - { 8079, 0x00008826 }, /* GL_DRAW_BUFFER1 */ - { 8095, 0x0000882F }, /* GL_DRAW_BUFFER10 */ - { 8112, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ - { 8133, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ - { 8154, 0x00008830 }, /* GL_DRAW_BUFFER11 */ - { 8171, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ - { 8192, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ - { 8213, 0x00008831 }, /* GL_DRAW_BUFFER12 */ - { 8230, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ - { 8251, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ - { 8272, 0x00008832 }, /* GL_DRAW_BUFFER13 */ - { 8289, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ - { 8310, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ - { 8331, 0x00008833 }, /* GL_DRAW_BUFFER14 */ - { 8348, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ - { 8369, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ - { 8390, 0x00008834 }, /* GL_DRAW_BUFFER15 */ - { 8407, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ - { 8428, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ - { 8449, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ - { 8469, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ - { 8489, 0x00008827 }, /* GL_DRAW_BUFFER2 */ - { 8505, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ - { 8525, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ - { 8545, 0x00008828 }, /* GL_DRAW_BUFFER3 */ - { 8561, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ - { 8581, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ - { 8601, 0x00008829 }, /* GL_DRAW_BUFFER4 */ - { 8617, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ - { 8637, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ - { 8657, 0x0000882A }, /* GL_DRAW_BUFFER5 */ - { 8673, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ - { 8693, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ - { 8713, 0x0000882B }, /* GL_DRAW_BUFFER6 */ - { 8729, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ - { 8749, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ - { 8769, 0x0000882C }, /* GL_DRAW_BUFFER7 */ - { 8785, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ - { 8805, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ - { 8825, 0x0000882D }, /* GL_DRAW_BUFFER8 */ - { 8841, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ - { 8861, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ - { 8881, 0x0000882E }, /* GL_DRAW_BUFFER9 */ - { 8897, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ - { 8917, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ - { 8937, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */ - { 8957, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - { 8989, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ - { 9013, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ - { 9033, 0x00000304 }, /* GL_DST_ALPHA */ - { 9046, 0x00000306 }, /* GL_DST_COLOR */ - { 9059, 0x0000877A }, /* GL_DU8DV8_ATI */ - { 9073, 0x00008779 }, /* GL_DUDV_ATI */ - { 9085, 0x000088EA }, /* GL_DYNAMIC_COPY */ - { 9101, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ - { 9121, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ - { 9137, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ - { 9157, 0x000088E9 }, /* GL_DYNAMIC_READ */ - { 9173, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ - { 9193, 0x00000B43 }, /* GL_EDGE_FLAG */ - { 9206, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ - { 9225, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - { 9259, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ - { 9297, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ - { 9324, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - { 9350, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ - { 9374, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - { 9406, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ - { 9442, 0x00001600 }, /* GL_EMISSION */ - { 9454, 0x00002000 }, /* GL_ENABLE_BIT */ - { 9468, 0x00000202 }, /* GL_EQUAL */ - { 9477, 0x00001509 }, /* GL_EQUIV */ - { 9486, 0x00010000 }, /* GL_EVAL_BIT */ - { 9498, 0x00000800 }, /* GL_EXP */ - { 9505, 0x00000801 }, /* GL_EXP2 */ - { 9513, 0x00001F03 }, /* GL_EXTENSIONS */ - { 9527, 0x00002400 }, /* GL_EYE_LINEAR */ - { 9541, 0x00002502 }, /* GL_EYE_PLANE */ - { 9554, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ - { 9579, 0x0000855B }, /* GL_EYE_RADIAL_NV */ - { 9596, 0x00000000 }, /* GL_FALSE */ - { 9605, 0x00001101 }, /* GL_FASTEST */ - { 9616, 0x00001C01 }, /* GL_FEEDBACK */ - { 9628, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ - { 9655, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ - { 9679, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ - { 9703, 0x00001B02 }, /* GL_FILL */ - { 9711, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */ - { 9742, 0x00001D00 }, /* GL_FLAT */ - { 9750, 0x00001406 }, /* GL_FLOAT */ - { 9759, 0x00008B5A }, /* GL_FLOAT_MAT2 */ - { 9773, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ - { 9791, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */ - { 9807, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */ - { 9823, 0x00008B5B }, /* GL_FLOAT_MAT3 */ - { 9837, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ - { 9855, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */ - { 9871, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */ - { 9887, 0x00008B5C }, /* GL_FLOAT_MAT4 */ - { 9901, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ - { 9919, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */ - { 9935, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */ - { 9951, 0x00008B50 }, /* GL_FLOAT_VEC2 */ - { 9965, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ - { 9983, 0x00008B51 }, /* GL_FLOAT_VEC3 */ - { 9997, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ - { 10015, 0x00008B52 }, /* GL_FLOAT_VEC4 */ - { 10029, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ - { 10047, 0x00000B60 }, /* GL_FOG */ - { 10054, 0x00000080 }, /* GL_FOG_BIT */ - { 10065, 0x00000B66 }, /* GL_FOG_COLOR */ - { 10078, 0x00008451 }, /* GL_FOG_COORD */ - { 10091, 0x00008451 }, /* GL_FOG_COORDINATE */ - { 10109, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ - { 10133, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - { 10172, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ - { 10215, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - { 10247, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - { 10278, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - { 10307, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ - { 10332, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ - { 10351, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ - { 10385, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ - { 10412, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ - { 10438, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ - { 10462, 0x00008450 }, /* GL_FOG_COORD_SRC */ - { 10479, 0x00000B62 }, /* GL_FOG_DENSITY */ - { 10494, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ - { 10518, 0x00000B64 }, /* GL_FOG_END */ - { 10529, 0x00000C54 }, /* GL_FOG_HINT */ - { 10541, 0x00000B61 }, /* GL_FOG_INDEX */ - { 10554, 0x00000B65 }, /* GL_FOG_MODE */ - { 10566, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ - { 10585, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ - { 10610, 0x00000B63 }, /* GL_FOG_START */ - { 10623, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ - { 10641, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ - { 10665, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ - { 10684, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ - { 10707, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - { 10742, 0x00008D40 }, /* GL_FRAMEBUFFER */ - { 10757, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ - { 10794, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ - { 10830, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ - { 10871, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ - { 10912, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ - { 10949, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ - { 10986, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ - { 11024, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ - { 11066, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ - { 11104, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ - { 11146, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ - { 11181, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ - { 11220, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ - { 11269, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ - { 11317, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ - { 11369, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ - { 11409, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ - { 11453, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ - { 11493, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ - { 11537, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ - { 11564, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ - { 11588, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ - { 11616, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ - { 11639, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ - { 11658, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ - { 11695, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ - { 11736, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - { 11777, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - { 11819, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - { 11870, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - { 11908, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ - { 11953, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ - { 12002, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - { 12040, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - { 12082, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - { 12114, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ - { 12139, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ - { 12166, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ - { 12197, 0x00000404 }, /* GL_FRONT */ - { 12206, 0x00000408 }, /* GL_FRONT_AND_BACK */ - { 12224, 0x00000B46 }, /* GL_FRONT_FACE */ - { 12238, 0x00000400 }, /* GL_FRONT_LEFT */ - { 12252, 0x00000401 }, /* GL_FRONT_RIGHT */ - { 12267, 0x00008006 }, /* GL_FUNC_ADD */ - { 12279, 0x00008006 }, /* GL_FUNC_ADD_EXT */ - { 12295, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ - { 12320, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ - { 12349, 0x0000800A }, /* GL_FUNC_SUBTRACT */ - { 12366, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ - { 12387, 0x00008191 }, /* GL_GENERATE_MIPMAP */ - { 12406, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ - { 12430, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ - { 12459, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ - { 12483, 0x00000206 }, /* GL_GEQUAL */ - { 12493, 0x00000204 }, /* GL_GREATER */ - { 12504, 0x00001904 }, /* GL_GREEN */ - { 12513, 0x00000D19 }, /* GL_GREEN_BIAS */ - { 12527, 0x00000D53 }, /* GL_GREEN_BITS */ - { 12541, 0x00000D18 }, /* GL_GREEN_SCALE */ - { 12556, 0x00008000 }, /* GL_HINT_BIT */ - { 12568, 0x00008024 }, /* GL_HISTOGRAM */ - { 12581, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ - { 12605, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ - { 12633, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ - { 12656, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ - { 12683, 0x00008024 }, /* GL_HISTOGRAM_EXT */ - { 12700, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ - { 12720, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ - { 12744, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ - { 12768, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ - { 12796, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - { 12824, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ - { 12856, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ - { 12878, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ - { 12904, 0x0000802D }, /* GL_HISTOGRAM_SINK */ - { 12922, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ - { 12944, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ - { 12963, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ - { 12986, 0x0000862A }, /* GL_IDENTITY_NV */ - { 13001, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ - { 13021, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - { 13061, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - { 13099, 0x00001E02 }, /* GL_INCR */ - { 13107, 0x00008507 }, /* GL_INCR_WRAP */ - { 13120, 0x00008507 }, /* GL_INCR_WRAP_EXT */ - { 13137, 0x00008222 }, /* GL_INDEX */ - { 13146, 0x00008077 }, /* GL_INDEX_ARRAY */ - { 13161, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - { 13191, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ - { 13225, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ - { 13248, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ - { 13270, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ - { 13290, 0x00000D51 }, /* GL_INDEX_BITS */ - { 13304, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ - { 13325, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ - { 13343, 0x00000C30 }, /* GL_INDEX_MODE */ - { 13357, 0x00000D13 }, /* GL_INDEX_OFFSET */ - { 13373, 0x00000D12 }, /* GL_INDEX_SHIFT */ - { 13388, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ - { 13407, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ - { 13426, 0x00001404 }, /* GL_INT */ - { 13433, 0x00008049 }, /* GL_INTENSITY */ - { 13446, 0x0000804C }, /* GL_INTENSITY12 */ - { 13461, 0x0000804C }, /* GL_INTENSITY12_EXT */ - { 13480, 0x0000804D }, /* GL_INTENSITY16 */ - { 13495, 0x0000804D }, /* GL_INTENSITY16_EXT */ - { 13514, 0x0000804A }, /* GL_INTENSITY4 */ - { 13528, 0x0000804A }, /* GL_INTENSITY4_EXT */ - { 13546, 0x0000804B }, /* GL_INTENSITY8 */ - { 13560, 0x0000804B }, /* GL_INTENSITY8_EXT */ - { 13578, 0x00008049 }, /* GL_INTENSITY_EXT */ - { 13595, 0x00008575 }, /* GL_INTERPOLATE */ - { 13610, 0x00008575 }, /* GL_INTERPOLATE_ARB */ - { 13629, 0x00008575 }, /* GL_INTERPOLATE_EXT */ - { 13648, 0x00008B53 }, /* GL_INT_VEC2 */ - { 13660, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 13676, 0x00008B54 }, /* GL_INT_VEC3 */ - { 13688, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 13704, 0x00008B55 }, /* GL_INT_VEC4 */ - { 13716, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 13732, 0x00000500 }, /* GL_INVALID_ENUM */ - { 13748, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ - { 13781, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 13818, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 13839, 0x00000501 }, /* GL_INVALID_VALUE */ - { 13856, 0x0000862B }, /* GL_INVERSE_NV */ - { 13870, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 13894, 0x0000150A }, /* GL_INVERT */ - { 13904, 0x00001E00 }, /* GL_KEEP */ - { 13912, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ - { 13942, 0x00000406 }, /* GL_LEFT */ - { 13950, 0x00000203 }, /* GL_LEQUAL */ - { 13960, 0x00000201 }, /* GL_LESS */ - { 13968, 0x00004000 }, /* GL_LIGHT0 */ - { 13978, 0x00004001 }, /* GL_LIGHT1 */ - { 13988, 0x00004002 }, /* GL_LIGHT2 */ - { 13998, 0x00004003 }, /* GL_LIGHT3 */ - { 14008, 0x00004004 }, /* GL_LIGHT4 */ - { 14018, 0x00004005 }, /* GL_LIGHT5 */ - { 14028, 0x00004006 }, /* GL_LIGHT6 */ - { 14038, 0x00004007 }, /* GL_LIGHT7 */ - { 14048, 0x00000B50 }, /* GL_LIGHTING */ - { 14060, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 14076, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 14099, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 14128, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 14161, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 14189, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 14213, 0x00001B01 }, /* GL_LINE */ - { 14221, 0x00002601 }, /* GL_LINEAR */ - { 14231, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 14253, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 14283, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 14314, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 14338, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 14363, 0x00000001 }, /* GL_LINES */ - { 14372, 0x00000004 }, /* GL_LINE_BIT */ - { 14384, 0x00000002 }, /* GL_LINE_LOOP */ - { 14397, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 14417, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 14432, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 14452, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 14468, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 14492, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 14515, 0x00000003 }, /* GL_LINE_STRIP */ - { 14529, 0x00000702 }, /* GL_LINE_TOKEN */ - { 14543, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 14557, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 14583, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 14603, 0x00008B82 }, /* GL_LINK_STATUS */ - { 14618, 0x00000B32 }, /* GL_LIST_BASE */ - { 14631, 0x00020000 }, /* GL_LIST_BIT */ - { 14643, 0x00000B33 }, /* GL_LIST_INDEX */ - { 14657, 0x00000B30 }, /* GL_LIST_MODE */ - { 14670, 0x00000101 }, /* GL_LOAD */ - { 14678, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 14690, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 14707, 0x00008CA1 }, /* GL_LOWER_LEFT */ - { 14721, 0x00001909 }, /* GL_LUMINANCE */ - { 14734, 0x00008041 }, /* GL_LUMINANCE12 */ - { 14749, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 14772, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 14799, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 14821, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 14847, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 14866, 0x00008042 }, /* GL_LUMINANCE16 */ - { 14881, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 14904, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 14931, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 14950, 0x0000803F }, /* GL_LUMINANCE4 */ - { 14964, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 14985, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 15010, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 15028, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 15049, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 15074, 0x00008040 }, /* GL_LUMINANCE8 */ - { 15088, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 15109, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 15134, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 15152, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 15171, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 15187, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 15207, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 15229, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 15243, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 15258, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 15282, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 15306, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 15330, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 15354, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 15371, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 15388, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 15416, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 15445, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 15474, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 15503, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 15532, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 15561, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 15590, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 15618, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 15646, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 15674, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 15702, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 15730, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 15758, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 15786, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 15814, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 15842, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 15858, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 15878, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 15900, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 15914, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 15929, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 15953, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 15977, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 16001, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 16025, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 16042, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 16059, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 16087, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 16116, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 16145, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 16174, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 16203, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 16232, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 16261, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 16289, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 16317, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 16345, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 16373, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 16401, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 16429, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 16457, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 16485, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 16513, 0x00000D10 }, /* GL_MAP_COLOR */ - { 16526, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ - { 16552, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ - { 16581, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ - { 16609, 0x00000001 }, /* GL_MAP_READ_BIT */ - { 16625, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 16640, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ - { 16666, 0x00000002 }, /* GL_MAP_WRITE_BIT */ - { 16683, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 16698, 0x00008630 }, /* GL_MATRIX0_NV */ - { 16712, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 16728, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 16744, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 16760, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 16776, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 16792, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 16808, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 16824, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 16840, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 16856, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 16872, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 16887, 0x00008631 }, /* GL_MATRIX1_NV */ - { 16901, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 16917, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 16933, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 16949, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 16965, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 16981, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 16997, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 17013, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 17029, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 17045, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 17061, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 17076, 0x00008632 }, /* GL_MATRIX2_NV */ - { 17090, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 17106, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 17122, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 17137, 0x00008633 }, /* GL_MATRIX3_NV */ - { 17151, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 17166, 0x00008634 }, /* GL_MATRIX4_NV */ - { 17180, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 17195, 0x00008635 }, /* GL_MATRIX5_NV */ - { 17209, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 17224, 0x00008636 }, /* GL_MATRIX6_NV */ - { 17238, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 17253, 0x00008637 }, /* GL_MATRIX7_NV */ - { 17267, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 17282, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 17297, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 17323, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 17357, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 17388, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 17421, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 17452, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 17467, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 17489, 0x00008008 }, /* GL_MAX */ - { 17496, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 17519, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - { 17551, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 17577, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 17610, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 17636, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 17670, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 17689, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 17718, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 17750, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 17786, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - { 17822, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 17862, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 17888, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 17918, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 17943, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 17972, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 18001, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 18034, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ - { 18054, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 18078, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 18102, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 18126, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 18151, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 18169, 0x00008008 }, /* GL_MAX_EXT */ - { 18180, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - { 18215, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 18254, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 18268, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 18288, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 18326, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 18355, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 18379, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 18407, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 18430, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 18467, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 18503, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 18530, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 18559, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 18593, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 18629, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 18656, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 18688, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 18724, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 18753, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 18782, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 18810, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 18848, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 18892, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 18935, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 18969, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 19008, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 19045, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 19083, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 19126, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 19169, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 19199, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 19230, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 19266, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 19302, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 19332, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 19366, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 19399, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 19428, 0x00008D57 }, /* GL_MAX_SAMPLES */ - { 19443, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - { 19470, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 19490, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 19514, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ - { 19536, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 19562, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - { 19589, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 19620, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 19644, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 19678, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 19698, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 19725, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 19746, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 19771, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 19796, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 19831, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ - { 19853, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 19879, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ - { 19901, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 19927, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - { 19961, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 19999, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - { 20032, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 20069, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 20093, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 20114, 0x00008007 }, /* GL_MIN */ - { 20121, 0x0000802E }, /* GL_MINMAX */ - { 20131, 0x0000802E }, /* GL_MINMAX_EXT */ - { 20145, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 20162, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 20183, 0x00008030 }, /* GL_MINMAX_SINK */ - { 20198, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 20217, 0x00008007 }, /* GL_MIN_EXT */ - { 20228, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 20247, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 20270, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 20293, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 20313, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 20333, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 20363, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 20391, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 20419, 0x00001700 }, /* GL_MODELVIEW */ - { 20432, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 20450, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 20469, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 20488, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 20507, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 20526, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 20545, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 20564, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 20583, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 20602, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 20621, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 20640, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 20658, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 20677, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 20696, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 20715, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 20734, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 20753, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 20772, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 20791, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 20810, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 20829, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 20848, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 20866, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 20885, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 20904, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 20922, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 20940, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 20958, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 20976, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 20994, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 21012, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 21030, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 21050, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 21077, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 21102, 0x00002100 }, /* GL_MODULATE */ - { 21114, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 21134, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 21161, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 21186, 0x00000103 }, /* GL_MULT */ - { 21194, 0x0000809D }, /* GL_MULTISAMPLE */ - { 21209, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 21229, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 21248, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 21267, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 21291, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 21314, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 21344, 0x00002A25 }, /* GL_N3F_V3F */ - { 21355, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 21375, 0x0000150E }, /* GL_NAND */ - { 21383, 0x00002600 }, /* GL_NEAREST */ - { 21394, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 21425, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 21457, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 21482, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 21508, 0x00000200 }, /* GL_NEVER */ - { 21517, 0x00001102 }, /* GL_NICEST */ - { 21527, 0x00000000 }, /* GL_NONE */ - { 21535, 0x00001505 }, /* GL_NOOP */ - { 21543, 0x00001508 }, /* GL_NOR */ - { 21550, 0x00000BA1 }, /* GL_NORMALIZE */ - { 21563, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 21579, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 21610, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 21645, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 21669, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 21692, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 21713, 0x00008511 }, /* GL_NORMAL_MAP */ - { 21727, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 21745, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 21762, 0x00000205 }, /* GL_NOTEQUAL */ - { 21774, 0x00000000 }, /* GL_NO_ERROR */ - { 21786, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 21820, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ - { 21858, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 21890, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 21932, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 21962, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 22002, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 22033, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 22062, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 22090, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 22120, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 22137, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 22163, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 22179, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 22214, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 22236, 0x00009112 }, /* GL_OBJECT_TYPE */ - { 22251, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 22270, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 22300, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 22321, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 22349, 0x00000001 }, /* GL_ONE */ - { 22356, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 22384, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 22416, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 22444, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 22476, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 22499, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 22522, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 22545, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 22568, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 22586, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 22608, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 22630, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 22646, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 22666, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 22686, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 22704, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 22726, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 22748, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 22764, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 22784, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 22804, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 22822, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 22844, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 22866, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 22882, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 22902, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 22922, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 22943, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 22962, 0x00001507 }, /* GL_OR */ - { 22968, 0x00000A01 }, /* GL_ORDER */ - { 22977, 0x0000150D }, /* GL_OR_INVERTED */ - { 22992, 0x0000150B }, /* GL_OR_REVERSE */ - { 23006, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 23023, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 23041, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 23062, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 23082, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 23100, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 23119, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 23139, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 23159, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 23177, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 23196, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 23221, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 23245, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 23266, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 23288, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 23310, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 23335, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 23359, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 23380, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 23402, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 23424, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 23446, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 23477, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 23497, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 23522, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 23542, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 23567, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 23587, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 23612, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 23632, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 23657, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 23677, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 23702, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 23722, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 23747, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 23767, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 23792, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 23812, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 23837, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 23857, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 23882, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 23902, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 23927, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 23945, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ - { 23966, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ - { 23995, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 24028, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 24053, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ - { 24076, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - { 24107, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 24142, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 24169, 0x00001B00 }, /* GL_POINT */ - { 24178, 0x00000000 }, /* GL_POINTS */ - { 24188, 0x00000002 }, /* GL_POINT_BIT */ - { 24201, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 24231, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 24265, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 24299, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 24334, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 24363, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 24396, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 24429, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 24463, 0x00000B11 }, /* GL_POINT_SIZE */ - { 24477, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 24503, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 24521, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 24543, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 24565, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 24588, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 24606, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 24628, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 24650, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 24673, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 24693, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 24709, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 24730, 0x00008861 }, /* GL_POINT_SPRITE */ - { 24746, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 24766, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 24795, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 24814, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 24840, 0x00000701 }, /* GL_POINT_TOKEN */ - { 24855, 0x00000009 }, /* GL_POLYGON */ - { 24866, 0x00000008 }, /* GL_POLYGON_BIT */ - { 24881, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 24897, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 24920, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 24945, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 24968, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 24991, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 25015, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 25039, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 25057, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 25080, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 25099, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 25122, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 25139, 0x00001203 }, /* GL_POSITION */ - { 25151, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 25183, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 25219, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 25252, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 25289, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 25320, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 25355, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 25387, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 25423, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 25456, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 25488, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 25524, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 25557, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 25594, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 25624, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 25658, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 25689, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 25724, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 25755, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 25790, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 25822, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 25858, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 25888, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 25922, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 25953, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 25988, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 26020, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 26051, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 26086, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 26118, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 26154, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 26183, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 26216, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 26246, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 26280, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 26319, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 26352, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 26392, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 26426, 0x00008578 }, /* GL_PREVIOUS */ - { 26438, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 26454, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 26470, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 26487, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 26508, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 26529, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 26562, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 26594, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 26617, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 26640, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 26670, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 26699, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 26727, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 26749, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 26777, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 26805, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 26827, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 26848, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 26888, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 26927, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 26957, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 26992, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 27025, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 27059, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 27098, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 27137, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 27159, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 27185, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 27209, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 27232, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 27254, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 27275, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 27296, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 27323, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 27355, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 27387, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 27422, 0x00001701 }, /* GL_PROJECTION */ - { 27436, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 27457, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 27483, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ - { 27507, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 27528, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 27547, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 27570, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 27609, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 27647, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 27667, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - { 27697, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 27721, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 27741, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - { 27771, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 27795, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 27815, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 27848, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 27874, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 27904, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 27935, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 27965, 0x00002003 }, /* GL_Q */ - { 27970, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 27995, 0x00000007 }, /* GL_QUADS */ - { 28004, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - { 28052, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 28069, 0x00000008 }, /* GL_QUAD_STRIP */ - { 28083, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 28105, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 28131, 0x00008866 }, /* GL_QUERY_RESULT */ - { 28147, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 28167, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 28193, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 28223, 0x00002002 }, /* GL_R */ - { 28228, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 28240, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 28273, 0x00000C02 }, /* GL_READ_BUFFER */ - { 28288, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ - { 28308, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 28340, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 28364, 0x000088B8 }, /* GL_READ_ONLY */ - { 28377, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 28394, 0x000088BA }, /* GL_READ_WRITE */ - { 28408, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 28426, 0x00001903 }, /* GL_RED */ - { 28433, 0x00008016 }, /* GL_REDUCE */ - { 28443, 0x00008016 }, /* GL_REDUCE_EXT */ - { 28457, 0x00000D15 }, /* GL_RED_BIAS */ - { 28469, 0x00000D52 }, /* GL_RED_BITS */ - { 28481, 0x00000D14 }, /* GL_RED_SCALE */ - { 28494, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 28512, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 28534, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 28555, 0x00001C00 }, /* GL_RENDER */ - { 28565, 0x00008D41 }, /* GL_RENDERBUFFER */ - { 28581, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ - { 28608, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 28636, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ - { 28662, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ - { 28689, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 28709, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ - { 28736, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ - { 28759, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 28786, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - { 28818, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 28854, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ - { 28879, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ - { 28903, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ - { 28932, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ - { 28954, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 28980, 0x00001F01 }, /* GL_RENDERER */ - { 28992, 0x00000C40 }, /* GL_RENDER_MODE */ - { 29007, 0x00002901 }, /* GL_REPEAT */ - { 29017, 0x00001E01 }, /* GL_REPLACE */ - { 29028, 0x00008062 }, /* GL_REPLACE_EXT */ - { 29043, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 29066, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 29084, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 29106, 0x00000102 }, /* GL_RETURN */ - { 29116, 0x00001907 }, /* GL_RGB */ - { 29123, 0x00008052 }, /* GL_RGB10 */ - { 29132, 0x00008059 }, /* GL_RGB10_A2 */ - { 29144, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 29160, 0x00008052 }, /* GL_RGB10_EXT */ - { 29173, 0x00008053 }, /* GL_RGB12 */ - { 29182, 0x00008053 }, /* GL_RGB12_EXT */ - { 29195, 0x00008054 }, /* GL_RGB16 */ - { 29204, 0x00008054 }, /* GL_RGB16_EXT */ - { 29217, 0x0000804E }, /* GL_RGB2_EXT */ - { 29229, 0x0000804F }, /* GL_RGB4 */ - { 29237, 0x0000804F }, /* GL_RGB4_EXT */ - { 29249, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 29262, 0x00008050 }, /* GL_RGB5 */ - { 29270, 0x00008057 }, /* GL_RGB5_A1 */ - { 29281, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 29296, 0x00008050 }, /* GL_RGB5_EXT */ - { 29308, 0x00008051 }, /* GL_RGB8 */ - { 29316, 0x00008051 }, /* GL_RGB8_EXT */ - { 29328, 0x00001908 }, /* GL_RGBA */ - { 29336, 0x0000805A }, /* GL_RGBA12 */ - { 29346, 0x0000805A }, /* GL_RGBA12_EXT */ - { 29360, 0x0000805B }, /* GL_RGBA16 */ - { 29370, 0x0000805B }, /* GL_RGBA16_EXT */ - { 29384, 0x00008055 }, /* GL_RGBA2 */ - { 29393, 0x00008055 }, /* GL_RGBA2_EXT */ - { 29406, 0x00008056 }, /* GL_RGBA4 */ - { 29415, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 29434, 0x00008056 }, /* GL_RGBA4_EXT */ - { 29447, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 29461, 0x00008058 }, /* GL_RGBA8 */ - { 29470, 0x00008058 }, /* GL_RGBA8_EXT */ - { 29483, 0x00008F97 }, /* GL_RGBA8_SNORM */ - { 29498, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 29516, 0x00000C31 }, /* GL_RGBA_MODE */ - { 29529, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 29542, 0x00008F93 }, /* GL_RGBA_SNORM */ - { 29556, 0x000083A0 }, /* GL_RGB_S3TC */ - { 29568, 0x00008573 }, /* GL_RGB_SCALE */ - { 29581, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 29598, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 29615, 0x00000407 }, /* GL_RIGHT */ - { 29624, 0x00002000 }, /* GL_S */ - { 29629, 0x00008B5D }, /* GL_SAMPLER_1D */ - { 29643, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ - { 29664, 0x00008B5E }, /* GL_SAMPLER_2D */ - { 29678, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ - { 29699, 0x00008B5F }, /* GL_SAMPLER_3D */ - { 29713, 0x00008B60 }, /* GL_SAMPLER_CUBE */ - { 29729, 0x000080A9 }, /* GL_SAMPLES */ - { 29740, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 29756, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 29771, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 29789, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 29811, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 29839, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 29871, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 29894, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 29921, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 29939, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 29962, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 29984, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 30003, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 30026, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 30052, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 30082, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 30107, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 30136, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 30151, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 30166, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 30182, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 30207, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 30247, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 30291, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 30324, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 30354, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 30386, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 30416, 0x00001C02 }, /* GL_SELECT */ - { 30426, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 30454, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 30479, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 30495, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 30522, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 30553, 0x0000150F }, /* GL_SET */ - { 30560, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 30581, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ - { 30605, 0x00008B4F }, /* GL_SHADER_TYPE */ - { 30620, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 30635, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ - { 30663, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 30686, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 30716, 0x00001601 }, /* GL_SHININESS */ - { 30729, 0x00001402 }, /* GL_SHORT */ - { 30738, 0x00009119 }, /* GL_SIGNALED */ - { 30750, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ - { 30771, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 30787, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 30807, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 30826, 0x00008C46 }, /* GL_SLUMINANCE */ - { 30840, 0x00008C47 }, /* GL_SLUMINANCE8 */ - { 30855, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ - { 30877, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ - { 30897, 0x00001D01 }, /* GL_SMOOTH */ - { 30907, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 30940, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 30967, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 31000, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 31027, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 31044, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 31065, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 31086, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 31101, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 31120, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 31139, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 31156, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 31177, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 31198, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 31213, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 31232, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 31251, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 31268, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 31289, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 31310, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 31325, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 31344, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 31363, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 31383, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 31401, 0x00001202 }, /* GL_SPECULAR */ - { 31413, 0x00002402 }, /* GL_SPHERE_MAP */ - { 31427, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 31442, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 31460, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 31477, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 31491, 0x00008580 }, /* GL_SRC0_RGB */ - { 31503, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 31517, 0x00008581 }, /* GL_SRC1_RGB */ - { 31529, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 31543, 0x00008582 }, /* GL_SRC2_RGB */ - { 31555, 0x00000302 }, /* GL_SRC_ALPHA */ - { 31568, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 31590, 0x00000300 }, /* GL_SRC_COLOR */ - { 31603, 0x00008C40 }, /* GL_SRGB */ - { 31611, 0x00008C41 }, /* GL_SRGB8 */ - { 31620, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ - { 31636, 0x00008C42 }, /* GL_SRGB_ALPHA */ - { 31650, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 31668, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 31687, 0x000088E6 }, /* GL_STATIC_COPY */ - { 31702, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 31721, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 31736, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 31755, 0x000088E5 }, /* GL_STATIC_READ */ - { 31770, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 31789, 0x00001802 }, /* GL_STENCIL */ - { 31800, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ - { 31822, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 31848, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ - { 31869, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ - { 31894, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ - { 31915, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ - { 31940, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - { 31972, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ - { 32008, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - { 32040, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ - { 32076, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ - { 32096, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ - { 32123, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ - { 32149, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 32165, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 32187, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 32210, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 32226, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 32242, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 32259, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 32282, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 32304, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 32326, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 32348, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 32369, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 32396, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 32423, 0x00000B97 }, /* GL_STENCIL_REF */ - { 32438, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 32454, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 32483, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 32505, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 32526, 0x00000C33 }, /* GL_STEREO */ - { 32536, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ - { 32560, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ - { 32585, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ - { 32609, 0x000088E2 }, /* GL_STREAM_COPY */ - { 32624, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 32643, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 32658, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 32677, 0x000088E1 }, /* GL_STREAM_READ */ - { 32692, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 32711, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 32728, 0x000084E7 }, /* GL_SUBTRACT */ - { 32740, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 32756, 0x00009113 }, /* GL_SYNC_CONDITION */ - { 32774, 0x00009116 }, /* GL_SYNC_FENCE */ - { 32788, 0x00009115 }, /* GL_SYNC_FLAGS */ - { 32802, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ - { 32829, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - { 32859, 0x00009114 }, /* GL_SYNC_STATUS */ - { 32874, 0x00002001 }, /* GL_T */ - { 32879, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 32894, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 32913, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 32929, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 32944, 0x00002A27 }, /* GL_T2F_V3F */ - { 32955, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 32974, 0x00002A28 }, /* GL_T4F_V4F */ - { 32985, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 33008, 0x00001702 }, /* GL_TEXTURE */ - { 33019, 0x000084C0 }, /* GL_TEXTURE0 */ - { 33031, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 33047, 0x000084C1 }, /* GL_TEXTURE1 */ - { 33059, 0x000084CA }, /* GL_TEXTURE10 */ - { 33072, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 33089, 0x000084CB }, /* GL_TEXTURE11 */ - { 33102, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 33119, 0x000084CC }, /* GL_TEXTURE12 */ - { 33132, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 33149, 0x000084CD }, /* GL_TEXTURE13 */ - { 33162, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 33179, 0x000084CE }, /* GL_TEXTURE14 */ - { 33192, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 33209, 0x000084CF }, /* GL_TEXTURE15 */ - { 33222, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 33239, 0x000084D0 }, /* GL_TEXTURE16 */ - { 33252, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 33269, 0x000084D1 }, /* GL_TEXTURE17 */ - { 33282, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 33299, 0x000084D2 }, /* GL_TEXTURE18 */ - { 33312, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 33329, 0x000084D3 }, /* GL_TEXTURE19 */ - { 33342, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 33359, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 33375, 0x000084C2 }, /* GL_TEXTURE2 */ - { 33387, 0x000084D4 }, /* GL_TEXTURE20 */ - { 33400, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 33417, 0x000084D5 }, /* GL_TEXTURE21 */ - { 33430, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 33447, 0x000084D6 }, /* GL_TEXTURE22 */ - { 33460, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 33477, 0x000084D7 }, /* GL_TEXTURE23 */ - { 33490, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 33507, 0x000084D8 }, /* GL_TEXTURE24 */ - { 33520, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 33537, 0x000084D9 }, /* GL_TEXTURE25 */ - { 33550, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 33567, 0x000084DA }, /* GL_TEXTURE26 */ - { 33580, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 33597, 0x000084DB }, /* GL_TEXTURE27 */ - { 33610, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 33627, 0x000084DC }, /* GL_TEXTURE28 */ - { 33640, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 33657, 0x000084DD }, /* GL_TEXTURE29 */ - { 33670, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 33687, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 33703, 0x000084C3 }, /* GL_TEXTURE3 */ - { 33715, 0x000084DE }, /* GL_TEXTURE30 */ - { 33728, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 33745, 0x000084DF }, /* GL_TEXTURE31 */ - { 33758, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 33775, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 33791, 0x000084C4 }, /* GL_TEXTURE4 */ - { 33803, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 33819, 0x000084C5 }, /* GL_TEXTURE5 */ - { 33831, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 33847, 0x000084C6 }, /* GL_TEXTURE6 */ - { 33859, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 33875, 0x000084C7 }, /* GL_TEXTURE7 */ - { 33887, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 33903, 0x000084C8 }, /* GL_TEXTURE8 */ - { 33915, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 33931, 0x000084C9 }, /* GL_TEXTURE9 */ - { 33943, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 33959, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 33973, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ - { 33997, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 34011, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ - { 34035, 0x0000806F }, /* GL_TEXTURE_3D */ - { 34049, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 34071, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 34097, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 34119, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 34141, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - { 34173, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 34195, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - { 34227, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 34249, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 34277, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 34309, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 34342, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 34374, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 34389, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 34410, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 34435, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 34453, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 34477, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 34508, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 34538, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 34568, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 34603, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 34634, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 34672, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 34699, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 34731, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 34765, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 34789, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 34817, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 34841, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 34869, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 34902, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 34926, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 34948, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 34970, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 34996, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 35030, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 35063, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 35100, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 35128, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 35160, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 35183, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 35221, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 35263, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 35294, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 35322, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 35352, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 35380, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 35400, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 35424, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 35455, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 35490, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 35521, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 35556, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 35587, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 35622, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 35653, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 35688, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 35719, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 35754, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 35785, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 35820, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - { 35849, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 35866, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 35888, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 35914, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 35929, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 35950, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 35970, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 35996, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 36016, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 36033, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 36050, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 36067, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 36084, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 36109, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 36131, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 36157, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 36175, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 36201, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 36227, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 36257, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 36284, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 36309, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 36329, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 36353, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 36380, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 36407, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 36434, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 36460, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 36490, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 36512, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 36530, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 36560, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 36588, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 36616, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 36644, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 36665, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 36684, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 36706, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 36725, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 36745, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - { 36775, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - { 36806, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 36831, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 36855, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 36875, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 36899, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 36919, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 36942, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ - { 36966, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - { 36996, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 37021, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 37055, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 37072, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 37090, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 37108, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 37126, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ - { 37145, 0xFFFFFFFFFFFFFFFF }, /* GL_TIMEOUT_IGNORED */ - { 37164, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 37184, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 37203, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 37232, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 37249, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 37275, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 37305, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 37337, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 37367, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 37401, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 37417, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 37448, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 37483, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 37511, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 37543, 0x00000004 }, /* GL_TRIANGLES */ - { 37556, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 37572, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 37593, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 37611, 0x00000001 }, /* GL_TRUE */ - { 37619, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 37639, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 37662, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 37682, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 37703, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 37725, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 37747, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 37767, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 37788, 0x00009118 }, /* GL_UNSIGNALED */ - { 37802, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 37819, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 37846, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 37869, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 37885, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 37912, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ - { 37933, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 37957, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 37988, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 38012, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 38040, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ - { 38063, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 38081, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 38111, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 38137, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 38167, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 38193, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 38217, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 38245, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 38273, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 38300, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 38332, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 38363, 0x00008CA2 }, /* GL_UPPER_LEFT */ - { 38377, 0x00002A20 }, /* GL_V2F */ - { 38384, 0x00002A21 }, /* GL_V3F */ - { 38391, 0x00008B83 }, /* GL_VALIDATE_STATUS */ - { 38410, 0x00001F00 }, /* GL_VENDOR */ - { 38420, 0x00001F02 }, /* GL_VERSION */ - { 38431, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 38447, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ - { 38471, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 38501, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 38532, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 38567, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 38591, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 38612, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 38635, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 38656, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 38683, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 38711, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 38739, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 38767, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 38795, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 38823, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 38851, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 38878, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 38905, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 38932, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 38959, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 38986, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 39013, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 39040, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 39067, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 39094, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 39132, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 39174, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 39205, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 39240, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 39274, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 39312, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 39343, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 39378, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 39406, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 39438, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 39468, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 39502, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 39530, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 39562, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 39582, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 39604, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 39633, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 39654, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 39683, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 39716, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 39748, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 39775, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 39806, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 39836, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 39853, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 39874, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 39901, 0x00000BA2 }, /* GL_VIEWPORT */ - { 39913, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 39929, 0x0000911D }, /* GL_WAIT_FAILED */ - { 39944, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 39964, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 39995, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 40030, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 40058, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 40083, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 40110, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 40135, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 40159, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 40178, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 40192, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 40210, 0x00001506 }, /* GL_XOR */ - { 40217, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 40236, 0x00008757 }, /* GL_YCBCR_MESA */ - { 40250, 0x00000000 }, /* GL_ZERO */ - { 40258, 0x00000D16 }, /* GL_ZOOM_X */ - { 40268, 0x00000D17 }, /* GL_ZOOM_Y */ + { 7327, 0x0000864F }, /* GL_DEPTH_CLAMP */ + { 7342, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ + { 7360, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ + { 7381, 0x00001902 }, /* GL_DEPTH_COMPONENT */ + { 7400, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ + { 7421, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ + { 7446, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ + { 7472, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ + { 7493, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ + { 7518, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ + { 7544, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ + { 7565, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ + { 7590, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ + { 7616, 0x00000B74 }, /* GL_DEPTH_FUNC */ + { 7630, 0x00000B70 }, /* GL_DEPTH_RANGE */ + { 7645, 0x00000D1E }, /* GL_DEPTH_SCALE */ + { 7660, 0x000084F9 }, /* GL_DEPTH_STENCIL */ + { 7677, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */ + { 7705, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ + { 7725, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + { 7753, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + { 7781, 0x00000B71 }, /* GL_DEPTH_TEST */ + { 7795, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ + { 7817, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ + { 7843, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ + { 7862, 0x00001201 }, /* GL_DIFFUSE */ + { 7873, 0x00000BD0 }, /* GL_DITHER */ + { 7883, 0x00000A02 }, /* GL_DOMAIN */ + { 7893, 0x00001100 }, /* GL_DONT_CARE */ + { 7906, 0x000086AE }, /* GL_DOT3_RGB */ + { 7918, 0x000086AF }, /* GL_DOT3_RGBA */ + { 7931, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ + { 7948, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ + { 7965, 0x000086AE }, /* GL_DOT3_RGB_ARB */ + { 7981, 0x00008740 }, /* GL_DOT3_RGB_EXT */ + { 7997, 0x0000140A }, /* GL_DOUBLE */ + { 8007, 0x00000C32 }, /* GL_DOUBLEBUFFER */ + { 8023, 0x00000C01 }, /* GL_DRAW_BUFFER */ + { 8038, 0x00008825 }, /* GL_DRAW_BUFFER0 */ + { 8054, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ + { 8074, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ + { 8094, 0x00008826 }, /* GL_DRAW_BUFFER1 */ + { 8110, 0x0000882F }, /* GL_DRAW_BUFFER10 */ + { 8127, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ + { 8148, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ + { 8169, 0x00008830 }, /* GL_DRAW_BUFFER11 */ + { 8186, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ + { 8207, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ + { 8228, 0x00008831 }, /* GL_DRAW_BUFFER12 */ + { 8245, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ + { 8266, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ + { 8287, 0x00008832 }, /* GL_DRAW_BUFFER13 */ + { 8304, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ + { 8325, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ + { 8346, 0x00008833 }, /* GL_DRAW_BUFFER14 */ + { 8363, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ + { 8384, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ + { 8405, 0x00008834 }, /* GL_DRAW_BUFFER15 */ + { 8422, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ + { 8443, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ + { 8464, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ + { 8484, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ + { 8504, 0x00008827 }, /* GL_DRAW_BUFFER2 */ + { 8520, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ + { 8540, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ + { 8560, 0x00008828 }, /* GL_DRAW_BUFFER3 */ + { 8576, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ + { 8596, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ + { 8616, 0x00008829 }, /* GL_DRAW_BUFFER4 */ + { 8632, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ + { 8652, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ + { 8672, 0x0000882A }, /* GL_DRAW_BUFFER5 */ + { 8688, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ + { 8708, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ + { 8728, 0x0000882B }, /* GL_DRAW_BUFFER6 */ + { 8744, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ + { 8764, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ + { 8784, 0x0000882C }, /* GL_DRAW_BUFFER7 */ + { 8800, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ + { 8820, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ + { 8840, 0x0000882D }, /* GL_DRAW_BUFFER8 */ + { 8856, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ + { 8876, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ + { 8896, 0x0000882E }, /* GL_DRAW_BUFFER9 */ + { 8912, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ + { 8932, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ + { 8952, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */ + { 8972, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + { 9004, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ + { 9028, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ + { 9048, 0x00000304 }, /* GL_DST_ALPHA */ + { 9061, 0x00000306 }, /* GL_DST_COLOR */ + { 9074, 0x0000877A }, /* GL_DU8DV8_ATI */ + { 9088, 0x00008779 }, /* GL_DUDV_ATI */ + { 9100, 0x000088EA }, /* GL_DYNAMIC_COPY */ + { 9116, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ + { 9136, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ + { 9152, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ + { 9172, 0x000088E9 }, /* GL_DYNAMIC_READ */ + { 9188, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ + { 9208, 0x00000B43 }, /* GL_EDGE_FLAG */ + { 9221, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ + { 9240, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + { 9274, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ + { 9312, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ + { 9339, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + { 9365, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ + { 9389, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + { 9421, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ + { 9457, 0x00001600 }, /* GL_EMISSION */ + { 9469, 0x00002000 }, /* GL_ENABLE_BIT */ + { 9483, 0x00000202 }, /* GL_EQUAL */ + { 9492, 0x00001509 }, /* GL_EQUIV */ + { 9501, 0x00010000 }, /* GL_EVAL_BIT */ + { 9513, 0x00000800 }, /* GL_EXP */ + { 9520, 0x00000801 }, /* GL_EXP2 */ + { 9528, 0x00001F03 }, /* GL_EXTENSIONS */ + { 9542, 0x00002400 }, /* GL_EYE_LINEAR */ + { 9556, 0x00002502 }, /* GL_EYE_PLANE */ + { 9569, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ + { 9594, 0x0000855B }, /* GL_EYE_RADIAL_NV */ + { 9611, 0x00000000 }, /* GL_FALSE */ + { 9620, 0x00001101 }, /* GL_FASTEST */ + { 9631, 0x00001C01 }, /* GL_FEEDBACK */ + { 9643, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ + { 9670, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ + { 9694, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ + { 9718, 0x00001B02 }, /* GL_FILL */ + { 9726, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */ + { 9757, 0x00001D00 }, /* GL_FLAT */ + { 9765, 0x00001406 }, /* GL_FLOAT */ + { 9774, 0x00008B5A }, /* GL_FLOAT_MAT2 */ + { 9788, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ + { 9806, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */ + { 9822, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */ + { 9838, 0x00008B5B }, /* GL_FLOAT_MAT3 */ + { 9852, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ + { 9870, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */ + { 9886, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */ + { 9902, 0x00008B5C }, /* GL_FLOAT_MAT4 */ + { 9916, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ + { 9934, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */ + { 9950, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */ + { 9966, 0x00008B50 }, /* GL_FLOAT_VEC2 */ + { 9980, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ + { 9998, 0x00008B51 }, /* GL_FLOAT_VEC3 */ + { 10012, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ + { 10030, 0x00008B52 }, /* GL_FLOAT_VEC4 */ + { 10044, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ + { 10062, 0x00000B60 }, /* GL_FOG */ + { 10069, 0x00000080 }, /* GL_FOG_BIT */ + { 10080, 0x00000B66 }, /* GL_FOG_COLOR */ + { 10093, 0x00008451 }, /* GL_FOG_COORD */ + { 10106, 0x00008451 }, /* GL_FOG_COORDINATE */ + { 10124, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ + { 10148, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + { 10187, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ + { 10230, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + { 10262, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + { 10293, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + { 10322, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ + { 10347, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ + { 10366, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ + { 10400, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ + { 10427, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ + { 10453, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ + { 10477, 0x00008450 }, /* GL_FOG_COORD_SRC */ + { 10494, 0x00000B62 }, /* GL_FOG_DENSITY */ + { 10509, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ + { 10533, 0x00000B64 }, /* GL_FOG_END */ + { 10544, 0x00000C54 }, /* GL_FOG_HINT */ + { 10556, 0x00000B61 }, /* GL_FOG_INDEX */ + { 10569, 0x00000B65 }, /* GL_FOG_MODE */ + { 10581, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ + { 10600, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ + { 10625, 0x00000B63 }, /* GL_FOG_START */ + { 10638, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ + { 10656, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ + { 10680, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ + { 10699, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ + { 10722, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + { 10757, 0x00008D40 }, /* GL_FRAMEBUFFER */ + { 10772, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ + { 10809, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ + { 10845, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ + { 10886, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ + { 10927, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ + { 10964, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ + { 11001, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + { 11039, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + { 11081, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + { 11119, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + { 11161, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + { 11196, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + { 11235, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + { 11284, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + { 11332, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + { 11384, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + { 11424, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ + { 11468, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + { 11508, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + { 11552, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ + { 11579, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ + { 11603, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + { 11631, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ + { 11654, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ + { 11673, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + { 11710, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + { 11751, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + { 11792, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + { 11834, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + { 11885, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + { 11923, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + { 11968, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + { 12017, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + { 12055, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + { 12097, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + { 12129, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ + { 12154, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ + { 12181, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + { 12212, 0x00000404 }, /* GL_FRONT */ + { 12221, 0x00000408 }, /* GL_FRONT_AND_BACK */ + { 12239, 0x00000B46 }, /* GL_FRONT_FACE */ + { 12253, 0x00000400 }, /* GL_FRONT_LEFT */ + { 12267, 0x00000401 }, /* GL_FRONT_RIGHT */ + { 12282, 0x00008006 }, /* GL_FUNC_ADD */ + { 12294, 0x00008006 }, /* GL_FUNC_ADD_EXT */ + { 12310, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ + { 12335, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ + { 12364, 0x0000800A }, /* GL_FUNC_SUBTRACT */ + { 12381, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ + { 12402, 0x00008191 }, /* GL_GENERATE_MIPMAP */ + { 12421, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ + { 12445, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ + { 12474, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ + { 12498, 0x00000206 }, /* GL_GEQUAL */ + { 12508, 0x00000204 }, /* GL_GREATER */ + { 12519, 0x00001904 }, /* GL_GREEN */ + { 12528, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 12542, 0x00000D53 }, /* GL_GREEN_BITS */ + { 12556, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 12571, 0x00008000 }, /* GL_HINT_BIT */ + { 12583, 0x00008024 }, /* GL_HISTOGRAM */ + { 12596, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 12620, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 12648, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 12671, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 12698, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 12715, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 12735, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 12759, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 12783, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 12811, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 12839, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 12871, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 12893, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 12919, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 12937, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 12959, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 12978, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 13001, 0x0000862A }, /* GL_IDENTITY_NV */ + { 13016, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 13036, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 13076, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 13114, 0x00001E02 }, /* GL_INCR */ + { 13122, 0x00008507 }, /* GL_INCR_WRAP */ + { 13135, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 13152, 0x00008222 }, /* GL_INDEX */ + { 13161, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 13176, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 13206, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 13240, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 13263, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 13285, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 13305, 0x00000D51 }, /* GL_INDEX_BITS */ + { 13319, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 13340, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 13358, 0x00000C30 }, /* GL_INDEX_MODE */ + { 13372, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 13388, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 13403, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 13422, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 13441, 0x00001404 }, /* GL_INT */ + { 13448, 0x00008049 }, /* GL_INTENSITY */ + { 13461, 0x0000804C }, /* GL_INTENSITY12 */ + { 13476, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 13495, 0x0000804D }, /* GL_INTENSITY16 */ + { 13510, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 13529, 0x0000804A }, /* GL_INTENSITY4 */ + { 13543, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 13561, 0x0000804B }, /* GL_INTENSITY8 */ + { 13575, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 13593, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 13610, 0x00008575 }, /* GL_INTERPOLATE */ + { 13625, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 13644, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 13663, 0x00008B53 }, /* GL_INT_VEC2 */ + { 13675, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 13691, 0x00008B54 }, /* GL_INT_VEC3 */ + { 13703, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 13719, 0x00008B55 }, /* GL_INT_VEC4 */ + { 13731, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 13747, 0x00000500 }, /* GL_INVALID_ENUM */ + { 13763, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + { 13796, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 13833, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 13854, 0x00000501 }, /* GL_INVALID_VALUE */ + { 13871, 0x0000862B }, /* GL_INVERSE_NV */ + { 13885, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 13909, 0x0000150A }, /* GL_INVERT */ + { 13919, 0x00001E00 }, /* GL_KEEP */ + { 13927, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ + { 13957, 0x00000406 }, /* GL_LEFT */ + { 13965, 0x00000203 }, /* GL_LEQUAL */ + { 13975, 0x00000201 }, /* GL_LESS */ + { 13983, 0x00004000 }, /* GL_LIGHT0 */ + { 13993, 0x00004001 }, /* GL_LIGHT1 */ + { 14003, 0x00004002 }, /* GL_LIGHT2 */ + { 14013, 0x00004003 }, /* GL_LIGHT3 */ + { 14023, 0x00004004 }, /* GL_LIGHT4 */ + { 14033, 0x00004005 }, /* GL_LIGHT5 */ + { 14043, 0x00004006 }, /* GL_LIGHT6 */ + { 14053, 0x00004007 }, /* GL_LIGHT7 */ + { 14063, 0x00000B50 }, /* GL_LIGHTING */ + { 14075, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 14091, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 14114, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 14143, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 14176, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 14204, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 14228, 0x00001B01 }, /* GL_LINE */ + { 14236, 0x00002601 }, /* GL_LINEAR */ + { 14246, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 14268, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 14298, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 14329, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 14353, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 14378, 0x00000001 }, /* GL_LINES */ + { 14387, 0x00000004 }, /* GL_LINE_BIT */ + { 14399, 0x00000002 }, /* GL_LINE_LOOP */ + { 14412, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 14432, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 14447, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 14467, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 14483, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 14507, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 14530, 0x00000003 }, /* GL_LINE_STRIP */ + { 14544, 0x00000702 }, /* GL_LINE_TOKEN */ + { 14558, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 14572, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 14598, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 14618, 0x00008B82 }, /* GL_LINK_STATUS */ + { 14633, 0x00000B32 }, /* GL_LIST_BASE */ + { 14646, 0x00020000 }, /* GL_LIST_BIT */ + { 14658, 0x00000B33 }, /* GL_LIST_INDEX */ + { 14672, 0x00000B30 }, /* GL_LIST_MODE */ + { 14685, 0x00000101 }, /* GL_LOAD */ + { 14693, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 14705, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 14722, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 14736, 0x00001909 }, /* GL_LUMINANCE */ + { 14749, 0x00008041 }, /* GL_LUMINANCE12 */ + { 14764, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 14787, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 14814, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 14836, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 14862, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 14881, 0x00008042 }, /* GL_LUMINANCE16 */ + { 14896, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 14919, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 14946, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 14965, 0x0000803F }, /* GL_LUMINANCE4 */ + { 14979, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 15000, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 15025, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 15043, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 15064, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 15089, 0x00008040 }, /* GL_LUMINANCE8 */ + { 15103, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 15124, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 15149, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 15167, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 15186, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 15202, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 15222, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 15244, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 15258, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 15273, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 15297, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 15321, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 15345, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 15369, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 15386, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 15403, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 15431, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 15460, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 15489, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 15518, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 15547, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 15576, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 15605, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 15633, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 15661, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 15689, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 15717, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 15745, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 15773, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 15801, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 15829, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 15857, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 15873, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 15893, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 15915, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 15929, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 15944, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 15968, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 15992, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 16016, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 16040, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 16057, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 16074, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 16102, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 16131, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 16160, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 16189, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 16218, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 16247, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 16276, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 16304, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 16332, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 16360, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 16388, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 16416, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 16444, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 16472, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 16500, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 16528, 0x00000D10 }, /* GL_MAP_COLOR */ + { 16541, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ + { 16567, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ + { 16596, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ + { 16624, 0x00000001 }, /* GL_MAP_READ_BIT */ + { 16640, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 16655, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ + { 16681, 0x00000002 }, /* GL_MAP_WRITE_BIT */ + { 16698, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 16713, 0x00008630 }, /* GL_MATRIX0_NV */ + { 16727, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 16743, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 16759, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 16775, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 16791, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 16807, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 16823, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 16839, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 16855, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 16871, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 16887, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 16902, 0x00008631 }, /* GL_MATRIX1_NV */ + { 16916, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 16932, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 16948, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 16964, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 16980, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 16996, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 17012, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 17028, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 17044, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 17060, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 17076, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 17091, 0x00008632 }, /* GL_MATRIX2_NV */ + { 17105, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 17121, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 17137, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 17152, 0x00008633 }, /* GL_MATRIX3_NV */ + { 17166, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 17181, 0x00008634 }, /* GL_MATRIX4_NV */ + { 17195, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 17210, 0x00008635 }, /* GL_MATRIX5_NV */ + { 17224, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 17239, 0x00008636 }, /* GL_MATRIX6_NV */ + { 17253, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 17268, 0x00008637 }, /* GL_MATRIX7_NV */ + { 17282, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 17297, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 17312, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 17338, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 17372, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 17403, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 17436, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 17467, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 17482, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 17504, 0x00008008 }, /* GL_MAX */ + { 17511, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 17534, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 17566, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 17592, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 17625, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 17651, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 17685, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 17704, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 17733, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 17765, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 17801, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 17837, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 17877, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 17903, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 17933, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 17958, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 17987, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 18016, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 18049, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 18069, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 18093, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 18117, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 18141, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 18166, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 18184, 0x00008008 }, /* GL_MAX_EXT */ + { 18195, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 18230, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 18269, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 18283, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 18303, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 18341, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 18370, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 18394, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 18422, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 18445, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 18482, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 18518, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 18545, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 18574, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 18608, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 18644, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 18671, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 18703, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 18739, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 18768, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 18797, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 18825, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 18863, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 18907, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 18950, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 18984, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 19023, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 19060, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 19098, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 19141, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 19184, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 19214, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 19245, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 19281, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 19317, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 19347, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 19381, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 19414, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 19443, 0x00008D57 }, /* GL_MAX_SAMPLES */ + { 19458, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + { 19485, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 19505, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 19529, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 19551, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 19577, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 19604, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 19635, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 19659, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 19693, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 19713, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 19740, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 19761, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 19786, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 19811, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 19846, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 19868, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 19894, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 19916, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 19942, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 19976, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 20014, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 20047, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 20084, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 20108, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 20129, 0x00008007 }, /* GL_MIN */ + { 20136, 0x0000802E }, /* GL_MINMAX */ + { 20146, 0x0000802E }, /* GL_MINMAX_EXT */ + { 20160, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 20177, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 20198, 0x00008030 }, /* GL_MINMAX_SINK */ + { 20213, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 20232, 0x00008007 }, /* GL_MIN_EXT */ + { 20243, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 20262, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 20285, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 20308, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 20328, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 20348, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 20378, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 20406, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 20434, 0x00001700 }, /* GL_MODELVIEW */ + { 20447, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 20465, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 20484, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 20503, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 20522, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 20541, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 20560, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 20579, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 20598, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 20617, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 20636, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 20655, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 20673, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 20692, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 20711, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 20730, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 20749, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 20768, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 20787, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 20806, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 20825, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 20844, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 20863, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 20881, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 20900, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 20919, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 20937, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 20955, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 20973, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 20991, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 21009, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 21027, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 21045, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 21065, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 21092, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 21117, 0x00002100 }, /* GL_MODULATE */ + { 21129, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 21149, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 21176, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 21201, 0x00000103 }, /* GL_MULT */ + { 21209, 0x0000809D }, /* GL_MULTISAMPLE */ + { 21224, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 21244, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 21263, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 21282, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 21306, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 21329, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 21359, 0x00002A25 }, /* GL_N3F_V3F */ + { 21370, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 21390, 0x0000150E }, /* GL_NAND */ + { 21398, 0x00002600 }, /* GL_NEAREST */ + { 21409, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 21440, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 21472, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 21497, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 21523, 0x00000200 }, /* GL_NEVER */ + { 21532, 0x00001102 }, /* GL_NICEST */ + { 21542, 0x00000000 }, /* GL_NONE */ + { 21550, 0x00001505 }, /* GL_NOOP */ + { 21558, 0x00001508 }, /* GL_NOR */ + { 21565, 0x00000BA1 }, /* GL_NORMALIZE */ + { 21578, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 21594, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 21625, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 21660, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 21684, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 21707, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 21728, 0x00008511 }, /* GL_NORMAL_MAP */ + { 21742, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 21760, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 21777, 0x00000205 }, /* GL_NOTEQUAL */ + { 21789, 0x00000000 }, /* GL_NO_ERROR */ + { 21801, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 21835, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 21873, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 21905, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 21947, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 21977, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 22017, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 22048, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 22077, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 22105, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 22135, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 22152, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 22178, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 22194, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 22229, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 22251, 0x00009112 }, /* GL_OBJECT_TYPE */ + { 22266, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 22285, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 22315, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 22336, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 22364, 0x00000001 }, /* GL_ONE */ + { 22371, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 22399, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 22431, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 22459, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 22491, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 22514, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 22537, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 22560, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 22583, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 22601, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 22623, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 22645, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 22661, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 22681, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 22701, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 22719, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 22741, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 22763, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 22779, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 22799, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 22819, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 22837, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 22859, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 22881, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 22897, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 22917, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 22937, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 22958, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 22977, 0x00001507 }, /* GL_OR */ + { 22983, 0x00000A01 }, /* GL_ORDER */ + { 22992, 0x0000150D }, /* GL_OR_INVERTED */ + { 23007, 0x0000150B }, /* GL_OR_REVERSE */ + { 23021, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 23038, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 23056, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 23077, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 23097, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 23115, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 23134, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 23154, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 23174, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 23192, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 23211, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 23236, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 23260, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 23281, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 23303, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 23325, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 23350, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 23374, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 23395, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 23417, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 23439, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 23461, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 23492, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 23512, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 23537, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 23557, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 23582, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 23602, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 23627, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 23647, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 23672, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 23692, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 23717, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 23737, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 23762, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 23782, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 23807, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 23827, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 23852, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 23872, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 23897, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 23917, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 23942, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 23960, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ + { 23981, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ + { 24010, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 24043, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 24068, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ + { 24091, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 24122, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 24157, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 24184, 0x00001B00 }, /* GL_POINT */ + { 24193, 0x00000000 }, /* GL_POINTS */ + { 24203, 0x00000002 }, /* GL_POINT_BIT */ + { 24216, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 24246, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 24280, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 24314, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 24349, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 24378, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 24411, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 24444, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 24478, 0x00000B11 }, /* GL_POINT_SIZE */ + { 24492, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 24518, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 24536, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 24558, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 24580, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 24603, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 24621, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 24643, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 24665, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 24688, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 24708, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 24724, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 24745, 0x00008861 }, /* GL_POINT_SPRITE */ + { 24761, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 24781, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 24810, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 24829, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 24855, 0x00000701 }, /* GL_POINT_TOKEN */ + { 24870, 0x00000009 }, /* GL_POLYGON */ + { 24881, 0x00000008 }, /* GL_POLYGON_BIT */ + { 24896, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 24912, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 24935, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 24960, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 24983, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 25006, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 25030, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 25054, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 25072, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 25095, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 25114, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 25137, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 25154, 0x00001203 }, /* GL_POSITION */ + { 25166, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 25198, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 25234, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 25267, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 25304, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 25335, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 25370, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 25402, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 25438, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 25471, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 25503, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 25539, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 25572, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 25609, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 25639, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 25673, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 25704, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 25739, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 25770, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 25805, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 25837, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 25873, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 25903, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 25937, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 25968, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 26003, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 26035, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 26066, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 26101, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 26133, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 26169, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 26198, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 26231, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 26261, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 26295, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 26334, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 26367, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 26407, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 26441, 0x00008578 }, /* GL_PREVIOUS */ + { 26453, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 26469, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 26485, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 26502, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 26523, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 26544, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 26577, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 26609, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 26632, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 26655, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 26685, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 26714, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 26742, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 26764, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 26792, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 26820, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 26842, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 26863, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 26903, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 26942, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 26972, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 27007, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 27040, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 27074, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 27113, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 27152, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 27174, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 27200, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 27224, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 27247, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 27269, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 27290, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 27311, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 27338, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 27370, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 27402, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 27437, 0x00001701 }, /* GL_PROJECTION */ + { 27451, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 27472, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 27498, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ + { 27522, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 27543, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 27562, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 27585, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 27624, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 27662, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 27682, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 27712, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 27736, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 27756, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 27786, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 27810, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 27830, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 27863, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 27889, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 27919, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 27950, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 27980, 0x00002003 }, /* GL_Q */ + { 27985, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 28010, 0x00000007 }, /* GL_QUADS */ + { 28019, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + { 28067, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 28084, 0x00000008 }, /* GL_QUAD_STRIP */ + { 28098, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 28120, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 28146, 0x00008866 }, /* GL_QUERY_RESULT */ + { 28162, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 28182, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 28208, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 28238, 0x00002002 }, /* GL_R */ + { 28243, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 28255, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 28288, 0x00000C02 }, /* GL_READ_BUFFER */ + { 28303, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ + { 28323, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 28355, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 28379, 0x000088B8 }, /* GL_READ_ONLY */ + { 28392, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 28409, 0x000088BA }, /* GL_READ_WRITE */ + { 28423, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 28441, 0x00001903 }, /* GL_RED */ + { 28448, 0x00008016 }, /* GL_REDUCE */ + { 28458, 0x00008016 }, /* GL_REDUCE_EXT */ + { 28472, 0x00000D15 }, /* GL_RED_BIAS */ + { 28484, 0x00000D52 }, /* GL_RED_BITS */ + { 28496, 0x00000D14 }, /* GL_RED_SCALE */ + { 28509, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 28527, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 28549, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 28570, 0x00001C00 }, /* GL_RENDER */ + { 28580, 0x00008D41 }, /* GL_RENDERBUFFER */ + { 28596, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ + { 28623, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 28651, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ + { 28677, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ + { 28704, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 28724, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ + { 28751, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ + { 28774, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 28801, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + { 28833, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 28869, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ + { 28894, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ + { 28918, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ + { 28947, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ + { 28969, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 28995, 0x00001F01 }, /* GL_RENDERER */ + { 29007, 0x00000C40 }, /* GL_RENDER_MODE */ + { 29022, 0x00002901 }, /* GL_REPEAT */ + { 29032, 0x00001E01 }, /* GL_REPLACE */ + { 29043, 0x00008062 }, /* GL_REPLACE_EXT */ + { 29058, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 29081, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 29099, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 29121, 0x00000102 }, /* GL_RETURN */ + { 29131, 0x00001907 }, /* GL_RGB */ + { 29138, 0x00008052 }, /* GL_RGB10 */ + { 29147, 0x00008059 }, /* GL_RGB10_A2 */ + { 29159, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 29175, 0x00008052 }, /* GL_RGB10_EXT */ + { 29188, 0x00008053 }, /* GL_RGB12 */ + { 29197, 0x00008053 }, /* GL_RGB12_EXT */ + { 29210, 0x00008054 }, /* GL_RGB16 */ + { 29219, 0x00008054 }, /* GL_RGB16_EXT */ + { 29232, 0x0000804E }, /* GL_RGB2_EXT */ + { 29244, 0x0000804F }, /* GL_RGB4 */ + { 29252, 0x0000804F }, /* GL_RGB4_EXT */ + { 29264, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 29277, 0x00008050 }, /* GL_RGB5 */ + { 29285, 0x00008057 }, /* GL_RGB5_A1 */ + { 29296, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 29311, 0x00008050 }, /* GL_RGB5_EXT */ + { 29323, 0x00008051 }, /* GL_RGB8 */ + { 29331, 0x00008051 }, /* GL_RGB8_EXT */ + { 29343, 0x00001908 }, /* GL_RGBA */ + { 29351, 0x0000805A }, /* GL_RGBA12 */ + { 29361, 0x0000805A }, /* GL_RGBA12_EXT */ + { 29375, 0x0000805B }, /* GL_RGBA16 */ + { 29385, 0x0000805B }, /* GL_RGBA16_EXT */ + { 29399, 0x00008055 }, /* GL_RGBA2 */ + { 29408, 0x00008055 }, /* GL_RGBA2_EXT */ + { 29421, 0x00008056 }, /* GL_RGBA4 */ + { 29430, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 29449, 0x00008056 }, /* GL_RGBA4_EXT */ + { 29462, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 29476, 0x00008058 }, /* GL_RGBA8 */ + { 29485, 0x00008058 }, /* GL_RGBA8_EXT */ + { 29498, 0x00008F97 }, /* GL_RGBA8_SNORM */ + { 29513, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 29531, 0x00000C31 }, /* GL_RGBA_MODE */ + { 29544, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 29557, 0x00008F93 }, /* GL_RGBA_SNORM */ + { 29571, 0x000083A0 }, /* GL_RGB_S3TC */ + { 29583, 0x00008573 }, /* GL_RGB_SCALE */ + { 29596, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 29613, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 29630, 0x00000407 }, /* GL_RIGHT */ + { 29639, 0x00002000 }, /* GL_S */ + { 29644, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 29658, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 29679, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 29693, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 29714, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 29728, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 29744, 0x000080A9 }, /* GL_SAMPLES */ + { 29755, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 29771, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 29786, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 29804, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 29826, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 29854, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 29886, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 29909, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 29936, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 29954, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 29977, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 29999, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 30018, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 30041, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 30067, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 30097, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 30122, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 30151, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 30166, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 30181, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 30197, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 30222, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 30262, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 30306, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 30339, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 30369, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 30401, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 30431, 0x00001C02 }, /* GL_SELECT */ + { 30441, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 30469, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 30494, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 30510, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 30537, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 30568, 0x0000150F }, /* GL_SET */ + { 30575, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 30596, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 30620, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 30635, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 30650, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 30678, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 30701, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 30731, 0x00001601 }, /* GL_SHININESS */ + { 30744, 0x00001402 }, /* GL_SHORT */ + { 30753, 0x00009119 }, /* GL_SIGNALED */ + { 30765, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ + { 30786, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 30802, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 30822, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 30841, 0x00008C46 }, /* GL_SLUMINANCE */ + { 30855, 0x00008C47 }, /* GL_SLUMINANCE8 */ + { 30870, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ + { 30892, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ + { 30912, 0x00001D01 }, /* GL_SMOOTH */ + { 30922, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 30955, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 30982, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 31015, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 31042, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 31059, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 31080, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 31101, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 31116, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 31135, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 31154, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 31171, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 31192, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 31213, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 31228, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 31247, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 31266, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 31283, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 31304, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 31325, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 31340, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 31359, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 31378, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 31398, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 31416, 0x00001202 }, /* GL_SPECULAR */ + { 31428, 0x00002402 }, /* GL_SPHERE_MAP */ + { 31442, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 31457, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 31475, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 31492, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 31506, 0x00008580 }, /* GL_SRC0_RGB */ + { 31518, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 31532, 0x00008581 }, /* GL_SRC1_RGB */ + { 31544, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 31558, 0x00008582 }, /* GL_SRC2_RGB */ + { 31570, 0x00000302 }, /* GL_SRC_ALPHA */ + { 31583, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 31605, 0x00000300 }, /* GL_SRC_COLOR */ + { 31618, 0x00008C40 }, /* GL_SRGB */ + { 31626, 0x00008C41 }, /* GL_SRGB8 */ + { 31635, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ + { 31651, 0x00008C42 }, /* GL_SRGB_ALPHA */ + { 31665, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 31683, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 31702, 0x000088E6 }, /* GL_STATIC_COPY */ + { 31717, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 31736, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 31751, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 31770, 0x000088E5 }, /* GL_STATIC_READ */ + { 31785, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 31804, 0x00001802 }, /* GL_STENCIL */ + { 31815, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ + { 31837, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 31863, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 31884, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 31909, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 31930, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 31955, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 31987, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 32023, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 32055, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 32091, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 32111, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 32138, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 32164, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 32180, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 32202, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 32225, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 32241, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 32257, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 32274, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 32297, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 32319, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 32341, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 32363, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 32384, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 32411, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 32438, 0x00000B97 }, /* GL_STENCIL_REF */ + { 32453, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 32469, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 32498, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 32520, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 32541, 0x00000C33 }, /* GL_STEREO */ + { 32551, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ + { 32575, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ + { 32600, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ + { 32624, 0x000088E2 }, /* GL_STREAM_COPY */ + { 32639, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 32658, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 32673, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 32692, 0x000088E1 }, /* GL_STREAM_READ */ + { 32707, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 32726, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 32743, 0x000084E7 }, /* GL_SUBTRACT */ + { 32755, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 32771, 0x00009113 }, /* GL_SYNC_CONDITION */ + { 32789, 0x00009116 }, /* GL_SYNC_FENCE */ + { 32803, 0x00009115 }, /* GL_SYNC_FLAGS */ + { 32817, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ + { 32844, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + { 32874, 0x00009114 }, /* GL_SYNC_STATUS */ + { 32889, 0x00002001 }, /* GL_T */ + { 32894, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 32909, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 32928, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 32944, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 32959, 0x00002A27 }, /* GL_T2F_V3F */ + { 32970, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 32989, 0x00002A28 }, /* GL_T4F_V4F */ + { 33000, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 33023, 0x00001702 }, /* GL_TEXTURE */ + { 33034, 0x000084C0 }, /* GL_TEXTURE0 */ + { 33046, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 33062, 0x000084C1 }, /* GL_TEXTURE1 */ + { 33074, 0x000084CA }, /* GL_TEXTURE10 */ + { 33087, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 33104, 0x000084CB }, /* GL_TEXTURE11 */ + { 33117, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 33134, 0x000084CC }, /* GL_TEXTURE12 */ + { 33147, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 33164, 0x000084CD }, /* GL_TEXTURE13 */ + { 33177, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 33194, 0x000084CE }, /* GL_TEXTURE14 */ + { 33207, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 33224, 0x000084CF }, /* GL_TEXTURE15 */ + { 33237, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 33254, 0x000084D0 }, /* GL_TEXTURE16 */ + { 33267, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 33284, 0x000084D1 }, /* GL_TEXTURE17 */ + { 33297, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 33314, 0x000084D2 }, /* GL_TEXTURE18 */ + { 33327, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 33344, 0x000084D3 }, /* GL_TEXTURE19 */ + { 33357, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 33374, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 33390, 0x000084C2 }, /* GL_TEXTURE2 */ + { 33402, 0x000084D4 }, /* GL_TEXTURE20 */ + { 33415, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 33432, 0x000084D5 }, /* GL_TEXTURE21 */ + { 33445, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 33462, 0x000084D6 }, /* GL_TEXTURE22 */ + { 33475, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 33492, 0x000084D7 }, /* GL_TEXTURE23 */ + { 33505, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 33522, 0x000084D8 }, /* GL_TEXTURE24 */ + { 33535, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 33552, 0x000084D9 }, /* GL_TEXTURE25 */ + { 33565, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 33582, 0x000084DA }, /* GL_TEXTURE26 */ + { 33595, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 33612, 0x000084DB }, /* GL_TEXTURE27 */ + { 33625, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 33642, 0x000084DC }, /* GL_TEXTURE28 */ + { 33655, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 33672, 0x000084DD }, /* GL_TEXTURE29 */ + { 33685, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 33702, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 33718, 0x000084C3 }, /* GL_TEXTURE3 */ + { 33730, 0x000084DE }, /* GL_TEXTURE30 */ + { 33743, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 33760, 0x000084DF }, /* GL_TEXTURE31 */ + { 33773, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 33790, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 33806, 0x000084C4 }, /* GL_TEXTURE4 */ + { 33818, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 33834, 0x000084C5 }, /* GL_TEXTURE5 */ + { 33846, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 33862, 0x000084C6 }, /* GL_TEXTURE6 */ + { 33874, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 33890, 0x000084C7 }, /* GL_TEXTURE7 */ + { 33902, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 33918, 0x000084C8 }, /* GL_TEXTURE8 */ + { 33930, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 33946, 0x000084C9 }, /* GL_TEXTURE9 */ + { 33958, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 33974, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 33988, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 34012, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 34026, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 34050, 0x0000806F }, /* GL_TEXTURE_3D */ + { 34064, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 34086, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 34112, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 34134, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 34156, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 34188, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 34210, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 34242, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 34264, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 34292, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 34324, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 34357, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 34389, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 34404, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 34425, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 34450, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 34468, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 34492, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 34523, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 34553, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 34583, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 34618, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 34649, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 34687, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 34714, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 34746, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 34780, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 34804, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 34832, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 34856, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 34884, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 34917, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 34941, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 34963, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 34985, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 35011, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 35045, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 35078, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 35115, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 35143, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 35175, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 35198, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 35236, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 35278, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 35309, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 35337, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 35367, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 35395, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 35415, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 35439, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 35470, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 35505, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 35536, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 35571, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 35602, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 35637, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 35668, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 35703, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 35734, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 35769, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 35800, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 35835, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + { 35864, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 35881, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 35903, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 35929, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 35944, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 35965, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 35985, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 36011, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 36031, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 36048, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 36065, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 36082, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 36099, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 36124, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 36146, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 36172, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 36190, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 36216, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 36242, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 36272, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 36299, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 36324, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 36344, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 36368, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 36395, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 36422, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 36449, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 36475, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 36505, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 36527, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 36545, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 36575, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 36603, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 36631, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 36659, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 36680, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 36699, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 36721, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 36740, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 36760, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + { 36790, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + { 36821, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 36846, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 36870, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 36890, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 36914, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 36934, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 36957, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ + { 36981, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + { 37011, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 37036, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 37070, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 37087, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 37105, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 37123, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 37141, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ + { 37160, 0xFFFFFFFFFFFFFFFF }, /* GL_TIMEOUT_IGNORED */ + { 37179, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 37199, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 37218, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 37247, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 37264, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 37290, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 37320, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 37352, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 37382, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 37416, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 37432, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 37463, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 37498, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 37526, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 37558, 0x00000004 }, /* GL_TRIANGLES */ + { 37571, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 37587, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 37608, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 37626, 0x00000001 }, /* GL_TRUE */ + { 37634, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 37654, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 37677, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 37697, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 37718, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 37740, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 37762, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 37782, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 37803, 0x00009118 }, /* GL_UNSIGNALED */ + { 37817, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 37834, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 37861, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 37884, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 37900, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 37927, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ + { 37948, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 37972, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 38003, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 38027, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 38055, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ + { 38078, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 38096, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 38126, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 38152, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 38182, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 38208, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 38232, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 38260, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 38288, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 38315, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 38347, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 38378, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 38392, 0x00002A20 }, /* GL_V2F */ + { 38399, 0x00002A21 }, /* GL_V3F */ + { 38406, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 38425, 0x00001F00 }, /* GL_VENDOR */ + { 38435, 0x00001F02 }, /* GL_VERSION */ + { 38446, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 38462, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ + { 38486, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 38516, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 38547, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 38582, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 38606, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 38627, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 38650, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 38671, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 38698, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 38726, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 38754, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 38782, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 38810, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 38838, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 38866, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 38893, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 38920, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 38947, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 38974, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 39001, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 39028, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 39055, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 39082, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 39109, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 39147, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 39189, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 39220, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 39255, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 39289, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 39327, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 39358, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 39393, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 39421, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 39453, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 39483, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 39517, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 39545, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 39577, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 39597, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 39619, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 39648, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 39669, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 39698, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 39731, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 39763, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 39790, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 39821, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 39851, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 39868, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 39889, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 39916, 0x00000BA2 }, /* GL_VIEWPORT */ + { 39928, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 39944, 0x0000911D }, /* GL_WAIT_FAILED */ + { 39959, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 39979, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 40010, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 40045, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 40073, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 40098, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 40125, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 40150, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 40174, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 40193, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 40207, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 40225, 0x00001506 }, /* GL_XOR */ + { 40232, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 40251, 0x00008757 }, /* GL_YCBCR_MESA */ + { 40265, 0x00000000 }, /* GL_ZERO */ + { 40273, 0x00000D16 }, /* GL_ZOOM_X */ + { 40283, 0x00000D17 }, /* GL_ZOOM_Y */ }; static const unsigned reduced_enums[1347] = { - 475, /* GL_FALSE */ - 691, /* GL_LINES */ - 693, /* GL_LINE_LOOP */ - 700, /* GL_LINE_STRIP */ - 1743, /* GL_TRIANGLES */ - 1746, /* GL_TRIANGLE_STRIP */ - 1744, /* GL_TRIANGLE_FAN */ - 1271, /* GL_QUADS */ - 1274, /* GL_QUAD_STRIP */ - 1158, /* GL_POLYGON */ - 1170, /* GL_POLYGON_STIPPLE_BIT */ - 1119, /* GL_PIXEL_MODE_BIT */ - 678, /* GL_LIGHTING_BIT */ - 504, /* GL_FOG_BIT */ + 476, /* GL_FALSE */ + 692, /* GL_LINES */ + 694, /* GL_LINE_LOOP */ + 701, /* GL_LINE_STRIP */ + 1744, /* GL_TRIANGLES */ + 1747, /* GL_TRIANGLE_STRIP */ + 1745, /* GL_TRIANGLE_FAN */ + 1272, /* GL_QUADS */ + 1275, /* GL_QUAD_STRIP */ + 1159, /* GL_POLYGON */ + 1171, /* GL_POLYGON_STIPPLE_BIT */ + 1120, /* GL_PIXEL_MODE_BIT */ + 679, /* GL_LIGHTING_BIT */ + 505, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 710, /* GL_LOAD */ - 1326, /* GL_RETURN */ - 991, /* GL_MULT */ + 711, /* GL_LOAD */ + 1327, /* GL_RETURN */ + 992, /* GL_MULT */ 23, /* GL_ADD */ - 1007, /* GL_NEVER */ - 668, /* GL_LESS */ - 465, /* GL_EQUAL */ - 667, /* GL_LEQUAL */ - 590, /* GL_GREATER */ - 1022, /* GL_NOTEQUAL */ - 589, /* GL_GEQUAL */ + 1008, /* GL_NEVER */ + 669, /* GL_LESS */ + 466, /* GL_EQUAL */ + 668, /* GL_LEQUAL */ + 591, /* GL_GREATER */ + 1023, /* GL_NOTEQUAL */ + 590, /* GL_GEQUAL */ 47, /* GL_ALWAYS */ - 1467, /* GL_SRC_COLOR */ - 1052, /* GL_ONE_MINUS_SRC_COLOR */ - 1465, /* GL_SRC_ALPHA */ - 1051, /* GL_ONE_MINUS_SRC_ALPHA */ - 444, /* GL_DST_ALPHA */ - 1049, /* GL_ONE_MINUS_DST_ALPHA */ - 445, /* GL_DST_COLOR */ - 1050, /* GL_ONE_MINUS_DST_COLOR */ - 1466, /* GL_SRC_ALPHA_SATURATE */ - 577, /* GL_FRONT_LEFT */ - 578, /* GL_FRONT_RIGHT */ + 1468, /* GL_SRC_COLOR */ + 1053, /* GL_ONE_MINUS_SRC_COLOR */ + 1466, /* GL_SRC_ALPHA */ + 1052, /* GL_ONE_MINUS_SRC_ALPHA */ + 445, /* GL_DST_ALPHA */ + 1050, /* GL_ONE_MINUS_DST_ALPHA */ + 446, /* GL_DST_COLOR */ + 1051, /* GL_ONE_MINUS_DST_COLOR */ + 1467, /* GL_SRC_ALPHA_SATURATE */ + 578, /* GL_FRONT_LEFT */ + 579, /* GL_FRONT_RIGHT */ 69, /* GL_BACK_LEFT */ 70, /* GL_BACK_RIGHT */ - 574, /* GL_FRONT */ + 575, /* GL_FRONT */ 68, /* GL_BACK */ - 666, /* GL_LEFT */ - 1368, /* GL_RIGHT */ - 575, /* GL_FRONT_AND_BACK */ + 667, /* GL_LEFT */ + 1369, /* GL_RIGHT */ + 576, /* GL_FRONT_AND_BACK */ 63, /* GL_AUX0 */ 64, /* GL_AUX1 */ 65, /* GL_AUX2 */ 66, /* GL_AUX3 */ - 656, /* GL_INVALID_ENUM */ - 660, /* GL_INVALID_VALUE */ - 659, /* GL_INVALID_OPERATION */ - 1472, /* GL_STACK_OVERFLOW */ - 1473, /* GL_STACK_UNDERFLOW */ - 1077, /* GL_OUT_OF_MEMORY */ - 657, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + 657, /* GL_INVALID_ENUM */ + 661, /* GL_INVALID_VALUE */ + 660, /* GL_INVALID_OPERATION */ + 1473, /* GL_STACK_OVERFLOW */ + 1474, /* GL_STACK_UNDERFLOW */ + 1078, /* GL_OUT_OF_MEMORY */ + 658, /* GL_INVALID_FRAMEBUFFER_OPERATION */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 1097, /* GL_PASS_THROUGH_TOKEN */ - 1157, /* GL_POINT_TOKEN */ - 701, /* GL_LINE_TOKEN */ - 1171, /* GL_POLYGON_TOKEN */ + 1098, /* GL_PASS_THROUGH_TOKEN */ + 1158, /* GL_POINT_TOKEN */ + 702, /* GL_LINE_TOKEN */ + 1172, /* GL_POLYGON_TOKEN */ 74, /* GL_BITMAP_TOKEN */ - 443, /* GL_DRAW_PIXEL_TOKEN */ + 444, /* GL_DRAW_PIXEL_TOKEN */ 301, /* GL_COPY_PIXEL_TOKEN */ - 694, /* GL_LINE_RESET_TOKEN */ - 468, /* GL_EXP */ - 469, /* GL_EXP2 */ + 695, /* GL_LINE_RESET_TOKEN */ + 469, /* GL_EXP */ + 470, /* GL_EXP2 */ 337, /* GL_CW */ 125, /* GL_CCW */ 146, /* GL_COEFF */ - 1074, /* GL_ORDER */ - 381, /* GL_DOMAIN */ + 1075, /* GL_ORDER */ + 382, /* GL_DOMAIN */ 311, /* GL_CURRENT_COLOR */ 314, /* GL_CURRENT_INDEX */ 320, /* GL_CURRENT_NORMAL */ @@ -3844,519 +3846,519 @@ static const unsigned reduced_enums[1347] = 328, /* GL_CURRENT_RASTER_POSITION */ 329, /* GL_CURRENT_RASTER_POSITION_VALID */ 326, /* GL_CURRENT_RASTER_DISTANCE */ - 1150, /* GL_POINT_SMOOTH */ - 1139, /* GL_POINT_SIZE */ - 1149, /* GL_POINT_SIZE_RANGE */ - 1140, /* GL_POINT_SIZE_GRANULARITY */ - 695, /* GL_LINE_SMOOTH */ - 702, /* GL_LINE_WIDTH */ - 704, /* GL_LINE_WIDTH_RANGE */ - 703, /* GL_LINE_WIDTH_GRANULARITY */ - 697, /* GL_LINE_STIPPLE */ - 698, /* GL_LINE_STIPPLE_PATTERN */ - 699, /* GL_LINE_STIPPLE_REPEAT */ - 709, /* GL_LIST_MODE */ - 874, /* GL_MAX_LIST_NESTING */ - 706, /* GL_LIST_BASE */ - 708, /* GL_LIST_INDEX */ - 1160, /* GL_POLYGON_MODE */ - 1167, /* GL_POLYGON_SMOOTH */ - 1169, /* GL_POLYGON_STIPPLE */ - 454, /* GL_EDGE_FLAG */ + 1151, /* GL_POINT_SMOOTH */ + 1140, /* GL_POINT_SIZE */ + 1150, /* GL_POINT_SIZE_RANGE */ + 1141, /* GL_POINT_SIZE_GRANULARITY */ + 696, /* GL_LINE_SMOOTH */ + 703, /* GL_LINE_WIDTH */ + 705, /* GL_LINE_WIDTH_RANGE */ + 704, /* GL_LINE_WIDTH_GRANULARITY */ + 698, /* GL_LINE_STIPPLE */ + 699, /* GL_LINE_STIPPLE_PATTERN */ + 700, /* GL_LINE_STIPPLE_REPEAT */ + 710, /* GL_LIST_MODE */ + 875, /* GL_MAX_LIST_NESTING */ + 707, /* GL_LIST_BASE */ + 709, /* GL_LIST_INDEX */ + 1161, /* GL_POLYGON_MODE */ + 1168, /* GL_POLYGON_SMOOTH */ + 1170, /* GL_POLYGON_STIPPLE */ + 455, /* GL_EDGE_FLAG */ 304, /* GL_CULL_FACE */ 305, /* GL_CULL_FACE_MODE */ - 576, /* GL_FRONT_FACE */ - 677, /* GL_LIGHTING */ - 682, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 683, /* GL_LIGHT_MODEL_TWO_SIDE */ - 679, /* GL_LIGHT_MODEL_AMBIENT */ - 1414, /* GL_SHADE_MODEL */ + 577, /* GL_FRONT_FACE */ + 678, /* GL_LIGHTING */ + 683, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 684, /* GL_LIGHT_MODEL_TWO_SIDE */ + 680, /* GL_LIGHT_MODEL_AMBIENT */ + 1415, /* GL_SHADE_MODEL */ 193, /* GL_COLOR_MATERIAL_FACE */ 194, /* GL_COLOR_MATERIAL_PARAMETER */ 192, /* GL_COLOR_MATERIAL */ - 503, /* GL_FOG */ - 525, /* GL_FOG_INDEX */ - 521, /* GL_FOG_DENSITY */ - 529, /* GL_FOG_START */ - 523, /* GL_FOG_END */ - 526, /* GL_FOG_MODE */ - 505, /* GL_FOG_COLOR */ - 368, /* GL_DEPTH_RANGE */ - 375, /* GL_DEPTH_TEST */ - 378, /* GL_DEPTH_WRITEMASK */ - 356, /* GL_DEPTH_CLEAR_VALUE */ - 367, /* GL_DEPTH_FUNC */ + 504, /* GL_FOG */ + 526, /* GL_FOG_INDEX */ + 522, /* GL_FOG_DENSITY */ + 530, /* GL_FOG_START */ + 524, /* GL_FOG_END */ + 527, /* GL_FOG_MODE */ + 506, /* GL_FOG_COLOR */ + 369, /* GL_DEPTH_RANGE */ + 376, /* GL_DEPTH_TEST */ + 379, /* GL_DEPTH_WRITEMASK */ + 357, /* GL_DEPTH_CLEAR_VALUE */ + 368, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1508, /* GL_STENCIL_TEST */ - 1496, /* GL_STENCIL_CLEAR_VALUE */ - 1498, /* GL_STENCIL_FUNC */ - 1510, /* GL_STENCIL_VALUE_MASK */ - 1497, /* GL_STENCIL_FAIL */ - 1505, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1506, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1507, /* GL_STENCIL_REF */ - 1511, /* GL_STENCIL_WRITEMASK */ - 843, /* GL_MATRIX_MODE */ - 1012, /* GL_NORMALIZE */ - 1837, /* GL_VIEWPORT */ - 986, /* GL_MODELVIEW_STACK_DEPTH */ - 1250, /* GL_PROJECTION_STACK_DEPTH */ - 1718, /* GL_TEXTURE_STACK_DEPTH */ - 984, /* GL_MODELVIEW_MATRIX */ - 1249, /* GL_PROJECTION_MATRIX */ - 1701, /* GL_TEXTURE_MATRIX */ + 1509, /* GL_STENCIL_TEST */ + 1497, /* GL_STENCIL_CLEAR_VALUE */ + 1499, /* GL_STENCIL_FUNC */ + 1511, /* GL_STENCIL_VALUE_MASK */ + 1498, /* GL_STENCIL_FAIL */ + 1506, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1507, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1508, /* GL_STENCIL_REF */ + 1512, /* GL_STENCIL_WRITEMASK */ + 844, /* GL_MATRIX_MODE */ + 1013, /* GL_NORMALIZE */ + 1838, /* GL_VIEWPORT */ + 987, /* GL_MODELVIEW_STACK_DEPTH */ + 1251, /* GL_PROJECTION_STACK_DEPTH */ + 1719, /* GL_TEXTURE_STACK_DEPTH */ + 985, /* GL_MODELVIEW_MATRIX */ + 1250, /* GL_PROJECTION_MATRIX */ + 1702, /* GL_TEXTURE_MATRIX */ 61, /* GL_ATTRIB_STACK_DEPTH */ 136, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ 43, /* GL_ALPHA_TEST */ 44, /* GL_ALPHA_TEST_FUNC */ 45, /* GL_ALPHA_TEST_REF */ - 380, /* GL_DITHER */ + 381, /* GL_DITHER */ 78, /* GL_BLEND_DST */ 87, /* GL_BLEND_SRC */ 75, /* GL_BLEND */ - 712, /* GL_LOGIC_OP_MODE */ - 630, /* GL_INDEX_LOGIC_OP */ + 713, /* GL_LOGIC_OP_MODE */ + 631, /* GL_INDEX_LOGIC_OP */ 191, /* GL_COLOR_LOGIC_OP */ 67, /* GL_AUX_BUFFERS */ - 391, /* GL_DRAW_BUFFER */ - 1284, /* GL_READ_BUFFER */ - 1395, /* GL_SCISSOR_BOX */ - 1396, /* GL_SCISSOR_TEST */ - 629, /* GL_INDEX_CLEAR_VALUE */ - 634, /* GL_INDEX_WRITEMASK */ + 392, /* GL_DRAW_BUFFER */ + 1285, /* GL_READ_BUFFER */ + 1396, /* GL_SCISSOR_BOX */ + 1397, /* GL_SCISSOR_TEST */ + 630, /* GL_INDEX_CLEAR_VALUE */ + 635, /* GL_INDEX_WRITEMASK */ 188, /* GL_COLOR_CLEAR_VALUE */ 230, /* GL_COLOR_WRITEMASK */ - 631, /* GL_INDEX_MODE */ - 1361, /* GL_RGBA_MODE */ - 390, /* GL_DOUBLEBUFFER */ - 1512, /* GL_STEREO */ - 1319, /* GL_RENDER_MODE */ - 1098, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1151, /* GL_POINT_SMOOTH_HINT */ - 696, /* GL_LINE_SMOOTH_HINT */ - 1168, /* GL_POLYGON_SMOOTH_HINT */ - 524, /* GL_FOG_HINT */ - 1682, /* GL_TEXTURE_GEN_S */ - 1683, /* GL_TEXTURE_GEN_T */ - 1681, /* GL_TEXTURE_GEN_R */ - 1680, /* GL_TEXTURE_GEN_Q */ - 1111, /* GL_PIXEL_MAP_I_TO_I */ - 1117, /* GL_PIXEL_MAP_S_TO_S */ - 1113, /* GL_PIXEL_MAP_I_TO_R */ - 1109, /* GL_PIXEL_MAP_I_TO_G */ - 1107, /* GL_PIXEL_MAP_I_TO_B */ - 1105, /* GL_PIXEL_MAP_I_TO_A */ - 1115, /* GL_PIXEL_MAP_R_TO_R */ - 1103, /* GL_PIXEL_MAP_G_TO_G */ - 1101, /* GL_PIXEL_MAP_B_TO_B */ - 1099, /* GL_PIXEL_MAP_A_TO_A */ - 1112, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 1118, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 1114, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 1110, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 1108, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 1106, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 1116, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 1104, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 1102, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 1100, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 1755, /* GL_UNPACK_SWAP_BYTES */ - 1750, /* GL_UNPACK_LSB_FIRST */ - 1751, /* GL_UNPACK_ROW_LENGTH */ - 1754, /* GL_UNPACK_SKIP_ROWS */ - 1753, /* GL_UNPACK_SKIP_PIXELS */ - 1748, /* GL_UNPACK_ALIGNMENT */ - 1086, /* GL_PACK_SWAP_BYTES */ - 1081, /* GL_PACK_LSB_FIRST */ - 1082, /* GL_PACK_ROW_LENGTH */ - 1085, /* GL_PACK_SKIP_ROWS */ - 1084, /* GL_PACK_SKIP_PIXELS */ - 1078, /* GL_PACK_ALIGNMENT */ - 790, /* GL_MAP_COLOR */ - 795, /* GL_MAP_STENCIL */ - 633, /* GL_INDEX_SHIFT */ - 632, /* GL_INDEX_OFFSET */ - 1297, /* GL_RED_SCALE */ - 1295, /* GL_RED_BIAS */ - 1855, /* GL_ZOOM_X */ - 1856, /* GL_ZOOM_Y */ - 594, /* GL_GREEN_SCALE */ - 592, /* GL_GREEN_BIAS */ + 632, /* GL_INDEX_MODE */ + 1362, /* GL_RGBA_MODE */ + 391, /* GL_DOUBLEBUFFER */ + 1513, /* GL_STEREO */ + 1320, /* GL_RENDER_MODE */ + 1099, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1152, /* GL_POINT_SMOOTH_HINT */ + 697, /* GL_LINE_SMOOTH_HINT */ + 1169, /* GL_POLYGON_SMOOTH_HINT */ + 525, /* GL_FOG_HINT */ + 1683, /* GL_TEXTURE_GEN_S */ + 1684, /* GL_TEXTURE_GEN_T */ + 1682, /* GL_TEXTURE_GEN_R */ + 1681, /* GL_TEXTURE_GEN_Q */ + 1112, /* GL_PIXEL_MAP_I_TO_I */ + 1118, /* GL_PIXEL_MAP_S_TO_S */ + 1114, /* GL_PIXEL_MAP_I_TO_R */ + 1110, /* GL_PIXEL_MAP_I_TO_G */ + 1108, /* GL_PIXEL_MAP_I_TO_B */ + 1106, /* GL_PIXEL_MAP_I_TO_A */ + 1116, /* GL_PIXEL_MAP_R_TO_R */ + 1104, /* GL_PIXEL_MAP_G_TO_G */ + 1102, /* GL_PIXEL_MAP_B_TO_B */ + 1100, /* GL_PIXEL_MAP_A_TO_A */ + 1113, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1119, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1115, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1111, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1109, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1107, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1117, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1105, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1103, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1101, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 1756, /* GL_UNPACK_SWAP_BYTES */ + 1751, /* GL_UNPACK_LSB_FIRST */ + 1752, /* GL_UNPACK_ROW_LENGTH */ + 1755, /* GL_UNPACK_SKIP_ROWS */ + 1754, /* GL_UNPACK_SKIP_PIXELS */ + 1749, /* GL_UNPACK_ALIGNMENT */ + 1087, /* GL_PACK_SWAP_BYTES */ + 1082, /* GL_PACK_LSB_FIRST */ + 1083, /* GL_PACK_ROW_LENGTH */ + 1086, /* GL_PACK_SKIP_ROWS */ + 1085, /* GL_PACK_SKIP_PIXELS */ + 1079, /* GL_PACK_ALIGNMENT */ + 791, /* GL_MAP_COLOR */ + 796, /* GL_MAP_STENCIL */ + 634, /* GL_INDEX_SHIFT */ + 633, /* GL_INDEX_OFFSET */ + 1298, /* GL_RED_SCALE */ + 1296, /* GL_RED_BIAS */ + 1856, /* GL_ZOOM_X */ + 1857, /* GL_ZOOM_Y */ + 595, /* GL_GREEN_SCALE */ + 593, /* GL_GREEN_BIAS */ 93, /* GL_BLUE_SCALE */ 91, /* GL_BLUE_BIAS */ 42, /* GL_ALPHA_SCALE */ 40, /* GL_ALPHA_BIAS */ - 369, /* GL_DEPTH_SCALE */ + 370, /* GL_DEPTH_SCALE */ 350, /* GL_DEPTH_BIAS */ - 869, /* GL_MAX_EVAL_ORDER */ - 873, /* GL_MAX_LIGHTS */ - 852, /* GL_MAX_CLIP_PLANES */ - 919, /* GL_MAX_TEXTURE_SIZE */ - 879, /* GL_MAX_PIXEL_MAP_TABLE */ - 848, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 876, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 877, /* GL_MAX_NAME_STACK_DEPTH */ - 905, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 920, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 934, /* GL_MAX_VIEWPORT_DIMS */ - 849, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1522, /* GL_SUBPIXEL_BITS */ - 628, /* GL_INDEX_BITS */ - 1296, /* GL_RED_BITS */ - 593, /* GL_GREEN_BITS */ + 870, /* GL_MAX_EVAL_ORDER */ + 874, /* GL_MAX_LIGHTS */ + 853, /* GL_MAX_CLIP_PLANES */ + 920, /* GL_MAX_TEXTURE_SIZE */ + 880, /* GL_MAX_PIXEL_MAP_TABLE */ + 849, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 877, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 878, /* GL_MAX_NAME_STACK_DEPTH */ + 906, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 921, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 935, /* GL_MAX_VIEWPORT_DIMS */ + 850, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1523, /* GL_SUBPIXEL_BITS */ + 629, /* GL_INDEX_BITS */ + 1297, /* GL_RED_BITS */ + 594, /* GL_GREEN_BITS */ 92, /* GL_BLUE_BITS */ 41, /* GL_ALPHA_BITS */ 351, /* GL_DEPTH_BITS */ - 1494, /* GL_STENCIL_BITS */ + 1495, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 1000, /* GL_NAME_STACK_DEPTH */ + 1001, /* GL_NAME_STACK_DEPTH */ 62, /* GL_AUTO_NORMAL */ - 736, /* GL_MAP1_COLOR_4 */ - 739, /* GL_MAP1_INDEX */ - 740, /* GL_MAP1_NORMAL */ - 741, /* GL_MAP1_TEXTURE_COORD_1 */ - 742, /* GL_MAP1_TEXTURE_COORD_2 */ - 743, /* GL_MAP1_TEXTURE_COORD_3 */ - 744, /* GL_MAP1_TEXTURE_COORD_4 */ - 745, /* GL_MAP1_VERTEX_3 */ - 746, /* GL_MAP1_VERTEX_4 */ - 763, /* GL_MAP2_COLOR_4 */ - 766, /* GL_MAP2_INDEX */ - 767, /* GL_MAP2_NORMAL */ - 768, /* GL_MAP2_TEXTURE_COORD_1 */ - 769, /* GL_MAP2_TEXTURE_COORD_2 */ - 770, /* GL_MAP2_TEXTURE_COORD_3 */ - 771, /* GL_MAP2_TEXTURE_COORD_4 */ - 772, /* GL_MAP2_VERTEX_3 */ - 773, /* GL_MAP2_VERTEX_4 */ - 737, /* GL_MAP1_GRID_DOMAIN */ - 738, /* GL_MAP1_GRID_SEGMENTS */ - 764, /* GL_MAP2_GRID_DOMAIN */ - 765, /* GL_MAP2_GRID_SEGMENTS */ - 1605, /* GL_TEXTURE_1D */ - 1607, /* GL_TEXTURE_2D */ - 478, /* GL_FEEDBACK_BUFFER_POINTER */ - 479, /* GL_FEEDBACK_BUFFER_SIZE */ - 480, /* GL_FEEDBACK_BUFFER_TYPE */ - 1405, /* GL_SELECTION_BUFFER_POINTER */ - 1406, /* GL_SELECTION_BUFFER_SIZE */ - 1723, /* GL_TEXTURE_WIDTH */ - 1687, /* GL_TEXTURE_HEIGHT */ - 1642, /* GL_TEXTURE_COMPONENTS */ - 1626, /* GL_TEXTURE_BORDER_COLOR */ - 1625, /* GL_TEXTURE_BORDER */ - 382, /* GL_DONT_CARE */ - 476, /* GL_FASTEST */ - 1008, /* GL_NICEST */ + 737, /* GL_MAP1_COLOR_4 */ + 740, /* GL_MAP1_INDEX */ + 741, /* GL_MAP1_NORMAL */ + 742, /* GL_MAP1_TEXTURE_COORD_1 */ + 743, /* GL_MAP1_TEXTURE_COORD_2 */ + 744, /* GL_MAP1_TEXTURE_COORD_3 */ + 745, /* GL_MAP1_TEXTURE_COORD_4 */ + 746, /* GL_MAP1_VERTEX_3 */ + 747, /* GL_MAP1_VERTEX_4 */ + 764, /* GL_MAP2_COLOR_4 */ + 767, /* GL_MAP2_INDEX */ + 768, /* GL_MAP2_NORMAL */ + 769, /* GL_MAP2_TEXTURE_COORD_1 */ + 770, /* GL_MAP2_TEXTURE_COORD_2 */ + 771, /* GL_MAP2_TEXTURE_COORD_3 */ + 772, /* GL_MAP2_TEXTURE_COORD_4 */ + 773, /* GL_MAP2_VERTEX_3 */ + 774, /* GL_MAP2_VERTEX_4 */ + 738, /* GL_MAP1_GRID_DOMAIN */ + 739, /* GL_MAP1_GRID_SEGMENTS */ + 765, /* GL_MAP2_GRID_DOMAIN */ + 766, /* GL_MAP2_GRID_SEGMENTS */ + 1606, /* GL_TEXTURE_1D */ + 1608, /* GL_TEXTURE_2D */ + 479, /* GL_FEEDBACK_BUFFER_POINTER */ + 480, /* GL_FEEDBACK_BUFFER_SIZE */ + 481, /* GL_FEEDBACK_BUFFER_TYPE */ + 1406, /* GL_SELECTION_BUFFER_POINTER */ + 1407, /* GL_SELECTION_BUFFER_SIZE */ + 1724, /* GL_TEXTURE_WIDTH */ + 1688, /* GL_TEXTURE_HEIGHT */ + 1643, /* GL_TEXTURE_COMPONENTS */ + 1627, /* GL_TEXTURE_BORDER_COLOR */ + 1626, /* GL_TEXTURE_BORDER */ + 383, /* GL_DONT_CARE */ + 477, /* GL_FASTEST */ + 1009, /* GL_NICEST */ 48, /* GL_AMBIENT */ - 379, /* GL_DIFFUSE */ - 1454, /* GL_SPECULAR */ - 1172, /* GL_POSITION */ - 1457, /* GL_SPOT_DIRECTION */ - 1458, /* GL_SPOT_EXPONENT */ - 1456, /* GL_SPOT_CUTOFF */ + 380, /* GL_DIFFUSE */ + 1455, /* GL_SPECULAR */ + 1173, /* GL_POSITION */ + 1458, /* GL_SPOT_DIRECTION */ + 1459, /* GL_SPOT_EXPONENT */ + 1457, /* GL_SPOT_CUTOFF */ 275, /* GL_CONSTANT_ATTENUATION */ - 686, /* GL_LINEAR_ATTENUATION */ - 1270, /* GL_QUADRATIC_ATTENUATION */ + 687, /* GL_LINEAR_ATTENUATION */ + 1271, /* GL_QUADRATIC_ATTENUATION */ 244, /* GL_COMPILE */ 245, /* GL_COMPILE_AND_EXECUTE */ 120, /* GL_BYTE */ - 1757, /* GL_UNSIGNED_BYTE */ - 1419, /* GL_SHORT */ - 1768, /* GL_UNSIGNED_SHORT */ - 636, /* GL_INT */ - 1760, /* GL_UNSIGNED_INT */ - 484, /* GL_FLOAT */ + 1758, /* GL_UNSIGNED_BYTE */ + 1420, /* GL_SHORT */ + 1769, /* GL_UNSIGNED_SHORT */ + 637, /* GL_INT */ + 1761, /* GL_UNSIGNED_INT */ + 485, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ 7, /* GL_4_BYTES */ - 389, /* GL_DOUBLE */ + 390, /* GL_DOUBLE */ 132, /* GL_CLEAR */ 50, /* GL_AND */ 52, /* GL_AND_REVERSE */ 299, /* GL_COPY */ 51, /* GL_AND_INVERTED */ - 1010, /* GL_NOOP */ - 1851, /* GL_XOR */ - 1073, /* GL_OR */ - 1011, /* GL_NOR */ - 466, /* GL_EQUIV */ - 663, /* GL_INVERT */ - 1076, /* GL_OR_REVERSE */ + 1011, /* GL_NOOP */ + 1852, /* GL_XOR */ + 1074, /* GL_OR */ + 1012, /* GL_NOR */ + 467, /* GL_EQUIV */ + 664, /* GL_INVERT */ + 1077, /* GL_OR_REVERSE */ 300, /* GL_COPY_INVERTED */ - 1075, /* GL_OR_INVERTED */ - 1001, /* GL_NAND */ - 1410, /* GL_SET */ - 463, /* GL_EMISSION */ - 1418, /* GL_SHININESS */ + 1076, /* GL_OR_INVERTED */ + 1002, /* GL_NAND */ + 1411, /* GL_SET */ + 464, /* GL_EMISSION */ + 1419, /* GL_SHININESS */ 49, /* GL_AMBIENT_AND_DIFFUSE */ 190, /* GL_COLOR_INDEXES */ - 951, /* GL_MODELVIEW */ - 1248, /* GL_PROJECTION */ - 1540, /* GL_TEXTURE */ + 952, /* GL_MODELVIEW */ + 1249, /* GL_PROJECTION */ + 1541, /* GL_TEXTURE */ 147, /* GL_COLOR */ 346, /* GL_DEPTH */ - 1480, /* GL_STENCIL */ + 1481, /* GL_STENCIL */ 189, /* GL_COLOR_INDEX */ - 1499, /* GL_STENCIL_INDEX */ - 357, /* GL_DEPTH_COMPONENT */ - 1292, /* GL_RED */ - 591, /* GL_GREEN */ + 1500, /* GL_STENCIL_INDEX */ + 358, /* GL_DEPTH_COMPONENT */ + 1293, /* GL_RED */ + 592, /* GL_GREEN */ 90, /* GL_BLUE */ 31, /* GL_ALPHA */ - 1327, /* GL_RGB */ - 1346, /* GL_RGBA */ - 714, /* GL_LUMINANCE */ - 735, /* GL_LUMINANCE_ALPHA */ + 1328, /* GL_RGB */ + 1347, /* GL_RGBA */ + 715, /* GL_LUMINANCE */ + 736, /* GL_LUMINANCE_ALPHA */ 73, /* GL_BITMAP */ - 1128, /* GL_POINT */ - 684, /* GL_LINE */ - 481, /* GL_FILL */ - 1301, /* GL_RENDER */ - 477, /* GL_FEEDBACK */ - 1404, /* GL_SELECT */ - 483, /* GL_FLAT */ - 1429, /* GL_SMOOTH */ - 664, /* GL_KEEP */ - 1321, /* GL_REPLACE */ - 618, /* GL_INCR */ + 1129, /* GL_POINT */ + 685, /* GL_LINE */ + 482, /* GL_FILL */ + 1302, /* GL_RENDER */ + 478, /* GL_FEEDBACK */ + 1405, /* GL_SELECT */ + 484, /* GL_FLAT */ + 1430, /* GL_SMOOTH */ + 665, /* GL_KEEP */ + 1322, /* GL_REPLACE */ + 619, /* GL_INCR */ 342, /* GL_DECR */ - 1783, /* GL_VENDOR */ - 1318, /* GL_RENDERER */ - 1784, /* GL_VERSION */ - 470, /* GL_EXTENSIONS */ - 1369, /* GL_S */ - 1531, /* GL_T */ - 1281, /* GL_R */ - 1269, /* GL_Q */ - 987, /* GL_MODULATE */ + 1784, /* GL_VENDOR */ + 1319, /* GL_RENDERER */ + 1785, /* GL_VERSION */ + 471, /* GL_EXTENSIONS */ + 1370, /* GL_S */ + 1532, /* GL_T */ + 1282, /* GL_R */ + 1270, /* GL_Q */ + 988, /* GL_MODULATE */ 341, /* GL_DECAL */ - 1677, /* GL_TEXTURE_ENV_MODE */ - 1676, /* GL_TEXTURE_ENV_COLOR */ - 1675, /* GL_TEXTURE_ENV */ - 471, /* GL_EYE_LINEAR */ - 1034, /* GL_OBJECT_LINEAR */ - 1455, /* GL_SPHERE_MAP */ - 1679, /* GL_TEXTURE_GEN_MODE */ - 1036, /* GL_OBJECT_PLANE */ - 472, /* GL_EYE_PLANE */ - 1002, /* GL_NEAREST */ - 685, /* GL_LINEAR */ - 1006, /* GL_NEAREST_MIPMAP_NEAREST */ - 690, /* GL_LINEAR_MIPMAP_NEAREST */ - 1005, /* GL_NEAREST_MIPMAP_LINEAR */ - 689, /* GL_LINEAR_MIPMAP_LINEAR */ - 1700, /* GL_TEXTURE_MAG_FILTER */ - 1708, /* GL_TEXTURE_MIN_FILTER */ - 1725, /* GL_TEXTURE_WRAP_S */ - 1726, /* GL_TEXTURE_WRAP_T */ + 1678, /* GL_TEXTURE_ENV_MODE */ + 1677, /* GL_TEXTURE_ENV_COLOR */ + 1676, /* GL_TEXTURE_ENV */ + 472, /* GL_EYE_LINEAR */ + 1035, /* GL_OBJECT_LINEAR */ + 1456, /* GL_SPHERE_MAP */ + 1680, /* GL_TEXTURE_GEN_MODE */ + 1037, /* GL_OBJECT_PLANE */ + 473, /* GL_EYE_PLANE */ + 1003, /* GL_NEAREST */ + 686, /* GL_LINEAR */ + 1007, /* GL_NEAREST_MIPMAP_NEAREST */ + 691, /* GL_LINEAR_MIPMAP_NEAREST */ + 1006, /* GL_NEAREST_MIPMAP_LINEAR */ + 690, /* GL_LINEAR_MIPMAP_LINEAR */ + 1701, /* GL_TEXTURE_MAG_FILTER */ + 1709, /* GL_TEXTURE_MIN_FILTER */ + 1726, /* GL_TEXTURE_WRAP_S */ + 1727, /* GL_TEXTURE_WRAP_T */ 126, /* GL_CLAMP */ - 1320, /* GL_REPEAT */ - 1166, /* GL_POLYGON_OFFSET_UNITS */ - 1165, /* GL_POLYGON_OFFSET_POINT */ - 1164, /* GL_POLYGON_OFFSET_LINE */ - 1282, /* GL_R3_G3_B2 */ - 1780, /* GL_V2F */ - 1781, /* GL_V3F */ + 1321, /* GL_REPEAT */ + 1167, /* GL_POLYGON_OFFSET_UNITS */ + 1166, /* GL_POLYGON_OFFSET_POINT */ + 1165, /* GL_POLYGON_OFFSET_LINE */ + 1283, /* GL_R3_G3_B2 */ + 1781, /* GL_V2F */ + 1782, /* GL_V3F */ 123, /* GL_C4UB_V2F */ 124, /* GL_C4UB_V3F */ 121, /* GL_C3F_V3F */ - 999, /* GL_N3F_V3F */ + 1000, /* GL_N3F_V3F */ 122, /* GL_C4F_N3F_V3F */ - 1536, /* GL_T2F_V3F */ - 1538, /* GL_T4F_V4F */ - 1534, /* GL_T2F_C4UB_V3F */ - 1532, /* GL_T2F_C3F_V3F */ - 1535, /* GL_T2F_N3F_V3F */ - 1533, /* GL_T2F_C4F_N3F_V3F */ - 1537, /* GL_T4F_C4F_N3F_V4F */ + 1537, /* GL_T2F_V3F */ + 1539, /* GL_T4F_V4F */ + 1535, /* GL_T2F_C4UB_V3F */ + 1533, /* GL_T2F_C3F_V3F */ + 1536, /* GL_T2F_N3F_V3F */ + 1534, /* GL_T2F_C4F_N3F_V3F */ + 1538, /* GL_T4F_C4F_N3F_V4F */ 139, /* GL_CLIP_PLANE0 */ 140, /* GL_CLIP_PLANE1 */ 141, /* GL_CLIP_PLANE2 */ 142, /* GL_CLIP_PLANE3 */ 143, /* GL_CLIP_PLANE4 */ 144, /* GL_CLIP_PLANE5 */ - 669, /* GL_LIGHT0 */ - 670, /* GL_LIGHT1 */ - 671, /* GL_LIGHT2 */ - 672, /* GL_LIGHT3 */ - 673, /* GL_LIGHT4 */ - 674, /* GL_LIGHT5 */ - 675, /* GL_LIGHT6 */ - 676, /* GL_LIGHT7 */ - 595, /* GL_HINT_BIT */ + 670, /* GL_LIGHT0 */ + 671, /* GL_LIGHT1 */ + 672, /* GL_LIGHT2 */ + 673, /* GL_LIGHT3 */ + 674, /* GL_LIGHT4 */ + 675, /* GL_LIGHT5 */ + 676, /* GL_LIGHT6 */ + 677, /* GL_LIGHT7 */ + 596, /* GL_HINT_BIT */ 277, /* GL_CONSTANT_COLOR */ - 1047, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 1048, /* GL_ONE_MINUS_CONSTANT_COLOR */ 272, /* GL_CONSTANT_ALPHA */ - 1045, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 1046, /* GL_ONE_MINUS_CONSTANT_ALPHA */ 76, /* GL_BLEND_COLOR */ - 579, /* GL_FUNC_ADD */ - 935, /* GL_MIN */ - 845, /* GL_MAX */ + 580, /* GL_FUNC_ADD */ + 936, /* GL_MIN */ + 846, /* GL_MAX */ 81, /* GL_BLEND_EQUATION */ - 583, /* GL_FUNC_SUBTRACT */ - 581, /* GL_FUNC_REVERSE_SUBTRACT */ + 584, /* GL_FUNC_SUBTRACT */ + 582, /* GL_FUNC_REVERSE_SUBTRACT */ 280, /* GL_CONVOLUTION_1D */ 281, /* GL_CONVOLUTION_2D */ - 1407, /* GL_SEPARABLE_2D */ + 1408, /* GL_SEPARABLE_2D */ 284, /* GL_CONVOLUTION_BORDER_MODE */ 288, /* GL_CONVOLUTION_FILTER_SCALE */ 286, /* GL_CONVOLUTION_FILTER_BIAS */ - 1293, /* GL_REDUCE */ + 1294, /* GL_REDUCE */ 290, /* GL_CONVOLUTION_FORMAT */ 294, /* GL_CONVOLUTION_WIDTH */ 292, /* GL_CONVOLUTION_HEIGHT */ - 860, /* GL_MAX_CONVOLUTION_WIDTH */ - 858, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1205, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1201, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1196, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1192, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1203, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1199, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1194, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1190, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - 596, /* GL_HISTOGRAM */ - 1253, /* GL_PROXY_HISTOGRAM */ - 612, /* GL_HISTOGRAM_WIDTH */ - 602, /* GL_HISTOGRAM_FORMAT */ - 608, /* GL_HISTOGRAM_RED_SIZE */ - 604, /* GL_HISTOGRAM_GREEN_SIZE */ - 599, /* GL_HISTOGRAM_BLUE_SIZE */ - 597, /* GL_HISTOGRAM_ALPHA_SIZE */ - 606, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - 610, /* GL_HISTOGRAM_SINK */ - 936, /* GL_MINMAX */ - 938, /* GL_MINMAX_FORMAT */ - 940, /* GL_MINMAX_SINK */ - 1539, /* GL_TABLE_TOO_LARGE_EXT */ - 1759, /* GL_UNSIGNED_BYTE_3_3_2 */ - 1770, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 1772, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 1765, /* GL_UNSIGNED_INT_8_8_8_8 */ - 1761, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1163, /* GL_POLYGON_OFFSET_FILL */ - 1162, /* GL_POLYGON_OFFSET_FACTOR */ - 1161, /* GL_POLYGON_OFFSET_BIAS */ - 1324, /* GL_RESCALE_NORMAL */ + 861, /* GL_MAX_CONVOLUTION_WIDTH */ + 859, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1206, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1202, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1197, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1193, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1204, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1200, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1195, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1191, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 597, /* GL_HISTOGRAM */ + 1254, /* GL_PROXY_HISTOGRAM */ + 613, /* GL_HISTOGRAM_WIDTH */ + 603, /* GL_HISTOGRAM_FORMAT */ + 609, /* GL_HISTOGRAM_RED_SIZE */ + 605, /* GL_HISTOGRAM_GREEN_SIZE */ + 600, /* GL_HISTOGRAM_BLUE_SIZE */ + 598, /* GL_HISTOGRAM_ALPHA_SIZE */ + 607, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 611, /* GL_HISTOGRAM_SINK */ + 937, /* GL_MINMAX */ + 939, /* GL_MINMAX_FORMAT */ + 941, /* GL_MINMAX_SINK */ + 1540, /* GL_TABLE_TOO_LARGE_EXT */ + 1760, /* GL_UNSIGNED_BYTE_3_3_2 */ + 1771, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 1773, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 1766, /* GL_UNSIGNED_INT_8_8_8_8 */ + 1762, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1164, /* GL_POLYGON_OFFSET_FILL */ + 1163, /* GL_POLYGON_OFFSET_FACTOR */ + 1162, /* GL_POLYGON_OFFSET_BIAS */ + 1325, /* GL_RESCALE_NORMAL */ 36, /* GL_ALPHA4 */ 38, /* GL_ALPHA8 */ 32, /* GL_ALPHA12 */ 34, /* GL_ALPHA16 */ - 725, /* GL_LUMINANCE4 */ - 731, /* GL_LUMINANCE8 */ - 715, /* GL_LUMINANCE12 */ - 721, /* GL_LUMINANCE16 */ - 726, /* GL_LUMINANCE4_ALPHA4 */ - 729, /* GL_LUMINANCE6_ALPHA2 */ - 732, /* GL_LUMINANCE8_ALPHA8 */ - 718, /* GL_LUMINANCE12_ALPHA4 */ - 716, /* GL_LUMINANCE12_ALPHA12 */ - 722, /* GL_LUMINANCE16_ALPHA16 */ - 637, /* GL_INTENSITY */ - 642, /* GL_INTENSITY4 */ - 644, /* GL_INTENSITY8 */ - 638, /* GL_INTENSITY12 */ - 640, /* GL_INTENSITY16 */ - 1336, /* GL_RGB2_EXT */ - 1337, /* GL_RGB4 */ - 1340, /* GL_RGB5 */ - 1344, /* GL_RGB8 */ - 1328, /* GL_RGB10 */ - 1332, /* GL_RGB12 */ - 1334, /* GL_RGB16 */ - 1351, /* GL_RGBA2 */ - 1353, /* GL_RGBA4 */ - 1341, /* GL_RGB5_A1 */ - 1357, /* GL_RGBA8 */ - 1329, /* GL_RGB10_A2 */ - 1347, /* GL_RGBA12 */ - 1349, /* GL_RGBA16 */ - 1715, /* GL_TEXTURE_RED_SIZE */ - 1685, /* GL_TEXTURE_GREEN_SIZE */ - 1623, /* GL_TEXTURE_BLUE_SIZE */ - 1610, /* GL_TEXTURE_ALPHA_SIZE */ - 1698, /* GL_TEXTURE_LUMINANCE_SIZE */ - 1689, /* GL_TEXTURE_INTENSITY_SIZE */ - 1322, /* GL_REPLACE_EXT */ - 1257, /* GL_PROXY_TEXTURE_1D */ - 1260, /* GL_PROXY_TEXTURE_2D */ - 1721, /* GL_TEXTURE_TOO_LARGE_EXT */ - 1710, /* GL_TEXTURE_PRIORITY */ - 1717, /* GL_TEXTURE_RESIDENT */ - 1613, /* GL_TEXTURE_BINDING_1D */ - 1615, /* GL_TEXTURE_BINDING_2D */ - 1617, /* GL_TEXTURE_BINDING_3D */ - 1083, /* GL_PACK_SKIP_IMAGES */ - 1079, /* GL_PACK_IMAGE_HEIGHT */ - 1752, /* GL_UNPACK_SKIP_IMAGES */ - 1749, /* GL_UNPACK_IMAGE_HEIGHT */ - 1609, /* GL_TEXTURE_3D */ - 1263, /* GL_PROXY_TEXTURE_3D */ - 1672, /* GL_TEXTURE_DEPTH */ - 1724, /* GL_TEXTURE_WRAP_R */ - 846, /* GL_MAX_3D_TEXTURE_SIZE */ - 1785, /* GL_VERTEX_ARRAY */ - 1013, /* GL_NORMAL_ARRAY */ + 726, /* GL_LUMINANCE4 */ + 732, /* GL_LUMINANCE8 */ + 716, /* GL_LUMINANCE12 */ + 722, /* GL_LUMINANCE16 */ + 727, /* GL_LUMINANCE4_ALPHA4 */ + 730, /* GL_LUMINANCE6_ALPHA2 */ + 733, /* GL_LUMINANCE8_ALPHA8 */ + 719, /* GL_LUMINANCE12_ALPHA4 */ + 717, /* GL_LUMINANCE12_ALPHA12 */ + 723, /* GL_LUMINANCE16_ALPHA16 */ + 638, /* GL_INTENSITY */ + 643, /* GL_INTENSITY4 */ + 645, /* GL_INTENSITY8 */ + 639, /* GL_INTENSITY12 */ + 641, /* GL_INTENSITY16 */ + 1337, /* GL_RGB2_EXT */ + 1338, /* GL_RGB4 */ + 1341, /* GL_RGB5 */ + 1345, /* GL_RGB8 */ + 1329, /* GL_RGB10 */ + 1333, /* GL_RGB12 */ + 1335, /* GL_RGB16 */ + 1352, /* GL_RGBA2 */ + 1354, /* GL_RGBA4 */ + 1342, /* GL_RGB5_A1 */ + 1358, /* GL_RGBA8 */ + 1330, /* GL_RGB10_A2 */ + 1348, /* GL_RGBA12 */ + 1350, /* GL_RGBA16 */ + 1716, /* GL_TEXTURE_RED_SIZE */ + 1686, /* GL_TEXTURE_GREEN_SIZE */ + 1624, /* GL_TEXTURE_BLUE_SIZE */ + 1611, /* GL_TEXTURE_ALPHA_SIZE */ + 1699, /* GL_TEXTURE_LUMINANCE_SIZE */ + 1690, /* GL_TEXTURE_INTENSITY_SIZE */ + 1323, /* GL_REPLACE_EXT */ + 1258, /* GL_PROXY_TEXTURE_1D */ + 1261, /* GL_PROXY_TEXTURE_2D */ + 1722, /* GL_TEXTURE_TOO_LARGE_EXT */ + 1711, /* GL_TEXTURE_PRIORITY */ + 1718, /* GL_TEXTURE_RESIDENT */ + 1614, /* GL_TEXTURE_BINDING_1D */ + 1616, /* GL_TEXTURE_BINDING_2D */ + 1618, /* GL_TEXTURE_BINDING_3D */ + 1084, /* GL_PACK_SKIP_IMAGES */ + 1080, /* GL_PACK_IMAGE_HEIGHT */ + 1753, /* GL_UNPACK_SKIP_IMAGES */ + 1750, /* GL_UNPACK_IMAGE_HEIGHT */ + 1610, /* GL_TEXTURE_3D */ + 1264, /* GL_PROXY_TEXTURE_3D */ + 1673, /* GL_TEXTURE_DEPTH */ + 1725, /* GL_TEXTURE_WRAP_R */ + 847, /* GL_MAX_3D_TEXTURE_SIZE */ + 1786, /* GL_VERTEX_ARRAY */ + 1014, /* GL_NORMAL_ARRAY */ 148, /* GL_COLOR_ARRAY */ - 622, /* GL_INDEX_ARRAY */ - 1650, /* GL_TEXTURE_COORD_ARRAY */ - 455, /* GL_EDGE_FLAG_ARRAY */ - 1791, /* GL_VERTEX_ARRAY_SIZE */ - 1793, /* GL_VERTEX_ARRAY_TYPE */ - 1792, /* GL_VERTEX_ARRAY_STRIDE */ - 1018, /* GL_NORMAL_ARRAY_TYPE */ - 1017, /* GL_NORMAL_ARRAY_STRIDE */ + 623, /* GL_INDEX_ARRAY */ + 1651, /* GL_TEXTURE_COORD_ARRAY */ + 456, /* GL_EDGE_FLAG_ARRAY */ + 1792, /* GL_VERTEX_ARRAY_SIZE */ + 1794, /* GL_VERTEX_ARRAY_TYPE */ + 1793, /* GL_VERTEX_ARRAY_STRIDE */ + 1019, /* GL_NORMAL_ARRAY_TYPE */ + 1018, /* GL_NORMAL_ARRAY_STRIDE */ 152, /* GL_COLOR_ARRAY_SIZE */ 154, /* GL_COLOR_ARRAY_TYPE */ 153, /* GL_COLOR_ARRAY_STRIDE */ - 627, /* GL_INDEX_ARRAY_TYPE */ - 626, /* GL_INDEX_ARRAY_STRIDE */ - 1654, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 1656, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 1655, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - 459, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 1790, /* GL_VERTEX_ARRAY_POINTER */ - 1016, /* GL_NORMAL_ARRAY_POINTER */ + 628, /* GL_INDEX_ARRAY_TYPE */ + 627, /* GL_INDEX_ARRAY_STRIDE */ + 1655, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 1657, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 1656, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 460, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + 1791, /* GL_VERTEX_ARRAY_POINTER */ + 1017, /* GL_NORMAL_ARRAY_POINTER */ 151, /* GL_COLOR_ARRAY_POINTER */ - 625, /* GL_INDEX_ARRAY_POINTER */ - 1653, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - 458, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 992, /* GL_MULTISAMPLE */ - 1381, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1383, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1388, /* GL_SAMPLE_COVERAGE */ - 1385, /* GL_SAMPLE_BUFFERS */ - 1376, /* GL_SAMPLES */ - 1392, /* GL_SAMPLE_COVERAGE_VALUE */ - 1390, /* GL_SAMPLE_COVERAGE_INVERT */ + 626, /* GL_INDEX_ARRAY_POINTER */ + 1654, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 459, /* GL_EDGE_FLAG_ARRAY_POINTER */ + 993, /* GL_MULTISAMPLE */ + 1382, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1384, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1389, /* GL_SAMPLE_COVERAGE */ + 1386, /* GL_SAMPLE_BUFFERS */ + 1377, /* GL_SAMPLES */ + 1393, /* GL_SAMPLE_COVERAGE_VALUE */ + 1391, /* GL_SAMPLE_COVERAGE_INVERT */ 195, /* GL_COLOR_MATRIX */ 197, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 854, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1188, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1184, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1179, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1175, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1186, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1182, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1177, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1173, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 1633, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1264, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 1635, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 855, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1189, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1185, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1180, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1176, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1187, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1183, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1178, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1174, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 1634, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1265, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 1636, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ 80, /* GL_BLEND_DST_RGB */ 89, /* GL_BLEND_SRC_RGB */ 79, /* GL_BLEND_DST_ALPHA */ 88, /* GL_BLEND_SRC_ALPHA */ 201, /* GL_COLOR_TABLE */ - 1198, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1181, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1252, /* GL_PROXY_COLOR_TABLE */ - 1256, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1255, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 1199, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1182, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1253, /* GL_PROXY_COLOR_TABLE */ + 1257, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1256, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ 225, /* GL_COLOR_TABLE_SCALE */ 205, /* GL_COLOR_TABLE_BIAS */ 210, /* GL_COLOR_TABLE_FORMAT */ @@ -4369,380 +4371,380 @@ static const unsigned reduced_enums[1347] = 216, /* GL_COLOR_TABLE_INTENSITY_SIZE */ 71, /* GL_BGR */ 72, /* GL_BGRA */ - 868, /* GL_MAX_ELEMENTS_VERTICES */ - 867, /* GL_MAX_ELEMENTS_INDICES */ - 1688, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 869, /* GL_MAX_ELEMENTS_VERTICES */ + 868, /* GL_MAX_ELEMENTS_INDICES */ + 1689, /* GL_TEXTURE_INDEX_SIZE_EXT */ 145, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1145, /* GL_POINT_SIZE_MIN */ - 1141, /* GL_POINT_SIZE_MAX */ - 1135, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 1131, /* GL_POINT_DISTANCE_ATTENUATION */ + 1146, /* GL_POINT_SIZE_MIN */ + 1142, /* GL_POINT_SIZE_MAX */ + 1136, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1132, /* GL_POINT_DISTANCE_ATTENUATION */ 127, /* GL_CLAMP_TO_BORDER */ 130, /* GL_CLAMP_TO_EDGE */ - 1709, /* GL_TEXTURE_MIN_LOD */ - 1707, /* GL_TEXTURE_MAX_LOD */ - 1612, /* GL_TEXTURE_BASE_LEVEL */ - 1706, /* GL_TEXTURE_MAX_LEVEL */ - 615, /* GL_IGNORE_BORDER_HP */ + 1710, /* GL_TEXTURE_MIN_LOD */ + 1708, /* GL_TEXTURE_MAX_LOD */ + 1613, /* GL_TEXTURE_BASE_LEVEL */ + 1707, /* GL_TEXTURE_MAX_LEVEL */ + 616, /* GL_IGNORE_BORDER_HP */ 276, /* GL_CONSTANT_BORDER_HP */ - 1323, /* GL_REPLICATE_BORDER_HP */ + 1324, /* GL_REPLICATE_BORDER_HP */ 282, /* GL_CONVOLUTION_BORDER_COLOR */ - 1042, /* GL_OCCLUSION_TEST_HP */ - 1043, /* GL_OCCLUSION_TEST_RESULT_HP */ - 687, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 1627, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 1629, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 1631, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 1632, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1630, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 1628, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 850, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 851, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1208, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1210, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1207, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1209, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 1696, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 1697, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 1695, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - 585, /* GL_GENERATE_MIPMAP */ - 586, /* GL_GENERATE_MIPMAP_HINT */ - 527, /* GL_FOG_OFFSET_SGIX */ - 528, /* GL_FOG_OFFSET_VALUE_SGIX */ - 1641, /* GL_TEXTURE_COMPARE_SGIX */ - 1640, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 1692, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 1684, /* GL_TEXTURE_GEQUAL_R_SGIX */ - 358, /* GL_DEPTH_COMPONENT16 */ - 361, /* GL_DEPTH_COMPONENT24 */ - 364, /* GL_DEPTH_COMPONENT32 */ + 1043, /* GL_OCCLUSION_TEST_HP */ + 1044, /* GL_OCCLUSION_TEST_RESULT_HP */ + 688, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 1628, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 1630, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 1632, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 1633, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1631, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 1629, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 851, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 852, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1209, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1211, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1208, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1210, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 1697, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 1698, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 1696, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 586, /* GL_GENERATE_MIPMAP */ + 587, /* GL_GENERATE_MIPMAP_HINT */ + 528, /* GL_FOG_OFFSET_SGIX */ + 529, /* GL_FOG_OFFSET_VALUE_SGIX */ + 1642, /* GL_TEXTURE_COMPARE_SGIX */ + 1641, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 1693, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 1685, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 359, /* GL_DEPTH_COMPONENT16 */ + 362, /* GL_DEPTH_COMPONENT24 */ + 365, /* GL_DEPTH_COMPONENT32 */ 306, /* GL_CULL_VERTEX_EXT */ 308, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ 307, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 1848, /* GL_WRAP_BORDER_SUN */ - 1634, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 680, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1422, /* GL_SINGLE_COLOR */ - 1408, /* GL_SEPARATE_SPECULAR_COLOR */ - 1417, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - 538, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ - 539, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ - 546, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ - 541, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ - 537, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ - 536, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ - 540, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ - 547, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ - 558, /* GL_FRAMEBUFFER_DEFAULT */ - 571, /* GL_FRAMEBUFFER_UNDEFINED */ - 371, /* GL_DEPTH_STENCIL_ATTACHMENT */ - 621, /* GL_INDEX */ - 1758, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 1773, /* GL_UNSIGNED_SHORT_5_6_5 */ - 1774, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 1771, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 1769, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 1766, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 1764, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 1704, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 1705, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 1703, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 943, /* GL_MIRRORED_REPEAT */ - 1364, /* GL_RGB_S3TC */ - 1339, /* GL_RGB4_S3TC */ - 1362, /* GL_RGBA_S3TC */ - 1356, /* GL_RGBA4_S3TC */ - 1360, /* GL_RGBA_DXT5_S3TC */ - 1354, /* GL_RGBA4_DXT5_S3TC */ + 1849, /* GL_WRAP_BORDER_SUN */ + 1635, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 681, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1423, /* GL_SINGLE_COLOR */ + 1409, /* GL_SEPARATE_SPECULAR_COLOR */ + 1418, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 539, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ + 540, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ + 547, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + 542, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ + 538, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ + 537, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ + 541, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ + 548, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + 559, /* GL_FRAMEBUFFER_DEFAULT */ + 572, /* GL_FRAMEBUFFER_UNDEFINED */ + 372, /* GL_DEPTH_STENCIL_ATTACHMENT */ + 622, /* GL_INDEX */ + 1759, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 1774, /* GL_UNSIGNED_SHORT_5_6_5 */ + 1775, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 1772, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 1770, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 1767, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 1765, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 1705, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 1706, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 1704, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 944, /* GL_MIRRORED_REPEAT */ + 1365, /* GL_RGB_S3TC */ + 1340, /* GL_RGB4_S3TC */ + 1363, /* GL_RGBA_S3TC */ + 1357, /* GL_RGBA4_S3TC */ + 1361, /* GL_RGBA_DXT5_S3TC */ + 1355, /* GL_RGBA4_DXT5_S3TC */ 264, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ 259, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ 260, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ 261, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 1004, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 1003, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 688, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - 514, /* GL_FOG_COORDINATE_SOURCE */ - 506, /* GL_FOG_COORD */ - 530, /* GL_FRAGMENT_DEPTH */ + 1005, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 1004, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 689, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 515, /* GL_FOG_COORDINATE_SOURCE */ + 507, /* GL_FOG_COORD */ + 531, /* GL_FRAGMENT_DEPTH */ 312, /* GL_CURRENT_FOG_COORD */ - 513, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - 512, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - 511, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - 508, /* GL_FOG_COORDINATE_ARRAY */ + 514, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + 513, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + 512, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + 509, /* GL_FOG_COORDINATE_ARRAY */ 199, /* GL_COLOR_SUM */ 332, /* GL_CURRENT_SECONDARY_COLOR */ - 1401, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1403, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1402, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1400, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1397, /* GL_SECONDARY_COLOR_ARRAY */ + 1402, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1404, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1403, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1401, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1398, /* GL_SECONDARY_COLOR_ARRAY */ 330, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ 28, /* GL_ALIASED_POINT_SIZE_RANGE */ 27, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1541, /* GL_TEXTURE0 */ - 1543, /* GL_TEXTURE1 */ - 1565, /* GL_TEXTURE2 */ - 1587, /* GL_TEXTURE3 */ - 1593, /* GL_TEXTURE4 */ - 1595, /* GL_TEXTURE5 */ - 1597, /* GL_TEXTURE6 */ - 1599, /* GL_TEXTURE7 */ - 1601, /* GL_TEXTURE8 */ - 1603, /* GL_TEXTURE9 */ - 1544, /* GL_TEXTURE10 */ - 1546, /* GL_TEXTURE11 */ - 1548, /* GL_TEXTURE12 */ - 1550, /* GL_TEXTURE13 */ - 1552, /* GL_TEXTURE14 */ - 1554, /* GL_TEXTURE15 */ - 1556, /* GL_TEXTURE16 */ - 1558, /* GL_TEXTURE17 */ - 1560, /* GL_TEXTURE18 */ - 1562, /* GL_TEXTURE19 */ - 1566, /* GL_TEXTURE20 */ - 1568, /* GL_TEXTURE21 */ - 1570, /* GL_TEXTURE22 */ - 1572, /* GL_TEXTURE23 */ - 1574, /* GL_TEXTURE24 */ - 1576, /* GL_TEXTURE25 */ - 1578, /* GL_TEXTURE26 */ - 1580, /* GL_TEXTURE27 */ - 1582, /* GL_TEXTURE28 */ - 1584, /* GL_TEXTURE29 */ - 1588, /* GL_TEXTURE30 */ - 1590, /* GL_TEXTURE31 */ + 1542, /* GL_TEXTURE0 */ + 1544, /* GL_TEXTURE1 */ + 1566, /* GL_TEXTURE2 */ + 1588, /* GL_TEXTURE3 */ + 1594, /* GL_TEXTURE4 */ + 1596, /* GL_TEXTURE5 */ + 1598, /* GL_TEXTURE6 */ + 1600, /* GL_TEXTURE7 */ + 1602, /* GL_TEXTURE8 */ + 1604, /* GL_TEXTURE9 */ + 1545, /* GL_TEXTURE10 */ + 1547, /* GL_TEXTURE11 */ + 1549, /* GL_TEXTURE12 */ + 1551, /* GL_TEXTURE13 */ + 1553, /* GL_TEXTURE14 */ + 1555, /* GL_TEXTURE15 */ + 1557, /* GL_TEXTURE16 */ + 1559, /* GL_TEXTURE17 */ + 1561, /* GL_TEXTURE18 */ + 1563, /* GL_TEXTURE19 */ + 1567, /* GL_TEXTURE20 */ + 1569, /* GL_TEXTURE21 */ + 1571, /* GL_TEXTURE22 */ + 1573, /* GL_TEXTURE23 */ + 1575, /* GL_TEXTURE24 */ + 1577, /* GL_TEXTURE25 */ + 1579, /* GL_TEXTURE26 */ + 1581, /* GL_TEXTURE27 */ + 1583, /* GL_TEXTURE28 */ + 1585, /* GL_TEXTURE29 */ + 1589, /* GL_TEXTURE30 */ + 1591, /* GL_TEXTURE31 */ 18, /* GL_ACTIVE_TEXTURE */ 133, /* GL_CLIENT_ACTIVE_TEXTURE */ - 921, /* GL_MAX_TEXTURE_UNITS */ - 1736, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 1739, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 1741, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 1733, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1523, /* GL_SUBTRACT */ - 908, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + 922, /* GL_MAX_TEXTURE_UNITS */ + 1737, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 1740, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 1742, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 1734, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1524, /* GL_SUBTRACT */ + 909, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ 247, /* GL_COMPRESSED_ALPHA */ 251, /* GL_COMPRESSED_LUMINANCE */ 252, /* GL_COMPRESSED_LUMINANCE_ALPHA */ 249, /* GL_COMPRESSED_INTENSITY */ 255, /* GL_COMPRESSED_RGB */ 256, /* GL_COMPRESSED_RGBA */ - 1648, /* GL_TEXTURE_COMPRESSION_HINT */ - 1713, /* GL_TEXTURE_RECTANGLE_ARB */ - 1620, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - 1267, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - 906, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - 370, /* GL_DEPTH_STENCIL */ - 1762, /* GL_UNSIGNED_INT_24_8 */ - 917, /* GL_MAX_TEXTURE_LOD_BIAS */ - 1702, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 918, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 1678, /* GL_TEXTURE_FILTER_CONTROL */ - 1693, /* GL_TEXTURE_LOD_BIAS */ + 1649, /* GL_TEXTURE_COMPRESSION_HINT */ + 1714, /* GL_TEXTURE_RECTANGLE_ARB */ + 1621, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + 1268, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + 907, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + 371, /* GL_DEPTH_STENCIL */ + 1763, /* GL_UNSIGNED_INT_24_8 */ + 918, /* GL_MAX_TEXTURE_LOD_BIAS */ + 1703, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 919, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 1679, /* GL_TEXTURE_FILTER_CONTROL */ + 1694, /* GL_TEXTURE_LOD_BIAS */ 232, /* GL_COMBINE4 */ - 911, /* GL_MAX_SHININESS_NV */ - 912, /* GL_MAX_SPOT_EXPONENT_NV */ - 619, /* GL_INCR_WRAP */ + 912, /* GL_MAX_SHININESS_NV */ + 913, /* GL_MAX_SPOT_EXPONENT_NV */ + 620, /* GL_INCR_WRAP */ 343, /* GL_DECR_WRAP */ - 963, /* GL_MODELVIEW1_ARB */ - 1019, /* GL_NORMAL_MAP */ - 1298, /* GL_REFLECTION_MAP */ - 1657, /* GL_TEXTURE_CUBE_MAP */ - 1618, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 1665, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 1659, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 1667, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 1661, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 1669, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 1663, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1265, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 862, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 998, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - 522, /* GL_FOG_DISTANCE_MODE_NV */ - 474, /* GL_EYE_RADIAL_NV */ - 473, /* GL_EYE_PLANE_ABSOLUTE_NV */ + 964, /* GL_MODELVIEW1_ARB */ + 1020, /* GL_NORMAL_MAP */ + 1299, /* GL_REFLECTION_MAP */ + 1658, /* GL_TEXTURE_CUBE_MAP */ + 1619, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 1666, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 1660, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 1668, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 1662, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 1670, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 1664, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1266, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 863, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 999, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 523, /* GL_FOG_DISTANCE_MODE_NV */ + 475, /* GL_EYE_RADIAL_NV */ + 474, /* GL_EYE_PLANE_ABSOLUTE_NV */ 231, /* GL_COMBINE */ 238, /* GL_COMBINE_RGB */ 233, /* GL_COMBINE_ALPHA */ - 1365, /* GL_RGB_SCALE */ + 1366, /* GL_RGB_SCALE */ 24, /* GL_ADD_SIGNED */ - 647, /* GL_INTERPOLATE */ + 648, /* GL_INTERPOLATE */ 271, /* GL_CONSTANT */ - 1214, /* GL_PRIMARY_COLOR */ - 1211, /* GL_PREVIOUS */ - 1437, /* GL_SOURCE0_RGB */ - 1443, /* GL_SOURCE1_RGB */ - 1449, /* GL_SOURCE2_RGB */ - 1453, /* GL_SOURCE3_RGB_NV */ - 1434, /* GL_SOURCE0_ALPHA */ - 1440, /* GL_SOURCE1_ALPHA */ - 1446, /* GL_SOURCE2_ALPHA */ - 1452, /* GL_SOURCE3_ALPHA_NV */ - 1056, /* GL_OPERAND0_RGB */ - 1062, /* GL_OPERAND1_RGB */ - 1068, /* GL_OPERAND2_RGB */ - 1072, /* GL_OPERAND3_RGB_NV */ - 1053, /* GL_OPERAND0_ALPHA */ - 1059, /* GL_OPERAND1_ALPHA */ - 1065, /* GL_OPERAND2_ALPHA */ - 1071, /* GL_OPERAND3_ALPHA_NV */ - 1786, /* GL_VERTEX_ARRAY_BINDING */ - 1711, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - 1712, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - 1852, /* GL_YCBCR_422_APPLE */ - 1775, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 1777, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 1720, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - 1514, /* GL_STORAGE_PRIVATE_APPLE */ - 1513, /* GL_STORAGE_CACHED_APPLE */ - 1515, /* GL_STORAGE_SHARED_APPLE */ - 1424, /* GL_SLICE_ACCUM_SUN */ - 1273, /* GL_QUAD_MESH_SUN */ - 1745, /* GL_TRIANGLE_MESH_SUN */ - 1825, /* GL_VERTEX_PROGRAM_ARB */ - 1836, /* GL_VERTEX_STATE_PROGRAM_NV */ - 1812, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 1818, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 1820, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 1822, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 1215, /* GL_PRIMARY_COLOR */ + 1212, /* GL_PREVIOUS */ + 1438, /* GL_SOURCE0_RGB */ + 1444, /* GL_SOURCE1_RGB */ + 1450, /* GL_SOURCE2_RGB */ + 1454, /* GL_SOURCE3_RGB_NV */ + 1435, /* GL_SOURCE0_ALPHA */ + 1441, /* GL_SOURCE1_ALPHA */ + 1447, /* GL_SOURCE2_ALPHA */ + 1453, /* GL_SOURCE3_ALPHA_NV */ + 1057, /* GL_OPERAND0_RGB */ + 1063, /* GL_OPERAND1_RGB */ + 1069, /* GL_OPERAND2_RGB */ + 1073, /* GL_OPERAND3_RGB_NV */ + 1054, /* GL_OPERAND0_ALPHA */ + 1060, /* GL_OPERAND1_ALPHA */ + 1066, /* GL_OPERAND2_ALPHA */ + 1072, /* GL_OPERAND3_ALPHA_NV */ + 1787, /* GL_VERTEX_ARRAY_BINDING */ + 1712, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + 1713, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + 1853, /* GL_YCBCR_422_APPLE */ + 1776, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 1778, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 1721, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + 1515, /* GL_STORAGE_PRIVATE_APPLE */ + 1514, /* GL_STORAGE_CACHED_APPLE */ + 1516, /* GL_STORAGE_SHARED_APPLE */ + 1425, /* GL_SLICE_ACCUM_SUN */ + 1274, /* GL_QUAD_MESH_SUN */ + 1746, /* GL_TRIANGLE_MESH_SUN */ + 1826, /* GL_VERTEX_PROGRAM_ARB */ + 1837, /* GL_VERTEX_STATE_PROGRAM_NV */ + 1813, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 1819, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 1821, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 1823, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ 334, /* GL_CURRENT_VERTEX_ATTRIB */ - 1227, /* GL_PROGRAM_LENGTH_ARB */ - 1241, /* GL_PROGRAM_STRING_ARB */ - 985, /* GL_MODELVIEW_PROJECTION_NV */ - 614, /* GL_IDENTITY_NV */ - 661, /* GL_INVERSE_NV */ - 1738, /* GL_TRANSPOSE_NV */ - 662, /* GL_INVERSE_TRANSPOSE_NV */ - 892, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 891, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 799, /* GL_MATRIX0_NV */ - 811, /* GL_MATRIX1_NV */ - 823, /* GL_MATRIX2_NV */ - 827, /* GL_MATRIX3_NV */ - 829, /* GL_MATRIX4_NV */ - 831, /* GL_MATRIX5_NV */ - 833, /* GL_MATRIX6_NV */ - 835, /* GL_MATRIX7_NV */ + 1228, /* GL_PROGRAM_LENGTH_ARB */ + 1242, /* GL_PROGRAM_STRING_ARB */ + 986, /* GL_MODELVIEW_PROJECTION_NV */ + 615, /* GL_IDENTITY_NV */ + 662, /* GL_INVERSE_NV */ + 1739, /* GL_TRANSPOSE_NV */ + 663, /* GL_INVERSE_TRANSPOSE_NV */ + 893, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 892, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 800, /* GL_MATRIX0_NV */ + 812, /* GL_MATRIX1_NV */ + 824, /* GL_MATRIX2_NV */ + 828, /* GL_MATRIX3_NV */ + 830, /* GL_MATRIX4_NV */ + 832, /* GL_MATRIX5_NV */ + 834, /* GL_MATRIX6_NV */ + 836, /* GL_MATRIX7_NV */ 318, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ 315, /* GL_CURRENT_MATRIX_ARB */ - 1828, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - 1831, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - 1239, /* GL_PROGRAM_PARAMETER_NV */ - 1816, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - 1243, /* GL_PROGRAM_TARGET_NV */ - 1240, /* GL_PROGRAM_RESIDENT_NV */ - 1730, /* GL_TRACK_MATRIX_NV */ - 1731, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 1826, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1221, /* GL_PROGRAM_ERROR_POSITION_ARB */ - 355, /* GL_DEPTH_CLAMP_NV */ - 1794, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 1801, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 1802, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 1803, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 1804, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 1805, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 1806, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 1807, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 1808, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 1809, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 1795, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 1796, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 1797, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 1798, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 1799, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 1800, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 747, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 754, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 755, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 756, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 757, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 758, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 759, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 760, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 761, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 762, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 748, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 749, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 750, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 751, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 752, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 753, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 774, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 781, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 782, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 783, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 784, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 785, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 786, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1220, /* GL_PROGRAM_BINDING_ARB */ - 788, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 789, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 775, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 776, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 777, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 778, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 779, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 780, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 1646, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 1643, /* GL_TEXTURE_COMPRESSED */ - 1024, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 1829, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + 1832, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1240, /* GL_PROGRAM_PARAMETER_NV */ + 1817, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1244, /* GL_PROGRAM_TARGET_NV */ + 1241, /* GL_PROGRAM_RESIDENT_NV */ + 1731, /* GL_TRACK_MATRIX_NV */ + 1732, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 1827, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1222, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 355, /* GL_DEPTH_CLAMP */ + 1795, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 1802, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 1803, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 1804, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 1805, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 1806, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 1807, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 1808, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 1809, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 1810, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 1796, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 1797, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 1798, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 1799, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 1800, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 1801, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 748, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 755, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 756, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 757, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 758, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 759, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 760, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 761, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 762, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 763, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 749, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 750, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 751, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 752, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 753, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 754, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 775, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 782, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 783, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 784, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 785, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 786, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 787, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1221, /* GL_PROGRAM_BINDING_ARB */ + 789, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 790, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 776, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 777, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 778, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 779, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 780, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 781, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 1647, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 1644, /* GL_TEXTURE_COMPRESSED */ + 1025, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ 269, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 933, /* GL_MAX_VERTEX_UNITS_ARB */ + 934, /* GL_MAX_VERTEX_UNITS_ARB */ 22, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 1847, /* GL_WEIGHT_SUM_UNITY_ARB */ - 1824, /* GL_VERTEX_BLEND_ARB */ + 1848, /* GL_WEIGHT_SUM_UNITY_ARB */ + 1825, /* GL_VERTEX_BLEND_ARB */ 336, /* GL_CURRENT_WEIGHT_ARB */ - 1846, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 1845, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 1844, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 1843, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 1840, /* GL_WEIGHT_ARRAY_ARB */ - 383, /* GL_DOT3_RGB */ - 384, /* GL_DOT3_RGBA */ + 1847, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 1846, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 1845, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 1844, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 1841, /* GL_WEIGHT_ARRAY_ARB */ + 384, /* GL_DOT3_RGB */ + 385, /* GL_DOT3_RGBA */ 263, /* GL_COMPRESSED_RGB_FXT1_3DFX */ 258, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 993, /* GL_MULTISAMPLE_3DFX */ - 1386, /* GL_SAMPLE_BUFFERS_3DFX */ - 1377, /* GL_SAMPLES_3DFX */ - 974, /* GL_MODELVIEW2_ARB */ - 977, /* GL_MODELVIEW3_ARB */ - 978, /* GL_MODELVIEW4_ARB */ - 979, /* GL_MODELVIEW5_ARB */ - 980, /* GL_MODELVIEW6_ARB */ - 981, /* GL_MODELVIEW7_ARB */ - 982, /* GL_MODELVIEW8_ARB */ - 983, /* GL_MODELVIEW9_ARB */ - 953, /* GL_MODELVIEW10_ARB */ - 954, /* GL_MODELVIEW11_ARB */ - 955, /* GL_MODELVIEW12_ARB */ - 956, /* GL_MODELVIEW13_ARB */ - 957, /* GL_MODELVIEW14_ARB */ - 958, /* GL_MODELVIEW15_ARB */ - 959, /* GL_MODELVIEW16_ARB */ - 960, /* GL_MODELVIEW17_ARB */ - 961, /* GL_MODELVIEW18_ARB */ - 962, /* GL_MODELVIEW19_ARB */ - 964, /* GL_MODELVIEW20_ARB */ - 965, /* GL_MODELVIEW21_ARB */ - 966, /* GL_MODELVIEW22_ARB */ - 967, /* GL_MODELVIEW23_ARB */ - 968, /* GL_MODELVIEW24_ARB */ - 969, /* GL_MODELVIEW25_ARB */ - 970, /* GL_MODELVIEW26_ARB */ - 971, /* GL_MODELVIEW27_ARB */ - 972, /* GL_MODELVIEW28_ARB */ - 973, /* GL_MODELVIEW29_ARB */ - 975, /* GL_MODELVIEW30_ARB */ - 976, /* GL_MODELVIEW31_ARB */ - 388, /* GL_DOT3_RGB_EXT */ - 386, /* GL_DOT3_RGBA_EXT */ - 947, /* GL_MIRROR_CLAMP_EXT */ - 950, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 988, /* GL_MODULATE_ADD_ATI */ - 989, /* GL_MODULATE_SIGNED_ADD_ATI */ - 990, /* GL_MODULATE_SUBTRACT_ATI */ - 1853, /* GL_YCBCR_MESA */ - 1080, /* GL_PACK_INVERT_MESA */ + 994, /* GL_MULTISAMPLE_3DFX */ + 1387, /* GL_SAMPLE_BUFFERS_3DFX */ + 1378, /* GL_SAMPLES_3DFX */ + 975, /* GL_MODELVIEW2_ARB */ + 978, /* GL_MODELVIEW3_ARB */ + 979, /* GL_MODELVIEW4_ARB */ + 980, /* GL_MODELVIEW5_ARB */ + 981, /* GL_MODELVIEW6_ARB */ + 982, /* GL_MODELVIEW7_ARB */ + 983, /* GL_MODELVIEW8_ARB */ + 984, /* GL_MODELVIEW9_ARB */ + 954, /* GL_MODELVIEW10_ARB */ + 955, /* GL_MODELVIEW11_ARB */ + 956, /* GL_MODELVIEW12_ARB */ + 957, /* GL_MODELVIEW13_ARB */ + 958, /* GL_MODELVIEW14_ARB */ + 959, /* GL_MODELVIEW15_ARB */ + 960, /* GL_MODELVIEW16_ARB */ + 961, /* GL_MODELVIEW17_ARB */ + 962, /* GL_MODELVIEW18_ARB */ + 963, /* GL_MODELVIEW19_ARB */ + 965, /* GL_MODELVIEW20_ARB */ + 966, /* GL_MODELVIEW21_ARB */ + 967, /* GL_MODELVIEW22_ARB */ + 968, /* GL_MODELVIEW23_ARB */ + 969, /* GL_MODELVIEW24_ARB */ + 970, /* GL_MODELVIEW25_ARB */ + 971, /* GL_MODELVIEW26_ARB */ + 972, /* GL_MODELVIEW27_ARB */ + 973, /* GL_MODELVIEW28_ARB */ + 974, /* GL_MODELVIEW29_ARB */ + 976, /* GL_MODELVIEW30_ARB */ + 977, /* GL_MODELVIEW31_ARB */ + 389, /* GL_DOT3_RGB_EXT */ + 387, /* GL_DOT3_RGBA_EXT */ + 948, /* GL_MIRROR_CLAMP_EXT */ + 951, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 989, /* GL_MODULATE_ADD_ATI */ + 990, /* GL_MODULATE_SIGNED_ADD_ATI */ + 991, /* GL_MODULATE_SUBTRACT_ATI */ + 1854, /* GL_YCBCR_MESA */ + 1081, /* GL_PACK_INVERT_MESA */ 339, /* GL_DEBUG_OBJECT_MESA */ 340, /* GL_DEBUG_PRINT_MESA */ 338, /* GL_DEBUG_ASSERT_MESA */ @@ -4752,292 +4754,292 @@ static const unsigned reduced_enums[1347] = 117, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ 115, /* GL_BUMP_NUM_TEX_UNITS_ATI */ 119, /* GL_BUMP_TEX_UNITS_ATI */ - 447, /* GL_DUDV_ATI */ - 446, /* GL_DU8DV8_ATI */ + 448, /* GL_DUDV_ATI */ + 447, /* GL_DU8DV8_ATI */ 114, /* GL_BUMP_ENVMAP_ATI */ 118, /* GL_BUMP_TARGET_ATI */ - 1485, /* GL_STENCIL_BACK_FUNC */ - 1483, /* GL_STENCIL_BACK_FAIL */ - 1487, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - 1489, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - 531, /* GL_FRAGMENT_PROGRAM_ARB */ - 1218, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1246, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1245, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1230, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1236, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1235, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 881, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 904, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 903, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 894, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 900, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 899, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 864, /* GL_MAX_DRAW_BUFFERS */ - 392, /* GL_DRAW_BUFFER0 */ - 395, /* GL_DRAW_BUFFER1 */ - 416, /* GL_DRAW_BUFFER2 */ - 419, /* GL_DRAW_BUFFER3 */ - 422, /* GL_DRAW_BUFFER4 */ - 425, /* GL_DRAW_BUFFER5 */ - 428, /* GL_DRAW_BUFFER6 */ - 431, /* GL_DRAW_BUFFER7 */ - 434, /* GL_DRAW_BUFFER8 */ - 437, /* GL_DRAW_BUFFER9 */ - 396, /* GL_DRAW_BUFFER10 */ - 399, /* GL_DRAW_BUFFER11 */ - 402, /* GL_DRAW_BUFFER12 */ - 405, /* GL_DRAW_BUFFER13 */ - 408, /* GL_DRAW_BUFFER14 */ - 411, /* GL_DRAW_BUFFER15 */ + 1486, /* GL_STENCIL_BACK_FUNC */ + 1484, /* GL_STENCIL_BACK_FAIL */ + 1488, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1490, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 532, /* GL_FRAGMENT_PROGRAM_ARB */ + 1219, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1247, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1246, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1231, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1237, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1236, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 882, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 905, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 904, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 895, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 901, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 900, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 865, /* GL_MAX_DRAW_BUFFERS */ + 393, /* GL_DRAW_BUFFER0 */ + 396, /* GL_DRAW_BUFFER1 */ + 417, /* GL_DRAW_BUFFER2 */ + 420, /* GL_DRAW_BUFFER3 */ + 423, /* GL_DRAW_BUFFER4 */ + 426, /* GL_DRAW_BUFFER5 */ + 429, /* GL_DRAW_BUFFER6 */ + 432, /* GL_DRAW_BUFFER7 */ + 435, /* GL_DRAW_BUFFER8 */ + 438, /* GL_DRAW_BUFFER9 */ + 397, /* GL_DRAW_BUFFER10 */ + 400, /* GL_DRAW_BUFFER11 */ + 403, /* GL_DRAW_BUFFER12 */ + 406, /* GL_DRAW_BUFFER13 */ + 409, /* GL_DRAW_BUFFER14 */ + 412, /* GL_DRAW_BUFFER15 */ 82, /* GL_BLEND_EQUATION_ALPHA */ - 844, /* GL_MATRIX_PALETTE_ARB */ - 875, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 878, /* GL_MAX_PALETTE_MATRICES_ARB */ + 845, /* GL_MATRIX_PALETTE_ARB */ + 876, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 879, /* GL_MAX_PALETTE_MATRICES_ARB */ 321, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 838, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 839, /* GL_MATRIX_INDEX_ARRAY_ARB */ 316, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 840, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 842, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 841, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 839, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 1673, /* GL_TEXTURE_DEPTH_SIZE */ - 376, /* GL_DEPTH_TEXTURE_MODE */ - 1638, /* GL_TEXTURE_COMPARE_MODE */ - 1636, /* GL_TEXTURE_COMPARE_FUNC */ + 841, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 843, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 842, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 840, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 1674, /* GL_TEXTURE_DEPTH_SIZE */ + 377, /* GL_DEPTH_TEXTURE_MODE */ + 1639, /* GL_TEXTURE_COMPARE_MODE */ + 1637, /* GL_TEXTURE_COMPARE_FUNC */ 242, /* GL_COMPARE_R_TO_TEXTURE */ - 1152, /* GL_POINT_SPRITE */ + 1153, /* GL_POINT_SPRITE */ 296, /* GL_COORD_REPLACE */ - 1156, /* GL_POINT_SPRITE_R_MODE_NV */ - 1275, /* GL_QUERY_COUNTER_BITS */ + 1157, /* GL_POINT_SPRITE_R_MODE_NV */ + 1276, /* GL_QUERY_COUNTER_BITS */ 323, /* GL_CURRENT_QUERY */ - 1277, /* GL_QUERY_RESULT */ - 1279, /* GL_QUERY_RESULT_AVAILABLE */ - 927, /* GL_MAX_VERTEX_ATTRIBS */ - 1814, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - 374, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - 373, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 913, /* GL_MAX_TEXTURE_COORDS */ - 915, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - 1223, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1225, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1224, /* GL_PROGRAM_FORMAT_ARB */ - 1722, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 1278, /* GL_QUERY_RESULT */ + 1280, /* GL_QUERY_RESULT_AVAILABLE */ + 928, /* GL_MAX_VERTEX_ATTRIBS */ + 1815, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 375, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + 374, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + 914, /* GL_MAX_TEXTURE_COORDS */ + 916, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1224, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1226, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1225, /* GL_PROGRAM_FORMAT_ARB */ + 1723, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ 353, /* GL_DEPTH_BOUNDS_TEST_EXT */ 352, /* GL_DEPTH_BOUNDS_EXT */ 53, /* GL_ARRAY_BUFFER */ - 460, /* GL_ELEMENT_ARRAY_BUFFER */ + 461, /* GL_ELEMENT_ARRAY_BUFFER */ 54, /* GL_ARRAY_BUFFER_BINDING */ - 461, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 1788, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 1014, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 462, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + 1789, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 1015, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ 149, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - 623, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 1651, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - 456, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1398, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - 509, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 1841, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 1810, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1226, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 887, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1232, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 896, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1244, /* GL_PROGRAM_TEMPORARIES_ARB */ - 902, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1234, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 898, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1238, /* GL_PROGRAM_PARAMETERS_ARB */ - 901, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1233, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 897, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1219, /* GL_PROGRAM_ATTRIBS_ARB */ - 882, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1231, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 895, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1217, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 880, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1229, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 893, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 888, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 884, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1247, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 1735, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1288, /* GL_READ_ONLY */ - 1849, /* GL_WRITE_ONLY */ - 1290, /* GL_READ_WRITE */ + 624, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 1652, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 457, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + 1399, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 510, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + 1842, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 1811, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1227, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 888, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1233, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 897, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1245, /* GL_PROGRAM_TEMPORARIES_ARB */ + 903, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1235, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 899, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1239, /* GL_PROGRAM_PARAMETERS_ARB */ + 902, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1234, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 898, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1220, /* GL_PROGRAM_ATTRIBS_ARB */ + 883, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1232, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 896, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1218, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 881, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1230, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 894, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 889, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 885, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1248, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 1736, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1289, /* GL_READ_ONLY */ + 1850, /* GL_WRITE_ONLY */ + 1291, /* GL_READ_WRITE */ 102, /* GL_BUFFER_ACCESS */ 105, /* GL_BUFFER_MAPPED */ 107, /* GL_BUFFER_MAP_POINTER */ - 1729, /* GL_TIME_ELAPSED_EXT */ - 798, /* GL_MATRIX0_ARB */ - 810, /* GL_MATRIX1_ARB */ - 822, /* GL_MATRIX2_ARB */ - 826, /* GL_MATRIX3_ARB */ - 828, /* GL_MATRIX4_ARB */ - 830, /* GL_MATRIX5_ARB */ - 832, /* GL_MATRIX6_ARB */ - 834, /* GL_MATRIX7_ARB */ - 836, /* GL_MATRIX8_ARB */ - 837, /* GL_MATRIX9_ARB */ - 800, /* GL_MATRIX10_ARB */ - 801, /* GL_MATRIX11_ARB */ - 802, /* GL_MATRIX12_ARB */ - 803, /* GL_MATRIX13_ARB */ - 804, /* GL_MATRIX14_ARB */ - 805, /* GL_MATRIX15_ARB */ - 806, /* GL_MATRIX16_ARB */ - 807, /* GL_MATRIX17_ARB */ - 808, /* GL_MATRIX18_ARB */ - 809, /* GL_MATRIX19_ARB */ - 812, /* GL_MATRIX20_ARB */ - 813, /* GL_MATRIX21_ARB */ - 814, /* GL_MATRIX22_ARB */ - 815, /* GL_MATRIX23_ARB */ - 816, /* GL_MATRIX24_ARB */ - 817, /* GL_MATRIX25_ARB */ - 818, /* GL_MATRIX26_ARB */ - 819, /* GL_MATRIX27_ARB */ - 820, /* GL_MATRIX28_ARB */ - 821, /* GL_MATRIX29_ARB */ - 824, /* GL_MATRIX30_ARB */ - 825, /* GL_MATRIX31_ARB */ - 1518, /* GL_STREAM_DRAW */ - 1520, /* GL_STREAM_READ */ - 1516, /* GL_STREAM_COPY */ - 1476, /* GL_STATIC_DRAW */ - 1478, /* GL_STATIC_READ */ - 1474, /* GL_STATIC_COPY */ - 450, /* GL_DYNAMIC_DRAW */ - 452, /* GL_DYNAMIC_READ */ - 448, /* GL_DYNAMIC_COPY */ - 1120, /* GL_PIXEL_PACK_BUFFER */ - 1124, /* GL_PIXEL_UNPACK_BUFFER */ - 1121, /* GL_PIXEL_PACK_BUFFER_BINDING */ - 1125, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + 1730, /* GL_TIME_ELAPSED_EXT */ + 799, /* GL_MATRIX0_ARB */ + 811, /* GL_MATRIX1_ARB */ + 823, /* GL_MATRIX2_ARB */ + 827, /* GL_MATRIX3_ARB */ + 829, /* GL_MATRIX4_ARB */ + 831, /* GL_MATRIX5_ARB */ + 833, /* GL_MATRIX6_ARB */ + 835, /* GL_MATRIX7_ARB */ + 837, /* GL_MATRIX8_ARB */ + 838, /* GL_MATRIX9_ARB */ + 801, /* GL_MATRIX10_ARB */ + 802, /* GL_MATRIX11_ARB */ + 803, /* GL_MATRIX12_ARB */ + 804, /* GL_MATRIX13_ARB */ + 805, /* GL_MATRIX14_ARB */ + 806, /* GL_MATRIX15_ARB */ + 807, /* GL_MATRIX16_ARB */ + 808, /* GL_MATRIX17_ARB */ + 809, /* GL_MATRIX18_ARB */ + 810, /* GL_MATRIX19_ARB */ + 813, /* GL_MATRIX20_ARB */ + 814, /* GL_MATRIX21_ARB */ + 815, /* GL_MATRIX22_ARB */ + 816, /* GL_MATRIX23_ARB */ + 817, /* GL_MATRIX24_ARB */ + 818, /* GL_MATRIX25_ARB */ + 819, /* GL_MATRIX26_ARB */ + 820, /* GL_MATRIX27_ARB */ + 821, /* GL_MATRIX28_ARB */ + 822, /* GL_MATRIX29_ARB */ + 825, /* GL_MATRIX30_ARB */ + 826, /* GL_MATRIX31_ARB */ + 1519, /* GL_STREAM_DRAW */ + 1521, /* GL_STREAM_READ */ + 1517, /* GL_STREAM_COPY */ + 1477, /* GL_STATIC_DRAW */ + 1479, /* GL_STATIC_READ */ + 1475, /* GL_STATIC_COPY */ + 451, /* GL_DYNAMIC_DRAW */ + 453, /* GL_DYNAMIC_READ */ + 449, /* GL_DYNAMIC_COPY */ + 1121, /* GL_PIXEL_PACK_BUFFER */ + 1125, /* GL_PIXEL_UNPACK_BUFFER */ + 1122, /* GL_PIXEL_PACK_BUFFER_BINDING */ + 1126, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ 347, /* GL_DEPTH24_STENCIL8 */ - 1719, /* GL_TEXTURE_STENCIL_SIZE */ - 1671, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - 883, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 886, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 890, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 889, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 847, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - 1509, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 1720, /* GL_TEXTURE_STENCIL_SIZE */ + 1672, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + 884, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 887, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 891, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 890, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 848, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + 1510, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ 17, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 948, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1379, /* GL_SAMPLES_PASSED */ + 949, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1380, /* GL_SAMPLES_PASSED */ 109, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ 104, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - 532, /* GL_FRAGMENT_SHADER */ - 1834, /* GL_VERTEX_SHADER */ - 1237, /* GL_PROGRAM_OBJECT_ARB */ - 1411, /* GL_SHADER_OBJECT_ARB */ - 871, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - 931, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - 925, /* GL_MAX_VARYING_FLOATS */ - 929, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - 856, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - 1040, /* GL_OBJECT_TYPE_ARB */ - 1413, /* GL_SHADER_TYPE */ - 497, /* GL_FLOAT_VEC2 */ - 499, /* GL_FLOAT_VEC3 */ - 501, /* GL_FLOAT_VEC4 */ - 650, /* GL_INT_VEC2 */ - 652, /* GL_INT_VEC3 */ - 654, /* GL_INT_VEC4 */ + 533, /* GL_FRAGMENT_SHADER */ + 1835, /* GL_VERTEX_SHADER */ + 1238, /* GL_PROGRAM_OBJECT_ARB */ + 1412, /* GL_SHADER_OBJECT_ARB */ + 872, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 932, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 926, /* GL_MAX_VARYING_FLOATS */ + 930, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 857, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 1041, /* GL_OBJECT_TYPE_ARB */ + 1414, /* GL_SHADER_TYPE */ + 498, /* GL_FLOAT_VEC2 */ + 500, /* GL_FLOAT_VEC3 */ + 502, /* GL_FLOAT_VEC4 */ + 651, /* GL_INT_VEC2 */ + 653, /* GL_INT_VEC3 */ + 655, /* GL_INT_VEC4 */ 94, /* GL_BOOL */ 96, /* GL_BOOL_VEC2 */ 98, /* GL_BOOL_VEC3 */ 100, /* GL_BOOL_VEC4 */ - 485, /* GL_FLOAT_MAT2 */ - 489, /* GL_FLOAT_MAT3 */ - 493, /* GL_FLOAT_MAT4 */ - 1370, /* GL_SAMPLER_1D */ - 1372, /* GL_SAMPLER_2D */ - 1374, /* GL_SAMPLER_3D */ - 1375, /* GL_SAMPLER_CUBE */ - 1371, /* GL_SAMPLER_1D_SHADOW */ - 1373, /* GL_SAMPLER_2D_SHADOW */ - 487, /* GL_FLOAT_MAT2x3 */ - 488, /* GL_FLOAT_MAT2x4 */ - 491, /* GL_FLOAT_MAT3x2 */ - 492, /* GL_FLOAT_MAT3x4 */ - 495, /* GL_FLOAT_MAT4x2 */ - 496, /* GL_FLOAT_MAT4x3 */ + 486, /* GL_FLOAT_MAT2 */ + 490, /* GL_FLOAT_MAT3 */ + 494, /* GL_FLOAT_MAT4 */ + 1371, /* GL_SAMPLER_1D */ + 1373, /* GL_SAMPLER_2D */ + 1375, /* GL_SAMPLER_3D */ + 1376, /* GL_SAMPLER_CUBE */ + 1372, /* GL_SAMPLER_1D_SHADOW */ + 1374, /* GL_SAMPLER_2D_SHADOW */ + 488, /* GL_FLOAT_MAT2x3 */ + 489, /* GL_FLOAT_MAT2x4 */ + 492, /* GL_FLOAT_MAT3x2 */ + 493, /* GL_FLOAT_MAT3x4 */ + 496, /* GL_FLOAT_MAT4x2 */ + 497, /* GL_FLOAT_MAT4x3 */ 345, /* GL_DELETE_STATUS */ 246, /* GL_COMPILE_STATUS */ - 705, /* GL_LINK_STATUS */ - 1782, /* GL_VALIDATE_STATUS */ - 635, /* GL_INFO_LOG_LENGTH */ + 706, /* GL_LINK_STATUS */ + 1783, /* GL_VALIDATE_STATUS */ + 636, /* GL_INFO_LOG_LENGTH */ 56, /* GL_ATTACHED_SHADERS */ 20, /* GL_ACTIVE_UNIFORMS */ 21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ - 1412, /* GL_SHADER_SOURCE_LENGTH */ + 1413, /* GL_SHADER_SOURCE_LENGTH */ 15, /* GL_ACTIVE_ATTRIBUTES */ 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ - 534, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - 1415, /* GL_SHADING_LANGUAGE_VERSION */ + 535, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + 1416, /* GL_SHADING_LANGUAGE_VERSION */ 322, /* GL_CURRENT_PROGRAM */ - 1089, /* GL_PALETTE4_RGB8_OES */ - 1091, /* GL_PALETTE4_RGBA8_OES */ - 1087, /* GL_PALETTE4_R5_G6_B5_OES */ - 1090, /* GL_PALETTE4_RGBA4_OES */ - 1088, /* GL_PALETTE4_RGB5_A1_OES */ - 1094, /* GL_PALETTE8_RGB8_OES */ - 1096, /* GL_PALETTE8_RGBA8_OES */ - 1092, /* GL_PALETTE8_R5_G6_B5_OES */ - 1095, /* GL_PALETTE8_RGBA4_OES */ - 1093, /* GL_PALETTE8_RGB5_A1_OES */ - 617, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - 616, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - 1767, /* GL_UNSIGNED_NORMALIZED */ - 1606, /* GL_TEXTURE_1D_ARRAY_EXT */ - 1258, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - 1608, /* GL_TEXTURE_2D_ARRAY_EXT */ - 1261, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - 1614, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - 1616, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - 1468, /* GL_SRGB */ - 1469, /* GL_SRGB8 */ - 1471, /* GL_SRGB_ALPHA */ - 1470, /* GL_SRGB8_ALPHA8 */ - 1428, /* GL_SLUMINANCE_ALPHA */ - 1427, /* GL_SLUMINANCE8_ALPHA8 */ - 1425, /* GL_SLUMINANCE */ - 1426, /* GL_SLUMINANCE8 */ + 1090, /* GL_PALETTE4_RGB8_OES */ + 1092, /* GL_PALETTE4_RGBA8_OES */ + 1088, /* GL_PALETTE4_R5_G6_B5_OES */ + 1091, /* GL_PALETTE4_RGBA4_OES */ + 1089, /* GL_PALETTE4_RGB5_A1_OES */ + 1095, /* GL_PALETTE8_RGB8_OES */ + 1097, /* GL_PALETTE8_RGBA8_OES */ + 1093, /* GL_PALETTE8_R5_G6_B5_OES */ + 1096, /* GL_PALETTE8_RGBA4_OES */ + 1094, /* GL_PALETTE8_RGB5_A1_OES */ + 618, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + 617, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + 1768, /* GL_UNSIGNED_NORMALIZED */ + 1607, /* GL_TEXTURE_1D_ARRAY_EXT */ + 1259, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + 1609, /* GL_TEXTURE_2D_ARRAY_EXT */ + 1262, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + 1615, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + 1617, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + 1469, /* GL_SRGB */ + 1470, /* GL_SRGB8 */ + 1472, /* GL_SRGB_ALPHA */ + 1471, /* GL_SRGB8_ALPHA8 */ + 1429, /* GL_SLUMINANCE_ALPHA */ + 1428, /* GL_SLUMINANCE8_ALPHA8 */ + 1426, /* GL_SLUMINANCE */ + 1427, /* GL_SLUMINANCE8 */ 267, /* GL_COMPRESSED_SRGB */ 268, /* GL_COMPRESSED_SRGB_ALPHA */ 265, /* GL_COMPRESSED_SLUMINANCE */ 266, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - 1154, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 713, /* GL_LOWER_LEFT */ - 1779, /* GL_UPPER_LEFT */ - 1491, /* GL_STENCIL_BACK_REF */ - 1492, /* GL_STENCIL_BACK_VALUE_MASK */ - 1493, /* GL_STENCIL_BACK_WRITEMASK */ - 441, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - 1304, /* GL_RENDERBUFFER_BINDING_EXT */ - 1285, /* GL_READ_FRAMEBUFFER */ - 440, /* GL_DRAW_FRAMEBUFFER */ - 1286, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - 1314, /* GL_RENDERBUFFER_SAMPLES */ - 544, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ - 542, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ - 553, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ - 549, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ - 551, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ - 556, /* GL_FRAMEBUFFER_COMPLETE */ - 560, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ - 566, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ - 564, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - 562, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - 565, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - 563, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - 569, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - 572, /* GL_FRAMEBUFFER_UNSUPPORTED */ - 570, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 853, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + 1155, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 714, /* GL_LOWER_LEFT */ + 1780, /* GL_UPPER_LEFT */ + 1492, /* GL_STENCIL_BACK_REF */ + 1493, /* GL_STENCIL_BACK_VALUE_MASK */ + 1494, /* GL_STENCIL_BACK_WRITEMASK */ + 442, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + 1305, /* GL_RENDERBUFFER_BINDING_EXT */ + 1286, /* GL_READ_FRAMEBUFFER */ + 441, /* GL_DRAW_FRAMEBUFFER */ + 1287, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + 1315, /* GL_RENDERBUFFER_SAMPLES */ + 545, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + 543, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + 554, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + 550, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + 552, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + 557, /* GL_FRAMEBUFFER_COMPLETE */ + 561, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + 567, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + 565, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + 563, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + 566, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + 564, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + 570, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + 573, /* GL_FRAMEBUFFER_UNSUPPORTED */ + 571, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + 854, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ 155, /* GL_COLOR_ATTACHMENT0 */ 157, /* GL_COLOR_ATTACHMENT1 */ 171, /* GL_COLOR_ATTACHMENT2 */ @@ -5055,56 +5057,56 @@ static const unsigned reduced_enums[1347] = 166, /* GL_COLOR_ATTACHMENT14 */ 168, /* GL_COLOR_ATTACHMENT15 */ 348, /* GL_DEPTH_ATTACHMENT */ - 1481, /* GL_STENCIL_ATTACHMENT */ - 535, /* GL_FRAMEBUFFER */ - 1302, /* GL_RENDERBUFFER */ - 1316, /* GL_RENDERBUFFER_WIDTH */ - 1309, /* GL_RENDERBUFFER_HEIGHT */ - 1311, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - 1504, /* GL_STENCIL_INDEX_EXT */ - 1501, /* GL_STENCIL_INDEX1_EXT */ - 1502, /* GL_STENCIL_INDEX4_EXT */ - 1503, /* GL_STENCIL_INDEX8_EXT */ - 1500, /* GL_STENCIL_INDEX16_EXT */ - 1313, /* GL_RENDERBUFFER_RED_SIZE */ - 1308, /* GL_RENDERBUFFER_GREEN_SIZE */ - 1305, /* GL_RENDERBUFFER_BLUE_SIZE */ - 1303, /* GL_RENDERBUFFER_ALPHA_SIZE */ - 1306, /* GL_RENDERBUFFER_DEPTH_SIZE */ - 1315, /* GL_RENDERBUFFER_STENCIL_SIZE */ - 568, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - 909, /* GL_MAX_SAMPLES */ - 1272, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - 482, /* GL_FIRST_VERTEX_CONVENTION_EXT */ - 665, /* GL_LAST_VERTEX_CONVENTION_EXT */ - 1251, /* GL_PROVOKING_VERTEX_EXT */ + 1482, /* GL_STENCIL_ATTACHMENT */ + 536, /* GL_FRAMEBUFFER */ + 1303, /* GL_RENDERBUFFER */ + 1317, /* GL_RENDERBUFFER_WIDTH */ + 1310, /* GL_RENDERBUFFER_HEIGHT */ + 1312, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + 1505, /* GL_STENCIL_INDEX_EXT */ + 1502, /* GL_STENCIL_INDEX1_EXT */ + 1503, /* GL_STENCIL_INDEX4_EXT */ + 1504, /* GL_STENCIL_INDEX8_EXT */ + 1501, /* GL_STENCIL_INDEX16_EXT */ + 1314, /* GL_RENDERBUFFER_RED_SIZE */ + 1309, /* GL_RENDERBUFFER_GREEN_SIZE */ + 1306, /* GL_RENDERBUFFER_BLUE_SIZE */ + 1304, /* GL_RENDERBUFFER_ALPHA_SIZE */ + 1307, /* GL_RENDERBUFFER_DEPTH_SIZE */ + 1316, /* GL_RENDERBUFFER_STENCIL_SIZE */ + 569, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + 910, /* GL_MAX_SAMPLES */ + 1273, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + 483, /* GL_FIRST_VERTEX_CONVENTION_EXT */ + 666, /* GL_LAST_VERTEX_CONVENTION_EXT */ + 1252, /* GL_PROVOKING_VERTEX_EXT */ 302, /* GL_COPY_READ_BUFFER */ 303, /* GL_COPY_WRITE_BUFFER */ - 1363, /* GL_RGBA_SNORM */ - 1359, /* GL_RGBA8_SNORM */ - 1421, /* GL_SIGNED_NORMALIZED */ - 910, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - 1039, /* GL_OBJECT_TYPE */ - 1525, /* GL_SYNC_CONDITION */ - 1530, /* GL_SYNC_STATUS */ - 1527, /* GL_SYNC_FLAGS */ - 1526, /* GL_SYNC_FENCE */ - 1529, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - 1756, /* GL_UNSIGNALED */ - 1420, /* GL_SIGNALED */ + 1364, /* GL_RGBA_SNORM */ + 1360, /* GL_RGBA8_SNORM */ + 1422, /* GL_SIGNED_NORMALIZED */ + 911, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + 1040, /* GL_OBJECT_TYPE */ + 1526, /* GL_SYNC_CONDITION */ + 1531, /* GL_SYNC_STATUS */ + 1528, /* GL_SYNC_FLAGS */ + 1527, /* GL_SYNC_FENCE */ + 1530, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + 1757, /* GL_UNSIGNALED */ + 1421, /* GL_SIGNALED */ 46, /* GL_ALREADY_SIGNALED */ - 1727, /* GL_TIMEOUT_EXPIRED */ + 1728, /* GL_TIMEOUT_EXPIRED */ 270, /* GL_CONDITION_SATISFIED */ - 1839, /* GL_WAIT_FAILED */ - 467, /* GL_EVAL_BIT */ - 1283, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 707, /* GL_LIST_BIT */ - 1622, /* GL_TEXTURE_BIT */ - 1394, /* GL_SCISSOR_BIT */ + 1840, /* GL_WAIT_FAILED */ + 468, /* GL_EVAL_BIT */ + 1284, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 708, /* GL_LIST_BIT */ + 1623, /* GL_TEXTURE_BIT */ + 1395, /* GL_SCISSOR_BIT */ 29, /* GL_ALL_ATTRIB_BITS */ - 995, /* GL_MULTISAMPLE_BIT */ + 996, /* GL_MULTISAMPLE_BIT */ 30, /* GL_ALL_CLIENT_ATTRIB_BITS */ - 1728, /* GL_TIMEOUT_IGNORED */ + 1729, /* GL_TIMEOUT_IGNORED */ }; typedef int (*cfunc)(const void *, const void *); -- cgit v1.2.3 From 0310aafd9ea502e07a86b355cfca902102b9117c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 26 Aug 2009 11:04:13 -0700 Subject: i965: Add support for ARB_depth_clamp. --- src/mesa/drivers/dri/i965/brw_cc.c | 8 +++++--- src/mesa/drivers/dri/i965/brw_clip_state.c | 11 +++++++++-- src/mesa/drivers/dri/intel/intel_extensions.c | 1 + 3 files changed, 15 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c index c724218cf5..1088a7a607 100644 --- a/src/mesa/drivers/dri/i965/brw_cc.c +++ b/src/mesa/drivers/dri/i965/brw_cc.c @@ -39,12 +39,14 @@ static void prepare_cc_vp( struct brw_context *brw ) { + GLcontext *ctx = &brw->intel.ctx; struct brw_cc_viewport ccv; memset(&ccv, 0, sizeof(ccv)); - ccv.min_depth = 0.0; - ccv.max_depth = 1.0; + /* _NEW_VIEWPORT */ + ccv.min_depth = ctx->Viewport.Near; + ccv.max_depth = ctx->Viewport.Far; dri_bo_unreference(brw->cc.vp_bo); brw->cc.vp_bo = brw_cache_data( &brw->cache, BRW_CC_VP, &ccv, NULL, 0 ); @@ -52,7 +54,7 @@ static void prepare_cc_vp( struct brw_context *brw ) const struct brw_tracked_state brw_cc_vp = { .dirty = { - .mesa = 0, + .mesa = _NEW_VIEWPORT, .brw = BRW_NEW_CONTEXT, .cache = 0 }, diff --git a/src/mesa/drivers/dri/i965/brw_clip_state.c b/src/mesa/drivers/dri/i965/brw_clip_state.c index 5762c9577c..234b3744bf 100644 --- a/src/mesa/drivers/dri/i965/brw_clip_state.c +++ b/src/mesa/drivers/dri/i965/brw_clip_state.c @@ -43,11 +43,14 @@ struct brw_clip_unit_key { unsigned int curbe_offset; unsigned int nr_urb_entries, urb_size; + + GLboolean depth_clamp; }; static void clip_unit_populate_key(struct brw_context *brw, struct brw_clip_unit_key *key) { + GLcontext *ctx = &brw->intel.ctx; memset(key, 0, sizeof(*key)); /* CACHE_NEW_CLIP_PROG */ @@ -62,6 +65,9 @@ clip_unit_populate_key(struct brw_context *brw, struct brw_clip_unit_key *key) /* BRW_NEW_URB_FENCE */ key->nr_urb_entries = brw->urb.nr_clip_entries; key->urb_size = brw->urb.vsize; + + /* _NEW_TRANSOFORM */ + key->depth_clamp = ctx->Transform.DepthClamp; } static dri_bo * @@ -117,7 +123,8 @@ clip_unit_create_from_key(struct brw_context *brw, clip.clip5.userclip_enable_flags = 0x7f; clip.clip5.userclip_must_clip = 1; clip.clip5.guard_band_enable = 0; - clip.clip5.viewport_z_clip_enable = 1; + if (!key->depth_clamp) + clip.clip5.viewport_z_clip_enable = 1; clip.clip5.viewport_xy_clip_enable = 1; clip.clip5.vertex_position_space = BRW_CLIP_NDCSPACE; clip.clip5.api_mode = BRW_CLIP_API_OGL; @@ -168,7 +175,7 @@ static void upload_clip_unit( struct brw_context *brw ) const struct brw_tracked_state brw_clip_unit = { .dirty = { - .mesa = 0, + .mesa = _NEW_TRANSFORM, .brw = (BRW_NEW_CURBE_OFFSETS | BRW_NEW_URB_FENCE), .cache = CACHE_NEW_CLIP_PROG diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c index 2e61c556d8..125ca93d7f 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions.c +++ b/src/mesa/drivers/dri/intel/intel_extensions.c @@ -139,6 +139,7 @@ static const struct dri_extension i915_extensions[] = { /** i965-only extensions */ static const struct dri_extension brw_extensions[] = { + { "GL_ARB_depth_clamp", NULL }, { "GL_ARB_depth_texture", NULL }, { "GL_ARB_fragment_program", NULL }, { "GL_ARB_fragment_program_shadow", NULL }, -- cgit v1.2.3 From b11a8ea863612827fe04b636f1c2eae9e1536fbd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 8 Sep 2009 12:32:05 -0700 Subject: mesa: Expose NV_depth_clamp if ARB_depth_clamp is supported. The wording of these two is exactly the same, except for the issue "Can fragments with wc<=0 be generated when this extension is supported?", which idr thinks is a non-issue for us. --- src/mesa/drivers/dri/swrast/swrast.c | 1 + src/mesa/drivers/x11/xm_api.c | 1 + src/mesa/main/extensions.c | 1 + 3 files changed, 3 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index 9a130d61cf..2d2aa5e0f1 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -110,6 +110,7 @@ const struct dri_extension card_extensions[] = { "GL_EXT_paletted_texture", GL_EXT_paletted_texture_functions }, { "GL_EXT_stencil_two_side", GL_EXT_stencil_two_side_functions }, { "GL_MESA_resize_buffers", GL_MESA_resize_buffers_functions }, + { "GL_NV_depth_clamp", NULL }, { "GL_NV_vertex_program", GL_NV_vertex_program_functions }, { "GL_NV_fragment_program", GL_NV_fragment_program_functions }, { NULL, NULL } diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c index 78545d0e17..777635b783 100644 --- a/src/mesa/drivers/x11/xm_api.c +++ b/src/mesa/drivers/x11/xm_api.c @@ -1359,6 +1359,7 @@ const struct dri_extension card_extensions[] = { "GL_EXT_gpu_program_parameters", GL_EXT_gpu_program_parameters_functions }, { "GL_EXT_paletted_texture", GL_EXT_paletted_texture_functions }, { "GL_MESA_resize_buffers", GL_MESA_resize_buffers_functions }, + { "GL_NV_depth_clamp", NULL }, { "GL_NV_vertex_program", GL_NV_vertex_program_functions }, { "GL_NV_fragment_program", GL_NV_fragment_program_functions }, { NULL, NULL } diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index ea67f820af..d0e77bafdd 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -163,6 +163,7 @@ static const struct { { OFF, "GL_MESA_ycbcr_texture", F(MESA_ycbcr_texture) }, { ON, "GL_MESA_window_pos", F(ARB_window_pos) }, { OFF, "GL_NV_blend_square", F(NV_blend_square) }, + { OFF, "GL_NV_depth_clamp", F(ARB_depth_clamp) }, { OFF, "GL_NV_fragment_program", F(NV_fragment_program) }, { ON, "GL_NV_light_max_exponent", F(NV_light_max_exponent) }, { OFF, "GL_NV_point_sprite", F(NV_point_sprite) }, -- cgit v1.2.3 From ec9e7295800aff0f04815de736127101f770033f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 27 Aug 2009 09:36:34 -0700 Subject: glapi: Add ARB_draw_elements_base_vertex --- src/mesa/drivers/dri/common/extension_helper.h | 58 +- src/mesa/glapi/ARB_draw_elements_base_vertex.xml | 40 + src/mesa/glapi/dispatch.h | 459 ++--- src/mesa/glapi/gl_API.xml | 2 + src/mesa/glapi/glapioffsets.h | 444 ++--- src/mesa/glapi/glapitable.h | 439 ++--- src/mesa/glapi/glapitemp.h | 218 ++- src/mesa/glapi/glprocs.h | 1154 +++++------ src/mesa/sparc/glapi_sparc.S | 117 +- src/mesa/x86-64/glapi_x86-64.S | 2223 ++++++++++++---------- src/mesa/x86/glapi_x86.S | 137 +- 11 files changed, 2787 insertions(+), 2504 deletions(-) create mode 100644 src/mesa/glapi/ARB_draw_elements_base_vertex.xml (limited to 'src') diff --git a/src/mesa/drivers/dri/common/extension_helper.h b/src/mesa/drivers/dri/common/extension_helper.h index 40a030ce0d..2c89a9f58a 100644 --- a/src/mesa/drivers/dri/common/extension_helper.h +++ b/src/mesa/drivers/dri/common/extension_helper.h @@ -316,6 +316,13 @@ static const char CombinerOutputNV_names[] = ""; #endif +#if defined(need_GL_NV_vertex_program) +static const char VertexAttribs3fvNV_names[] = + "iip\0" /* Parameter signature */ + "glVertexAttribs3fvNV\0" + ""; +#endif + #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform2fARB_names[] = "iff\0" /* Parameter signature */ @@ -575,6 +582,13 @@ static const char MatrixIndexusvARB_names[] = ""; #endif +#if defined(need_GL_ARB_draw_elements_base_vertex) +static const char DrawElementsBaseVertex_names[] = + "iiipi\0" /* Parameter signature */ + "glDrawElementsBaseVertex\0" + ""; +#endif + #if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char DisableVertexAttribArrayARB_names[] = "i\0" /* Parameter signature */ @@ -970,10 +984,10 @@ static const char GlobalAlphaFactordSUN_names[] = ""; #endif -#if defined(need_GL_NV_vertex_program) -static const char VertexAttribs3fvNV_names[] = +#if defined(need_GL_NV_register_combiners) +static const char GetFinalCombinerInputParameterfvNV_names[] = "iip\0" /* Parameter signature */ - "glVertexAttribs3fvNV\0" + "glGetFinalCombinerInputParameterfvNV\0" ""; #endif @@ -3918,6 +3932,13 @@ static const char MapBufferARB_names[] = ""; #endif +#if defined(need_GL_ARB_draw_elements_base_vertex) +static const char MultiDrawElementsBaseVertex_names[] = + "ipipip\0" /* Parameter signature */ + "glMultiDrawElementsBaseVertex\0" + ""; +#endif + #if defined(need_GL_EXT_coordinate_frame) static const char Binormal3svEXT_names[] = "p\0" /* Parameter signature */ @@ -4554,10 +4575,10 @@ static const char UniformMatrix3x4fv_names[] = ""; #endif -#if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3fvEXT_names[] = - "p\0" /* Parameter signature */ - "glBinormal3fvEXT\0" +#if defined(need_GL_ARB_draw_elements_base_vertex) +static const char DrawRangeElementsBaseVertex_names[] = + "iiiiipi\0" /* Parameter signature */ + "glDrawRangeElementsBaseVertex\0" ""; #endif @@ -4710,10 +4731,10 @@ static const char GetFragmentLightfvSGIX_names[] = ""; #endif -#if defined(need_GL_NV_register_combiners) -static const char GetFinalCombinerInputParameterfvNV_names[] = - "iip\0" /* Parameter signature */ - "glGetFinalCombinerInputParameterfvNV\0" +#if defined(need_GL_EXT_coordinate_frame) +static const char Binormal3fvEXT_names[] = + "p\0" /* Parameter signature */ + "glBinormal3fvEXT\0" ""; #endif @@ -5090,6 +5111,15 @@ static const struct dri_extension_function GL_ARB_draw_buffers_functions[] = { }; #endif +#if defined(need_GL_ARB_draw_elements_base_vertex) +static const struct dri_extension_function GL_ARB_draw_elements_base_vertex_functions[] = { + { DrawElementsBaseVertex_names, DrawElementsBaseVertex_remap_index, -1 }, + { MultiDrawElementsBaseVertex_names, MultiDrawElementsBaseVertex_remap_index, -1 }, + { DrawRangeElementsBaseVertex_names, DrawRangeElementsBaseVertex_remap_index, -1 }, + { NULL, 0, 0 } +}; +#endif + #if defined(need_GL_ARB_framebuffer_object) static const struct dri_extension_function GL_ARB_framebuffer_object_functions[] = { { BlitFramebufferEXT_names, BlitFramebufferEXT_remap_index, -1 }, @@ -5520,8 +5550,8 @@ static const struct dri_extension_function GL_EXT_coordinate_frame_functions[] = { Binormal3dvEXT_names, Binormal3dvEXT_remap_index, -1 }, { Tangent3iEXT_names, Tangent3iEXT_remap_index, -1 }, { Tangent3bvEXT_names, Tangent3bvEXT_remap_index, -1 }, - { Binormal3fvEXT_names, Binormal3fvEXT_remap_index, -1 }, { Tangent3bEXT_names, Tangent3bEXT_remap_index, -1 }, + { Binormal3fvEXT_names, Binormal3fvEXT_remap_index, -1 }, { BinormalPointerEXT_names, BinormalPointerEXT_remap_index, -1 }, { Tangent3svEXT_names, Tangent3svEXT_remap_index, -1 }, { Binormal3bEXT_names, Binormal3bEXT_remap_index, -1 }, @@ -5963,6 +5993,7 @@ static const struct dri_extension_function GL_NV_point_sprite_functions[] = { static const struct dri_extension_function GL_NV_register_combiners_functions[] = { { CombinerOutputNV_names, CombinerOutputNV_remap_index, -1 }, { CombinerParameterfvNV_names, CombinerParameterfvNV_remap_index, -1 }, + { GetFinalCombinerInputParameterfvNV_names, GetFinalCombinerInputParameterfvNV_remap_index, -1 }, { GetCombinerOutputParameterfvNV_names, GetCombinerOutputParameterfvNV_remap_index, -1 }, { FinalCombinerInputNV_names, FinalCombinerInputNV_remap_index, -1 }, { GetCombinerInputParameterfvNV_names, GetCombinerInputParameterfvNV_remap_index, -1 }, @@ -5971,7 +6002,6 @@ static const struct dri_extension_function GL_NV_register_combiners_functions[] { GetFinalCombinerInputParameterivNV_names, GetFinalCombinerInputParameterivNV_remap_index, -1 }, { CombinerInputNV_names, CombinerInputNV_remap_index, -1 }, { CombinerParameterfNV_names, CombinerParameterfNV_remap_index, -1 }, - { GetFinalCombinerInputParameterfvNV_names, GetFinalCombinerInputParameterfvNV_remap_index, -1 }, { GetCombinerInputParameterivNV_names, GetCombinerInputParameterivNV_remap_index, -1 }, { CombinerParameterivNV_names, CombinerParameterivNV_remap_index, -1 }, { NULL, 0, 0 } @@ -5998,6 +6028,7 @@ static const struct dri_extension_function GL_NV_vertex_array_range_functions[] static const struct dri_extension_function GL_NV_vertex_program_functions[] = { { VertexAttrib4ubvNV_names, VertexAttrib4ubvNV_remap_index, -1 }, { VertexAttrib4svNV_names, VertexAttrib4svNV_remap_index, -1 }, + { VertexAttribs3fvNV_names, VertexAttribs3fvNV_remap_index, -1 }, { VertexAttribs1dvNV_names, VertexAttribs1dvNV_remap_index, -1 }, { VertexAttrib1fvNV_names, VertexAttrib1fvNV_remap_index, -1 }, { VertexAttrib4fNV_names, VertexAttrib4fNV_remap_index, -1 }, @@ -6006,7 +6037,6 @@ static const struct dri_extension_function GL_NV_vertex_program_functions[] = { { VertexAttribs3dvNV_names, VertexAttribs3dvNV_remap_index, -1 }, { VertexAttribs4fvNV_names, VertexAttribs4fvNV_remap_index, -1 }, { VertexAttrib2sNV_names, VertexAttrib2sNV_remap_index, -1 }, - { VertexAttribs3fvNV_names, VertexAttribs3fvNV_remap_index, -1 }, { ProgramEnvParameter4fvARB_names, ProgramEnvParameter4fvARB_remap_index, -1 }, { LoadProgramNV_names, LoadProgramNV_remap_index, -1 }, { VertexAttrib4fvNV_names, VertexAttrib4fvNV_remap_index, -1 }, diff --git a/src/mesa/glapi/ARB_draw_elements_base_vertex.xml b/src/mesa/glapi/ARB_draw_elements_base_vertex.xml new file mode 100644 index 0000000000..f4067f4c8d --- /dev/null +++ b/src/mesa/glapi/ARB_draw_elements_base_vertex.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mesa/glapi/dispatch.h b/src/mesa/glapi/dispatch.h index 0d32045916..efbd56fa71 100644 --- a/src/mesa/glapi/dispatch.h +++ b/src/mesa/glapi/dispatch.h @@ -1782,6 +1782,15 @@ #define CALL_WaitSync(disp, parameters) (*((disp)->WaitSync)) parameters #define GET_WaitSync(disp) ((disp)->WaitSync) #define SET_WaitSync(disp, fn) ((disp)->WaitSync = fn) +#define CALL_DrawElementsBaseVertex(disp, parameters) (*((disp)->DrawElementsBaseVertex)) parameters +#define GET_DrawElementsBaseVertex(disp) ((disp)->DrawElementsBaseVertex) +#define SET_DrawElementsBaseVertex(disp, fn) ((disp)->DrawElementsBaseVertex = fn) +#define CALL_DrawRangeElementsBaseVertex(disp, parameters) (*((disp)->DrawRangeElementsBaseVertex)) parameters +#define GET_DrawRangeElementsBaseVertex(disp) ((disp)->DrawRangeElementsBaseVertex) +#define SET_DrawRangeElementsBaseVertex(disp, fn) ((disp)->DrawRangeElementsBaseVertex = fn) +#define CALL_MultiDrawElementsBaseVertex(disp, parameters) (*((disp)->MultiDrawElementsBaseVertex)) parameters +#define GET_MultiDrawElementsBaseVertex(disp) ((disp)->MultiDrawElementsBaseVertex) +#define SET_MultiDrawElementsBaseVertex(disp, fn) ((disp)->MultiDrawElementsBaseVertex = fn) #define CALL_PolygonOffsetEXT(disp, parameters) (*((disp)->PolygonOffsetEXT)) parameters #define GET_PolygonOffsetEXT(disp) ((disp)->PolygonOffsetEXT) #define SET_PolygonOffsetEXT(disp, fn) ((disp)->PolygonOffsetEXT = fn) @@ -2439,7 +2448,7 @@ #else -#define driDispatchRemapTable_size 384 +#define driDispatchRemapTable_size 387 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define AttachShader_remap_index 0 @@ -2608,224 +2617,227 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define GetSynciv_remap_index 163 #define IsSync_remap_index 164 #define WaitSync_remap_index 165 -#define PolygonOffsetEXT_remap_index 166 -#define GetPixelTexGenParameterfvSGIS_remap_index 167 -#define GetPixelTexGenParameterivSGIS_remap_index 168 -#define PixelTexGenParameterfSGIS_remap_index 169 -#define PixelTexGenParameterfvSGIS_remap_index 170 -#define PixelTexGenParameteriSGIS_remap_index 171 -#define PixelTexGenParameterivSGIS_remap_index 172 -#define SampleMaskSGIS_remap_index 173 -#define SamplePatternSGIS_remap_index 174 -#define ColorPointerEXT_remap_index 175 -#define EdgeFlagPointerEXT_remap_index 176 -#define IndexPointerEXT_remap_index 177 -#define NormalPointerEXT_remap_index 178 -#define TexCoordPointerEXT_remap_index 179 -#define VertexPointerEXT_remap_index 180 -#define PointParameterfEXT_remap_index 181 -#define PointParameterfvEXT_remap_index 182 -#define LockArraysEXT_remap_index 183 -#define UnlockArraysEXT_remap_index 184 -#define CullParameterdvEXT_remap_index 185 -#define CullParameterfvEXT_remap_index 186 -#define SecondaryColor3bEXT_remap_index 187 -#define SecondaryColor3bvEXT_remap_index 188 -#define SecondaryColor3dEXT_remap_index 189 -#define SecondaryColor3dvEXT_remap_index 190 -#define SecondaryColor3fEXT_remap_index 191 -#define SecondaryColor3fvEXT_remap_index 192 -#define SecondaryColor3iEXT_remap_index 193 -#define SecondaryColor3ivEXT_remap_index 194 -#define SecondaryColor3sEXT_remap_index 195 -#define SecondaryColor3svEXT_remap_index 196 -#define SecondaryColor3ubEXT_remap_index 197 -#define SecondaryColor3ubvEXT_remap_index 198 -#define SecondaryColor3uiEXT_remap_index 199 -#define SecondaryColor3uivEXT_remap_index 200 -#define SecondaryColor3usEXT_remap_index 201 -#define SecondaryColor3usvEXT_remap_index 202 -#define SecondaryColorPointerEXT_remap_index 203 -#define MultiDrawArraysEXT_remap_index 204 -#define MultiDrawElementsEXT_remap_index 205 -#define FogCoordPointerEXT_remap_index 206 -#define FogCoorddEXT_remap_index 207 -#define FogCoorddvEXT_remap_index 208 -#define FogCoordfEXT_remap_index 209 -#define FogCoordfvEXT_remap_index 210 -#define PixelTexGenSGIX_remap_index 211 -#define BlendFuncSeparateEXT_remap_index 212 -#define FlushVertexArrayRangeNV_remap_index 213 -#define VertexArrayRangeNV_remap_index 214 -#define CombinerInputNV_remap_index 215 -#define CombinerOutputNV_remap_index 216 -#define CombinerParameterfNV_remap_index 217 -#define CombinerParameterfvNV_remap_index 218 -#define CombinerParameteriNV_remap_index 219 -#define CombinerParameterivNV_remap_index 220 -#define FinalCombinerInputNV_remap_index 221 -#define GetCombinerInputParameterfvNV_remap_index 222 -#define GetCombinerInputParameterivNV_remap_index 223 -#define GetCombinerOutputParameterfvNV_remap_index 224 -#define GetCombinerOutputParameterivNV_remap_index 225 -#define GetFinalCombinerInputParameterfvNV_remap_index 226 -#define GetFinalCombinerInputParameterivNV_remap_index 227 -#define ResizeBuffersMESA_remap_index 228 -#define WindowPos2dMESA_remap_index 229 -#define WindowPos2dvMESA_remap_index 230 -#define WindowPos2fMESA_remap_index 231 -#define WindowPos2fvMESA_remap_index 232 -#define WindowPos2iMESA_remap_index 233 -#define WindowPos2ivMESA_remap_index 234 -#define WindowPos2sMESA_remap_index 235 -#define WindowPos2svMESA_remap_index 236 -#define WindowPos3dMESA_remap_index 237 -#define WindowPos3dvMESA_remap_index 238 -#define WindowPos3fMESA_remap_index 239 -#define WindowPos3fvMESA_remap_index 240 -#define WindowPos3iMESA_remap_index 241 -#define WindowPos3ivMESA_remap_index 242 -#define WindowPos3sMESA_remap_index 243 -#define WindowPos3svMESA_remap_index 244 -#define WindowPos4dMESA_remap_index 245 -#define WindowPos4dvMESA_remap_index 246 -#define WindowPos4fMESA_remap_index 247 -#define WindowPos4fvMESA_remap_index 248 -#define WindowPos4iMESA_remap_index 249 -#define WindowPos4ivMESA_remap_index 250 -#define WindowPos4sMESA_remap_index 251 -#define WindowPos4svMESA_remap_index 252 -#define MultiModeDrawArraysIBM_remap_index 253 -#define MultiModeDrawElementsIBM_remap_index 254 -#define DeleteFencesNV_remap_index 255 -#define FinishFenceNV_remap_index 256 -#define GenFencesNV_remap_index 257 -#define GetFenceivNV_remap_index 258 -#define IsFenceNV_remap_index 259 -#define SetFenceNV_remap_index 260 -#define TestFenceNV_remap_index 261 -#define AreProgramsResidentNV_remap_index 262 -#define BindProgramNV_remap_index 263 -#define DeleteProgramsNV_remap_index 264 -#define ExecuteProgramNV_remap_index 265 -#define GenProgramsNV_remap_index 266 -#define GetProgramParameterdvNV_remap_index 267 -#define GetProgramParameterfvNV_remap_index 268 -#define GetProgramStringNV_remap_index 269 -#define GetProgramivNV_remap_index 270 -#define GetTrackMatrixivNV_remap_index 271 -#define GetVertexAttribPointervNV_remap_index 272 -#define GetVertexAttribdvNV_remap_index 273 -#define GetVertexAttribfvNV_remap_index 274 -#define GetVertexAttribivNV_remap_index 275 -#define IsProgramNV_remap_index 276 -#define LoadProgramNV_remap_index 277 -#define ProgramParameters4dvNV_remap_index 278 -#define ProgramParameters4fvNV_remap_index 279 -#define RequestResidentProgramsNV_remap_index 280 -#define TrackMatrixNV_remap_index 281 -#define VertexAttrib1dNV_remap_index 282 -#define VertexAttrib1dvNV_remap_index 283 -#define VertexAttrib1fNV_remap_index 284 -#define VertexAttrib1fvNV_remap_index 285 -#define VertexAttrib1sNV_remap_index 286 -#define VertexAttrib1svNV_remap_index 287 -#define VertexAttrib2dNV_remap_index 288 -#define VertexAttrib2dvNV_remap_index 289 -#define VertexAttrib2fNV_remap_index 290 -#define VertexAttrib2fvNV_remap_index 291 -#define VertexAttrib2sNV_remap_index 292 -#define VertexAttrib2svNV_remap_index 293 -#define VertexAttrib3dNV_remap_index 294 -#define VertexAttrib3dvNV_remap_index 295 -#define VertexAttrib3fNV_remap_index 296 -#define VertexAttrib3fvNV_remap_index 297 -#define VertexAttrib3sNV_remap_index 298 -#define VertexAttrib3svNV_remap_index 299 -#define VertexAttrib4dNV_remap_index 300 -#define VertexAttrib4dvNV_remap_index 301 -#define VertexAttrib4fNV_remap_index 302 -#define VertexAttrib4fvNV_remap_index 303 -#define VertexAttrib4sNV_remap_index 304 -#define VertexAttrib4svNV_remap_index 305 -#define VertexAttrib4ubNV_remap_index 306 -#define VertexAttrib4ubvNV_remap_index 307 -#define VertexAttribPointerNV_remap_index 308 -#define VertexAttribs1dvNV_remap_index 309 -#define VertexAttribs1fvNV_remap_index 310 -#define VertexAttribs1svNV_remap_index 311 -#define VertexAttribs2dvNV_remap_index 312 -#define VertexAttribs2fvNV_remap_index 313 -#define VertexAttribs2svNV_remap_index 314 -#define VertexAttribs3dvNV_remap_index 315 -#define VertexAttribs3fvNV_remap_index 316 -#define VertexAttribs3svNV_remap_index 317 -#define VertexAttribs4dvNV_remap_index 318 -#define VertexAttribs4fvNV_remap_index 319 -#define VertexAttribs4svNV_remap_index 320 -#define VertexAttribs4ubvNV_remap_index 321 -#define GetTexBumpParameterfvATI_remap_index 322 -#define GetTexBumpParameterivATI_remap_index 323 -#define TexBumpParameterfvATI_remap_index 324 -#define TexBumpParameterivATI_remap_index 325 -#define AlphaFragmentOp1ATI_remap_index 326 -#define AlphaFragmentOp2ATI_remap_index 327 -#define AlphaFragmentOp3ATI_remap_index 328 -#define BeginFragmentShaderATI_remap_index 329 -#define BindFragmentShaderATI_remap_index 330 -#define ColorFragmentOp1ATI_remap_index 331 -#define ColorFragmentOp2ATI_remap_index 332 -#define ColorFragmentOp3ATI_remap_index 333 -#define DeleteFragmentShaderATI_remap_index 334 -#define EndFragmentShaderATI_remap_index 335 -#define GenFragmentShadersATI_remap_index 336 -#define PassTexCoordATI_remap_index 337 -#define SampleMapATI_remap_index 338 -#define SetFragmentShaderConstantATI_remap_index 339 -#define PointParameteriNV_remap_index 340 -#define PointParameterivNV_remap_index 341 -#define ActiveStencilFaceEXT_remap_index 342 -#define BindVertexArrayAPPLE_remap_index 343 -#define DeleteVertexArraysAPPLE_remap_index 344 -#define GenVertexArraysAPPLE_remap_index 345 -#define IsVertexArrayAPPLE_remap_index 346 -#define GetProgramNamedParameterdvNV_remap_index 347 -#define GetProgramNamedParameterfvNV_remap_index 348 -#define ProgramNamedParameter4dNV_remap_index 349 -#define ProgramNamedParameter4dvNV_remap_index 350 -#define ProgramNamedParameter4fNV_remap_index 351 -#define ProgramNamedParameter4fvNV_remap_index 352 -#define DepthBoundsEXT_remap_index 353 -#define BlendEquationSeparateEXT_remap_index 354 -#define BindFramebufferEXT_remap_index 355 -#define BindRenderbufferEXT_remap_index 356 -#define CheckFramebufferStatusEXT_remap_index 357 -#define DeleteFramebuffersEXT_remap_index 358 -#define DeleteRenderbuffersEXT_remap_index 359 -#define FramebufferRenderbufferEXT_remap_index 360 -#define FramebufferTexture1DEXT_remap_index 361 -#define FramebufferTexture2DEXT_remap_index 362 -#define FramebufferTexture3DEXT_remap_index 363 -#define GenFramebuffersEXT_remap_index 364 -#define GenRenderbuffersEXT_remap_index 365 -#define GenerateMipmapEXT_remap_index 366 -#define GetFramebufferAttachmentParameterivEXT_remap_index 367 -#define GetRenderbufferParameterivEXT_remap_index 368 -#define IsFramebufferEXT_remap_index 369 -#define IsRenderbufferEXT_remap_index 370 -#define RenderbufferStorageEXT_remap_index 371 -#define BlitFramebufferEXT_remap_index 372 -#define BufferParameteriAPPLE_remap_index 373 -#define FlushMappedBufferRangeAPPLE_remap_index 374 -#define FramebufferTextureLayerEXT_remap_index 375 -#define ProvokingVertexEXT_remap_index 376 -#define GetTexParameterPointervAPPLE_remap_index 377 -#define TextureRangeAPPLE_remap_index 378 -#define StencilFuncSeparateATI_remap_index 379 -#define ProgramEnvParameters4fvEXT_remap_index 380 -#define ProgramLocalParameters4fvEXT_remap_index 381 -#define GetQueryObjecti64vEXT_remap_index 382 -#define GetQueryObjectui64vEXT_remap_index 383 +#define DrawElementsBaseVertex_remap_index 166 +#define DrawRangeElementsBaseVertex_remap_index 167 +#define MultiDrawElementsBaseVertex_remap_index 168 +#define PolygonOffsetEXT_remap_index 169 +#define GetPixelTexGenParameterfvSGIS_remap_index 170 +#define GetPixelTexGenParameterivSGIS_remap_index 171 +#define PixelTexGenParameterfSGIS_remap_index 172 +#define PixelTexGenParameterfvSGIS_remap_index 173 +#define PixelTexGenParameteriSGIS_remap_index 174 +#define PixelTexGenParameterivSGIS_remap_index 175 +#define SampleMaskSGIS_remap_index 176 +#define SamplePatternSGIS_remap_index 177 +#define ColorPointerEXT_remap_index 178 +#define EdgeFlagPointerEXT_remap_index 179 +#define IndexPointerEXT_remap_index 180 +#define NormalPointerEXT_remap_index 181 +#define TexCoordPointerEXT_remap_index 182 +#define VertexPointerEXT_remap_index 183 +#define PointParameterfEXT_remap_index 184 +#define PointParameterfvEXT_remap_index 185 +#define LockArraysEXT_remap_index 186 +#define UnlockArraysEXT_remap_index 187 +#define CullParameterdvEXT_remap_index 188 +#define CullParameterfvEXT_remap_index 189 +#define SecondaryColor3bEXT_remap_index 190 +#define SecondaryColor3bvEXT_remap_index 191 +#define SecondaryColor3dEXT_remap_index 192 +#define SecondaryColor3dvEXT_remap_index 193 +#define SecondaryColor3fEXT_remap_index 194 +#define SecondaryColor3fvEXT_remap_index 195 +#define SecondaryColor3iEXT_remap_index 196 +#define SecondaryColor3ivEXT_remap_index 197 +#define SecondaryColor3sEXT_remap_index 198 +#define SecondaryColor3svEXT_remap_index 199 +#define SecondaryColor3ubEXT_remap_index 200 +#define SecondaryColor3ubvEXT_remap_index 201 +#define SecondaryColor3uiEXT_remap_index 202 +#define SecondaryColor3uivEXT_remap_index 203 +#define SecondaryColor3usEXT_remap_index 204 +#define SecondaryColor3usvEXT_remap_index 205 +#define SecondaryColorPointerEXT_remap_index 206 +#define MultiDrawArraysEXT_remap_index 207 +#define MultiDrawElementsEXT_remap_index 208 +#define FogCoordPointerEXT_remap_index 209 +#define FogCoorddEXT_remap_index 210 +#define FogCoorddvEXT_remap_index 211 +#define FogCoordfEXT_remap_index 212 +#define FogCoordfvEXT_remap_index 213 +#define PixelTexGenSGIX_remap_index 214 +#define BlendFuncSeparateEXT_remap_index 215 +#define FlushVertexArrayRangeNV_remap_index 216 +#define VertexArrayRangeNV_remap_index 217 +#define CombinerInputNV_remap_index 218 +#define CombinerOutputNV_remap_index 219 +#define CombinerParameterfNV_remap_index 220 +#define CombinerParameterfvNV_remap_index 221 +#define CombinerParameteriNV_remap_index 222 +#define CombinerParameterivNV_remap_index 223 +#define FinalCombinerInputNV_remap_index 224 +#define GetCombinerInputParameterfvNV_remap_index 225 +#define GetCombinerInputParameterivNV_remap_index 226 +#define GetCombinerOutputParameterfvNV_remap_index 227 +#define GetCombinerOutputParameterivNV_remap_index 228 +#define GetFinalCombinerInputParameterfvNV_remap_index 229 +#define GetFinalCombinerInputParameterivNV_remap_index 230 +#define ResizeBuffersMESA_remap_index 231 +#define WindowPos2dMESA_remap_index 232 +#define WindowPos2dvMESA_remap_index 233 +#define WindowPos2fMESA_remap_index 234 +#define WindowPos2fvMESA_remap_index 235 +#define WindowPos2iMESA_remap_index 236 +#define WindowPos2ivMESA_remap_index 237 +#define WindowPos2sMESA_remap_index 238 +#define WindowPos2svMESA_remap_index 239 +#define WindowPos3dMESA_remap_index 240 +#define WindowPos3dvMESA_remap_index 241 +#define WindowPos3fMESA_remap_index 242 +#define WindowPos3fvMESA_remap_index 243 +#define WindowPos3iMESA_remap_index 244 +#define WindowPos3ivMESA_remap_index 245 +#define WindowPos3sMESA_remap_index 246 +#define WindowPos3svMESA_remap_index 247 +#define WindowPos4dMESA_remap_index 248 +#define WindowPos4dvMESA_remap_index 249 +#define WindowPos4fMESA_remap_index 250 +#define WindowPos4fvMESA_remap_index 251 +#define WindowPos4iMESA_remap_index 252 +#define WindowPos4ivMESA_remap_index 253 +#define WindowPos4sMESA_remap_index 254 +#define WindowPos4svMESA_remap_index 255 +#define MultiModeDrawArraysIBM_remap_index 256 +#define MultiModeDrawElementsIBM_remap_index 257 +#define DeleteFencesNV_remap_index 258 +#define FinishFenceNV_remap_index 259 +#define GenFencesNV_remap_index 260 +#define GetFenceivNV_remap_index 261 +#define IsFenceNV_remap_index 262 +#define SetFenceNV_remap_index 263 +#define TestFenceNV_remap_index 264 +#define AreProgramsResidentNV_remap_index 265 +#define BindProgramNV_remap_index 266 +#define DeleteProgramsNV_remap_index 267 +#define ExecuteProgramNV_remap_index 268 +#define GenProgramsNV_remap_index 269 +#define GetProgramParameterdvNV_remap_index 270 +#define GetProgramParameterfvNV_remap_index 271 +#define GetProgramStringNV_remap_index 272 +#define GetProgramivNV_remap_index 273 +#define GetTrackMatrixivNV_remap_index 274 +#define GetVertexAttribPointervNV_remap_index 275 +#define GetVertexAttribdvNV_remap_index 276 +#define GetVertexAttribfvNV_remap_index 277 +#define GetVertexAttribivNV_remap_index 278 +#define IsProgramNV_remap_index 279 +#define LoadProgramNV_remap_index 280 +#define ProgramParameters4dvNV_remap_index 281 +#define ProgramParameters4fvNV_remap_index 282 +#define RequestResidentProgramsNV_remap_index 283 +#define TrackMatrixNV_remap_index 284 +#define VertexAttrib1dNV_remap_index 285 +#define VertexAttrib1dvNV_remap_index 286 +#define VertexAttrib1fNV_remap_index 287 +#define VertexAttrib1fvNV_remap_index 288 +#define VertexAttrib1sNV_remap_index 289 +#define VertexAttrib1svNV_remap_index 290 +#define VertexAttrib2dNV_remap_index 291 +#define VertexAttrib2dvNV_remap_index 292 +#define VertexAttrib2fNV_remap_index 293 +#define VertexAttrib2fvNV_remap_index 294 +#define VertexAttrib2sNV_remap_index 295 +#define VertexAttrib2svNV_remap_index 296 +#define VertexAttrib3dNV_remap_index 297 +#define VertexAttrib3dvNV_remap_index 298 +#define VertexAttrib3fNV_remap_index 299 +#define VertexAttrib3fvNV_remap_index 300 +#define VertexAttrib3sNV_remap_index 301 +#define VertexAttrib3svNV_remap_index 302 +#define VertexAttrib4dNV_remap_index 303 +#define VertexAttrib4dvNV_remap_index 304 +#define VertexAttrib4fNV_remap_index 305 +#define VertexAttrib4fvNV_remap_index 306 +#define VertexAttrib4sNV_remap_index 307 +#define VertexAttrib4svNV_remap_index 308 +#define VertexAttrib4ubNV_remap_index 309 +#define VertexAttrib4ubvNV_remap_index 310 +#define VertexAttribPointerNV_remap_index 311 +#define VertexAttribs1dvNV_remap_index 312 +#define VertexAttribs1fvNV_remap_index 313 +#define VertexAttribs1svNV_remap_index 314 +#define VertexAttribs2dvNV_remap_index 315 +#define VertexAttribs2fvNV_remap_index 316 +#define VertexAttribs2svNV_remap_index 317 +#define VertexAttribs3dvNV_remap_index 318 +#define VertexAttribs3fvNV_remap_index 319 +#define VertexAttribs3svNV_remap_index 320 +#define VertexAttribs4dvNV_remap_index 321 +#define VertexAttribs4fvNV_remap_index 322 +#define VertexAttribs4svNV_remap_index 323 +#define VertexAttribs4ubvNV_remap_index 324 +#define GetTexBumpParameterfvATI_remap_index 325 +#define GetTexBumpParameterivATI_remap_index 326 +#define TexBumpParameterfvATI_remap_index 327 +#define TexBumpParameterivATI_remap_index 328 +#define AlphaFragmentOp1ATI_remap_index 329 +#define AlphaFragmentOp2ATI_remap_index 330 +#define AlphaFragmentOp3ATI_remap_index 331 +#define BeginFragmentShaderATI_remap_index 332 +#define BindFragmentShaderATI_remap_index 333 +#define ColorFragmentOp1ATI_remap_index 334 +#define ColorFragmentOp2ATI_remap_index 335 +#define ColorFragmentOp3ATI_remap_index 336 +#define DeleteFragmentShaderATI_remap_index 337 +#define EndFragmentShaderATI_remap_index 338 +#define GenFragmentShadersATI_remap_index 339 +#define PassTexCoordATI_remap_index 340 +#define SampleMapATI_remap_index 341 +#define SetFragmentShaderConstantATI_remap_index 342 +#define PointParameteriNV_remap_index 343 +#define PointParameterivNV_remap_index 344 +#define ActiveStencilFaceEXT_remap_index 345 +#define BindVertexArrayAPPLE_remap_index 346 +#define DeleteVertexArraysAPPLE_remap_index 347 +#define GenVertexArraysAPPLE_remap_index 348 +#define IsVertexArrayAPPLE_remap_index 349 +#define GetProgramNamedParameterdvNV_remap_index 350 +#define GetProgramNamedParameterfvNV_remap_index 351 +#define ProgramNamedParameter4dNV_remap_index 352 +#define ProgramNamedParameter4dvNV_remap_index 353 +#define ProgramNamedParameter4fNV_remap_index 354 +#define ProgramNamedParameter4fvNV_remap_index 355 +#define DepthBoundsEXT_remap_index 356 +#define BlendEquationSeparateEXT_remap_index 357 +#define BindFramebufferEXT_remap_index 358 +#define BindRenderbufferEXT_remap_index 359 +#define CheckFramebufferStatusEXT_remap_index 360 +#define DeleteFramebuffersEXT_remap_index 361 +#define DeleteRenderbuffersEXT_remap_index 362 +#define FramebufferRenderbufferEXT_remap_index 363 +#define FramebufferTexture1DEXT_remap_index 364 +#define FramebufferTexture2DEXT_remap_index 365 +#define FramebufferTexture3DEXT_remap_index 366 +#define GenFramebuffersEXT_remap_index 367 +#define GenRenderbuffersEXT_remap_index 368 +#define GenerateMipmapEXT_remap_index 369 +#define GetFramebufferAttachmentParameterivEXT_remap_index 370 +#define GetRenderbufferParameterivEXT_remap_index 371 +#define IsFramebufferEXT_remap_index 372 +#define IsRenderbufferEXT_remap_index 373 +#define RenderbufferStorageEXT_remap_index 374 +#define BlitFramebufferEXT_remap_index 375 +#define BufferParameteriAPPLE_remap_index 376 +#define FlushMappedBufferRangeAPPLE_remap_index 377 +#define FramebufferTextureLayerEXT_remap_index 378 +#define ProvokingVertexEXT_remap_index 379 +#define GetTexParameterPointervAPPLE_remap_index 380 +#define TextureRangeAPPLE_remap_index 381 +#define StencilFuncSeparateATI_remap_index 382 +#define ProgramEnvParameters4fvEXT_remap_index 383 +#define ProgramLocalParameters4fvEXT_remap_index 384 +#define GetQueryObjecti64vEXT_remap_index 385 +#define GetQueryObjectui64vEXT_remap_index 386 #define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[AttachShader_remap_index], parameters) #define GET_AttachShader(disp) GET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index]) @@ -3325,6 +3337,15 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_WaitSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), driDispatchRemapTable[WaitSync_remap_index], parameters) #define GET_WaitSync(disp) GET_by_offset(disp, driDispatchRemapTable[WaitSync_remap_index]) #define SET_WaitSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WaitSync_remap_index], fn) +#define CALL_DrawElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, const GLvoid *, GLint)), driDispatchRemapTable[DrawElementsBaseVertex_remap_index], parameters) +#define GET_DrawElementsBaseVertex(disp) GET_by_offset(disp, driDispatchRemapTable[DrawElementsBaseVertex_remap_index]) +#define SET_DrawElementsBaseVertex(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawElementsBaseVertex_remap_index], fn) +#define CALL_DrawRangeElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint)), driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index], parameters) +#define GET_DrawRangeElementsBaseVertex(disp) GET_by_offset(disp, driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index]) +#define SET_DrawRangeElementsBaseVertex(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index], fn) +#define CALL_MultiDrawElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei, const GLint *)), driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index], parameters) +#define GET_MultiDrawElementsBaseVertex(disp) GET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index]) +#define SET_MultiDrawElementsBaseVertex(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index], fn) #define CALL_PolygonOffsetEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), driDispatchRemapTable[PolygonOffsetEXT_remap_index], parameters) #define GET_PolygonOffsetEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index]) #define SET_PolygonOffsetEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index], fn) diff --git a/src/mesa/glapi/gl_API.xml b/src/mesa/glapi/gl_API.xml index 920ce80c45..da4be14707 100644 --- a/src/mesa/glapi/gl_API.xml +++ b/src/mesa/glapi/gl_API.xml @@ -7960,6 +7960,8 @@ + + diff --git a/src/mesa/glapi/glapioffsets.h b/src/mesa/glapi/glapioffsets.h index 6d4ab09b07..a3807744ff 100644 --- a/src/mesa/glapi/glapioffsets.h +++ b/src/mesa/glapi/glapioffsets.h @@ -606,225 +606,228 @@ #define _gloffset_GetSynciv 571 #define _gloffset_IsSync 572 #define _gloffset_WaitSync 573 -#define _gloffset_PolygonOffsetEXT 574 -#define _gloffset_GetPixelTexGenParameterfvSGIS 575 -#define _gloffset_GetPixelTexGenParameterivSGIS 576 -#define _gloffset_PixelTexGenParameterfSGIS 577 -#define _gloffset_PixelTexGenParameterfvSGIS 578 -#define _gloffset_PixelTexGenParameteriSGIS 579 -#define _gloffset_PixelTexGenParameterivSGIS 580 -#define _gloffset_SampleMaskSGIS 581 -#define _gloffset_SamplePatternSGIS 582 -#define _gloffset_ColorPointerEXT 583 -#define _gloffset_EdgeFlagPointerEXT 584 -#define _gloffset_IndexPointerEXT 585 -#define _gloffset_NormalPointerEXT 586 -#define _gloffset_TexCoordPointerEXT 587 -#define _gloffset_VertexPointerEXT 588 -#define _gloffset_PointParameterfEXT 589 -#define _gloffset_PointParameterfvEXT 590 -#define _gloffset_LockArraysEXT 591 -#define _gloffset_UnlockArraysEXT 592 -#define _gloffset_CullParameterdvEXT 593 -#define _gloffset_CullParameterfvEXT 594 -#define _gloffset_SecondaryColor3bEXT 595 -#define _gloffset_SecondaryColor3bvEXT 596 -#define _gloffset_SecondaryColor3dEXT 597 -#define _gloffset_SecondaryColor3dvEXT 598 -#define _gloffset_SecondaryColor3fEXT 599 -#define _gloffset_SecondaryColor3fvEXT 600 -#define _gloffset_SecondaryColor3iEXT 601 -#define _gloffset_SecondaryColor3ivEXT 602 -#define _gloffset_SecondaryColor3sEXT 603 -#define _gloffset_SecondaryColor3svEXT 604 -#define _gloffset_SecondaryColor3ubEXT 605 -#define _gloffset_SecondaryColor3ubvEXT 606 -#define _gloffset_SecondaryColor3uiEXT 607 -#define _gloffset_SecondaryColor3uivEXT 608 -#define _gloffset_SecondaryColor3usEXT 609 -#define _gloffset_SecondaryColor3usvEXT 610 -#define _gloffset_SecondaryColorPointerEXT 611 -#define _gloffset_MultiDrawArraysEXT 612 -#define _gloffset_MultiDrawElementsEXT 613 -#define _gloffset_FogCoordPointerEXT 614 -#define _gloffset_FogCoorddEXT 615 -#define _gloffset_FogCoorddvEXT 616 -#define _gloffset_FogCoordfEXT 617 -#define _gloffset_FogCoordfvEXT 618 -#define _gloffset_PixelTexGenSGIX 619 -#define _gloffset_BlendFuncSeparateEXT 620 -#define _gloffset_FlushVertexArrayRangeNV 621 -#define _gloffset_VertexArrayRangeNV 622 -#define _gloffset_CombinerInputNV 623 -#define _gloffset_CombinerOutputNV 624 -#define _gloffset_CombinerParameterfNV 625 -#define _gloffset_CombinerParameterfvNV 626 -#define _gloffset_CombinerParameteriNV 627 -#define _gloffset_CombinerParameterivNV 628 -#define _gloffset_FinalCombinerInputNV 629 -#define _gloffset_GetCombinerInputParameterfvNV 630 -#define _gloffset_GetCombinerInputParameterivNV 631 -#define _gloffset_GetCombinerOutputParameterfvNV 632 -#define _gloffset_GetCombinerOutputParameterivNV 633 -#define _gloffset_GetFinalCombinerInputParameterfvNV 634 -#define _gloffset_GetFinalCombinerInputParameterivNV 635 -#define _gloffset_ResizeBuffersMESA 636 -#define _gloffset_WindowPos2dMESA 637 -#define _gloffset_WindowPos2dvMESA 638 -#define _gloffset_WindowPos2fMESA 639 -#define _gloffset_WindowPos2fvMESA 640 -#define _gloffset_WindowPos2iMESA 641 -#define _gloffset_WindowPos2ivMESA 642 -#define _gloffset_WindowPos2sMESA 643 -#define _gloffset_WindowPos2svMESA 644 -#define _gloffset_WindowPos3dMESA 645 -#define _gloffset_WindowPos3dvMESA 646 -#define _gloffset_WindowPos3fMESA 647 -#define _gloffset_WindowPos3fvMESA 648 -#define _gloffset_WindowPos3iMESA 649 -#define _gloffset_WindowPos3ivMESA 650 -#define _gloffset_WindowPos3sMESA 651 -#define _gloffset_WindowPos3svMESA 652 -#define _gloffset_WindowPos4dMESA 653 -#define _gloffset_WindowPos4dvMESA 654 -#define _gloffset_WindowPos4fMESA 655 -#define _gloffset_WindowPos4fvMESA 656 -#define _gloffset_WindowPos4iMESA 657 -#define _gloffset_WindowPos4ivMESA 658 -#define _gloffset_WindowPos4sMESA 659 -#define _gloffset_WindowPos4svMESA 660 -#define _gloffset_MultiModeDrawArraysIBM 661 -#define _gloffset_MultiModeDrawElementsIBM 662 -#define _gloffset_DeleteFencesNV 663 -#define _gloffset_FinishFenceNV 664 -#define _gloffset_GenFencesNV 665 -#define _gloffset_GetFenceivNV 666 -#define _gloffset_IsFenceNV 667 -#define _gloffset_SetFenceNV 668 -#define _gloffset_TestFenceNV 669 -#define _gloffset_AreProgramsResidentNV 670 -#define _gloffset_BindProgramNV 671 -#define _gloffset_DeleteProgramsNV 672 -#define _gloffset_ExecuteProgramNV 673 -#define _gloffset_GenProgramsNV 674 -#define _gloffset_GetProgramParameterdvNV 675 -#define _gloffset_GetProgramParameterfvNV 676 -#define _gloffset_GetProgramStringNV 677 -#define _gloffset_GetProgramivNV 678 -#define _gloffset_GetTrackMatrixivNV 679 -#define _gloffset_GetVertexAttribPointervNV 680 -#define _gloffset_GetVertexAttribdvNV 681 -#define _gloffset_GetVertexAttribfvNV 682 -#define _gloffset_GetVertexAttribivNV 683 -#define _gloffset_IsProgramNV 684 -#define _gloffset_LoadProgramNV 685 -#define _gloffset_ProgramParameters4dvNV 686 -#define _gloffset_ProgramParameters4fvNV 687 -#define _gloffset_RequestResidentProgramsNV 688 -#define _gloffset_TrackMatrixNV 689 -#define _gloffset_VertexAttrib1dNV 690 -#define _gloffset_VertexAttrib1dvNV 691 -#define _gloffset_VertexAttrib1fNV 692 -#define _gloffset_VertexAttrib1fvNV 693 -#define _gloffset_VertexAttrib1sNV 694 -#define _gloffset_VertexAttrib1svNV 695 -#define _gloffset_VertexAttrib2dNV 696 -#define _gloffset_VertexAttrib2dvNV 697 -#define _gloffset_VertexAttrib2fNV 698 -#define _gloffset_VertexAttrib2fvNV 699 -#define _gloffset_VertexAttrib2sNV 700 -#define _gloffset_VertexAttrib2svNV 701 -#define _gloffset_VertexAttrib3dNV 702 -#define _gloffset_VertexAttrib3dvNV 703 -#define _gloffset_VertexAttrib3fNV 704 -#define _gloffset_VertexAttrib3fvNV 705 -#define _gloffset_VertexAttrib3sNV 706 -#define _gloffset_VertexAttrib3svNV 707 -#define _gloffset_VertexAttrib4dNV 708 -#define _gloffset_VertexAttrib4dvNV 709 -#define _gloffset_VertexAttrib4fNV 710 -#define _gloffset_VertexAttrib4fvNV 711 -#define _gloffset_VertexAttrib4sNV 712 -#define _gloffset_VertexAttrib4svNV 713 -#define _gloffset_VertexAttrib4ubNV 714 -#define _gloffset_VertexAttrib4ubvNV 715 -#define _gloffset_VertexAttribPointerNV 716 -#define _gloffset_VertexAttribs1dvNV 717 -#define _gloffset_VertexAttribs1fvNV 718 -#define _gloffset_VertexAttribs1svNV 719 -#define _gloffset_VertexAttribs2dvNV 720 -#define _gloffset_VertexAttribs2fvNV 721 -#define _gloffset_VertexAttribs2svNV 722 -#define _gloffset_VertexAttribs3dvNV 723 -#define _gloffset_VertexAttribs3fvNV 724 -#define _gloffset_VertexAttribs3svNV 725 -#define _gloffset_VertexAttribs4dvNV 726 -#define _gloffset_VertexAttribs4fvNV 727 -#define _gloffset_VertexAttribs4svNV 728 -#define _gloffset_VertexAttribs4ubvNV 729 -#define _gloffset_GetTexBumpParameterfvATI 730 -#define _gloffset_GetTexBumpParameterivATI 731 -#define _gloffset_TexBumpParameterfvATI 732 -#define _gloffset_TexBumpParameterivATI 733 -#define _gloffset_AlphaFragmentOp1ATI 734 -#define _gloffset_AlphaFragmentOp2ATI 735 -#define _gloffset_AlphaFragmentOp3ATI 736 -#define _gloffset_BeginFragmentShaderATI 737 -#define _gloffset_BindFragmentShaderATI 738 -#define _gloffset_ColorFragmentOp1ATI 739 -#define _gloffset_ColorFragmentOp2ATI 740 -#define _gloffset_ColorFragmentOp3ATI 741 -#define _gloffset_DeleteFragmentShaderATI 742 -#define _gloffset_EndFragmentShaderATI 743 -#define _gloffset_GenFragmentShadersATI 744 -#define _gloffset_PassTexCoordATI 745 -#define _gloffset_SampleMapATI 746 -#define _gloffset_SetFragmentShaderConstantATI 747 -#define _gloffset_PointParameteriNV 748 -#define _gloffset_PointParameterivNV 749 -#define _gloffset_ActiveStencilFaceEXT 750 -#define _gloffset_BindVertexArrayAPPLE 751 -#define _gloffset_DeleteVertexArraysAPPLE 752 -#define _gloffset_GenVertexArraysAPPLE 753 -#define _gloffset_IsVertexArrayAPPLE 754 -#define _gloffset_GetProgramNamedParameterdvNV 755 -#define _gloffset_GetProgramNamedParameterfvNV 756 -#define _gloffset_ProgramNamedParameter4dNV 757 -#define _gloffset_ProgramNamedParameter4dvNV 758 -#define _gloffset_ProgramNamedParameter4fNV 759 -#define _gloffset_ProgramNamedParameter4fvNV 760 -#define _gloffset_DepthBoundsEXT 761 -#define _gloffset_BlendEquationSeparateEXT 762 -#define _gloffset_BindFramebufferEXT 763 -#define _gloffset_BindRenderbufferEXT 764 -#define _gloffset_CheckFramebufferStatusEXT 765 -#define _gloffset_DeleteFramebuffersEXT 766 -#define _gloffset_DeleteRenderbuffersEXT 767 -#define _gloffset_FramebufferRenderbufferEXT 768 -#define _gloffset_FramebufferTexture1DEXT 769 -#define _gloffset_FramebufferTexture2DEXT 770 -#define _gloffset_FramebufferTexture3DEXT 771 -#define _gloffset_GenFramebuffersEXT 772 -#define _gloffset_GenRenderbuffersEXT 773 -#define _gloffset_GenerateMipmapEXT 774 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 775 -#define _gloffset_GetRenderbufferParameterivEXT 776 -#define _gloffset_IsFramebufferEXT 777 -#define _gloffset_IsRenderbufferEXT 778 -#define _gloffset_RenderbufferStorageEXT 779 -#define _gloffset_BlitFramebufferEXT 780 -#define _gloffset_BufferParameteriAPPLE 781 -#define _gloffset_FlushMappedBufferRangeAPPLE 782 -#define _gloffset_FramebufferTextureLayerEXT 783 -#define _gloffset_ProvokingVertexEXT 784 -#define _gloffset_GetTexParameterPointervAPPLE 785 -#define _gloffset_TextureRangeAPPLE 786 -#define _gloffset_StencilFuncSeparateATI 787 -#define _gloffset_ProgramEnvParameters4fvEXT 788 -#define _gloffset_ProgramLocalParameters4fvEXT 789 -#define _gloffset_GetQueryObjecti64vEXT 790 -#define _gloffset_GetQueryObjectui64vEXT 791 -#define _gloffset_FIRST_DYNAMIC 792 +#define _gloffset_DrawElementsBaseVertex 574 +#define _gloffset_DrawRangeElementsBaseVertex 575 +#define _gloffset_MultiDrawElementsBaseVertex 576 +#define _gloffset_PolygonOffsetEXT 577 +#define _gloffset_GetPixelTexGenParameterfvSGIS 578 +#define _gloffset_GetPixelTexGenParameterivSGIS 579 +#define _gloffset_PixelTexGenParameterfSGIS 580 +#define _gloffset_PixelTexGenParameterfvSGIS 581 +#define _gloffset_PixelTexGenParameteriSGIS 582 +#define _gloffset_PixelTexGenParameterivSGIS 583 +#define _gloffset_SampleMaskSGIS 584 +#define _gloffset_SamplePatternSGIS 585 +#define _gloffset_ColorPointerEXT 586 +#define _gloffset_EdgeFlagPointerEXT 587 +#define _gloffset_IndexPointerEXT 588 +#define _gloffset_NormalPointerEXT 589 +#define _gloffset_TexCoordPointerEXT 590 +#define _gloffset_VertexPointerEXT 591 +#define _gloffset_PointParameterfEXT 592 +#define _gloffset_PointParameterfvEXT 593 +#define _gloffset_LockArraysEXT 594 +#define _gloffset_UnlockArraysEXT 595 +#define _gloffset_CullParameterdvEXT 596 +#define _gloffset_CullParameterfvEXT 597 +#define _gloffset_SecondaryColor3bEXT 598 +#define _gloffset_SecondaryColor3bvEXT 599 +#define _gloffset_SecondaryColor3dEXT 600 +#define _gloffset_SecondaryColor3dvEXT 601 +#define _gloffset_SecondaryColor3fEXT 602 +#define _gloffset_SecondaryColor3fvEXT 603 +#define _gloffset_SecondaryColor3iEXT 604 +#define _gloffset_SecondaryColor3ivEXT 605 +#define _gloffset_SecondaryColor3sEXT 606 +#define _gloffset_SecondaryColor3svEXT 607 +#define _gloffset_SecondaryColor3ubEXT 608 +#define _gloffset_SecondaryColor3ubvEXT 609 +#define _gloffset_SecondaryColor3uiEXT 610 +#define _gloffset_SecondaryColor3uivEXT 611 +#define _gloffset_SecondaryColor3usEXT 612 +#define _gloffset_SecondaryColor3usvEXT 613 +#define _gloffset_SecondaryColorPointerEXT 614 +#define _gloffset_MultiDrawArraysEXT 615 +#define _gloffset_MultiDrawElementsEXT 616 +#define _gloffset_FogCoordPointerEXT 617 +#define _gloffset_FogCoorddEXT 618 +#define _gloffset_FogCoorddvEXT 619 +#define _gloffset_FogCoordfEXT 620 +#define _gloffset_FogCoordfvEXT 621 +#define _gloffset_PixelTexGenSGIX 622 +#define _gloffset_BlendFuncSeparateEXT 623 +#define _gloffset_FlushVertexArrayRangeNV 624 +#define _gloffset_VertexArrayRangeNV 625 +#define _gloffset_CombinerInputNV 626 +#define _gloffset_CombinerOutputNV 627 +#define _gloffset_CombinerParameterfNV 628 +#define _gloffset_CombinerParameterfvNV 629 +#define _gloffset_CombinerParameteriNV 630 +#define _gloffset_CombinerParameterivNV 631 +#define _gloffset_FinalCombinerInputNV 632 +#define _gloffset_GetCombinerInputParameterfvNV 633 +#define _gloffset_GetCombinerInputParameterivNV 634 +#define _gloffset_GetCombinerOutputParameterfvNV 635 +#define _gloffset_GetCombinerOutputParameterivNV 636 +#define _gloffset_GetFinalCombinerInputParameterfvNV 637 +#define _gloffset_GetFinalCombinerInputParameterivNV 638 +#define _gloffset_ResizeBuffersMESA 639 +#define _gloffset_WindowPos2dMESA 640 +#define _gloffset_WindowPos2dvMESA 641 +#define _gloffset_WindowPos2fMESA 642 +#define _gloffset_WindowPos2fvMESA 643 +#define _gloffset_WindowPos2iMESA 644 +#define _gloffset_WindowPos2ivMESA 645 +#define _gloffset_WindowPos2sMESA 646 +#define _gloffset_WindowPos2svMESA 647 +#define _gloffset_WindowPos3dMESA 648 +#define _gloffset_WindowPos3dvMESA 649 +#define _gloffset_WindowPos3fMESA 650 +#define _gloffset_WindowPos3fvMESA 651 +#define _gloffset_WindowPos3iMESA 652 +#define _gloffset_WindowPos3ivMESA 653 +#define _gloffset_WindowPos3sMESA 654 +#define _gloffset_WindowPos3svMESA 655 +#define _gloffset_WindowPos4dMESA 656 +#define _gloffset_WindowPos4dvMESA 657 +#define _gloffset_WindowPos4fMESA 658 +#define _gloffset_WindowPos4fvMESA 659 +#define _gloffset_WindowPos4iMESA 660 +#define _gloffset_WindowPos4ivMESA 661 +#define _gloffset_WindowPos4sMESA 662 +#define _gloffset_WindowPos4svMESA 663 +#define _gloffset_MultiModeDrawArraysIBM 664 +#define _gloffset_MultiModeDrawElementsIBM 665 +#define _gloffset_DeleteFencesNV 666 +#define _gloffset_FinishFenceNV 667 +#define _gloffset_GenFencesNV 668 +#define _gloffset_GetFenceivNV 669 +#define _gloffset_IsFenceNV 670 +#define _gloffset_SetFenceNV 671 +#define _gloffset_TestFenceNV 672 +#define _gloffset_AreProgramsResidentNV 673 +#define _gloffset_BindProgramNV 674 +#define _gloffset_DeleteProgramsNV 675 +#define _gloffset_ExecuteProgramNV 676 +#define _gloffset_GenProgramsNV 677 +#define _gloffset_GetProgramParameterdvNV 678 +#define _gloffset_GetProgramParameterfvNV 679 +#define _gloffset_GetProgramStringNV 680 +#define _gloffset_GetProgramivNV 681 +#define _gloffset_GetTrackMatrixivNV 682 +#define _gloffset_GetVertexAttribPointervNV 683 +#define _gloffset_GetVertexAttribdvNV 684 +#define _gloffset_GetVertexAttribfvNV 685 +#define _gloffset_GetVertexAttribivNV 686 +#define _gloffset_IsProgramNV 687 +#define _gloffset_LoadProgramNV 688 +#define _gloffset_ProgramParameters4dvNV 689 +#define _gloffset_ProgramParameters4fvNV 690 +#define _gloffset_RequestResidentProgramsNV 691 +#define _gloffset_TrackMatrixNV 692 +#define _gloffset_VertexAttrib1dNV 693 +#define _gloffset_VertexAttrib1dvNV 694 +#define _gloffset_VertexAttrib1fNV 695 +#define _gloffset_VertexAttrib1fvNV 696 +#define _gloffset_VertexAttrib1sNV 697 +#define _gloffset_VertexAttrib1svNV 698 +#define _gloffset_VertexAttrib2dNV 699 +#define _gloffset_VertexAttrib2dvNV 700 +#define _gloffset_VertexAttrib2fNV 701 +#define _gloffset_VertexAttrib2fvNV 702 +#define _gloffset_VertexAttrib2sNV 703 +#define _gloffset_VertexAttrib2svNV 704 +#define _gloffset_VertexAttrib3dNV 705 +#define _gloffset_VertexAttrib3dvNV 706 +#define _gloffset_VertexAttrib3fNV 707 +#define _gloffset_VertexAttrib3fvNV 708 +#define _gloffset_VertexAttrib3sNV 709 +#define _gloffset_VertexAttrib3svNV 710 +#define _gloffset_VertexAttrib4dNV 711 +#define _gloffset_VertexAttrib4dvNV 712 +#define _gloffset_VertexAttrib4fNV 713 +#define _gloffset_VertexAttrib4fvNV 714 +#define _gloffset_VertexAttrib4sNV 715 +#define _gloffset_VertexAttrib4svNV 716 +#define _gloffset_VertexAttrib4ubNV 717 +#define _gloffset_VertexAttrib4ubvNV 718 +#define _gloffset_VertexAttribPointerNV 719 +#define _gloffset_VertexAttribs1dvNV 720 +#define _gloffset_VertexAttribs1fvNV 721 +#define _gloffset_VertexAttribs1svNV 722 +#define _gloffset_VertexAttribs2dvNV 723 +#define _gloffset_VertexAttribs2fvNV 724 +#define _gloffset_VertexAttribs2svNV 725 +#define _gloffset_VertexAttribs3dvNV 726 +#define _gloffset_VertexAttribs3fvNV 727 +#define _gloffset_VertexAttribs3svNV 728 +#define _gloffset_VertexAttribs4dvNV 729 +#define _gloffset_VertexAttribs4fvNV 730 +#define _gloffset_VertexAttribs4svNV 731 +#define _gloffset_VertexAttribs4ubvNV 732 +#define _gloffset_GetTexBumpParameterfvATI 733 +#define _gloffset_GetTexBumpParameterivATI 734 +#define _gloffset_TexBumpParameterfvATI 735 +#define _gloffset_TexBumpParameterivATI 736 +#define _gloffset_AlphaFragmentOp1ATI 737 +#define _gloffset_AlphaFragmentOp2ATI 738 +#define _gloffset_AlphaFragmentOp3ATI 739 +#define _gloffset_BeginFragmentShaderATI 740 +#define _gloffset_BindFragmentShaderATI 741 +#define _gloffset_ColorFragmentOp1ATI 742 +#define _gloffset_ColorFragmentOp2ATI 743 +#define _gloffset_ColorFragmentOp3ATI 744 +#define _gloffset_DeleteFragmentShaderATI 745 +#define _gloffset_EndFragmentShaderATI 746 +#define _gloffset_GenFragmentShadersATI 747 +#define _gloffset_PassTexCoordATI 748 +#define _gloffset_SampleMapATI 749 +#define _gloffset_SetFragmentShaderConstantATI 750 +#define _gloffset_PointParameteriNV 751 +#define _gloffset_PointParameterivNV 752 +#define _gloffset_ActiveStencilFaceEXT 753 +#define _gloffset_BindVertexArrayAPPLE 754 +#define _gloffset_DeleteVertexArraysAPPLE 755 +#define _gloffset_GenVertexArraysAPPLE 756 +#define _gloffset_IsVertexArrayAPPLE 757 +#define _gloffset_GetProgramNamedParameterdvNV 758 +#define _gloffset_GetProgramNamedParameterfvNV 759 +#define _gloffset_ProgramNamedParameter4dNV 760 +#define _gloffset_ProgramNamedParameter4dvNV 761 +#define _gloffset_ProgramNamedParameter4fNV 762 +#define _gloffset_ProgramNamedParameter4fvNV 763 +#define _gloffset_DepthBoundsEXT 764 +#define _gloffset_BlendEquationSeparateEXT 765 +#define _gloffset_BindFramebufferEXT 766 +#define _gloffset_BindRenderbufferEXT 767 +#define _gloffset_CheckFramebufferStatusEXT 768 +#define _gloffset_DeleteFramebuffersEXT 769 +#define _gloffset_DeleteRenderbuffersEXT 770 +#define _gloffset_FramebufferRenderbufferEXT 771 +#define _gloffset_FramebufferTexture1DEXT 772 +#define _gloffset_FramebufferTexture2DEXT 773 +#define _gloffset_FramebufferTexture3DEXT 774 +#define _gloffset_GenFramebuffersEXT 775 +#define _gloffset_GenRenderbuffersEXT 776 +#define _gloffset_GenerateMipmapEXT 777 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 778 +#define _gloffset_GetRenderbufferParameterivEXT 779 +#define _gloffset_IsFramebufferEXT 780 +#define _gloffset_IsRenderbufferEXT 781 +#define _gloffset_RenderbufferStorageEXT 782 +#define _gloffset_BlitFramebufferEXT 783 +#define _gloffset_BufferParameteriAPPLE 784 +#define _gloffset_FlushMappedBufferRangeAPPLE 785 +#define _gloffset_FramebufferTextureLayerEXT 786 +#define _gloffset_ProvokingVertexEXT 787 +#define _gloffset_GetTexParameterPointervAPPLE 788 +#define _gloffset_TextureRangeAPPLE 789 +#define _gloffset_StencilFuncSeparateATI 790 +#define _gloffset_ProgramEnvParameters4fvEXT 791 +#define _gloffset_ProgramLocalParameters4fvEXT 792 +#define _gloffset_GetQueryObjecti64vEXT 793 +#define _gloffset_GetQueryObjectui64vEXT 794 +#define _gloffset_FIRST_DYNAMIC 795 #else @@ -994,6 +997,9 @@ #define _gloffset_GetSynciv driDispatchRemapTable[GetSynciv_remap_index] #define _gloffset_IsSync driDispatchRemapTable[IsSync_remap_index] #define _gloffset_WaitSync driDispatchRemapTable[WaitSync_remap_index] +#define _gloffset_DrawElementsBaseVertex driDispatchRemapTable[DrawElementsBaseVertex_remap_index] +#define _gloffset_DrawRangeElementsBaseVertex driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index] +#define _gloffset_MultiDrawElementsBaseVertex driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index] #define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] #define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index] #define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index] diff --git a/src/mesa/glapi/glapitable.h b/src/mesa/glapi/glapitable.h index 855fcaa7fe..4f9e53b62d 100644 --- a/src/mesa/glapi/glapitable.h +++ b/src/mesa/glapi/glapitable.h @@ -614,224 +614,227 @@ struct _glapi_table void (GLAPIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 571 */ GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 572 */ void (GLAPIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 573 */ - void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 574 */ - void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 575 */ - void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 576 */ - void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 577 */ - void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 578 */ - void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 579 */ - void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 580 */ - void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 581 */ - void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 582 */ - void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 583 */ - void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 584 */ - void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 585 */ - void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 586 */ - void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 587 */ - void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 588 */ - void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 589 */ - void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 590 */ - void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 591 */ - void (GLAPIENTRYP UnlockArraysEXT)(void); /* 592 */ - void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 593 */ - void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 594 */ - void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 595 */ - void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 596 */ - void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 597 */ - void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 598 */ - void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 599 */ - void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 600 */ - void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 601 */ - void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 602 */ - void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 603 */ - void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 604 */ - void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 605 */ - void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 606 */ - void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 607 */ - void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 608 */ - void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 609 */ - void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 610 */ - void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 611 */ - void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 612 */ - void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 613 */ - void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 614 */ - void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 615 */ - void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 616 */ - void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 617 */ - void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 618 */ - void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 619 */ - void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 620 */ - void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 621 */ - void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 622 */ - void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 623 */ - void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 624 */ - void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 625 */ - void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 626 */ - void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 627 */ - void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 628 */ - void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 629 */ - void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 630 */ - void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 631 */ - void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 632 */ - void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 633 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 634 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 635 */ - void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 636 */ - void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 637 */ - void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 638 */ - void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 639 */ - void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 640 */ - void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 641 */ - void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 642 */ - void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 643 */ - void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 644 */ - void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 645 */ - void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 646 */ - void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 647 */ - void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 648 */ - void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 649 */ - void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 650 */ - void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 651 */ - void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 652 */ - void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 653 */ - void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 654 */ - void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 655 */ - void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 656 */ - void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 657 */ - void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 658 */ - void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 659 */ - void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 660 */ - void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 661 */ - void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 662 */ - void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 663 */ - void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 664 */ - void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 665 */ - void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 666 */ - GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 667 */ - void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 668 */ - GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 669 */ - GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 670 */ - void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 671 */ - void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 672 */ - void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 673 */ - void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 674 */ - void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 675 */ - void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 676 */ - void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 677 */ - void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 678 */ - void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 679 */ - void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 680 */ - void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 681 */ - void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 682 */ - void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 683 */ - GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 684 */ - void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 685 */ - void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 686 */ - void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 687 */ - void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 688 */ - void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 689 */ - void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 690 */ - void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 691 */ - void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 692 */ - void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 693 */ - void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 694 */ - void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 695 */ - void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 696 */ - void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 697 */ - void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 698 */ - void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 699 */ - void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 700 */ - void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 701 */ - void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 702 */ - void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 703 */ - void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 704 */ - void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 705 */ - void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 706 */ - void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 707 */ - void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 708 */ - void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 709 */ - void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 710 */ - void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 711 */ - void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 712 */ - void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 713 */ - void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 714 */ - void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 715 */ - void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 716 */ - void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 717 */ - void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 718 */ - void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 719 */ - void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 720 */ - void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 721 */ - void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 722 */ - void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 723 */ - void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 724 */ - void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 725 */ - void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 726 */ - void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 727 */ - void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 728 */ - void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 729 */ - void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 730 */ - void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 731 */ - void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 732 */ - void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 733 */ - void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 734 */ - void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 735 */ - void (GLAPIENTRYP AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 736 */ - void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 737 */ - void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 738 */ - void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 739 */ - void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 740 */ - void (GLAPIENTRYP ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 741 */ - void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 742 */ - void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 743 */ - GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 744 */ - void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 745 */ - void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 746 */ - void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 747 */ - void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 748 */ - void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 749 */ - void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 750 */ - void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 751 */ - void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 752 */ - void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 753 */ - GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 754 */ - void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 755 */ - void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 756 */ - void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 757 */ - void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 758 */ - void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 759 */ - void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 760 */ - void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 761 */ - void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 762 */ - void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 763 */ - void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 764 */ - GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 765 */ - void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 766 */ - void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 767 */ - void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 768 */ - void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 769 */ - void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 770 */ - void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 771 */ - void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 772 */ - void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 773 */ - void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 774 */ - void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 775 */ - void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 776 */ - GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 777 */ - GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 778 */ - void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 779 */ - void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 780 */ - void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 781 */ - void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 782 */ - void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 783 */ - void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 784 */ - void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 785 */ - void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 786 */ - void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 787 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 788 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 789 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 790 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 791 */ + void (GLAPIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 574 */ + void (GLAPIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 575 */ + void (GLAPIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex); /* 576 */ + void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 577 */ + void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 578 */ + void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 579 */ + void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 580 */ + void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 581 */ + void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 582 */ + void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 583 */ + void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 584 */ + void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 585 */ + void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 586 */ + void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 587 */ + void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 588 */ + void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 589 */ + void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 590 */ + void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 591 */ + void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 592 */ + void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 593 */ + void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 594 */ + void (GLAPIENTRYP UnlockArraysEXT)(void); /* 595 */ + void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 596 */ + void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 597 */ + void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 598 */ + void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 599 */ + void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 600 */ + void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 601 */ + void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 602 */ + void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 603 */ + void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 604 */ + void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 605 */ + void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 606 */ + void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 607 */ + void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 608 */ + void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 609 */ + void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 610 */ + void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 611 */ + void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 612 */ + void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 613 */ + void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 614 */ + void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 615 */ + void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 616 */ + void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 617 */ + void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 618 */ + void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 619 */ + void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 620 */ + void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 621 */ + void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 622 */ + void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 623 */ + void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 624 */ + void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 625 */ + void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 626 */ + void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 627 */ + void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 628 */ + void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 629 */ + void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 630 */ + void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 631 */ + void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 632 */ + void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 633 */ + void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 634 */ + void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 635 */ + void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 636 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 637 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 638 */ + void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 639 */ + void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 640 */ + void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 641 */ + void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 642 */ + void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 643 */ + void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 644 */ + void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 645 */ + void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 646 */ + void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 647 */ + void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 648 */ + void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 649 */ + void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 650 */ + void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 651 */ + void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 652 */ + void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 653 */ + void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 654 */ + void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 655 */ + void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 656 */ + void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 657 */ + void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 658 */ + void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 659 */ + void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 660 */ + void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 661 */ + void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 662 */ + void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 663 */ + void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 664 */ + void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 665 */ + void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 666 */ + void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 667 */ + void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 668 */ + void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 669 */ + GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 670 */ + void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 671 */ + GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 672 */ + GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 673 */ + void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 674 */ + void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 675 */ + void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 676 */ + void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 677 */ + void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 678 */ + void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 679 */ + void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 680 */ + void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 681 */ + void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 682 */ + void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 683 */ + void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 684 */ + void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 685 */ + void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 686 */ + GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 687 */ + void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 688 */ + void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 689 */ + void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 690 */ + void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 691 */ + void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 692 */ + void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 693 */ + void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 694 */ + void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 695 */ + void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 696 */ + void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 697 */ + void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 698 */ + void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 699 */ + void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 700 */ + void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 701 */ + void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 702 */ + void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 703 */ + void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 704 */ + void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 705 */ + void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 706 */ + void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 707 */ + void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 708 */ + void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 709 */ + void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 710 */ + void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 711 */ + void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 712 */ + void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 713 */ + void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 714 */ + void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 715 */ + void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 716 */ + void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 717 */ + void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 718 */ + void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 719 */ + void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 720 */ + void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 721 */ + void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 722 */ + void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 723 */ + void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 724 */ + void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 725 */ + void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 726 */ + void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 727 */ + void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 728 */ + void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 729 */ + void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 730 */ + void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 731 */ + void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 732 */ + void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 733 */ + void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 734 */ + void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 735 */ + void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 736 */ + void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 737 */ + void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 738 */ + void (GLAPIENTRYP AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 739 */ + void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 740 */ + void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 741 */ + void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 742 */ + void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 743 */ + void (GLAPIENTRYP ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 744 */ + void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 745 */ + void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 746 */ + GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 747 */ + void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 748 */ + void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 749 */ + void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 750 */ + void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 751 */ + void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 752 */ + void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 753 */ + void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 754 */ + void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 755 */ + void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 756 */ + GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 757 */ + void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 758 */ + void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 759 */ + void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 760 */ + void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 761 */ + void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 762 */ + void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 763 */ + void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 764 */ + void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 765 */ + void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 766 */ + void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 767 */ + GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 768 */ + void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 769 */ + void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 770 */ + void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 771 */ + void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 772 */ + void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 773 */ + void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 774 */ + void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 775 */ + void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 776 */ + void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 777 */ + void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 778 */ + void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 779 */ + GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 780 */ + GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 781 */ + void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 782 */ + void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 783 */ + void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 784 */ + void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 785 */ + void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 786 */ + void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 787 */ + void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 788 */ + void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 789 */ + void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 790 */ + void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 791 */ + void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 792 */ + void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 793 */ + void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 794 */ }; #endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h index e08f9548f5..3da0f63143 100644 --- a/src/mesa/glapi/glapitemp.h +++ b/src/mesa/glapi/glapitemp.h @@ -4071,63 +4071,78 @@ KEYWORD1 void KEYWORD2 NAME(WaitSync)(GLsync sync, GLbitfield flags, GLuint64 ti DISPATCH(WaitSync, (sync, flags, timeout), (F, "glWaitSync(%d, %d, %d);\n", sync, flags, timeout)); } +KEYWORD1 void KEYWORD2 NAME(DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex) +{ + DISPATCH(DrawElementsBaseVertex, (mode, count, type, indices, basevertex), (F, "glDrawElementsBaseVertex(0x%x, %d, 0x%x, %p, %d);\n", mode, count, type, (const void *) indices, basevertex)); +} + +KEYWORD1 void KEYWORD2 NAME(DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex) +{ + DISPATCH(DrawRangeElementsBaseVertex, (mode, start, end, count, type, indices, basevertex), (F, "glDrawRangeElementsBaseVertex(0x%x, %d, %d, %d, 0x%x, %p, %d);\n", mode, start, end, count, type, (const void *) indices, basevertex)); +} + +KEYWORD1 void KEYWORD2 NAME(MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex) +{ + DISPATCH(MultiDrawElementsBaseVertex, (mode, count, type, indices, primcount, basevertex), (F, "glMultiDrawElementsBaseVertex(0x%x, %p, 0x%x, %p, %d, %p);\n", mode, (const void *) count, type, (const void *) indices, primcount, (const void *) basevertex)); +} + KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) { DISPATCH(PolygonOffsetEXT, (factor, bias), (F, "glPolygonOffsetEXT(%f, %f);\n", factor, bias)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_575)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_575)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, GLfloat * params) { DISPATCH(GetPixelTexGenParameterfvSGIS, (pname, params), (F, "glGetPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_576)(GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_579)(GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_576)(GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_579)(GLenum pname, GLint * params) { DISPATCH(GetPixelTexGenParameterivSGIS, (pname, params), (F, "glGetPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, GLfloat param) { DISPATCH(PixelTexGenParameterfSGIS, (pname, param), (F, "glPixelTexGenParameterfSGIS(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLenum pname, const GLfloat * params) { DISPATCH(PixelTexGenParameterfvSGIS, (pname, params), (F, "glPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_579)(GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_579)(GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pname, GLint param) { DISPATCH(PixelTexGenParameteriSGIS, (pname, param), (F, "glPixelTexGenParameteriSGIS(0x%x, %d);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, const GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_583)(GLenum pname, const GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, const GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_583)(GLenum pname, const GLint * params) { DISPATCH(PixelTexGenParameterivSGIS, (pname, params), (F, "glPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLclampf value, GLboolean invert); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_584)(GLclampf value, GLboolean invert); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLclampf value, GLboolean invert) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_584)(GLclampf value, GLboolean invert) { DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskSGIS(%f, %d);\n", value, invert)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pattern); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_585)(GLenum pattern); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pattern) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_585)(GLenum pattern) { DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternSGIS(0x%x);\n", pattern)); } @@ -4177,9 +4192,9 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterfEXT)(GLenum pname, GLfloat param) DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfEXT(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_589)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_592)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_589)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_592)(GLenum pname, GLfloat param) { DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfSGIS(0x%x, %f);\n", pname, param)); } @@ -4199,9 +4214,9 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterfvEXT)(GLenum pname, const GLfloat * p DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvEXT(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_590)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_593)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_590)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_593)(GLenum pname, const GLfloat * params) { DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } @@ -4216,16 +4231,16 @@ KEYWORD1 void KEYWORD2 NAME(UnlockArraysEXT)(void) DISPATCH(UnlockArraysEXT, (), (F, "glUnlockArraysEXT();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_593)(GLenum pname, GLdouble * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_596)(GLenum pname, GLdouble * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_593)(GLenum pname, GLdouble * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_596)(GLenum pname, GLdouble * params) { DISPATCH(CullParameterdvEXT, (pname, params), (F, "glCullParameterdvEXT(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_594)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_597)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_594)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_597)(GLenum pname, GLfloat * params) { DISPATCH(CullParameterfvEXT, (pname, params), (F, "glCullParameterfvEXT(0x%x, %p);\n", pname, (const void *) params)); } @@ -4470,9 +4485,9 @@ KEYWORD1 void KEYWORD2 NAME(FogCoordfvEXT)(const GLfloat * coord) DISPATCH(FogCoordfvEXT, (coord), (F, "glFogCoordfvEXT(%p);\n", (const void *) coord)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_619)(GLenum mode); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_622)(GLenum mode); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_619)(GLenum mode) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_622)(GLenum mode) { DISPATCH(PixelTexGenSGIX, (mode), (F, "glPixelTexGenSGIX(0x%x);\n", mode)); } @@ -4487,9 +4502,9 @@ KEYWORD1 void KEYWORD2 NAME(BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfac DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateEXT(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_620)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_623)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_620)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_623)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateINGR(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } @@ -4854,65 +4869,65 @@ KEYWORD1 void KEYWORD2 NAME(WindowPos4svMESA)(const GLshort * v) DISPATCH(WindowPos4svMESA, (v), (F, "glWindowPos4svMESA(%p);\n", (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_661)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_664)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_661)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_664)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawArraysIBM, (mode, first, count, primcount, modestride), (F, "glMultiModeDrawArraysIBM(%p, %p, %p, %d, %d);\n", (const void *) mode, (const void *) first, (const void *) count, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_662)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_665)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_662)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_665)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawElementsIBM, (mode, count, type, indices, primcount, modestride), (F, "glMultiModeDrawElementsIBM(%p, %p, 0x%x, %p, %d, %d);\n", (const void *) mode, (const void *) count, type, (const void *) indices, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_663)(GLsizei n, const GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_666)(GLsizei n, const GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_663)(GLsizei n, const GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_666)(GLsizei n, const GLuint * fences) { DISPATCH(DeleteFencesNV, (n, fences), (F, "glDeleteFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_664)(GLuint fence); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_667)(GLuint fence); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_664)(GLuint fence) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_667)(GLuint fence) { DISPATCH(FinishFenceNV, (fence), (F, "glFinishFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_665)(GLsizei n, GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_668)(GLsizei n, GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_665)(GLsizei n, GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_668)(GLsizei n, GLuint * fences) { DISPATCH(GenFencesNV, (n, fences), (F, "glGenFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_666)(GLuint fence, GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_669)(GLuint fence, GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_666)(GLuint fence, GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_669)(GLuint fence, GLenum pname, GLint * params) { DISPATCH(GetFenceivNV, (fence, pname, params), (F, "glGetFenceivNV(%d, 0x%x, %p);\n", fence, pname, (const void *) params)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_667)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_670)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_667)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_670)(GLuint fence) { RETURN_DISPATCH(IsFenceNV, (fence), (F, "glIsFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_668)(GLuint fence, GLenum condition); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_671)(GLuint fence, GLenum condition); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_668)(GLuint fence, GLenum condition) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_671)(GLuint fence, GLenum condition) { DISPATCH(SetFenceNV, (fence, condition), (F, "glSetFenceNV(%d, 0x%x);\n", fence, condition)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_669)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_672)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_669)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_672)(GLuint fence) { RETURN_DISPATCH(TestFenceNV, (fence), (F, "glTestFenceNV(%d);\n", fence)); } @@ -5357,16 +5372,16 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterivNV)(GLenum pname, const GLint * para DISPATCH(PointParameterivNV, (pname, params), (F, "glPointParameterivNV(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_750)(GLenum face); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_753)(GLenum face); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_750)(GLenum face) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_753)(GLenum face) { DISPATCH(ActiveStencilFaceEXT, (face), (F, "glActiveStencilFaceEXT(0x%x);\n", face)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_751)(GLuint array); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_754)(GLuint array); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_751)(GLuint array) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_754)(GLuint array) { DISPATCH(BindVertexArrayAPPLE, (array), (F, "glBindVertexArrayAPPLE(%d);\n", array)); } @@ -5376,16 +5391,16 @@ KEYWORD1 void KEYWORD2 NAME(DeleteVertexArrays)(GLsizei n, const GLuint * arrays DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArrays(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_752)(GLsizei n, const GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_755)(GLsizei n, const GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_752)(GLsizei n, const GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_755)(GLsizei n, const GLuint * arrays) { DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_753)(GLsizei n, GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_756)(GLsizei n, GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_753)(GLsizei n, GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_756)(GLsizei n, GLuint * arrays) { DISPATCH(GenVertexArraysAPPLE, (n, arrays), (F, "glGenVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } @@ -5395,9 +5410,9 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsVertexArray)(GLuint array) RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArray(%d);\n", array)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_754)(GLuint array); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_757)(GLuint array); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_754)(GLuint array) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_757)(GLuint array) { RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArrayAPPLE(%d);\n", array)); } @@ -5432,9 +5447,9 @@ KEYWORD1 void KEYWORD2 NAME(ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, DISPATCH(ProgramNamedParameter4fvNV, (id, len, name, v), (F, "glProgramNamedParameter4fvNV(%d, %d, %p, %p);\n", id, len, (const void *) name, (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_761)(GLclampd zmin, GLclampd zmax); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_764)(GLclampd zmin, GLclampd zmax); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_761)(GLclampd zmin, GLclampd zmax) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_764)(GLclampd zmin, GLclampd zmax) { DISPATCH(DepthBoundsEXT, (zmin, zmax), (F, "glDepthBoundsEXT(%f, %f);\n", zmin, zmax)); } @@ -5444,9 +5459,9 @@ KEYWORD1 void KEYWORD2 NAME(BlendEquationSeparate)(GLenum modeRGB, GLenum modeA) DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparate(0x%x, 0x%x);\n", modeRGB, modeA)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_762)(GLenum modeRGB, GLenum modeA); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_765)(GLenum modeRGB, GLenum modeA); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_762)(GLenum modeRGB, GLenum modeA) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_765)(GLenum modeRGB, GLenum modeA) { DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateEXT(0x%x, 0x%x);\n", modeRGB, modeA)); } @@ -5626,23 +5641,23 @@ KEYWORD1 void KEYWORD2 NAME(BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint src DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebuffer(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_780)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_783)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_780)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_783)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebufferEXT(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_781)(GLenum target, GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_784)(GLenum target, GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_781)(GLenum target, GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_784)(GLenum target, GLenum pname, GLint param) { DISPATCH(BufferParameteriAPPLE, (target, pname, param), (F, "glBufferParameteriAPPLE(0x%x, 0x%x, %d);\n", target, pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_782)(GLenum target, GLintptr offset, GLsizeiptr size); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_785)(GLenum target, GLintptr offset, GLsizeiptr size); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_782)(GLenum target, GLintptr offset, GLsizeiptr size) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_785)(GLenum target, GLintptr offset, GLsizeiptr size) { DISPATCH(FlushMappedBufferRangeAPPLE, (target, offset, size), (F, "glFlushMappedBufferRangeAPPLE(0x%x, %d, %d);\n", target, offset, size)); } @@ -5662,51 +5677,51 @@ KEYWORD1 void KEYWORD2 NAME(ProvokingVertexEXT)(GLenum mode) DISPATCH(ProvokingVertexEXT, (mode), (F, "glProvokingVertexEXT(0x%x);\n", mode)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_785)(GLenum target, GLenum pname, GLvoid ** params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_788)(GLenum target, GLenum pname, GLvoid ** params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_785)(GLenum target, GLenum pname, GLvoid ** params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_788)(GLenum target, GLenum pname, GLvoid ** params) { DISPATCH(GetTexParameterPointervAPPLE, (target, pname, params), (F, "glGetTexParameterPointervAPPLE(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_786)(GLenum target, GLsizei length, GLvoid * pointer); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_789)(GLenum target, GLsizei length, GLvoid * pointer); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_786)(GLenum target, GLsizei length, GLvoid * pointer) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_789)(GLenum target, GLsizei length, GLvoid * pointer) { DISPATCH(TextureRangeAPPLE, (target, length, pointer), (F, "glTextureRangeAPPLE(0x%x, %d, %p);\n", target, length, (const void *) pointer)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_790)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_790)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) { DISPATCH(StencilFuncSeparateATI, (frontfunc, backfunc, ref, mask), (F, "glStencilFuncSeparateATI(0x%x, 0x%x, %d, %d);\n", frontfunc, backfunc, ref, mask)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_788)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_791)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_788)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_791)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_789)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_792)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_789)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_792)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { DISPATCH(ProgramLocalParameters4fvEXT, (target, index, count, params), (F, "glProgramLocalParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_790)(GLuint id, GLenum pname, GLint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_793)(GLuint id, GLenum pname, GLint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_790)(GLuint id, GLenum pname, GLint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_793)(GLuint id, GLenum pname, GLint64EXT * params) { DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_791)(GLuint id, GLenum pname, GLuint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_794)(GLuint id, GLenum pname, GLuint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_791)(GLuint id, GLenum pname, GLuint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_794)(GLuint id, GLenum pname, GLuint64EXT * params) { DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } @@ -6299,15 +6314,18 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetSynciv), TABLE_ENTRY(IsSync), TABLE_ENTRY(WaitSync), + TABLE_ENTRY(DrawElementsBaseVertex), + TABLE_ENTRY(DrawRangeElementsBaseVertex), + TABLE_ENTRY(MultiDrawElementsBaseVertex), TABLE_ENTRY(PolygonOffsetEXT), - TABLE_ENTRY(_dispatch_stub_575), - TABLE_ENTRY(_dispatch_stub_576), - TABLE_ENTRY(_dispatch_stub_577), TABLE_ENTRY(_dispatch_stub_578), TABLE_ENTRY(_dispatch_stub_579), TABLE_ENTRY(_dispatch_stub_580), TABLE_ENTRY(_dispatch_stub_581), TABLE_ENTRY(_dispatch_stub_582), + TABLE_ENTRY(_dispatch_stub_583), + TABLE_ENTRY(_dispatch_stub_584), + TABLE_ENTRY(_dispatch_stub_585), TABLE_ENTRY(ColorPointerEXT), TABLE_ENTRY(EdgeFlagPointerEXT), TABLE_ENTRY(IndexPointerEXT), @@ -6318,8 +6336,8 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(PointParameterfvEXT), TABLE_ENTRY(LockArraysEXT), TABLE_ENTRY(UnlockArraysEXT), - TABLE_ENTRY(_dispatch_stub_593), - TABLE_ENTRY(_dispatch_stub_594), + TABLE_ENTRY(_dispatch_stub_596), + TABLE_ENTRY(_dispatch_stub_597), TABLE_ENTRY(SecondaryColor3bEXT), TABLE_ENTRY(SecondaryColor3bvEXT), TABLE_ENTRY(SecondaryColor3dEXT), @@ -6344,7 +6362,7 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(FogCoorddvEXT), TABLE_ENTRY(FogCoordfEXT), TABLE_ENTRY(FogCoordfvEXT), - TABLE_ENTRY(_dispatch_stub_619), + TABLE_ENTRY(_dispatch_stub_622), TABLE_ENTRY(BlendFuncSeparateEXT), TABLE_ENTRY(FlushVertexArrayRangeNV), TABLE_ENTRY(VertexArrayRangeNV), @@ -6386,15 +6404,15 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(WindowPos4ivMESA), TABLE_ENTRY(WindowPos4sMESA), TABLE_ENTRY(WindowPos4svMESA), - TABLE_ENTRY(_dispatch_stub_661), - TABLE_ENTRY(_dispatch_stub_662), - TABLE_ENTRY(_dispatch_stub_663), TABLE_ENTRY(_dispatch_stub_664), TABLE_ENTRY(_dispatch_stub_665), TABLE_ENTRY(_dispatch_stub_666), TABLE_ENTRY(_dispatch_stub_667), TABLE_ENTRY(_dispatch_stub_668), TABLE_ENTRY(_dispatch_stub_669), + TABLE_ENTRY(_dispatch_stub_670), + TABLE_ENTRY(_dispatch_stub_671), + TABLE_ENTRY(_dispatch_stub_672), TABLE_ENTRY(AreProgramsResidentNV), TABLE_ENTRY(BindProgramNV), TABLE_ENTRY(DeleteProgramsNV), @@ -6475,19 +6493,19 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(SetFragmentShaderConstantATI), TABLE_ENTRY(PointParameteriNV), TABLE_ENTRY(PointParameterivNV), - TABLE_ENTRY(_dispatch_stub_750), - TABLE_ENTRY(_dispatch_stub_751), - TABLE_ENTRY(_dispatch_stub_752), TABLE_ENTRY(_dispatch_stub_753), TABLE_ENTRY(_dispatch_stub_754), + TABLE_ENTRY(_dispatch_stub_755), + TABLE_ENTRY(_dispatch_stub_756), + TABLE_ENTRY(_dispatch_stub_757), TABLE_ENTRY(GetProgramNamedParameterdvNV), TABLE_ENTRY(GetProgramNamedParameterfvNV), TABLE_ENTRY(ProgramNamedParameter4dNV), TABLE_ENTRY(ProgramNamedParameter4dvNV), TABLE_ENTRY(ProgramNamedParameter4fNV), TABLE_ENTRY(ProgramNamedParameter4fvNV), - TABLE_ENTRY(_dispatch_stub_761), - TABLE_ENTRY(_dispatch_stub_762), + TABLE_ENTRY(_dispatch_stub_764), + TABLE_ENTRY(_dispatch_stub_765), TABLE_ENTRY(BindFramebufferEXT), TABLE_ENTRY(BindRenderbufferEXT), TABLE_ENTRY(CheckFramebufferStatusEXT), @@ -6505,18 +6523,18 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(IsFramebufferEXT), TABLE_ENTRY(IsRenderbufferEXT), TABLE_ENTRY(RenderbufferStorageEXT), - TABLE_ENTRY(_dispatch_stub_780), - TABLE_ENTRY(_dispatch_stub_781), - TABLE_ENTRY(_dispatch_stub_782), + TABLE_ENTRY(_dispatch_stub_783), + TABLE_ENTRY(_dispatch_stub_784), + TABLE_ENTRY(_dispatch_stub_785), TABLE_ENTRY(FramebufferTextureLayerEXT), TABLE_ENTRY(ProvokingVertexEXT), - TABLE_ENTRY(_dispatch_stub_785), - TABLE_ENTRY(_dispatch_stub_786), - TABLE_ENTRY(_dispatch_stub_787), TABLE_ENTRY(_dispatch_stub_788), TABLE_ENTRY(_dispatch_stub_789), TABLE_ENTRY(_dispatch_stub_790), TABLE_ENTRY(_dispatch_stub_791), + TABLE_ENTRY(_dispatch_stub_792), + TABLE_ENTRY(_dispatch_stub_793), + TABLE_ENTRY(_dispatch_stub_794), /* A whole bunch of no-op functions. These might be called * when someone tries to call a dynamically-registered * extension function without a current rendering context. diff --git a/src/mesa/glapi/glprocs.h b/src/mesa/glapi/glprocs.h index ae6603262e..fc0fcd331a 100644 --- a/src/mesa/glapi/glprocs.h +++ b/src/mesa/glapi/glprocs.h @@ -626,6 +626,9 @@ static const char gl_string_table[] = "glGetSynciv\0" "glIsSync\0" "glWaitSync\0" + "glDrawElementsBaseVertex\0" + "glDrawRangeElementsBaseVertex\0" + "glMultiDrawElementsBaseVertex\0" "glPolygonOffsetEXT\0" "glGetPixelTexGenParameterfvSGIS\0" "glGetPixelTexGenParameterivSGIS\0" @@ -1161,43 +1164,43 @@ static const char gl_string_table[] = #define gl_dispatch_stub_364 mgl_dispatch_stub_364 #define gl_dispatch_stub_365 mgl_dispatch_stub_365 #define gl_dispatch_stub_366 mgl_dispatch_stub_366 -#define gl_dispatch_stub_575 mgl_dispatch_stub_575 -#define gl_dispatch_stub_576 mgl_dispatch_stub_576 -#define gl_dispatch_stub_577 mgl_dispatch_stub_577 #define gl_dispatch_stub_578 mgl_dispatch_stub_578 #define gl_dispatch_stub_579 mgl_dispatch_stub_579 #define gl_dispatch_stub_580 mgl_dispatch_stub_580 #define gl_dispatch_stub_581 mgl_dispatch_stub_581 #define gl_dispatch_stub_582 mgl_dispatch_stub_582 -#define gl_dispatch_stub_593 mgl_dispatch_stub_593 -#define gl_dispatch_stub_594 mgl_dispatch_stub_594 -#define gl_dispatch_stub_619 mgl_dispatch_stub_619 -#define gl_dispatch_stub_661 mgl_dispatch_stub_661 -#define gl_dispatch_stub_662 mgl_dispatch_stub_662 -#define gl_dispatch_stub_663 mgl_dispatch_stub_663 +#define gl_dispatch_stub_583 mgl_dispatch_stub_583 +#define gl_dispatch_stub_584 mgl_dispatch_stub_584 +#define gl_dispatch_stub_585 mgl_dispatch_stub_585 +#define gl_dispatch_stub_596 mgl_dispatch_stub_596 +#define gl_dispatch_stub_597 mgl_dispatch_stub_597 +#define gl_dispatch_stub_622 mgl_dispatch_stub_622 #define gl_dispatch_stub_664 mgl_dispatch_stub_664 #define gl_dispatch_stub_665 mgl_dispatch_stub_665 #define gl_dispatch_stub_666 mgl_dispatch_stub_666 #define gl_dispatch_stub_667 mgl_dispatch_stub_667 #define gl_dispatch_stub_668 mgl_dispatch_stub_668 #define gl_dispatch_stub_669 mgl_dispatch_stub_669 -#define gl_dispatch_stub_750 mgl_dispatch_stub_750 -#define gl_dispatch_stub_751 mgl_dispatch_stub_751 -#define gl_dispatch_stub_752 mgl_dispatch_stub_752 +#define gl_dispatch_stub_670 mgl_dispatch_stub_670 +#define gl_dispatch_stub_671 mgl_dispatch_stub_671 +#define gl_dispatch_stub_672 mgl_dispatch_stub_672 #define gl_dispatch_stub_753 mgl_dispatch_stub_753 #define gl_dispatch_stub_754 mgl_dispatch_stub_754 -#define gl_dispatch_stub_761 mgl_dispatch_stub_761 -#define gl_dispatch_stub_762 mgl_dispatch_stub_762 -#define gl_dispatch_stub_780 mgl_dispatch_stub_780 -#define gl_dispatch_stub_781 mgl_dispatch_stub_781 -#define gl_dispatch_stub_782 mgl_dispatch_stub_782 +#define gl_dispatch_stub_755 mgl_dispatch_stub_755 +#define gl_dispatch_stub_756 mgl_dispatch_stub_756 +#define gl_dispatch_stub_757 mgl_dispatch_stub_757 +#define gl_dispatch_stub_764 mgl_dispatch_stub_764 +#define gl_dispatch_stub_765 mgl_dispatch_stub_765 +#define gl_dispatch_stub_783 mgl_dispatch_stub_783 +#define gl_dispatch_stub_784 mgl_dispatch_stub_784 #define gl_dispatch_stub_785 mgl_dispatch_stub_785 -#define gl_dispatch_stub_786 mgl_dispatch_stub_786 -#define gl_dispatch_stub_787 mgl_dispatch_stub_787 #define gl_dispatch_stub_788 mgl_dispatch_stub_788 #define gl_dispatch_stub_789 mgl_dispatch_stub_789 #define gl_dispatch_stub_790 mgl_dispatch_stub_790 #define gl_dispatch_stub_791 mgl_dispatch_stub_791 +#define gl_dispatch_stub_792 mgl_dispatch_stub_792 +#define gl_dispatch_stub_793 mgl_dispatch_stub_793 +#define gl_dispatch_stub_794 mgl_dispatch_stub_794 #endif /* USE_MGL_NAMESPACE */ @@ -1215,43 +1218,43 @@ void GLAPIENTRY gl_dispatch_stub_363(GLenum target, GLenum pname, GLint * params void GLAPIENTRY gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); void GLAPIENTRY gl_dispatch_stub_365(GLenum target, GLenum pname, GLfloat * params); void GLAPIENTRY gl_dispatch_stub_366(GLenum target, GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_575(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_576(GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_577(GLenum pname, GLfloat param); -void GLAPIENTRY gl_dispatch_stub_578(GLenum pname, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_579(GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_580(GLenum pname, const GLint * params); -void GLAPIENTRY gl_dispatch_stub_581(GLclampf value, GLboolean invert); -void GLAPIENTRY gl_dispatch_stub_582(GLenum pattern); -void GLAPIENTRY gl_dispatch_stub_593(GLenum pname, GLdouble * params); -void GLAPIENTRY gl_dispatch_stub_594(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_619(GLenum mode); -void GLAPIENTRY gl_dispatch_stub_661(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_662(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_663(GLsizei n, const GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_664(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_665(GLsizei n, GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_666(GLuint fence, GLenum pname, GLint * params); -GLboolean GLAPIENTRY gl_dispatch_stub_667(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_668(GLuint fence, GLenum condition); -GLboolean GLAPIENTRY gl_dispatch_stub_669(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_750(GLenum face); -void GLAPIENTRY gl_dispatch_stub_751(GLuint array); -void GLAPIENTRY gl_dispatch_stub_752(GLsizei n, const GLuint * arrays); -void GLAPIENTRY gl_dispatch_stub_753(GLsizei n, GLuint * arrays); -GLboolean GLAPIENTRY gl_dispatch_stub_754(GLuint array); -void GLAPIENTRY gl_dispatch_stub_761(GLclampd zmin, GLclampd zmax); -void GLAPIENTRY gl_dispatch_stub_762(GLenum modeRGB, GLenum modeA); -void GLAPIENTRY gl_dispatch_stub_780(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -void GLAPIENTRY gl_dispatch_stub_781(GLenum target, GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_782(GLenum target, GLintptr offset, GLsizeiptr size); -void GLAPIENTRY gl_dispatch_stub_785(GLenum target, GLenum pname, GLvoid ** params); -void GLAPIENTRY gl_dispatch_stub_786(GLenum target, GLsizei length, GLvoid * pointer); -void GLAPIENTRY gl_dispatch_stub_787(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void GLAPIENTRY gl_dispatch_stub_788(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_789(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_790(GLuint id, GLenum pname, GLint64EXT * params); -void GLAPIENTRY gl_dispatch_stub_791(GLuint id, GLenum pname, GLuint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_578(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_579(GLenum pname, GLint * params); +void GLAPIENTRY gl_dispatch_stub_580(GLenum pname, GLfloat param); +void GLAPIENTRY gl_dispatch_stub_581(GLenum pname, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_582(GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_583(GLenum pname, const GLint * params); +void GLAPIENTRY gl_dispatch_stub_584(GLclampf value, GLboolean invert); +void GLAPIENTRY gl_dispatch_stub_585(GLenum pattern); +void GLAPIENTRY gl_dispatch_stub_596(GLenum pname, GLdouble * params); +void GLAPIENTRY gl_dispatch_stub_597(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_622(GLenum mode); +void GLAPIENTRY gl_dispatch_stub_664(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_665(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_666(GLsizei n, const GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_667(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_668(GLsizei n, GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_669(GLuint fence, GLenum pname, GLint * params); +GLboolean GLAPIENTRY gl_dispatch_stub_670(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_671(GLuint fence, GLenum condition); +GLboolean GLAPIENTRY gl_dispatch_stub_672(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_753(GLenum face); +void GLAPIENTRY gl_dispatch_stub_754(GLuint array); +void GLAPIENTRY gl_dispatch_stub_755(GLsizei n, const GLuint * arrays); +void GLAPIENTRY gl_dispatch_stub_756(GLsizei n, GLuint * arrays); +GLboolean GLAPIENTRY gl_dispatch_stub_757(GLuint array); +void GLAPIENTRY gl_dispatch_stub_764(GLclampd zmin, GLclampd zmax); +void GLAPIENTRY gl_dispatch_stub_765(GLenum modeRGB, GLenum modeA); +void GLAPIENTRY gl_dispatch_stub_783(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +void GLAPIENTRY gl_dispatch_stub_784(GLenum target, GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_785(GLenum target, GLintptr offset, GLsizeiptr size); +void GLAPIENTRY gl_dispatch_stub_788(GLenum target, GLenum pname, GLvoid ** params); +void GLAPIENTRY gl_dispatch_stub_789(GLenum target, GLsizei length, GLvoid * pointer); +void GLAPIENTRY gl_dispatch_stub_790(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +void GLAPIENTRY gl_dispatch_stub_791(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_792(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_793(GLuint id, GLenum pname, GLint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_794(GLuint id, GLenum pname, GLuint64EXT * params); #endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ static const glprocs_table_t static_functions[] = { @@ -1829,524 +1832,527 @@ static const glprocs_table_t static_functions[] = { NAME_FUNC_OFFSET( 9140, glGetSynciv, glGetSynciv, NULL, _gloffset_GetSynciv), NAME_FUNC_OFFSET( 9152, glIsSync, glIsSync, NULL, _gloffset_IsSync), NAME_FUNC_OFFSET( 9161, glWaitSync, glWaitSync, NULL, _gloffset_WaitSync), - NAME_FUNC_OFFSET( 9172, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, _gloffset_PolygonOffsetEXT), - NAME_FUNC_OFFSET( 9191, gl_dispatch_stub_575, gl_dispatch_stub_575, NULL, _gloffset_GetPixelTexGenParameterfvSGIS), - NAME_FUNC_OFFSET( 9223, gl_dispatch_stub_576, gl_dispatch_stub_576, NULL, _gloffset_GetPixelTexGenParameterivSGIS), - NAME_FUNC_OFFSET( 9255, gl_dispatch_stub_577, gl_dispatch_stub_577, NULL, _gloffset_PixelTexGenParameterfSGIS), - NAME_FUNC_OFFSET( 9283, gl_dispatch_stub_578, gl_dispatch_stub_578, NULL, _gloffset_PixelTexGenParameterfvSGIS), - NAME_FUNC_OFFSET( 9312, gl_dispatch_stub_579, gl_dispatch_stub_579, NULL, _gloffset_PixelTexGenParameteriSGIS), - NAME_FUNC_OFFSET( 9340, gl_dispatch_stub_580, gl_dispatch_stub_580, NULL, _gloffset_PixelTexGenParameterivSGIS), - NAME_FUNC_OFFSET( 9369, gl_dispatch_stub_581, gl_dispatch_stub_581, NULL, _gloffset_SampleMaskSGIS), - NAME_FUNC_OFFSET( 9386, gl_dispatch_stub_582, gl_dispatch_stub_582, NULL, _gloffset_SamplePatternSGIS), - NAME_FUNC_OFFSET( 9406, glColorPointerEXT, glColorPointerEXT, NULL, _gloffset_ColorPointerEXT), - NAME_FUNC_OFFSET( 9424, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, _gloffset_EdgeFlagPointerEXT), - NAME_FUNC_OFFSET( 9445, glIndexPointerEXT, glIndexPointerEXT, NULL, _gloffset_IndexPointerEXT), - NAME_FUNC_OFFSET( 9463, glNormalPointerEXT, glNormalPointerEXT, NULL, _gloffset_NormalPointerEXT), - NAME_FUNC_OFFSET( 9482, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, _gloffset_TexCoordPointerEXT), - NAME_FUNC_OFFSET( 9503, glVertexPointerEXT, glVertexPointerEXT, NULL, _gloffset_VertexPointerEXT), - NAME_FUNC_OFFSET( 9522, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET( 9543, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET( 9565, glLockArraysEXT, glLockArraysEXT, NULL, _gloffset_LockArraysEXT), - NAME_FUNC_OFFSET( 9581, glUnlockArraysEXT, glUnlockArraysEXT, NULL, _gloffset_UnlockArraysEXT), - NAME_FUNC_OFFSET( 9599, gl_dispatch_stub_593, gl_dispatch_stub_593, NULL, _gloffset_CullParameterdvEXT), - NAME_FUNC_OFFSET( 9620, gl_dispatch_stub_594, gl_dispatch_stub_594, NULL, _gloffset_CullParameterfvEXT), - NAME_FUNC_OFFSET( 9641, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), - NAME_FUNC_OFFSET( 9663, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), - NAME_FUNC_OFFSET( 9686, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), - NAME_FUNC_OFFSET( 9708, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), - NAME_FUNC_OFFSET( 9731, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), - NAME_FUNC_OFFSET( 9753, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), - NAME_FUNC_OFFSET( 9776, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), - NAME_FUNC_OFFSET( 9798, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), - NAME_FUNC_OFFSET( 9821, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), - NAME_FUNC_OFFSET( 9843, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), - NAME_FUNC_OFFSET( 9866, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), - NAME_FUNC_OFFSET( 9889, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), - NAME_FUNC_OFFSET( 9913, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), - NAME_FUNC_OFFSET( 9936, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), - NAME_FUNC_OFFSET( 9960, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), - NAME_FUNC_OFFSET( 9983, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), - NAME_FUNC_OFFSET(10007, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), - NAME_FUNC_OFFSET(10034, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), - NAME_FUNC_OFFSET(10055, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), - NAME_FUNC_OFFSET(10078, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), - NAME_FUNC_OFFSET(10099, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), - NAME_FUNC_OFFSET(10114, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), - NAME_FUNC_OFFSET(10130, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), - NAME_FUNC_OFFSET(10145, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), - NAME_FUNC_OFFSET(10161, gl_dispatch_stub_619, gl_dispatch_stub_619, NULL, _gloffset_PixelTexGenSGIX), - NAME_FUNC_OFFSET(10179, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(10202, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, _gloffset_FlushVertexArrayRangeNV), - NAME_FUNC_OFFSET(10228, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, _gloffset_VertexArrayRangeNV), - NAME_FUNC_OFFSET(10249, glCombinerInputNV, glCombinerInputNV, NULL, _gloffset_CombinerInputNV), - NAME_FUNC_OFFSET(10267, glCombinerOutputNV, glCombinerOutputNV, NULL, _gloffset_CombinerOutputNV), - NAME_FUNC_OFFSET(10286, glCombinerParameterfNV, glCombinerParameterfNV, NULL, _gloffset_CombinerParameterfNV), - NAME_FUNC_OFFSET(10309, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, _gloffset_CombinerParameterfvNV), - NAME_FUNC_OFFSET(10333, glCombinerParameteriNV, glCombinerParameteriNV, NULL, _gloffset_CombinerParameteriNV), - NAME_FUNC_OFFSET(10356, glCombinerParameterivNV, glCombinerParameterivNV, NULL, _gloffset_CombinerParameterivNV), - NAME_FUNC_OFFSET(10380, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, _gloffset_FinalCombinerInputNV), - NAME_FUNC_OFFSET(10403, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, _gloffset_GetCombinerInputParameterfvNV), - NAME_FUNC_OFFSET(10435, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, _gloffset_GetCombinerInputParameterivNV), - NAME_FUNC_OFFSET(10467, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, _gloffset_GetCombinerOutputParameterfvNV), - NAME_FUNC_OFFSET(10500, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, _gloffset_GetCombinerOutputParameterivNV), - NAME_FUNC_OFFSET(10533, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, _gloffset_GetFinalCombinerInputParameterfvNV), - NAME_FUNC_OFFSET(10570, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, _gloffset_GetFinalCombinerInputParameterivNV), - NAME_FUNC_OFFSET(10607, glResizeBuffersMESA, glResizeBuffersMESA, NULL, _gloffset_ResizeBuffersMESA), - NAME_FUNC_OFFSET(10627, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(10645, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(10664, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(10682, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(10701, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(10719, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(10738, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(10756, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(10775, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(10793, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(10812, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(10830, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(10849, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(10867, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(10886, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(10904, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(10923, glWindowPos4dMESA, glWindowPos4dMESA, NULL, _gloffset_WindowPos4dMESA), - NAME_FUNC_OFFSET(10941, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, _gloffset_WindowPos4dvMESA), - NAME_FUNC_OFFSET(10960, glWindowPos4fMESA, glWindowPos4fMESA, NULL, _gloffset_WindowPos4fMESA), - NAME_FUNC_OFFSET(10978, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, _gloffset_WindowPos4fvMESA), - NAME_FUNC_OFFSET(10997, glWindowPos4iMESA, glWindowPos4iMESA, NULL, _gloffset_WindowPos4iMESA), - NAME_FUNC_OFFSET(11015, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, _gloffset_WindowPos4ivMESA), - NAME_FUNC_OFFSET(11034, glWindowPos4sMESA, glWindowPos4sMESA, NULL, _gloffset_WindowPos4sMESA), - NAME_FUNC_OFFSET(11052, glWindowPos4svMESA, glWindowPos4svMESA, NULL, _gloffset_WindowPos4svMESA), - NAME_FUNC_OFFSET(11071, gl_dispatch_stub_661, gl_dispatch_stub_661, NULL, _gloffset_MultiModeDrawArraysIBM), - NAME_FUNC_OFFSET(11096, gl_dispatch_stub_662, gl_dispatch_stub_662, NULL, _gloffset_MultiModeDrawElementsIBM), - NAME_FUNC_OFFSET(11123, gl_dispatch_stub_663, gl_dispatch_stub_663, NULL, _gloffset_DeleteFencesNV), - NAME_FUNC_OFFSET(11140, gl_dispatch_stub_664, gl_dispatch_stub_664, NULL, _gloffset_FinishFenceNV), - NAME_FUNC_OFFSET(11156, gl_dispatch_stub_665, gl_dispatch_stub_665, NULL, _gloffset_GenFencesNV), - NAME_FUNC_OFFSET(11170, gl_dispatch_stub_666, gl_dispatch_stub_666, NULL, _gloffset_GetFenceivNV), - NAME_FUNC_OFFSET(11185, gl_dispatch_stub_667, gl_dispatch_stub_667, NULL, _gloffset_IsFenceNV), - NAME_FUNC_OFFSET(11197, gl_dispatch_stub_668, gl_dispatch_stub_668, NULL, _gloffset_SetFenceNV), - NAME_FUNC_OFFSET(11210, gl_dispatch_stub_669, gl_dispatch_stub_669, NULL, _gloffset_TestFenceNV), - NAME_FUNC_OFFSET(11224, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, _gloffset_AreProgramsResidentNV), - NAME_FUNC_OFFSET(11248, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), - NAME_FUNC_OFFSET(11264, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), - NAME_FUNC_OFFSET(11283, glExecuteProgramNV, glExecuteProgramNV, NULL, _gloffset_ExecuteProgramNV), - NAME_FUNC_OFFSET(11302, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), - NAME_FUNC_OFFSET(11318, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, _gloffset_GetProgramParameterdvNV), - NAME_FUNC_OFFSET(11344, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, _gloffset_GetProgramParameterfvNV), - NAME_FUNC_OFFSET(11370, glGetProgramStringNV, glGetProgramStringNV, NULL, _gloffset_GetProgramStringNV), - NAME_FUNC_OFFSET(11391, glGetProgramivNV, glGetProgramivNV, NULL, _gloffset_GetProgramivNV), - NAME_FUNC_OFFSET(11408, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, _gloffset_GetTrackMatrixivNV), - NAME_FUNC_OFFSET(11429, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(11457, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, _gloffset_GetVertexAttribdvNV), - NAME_FUNC_OFFSET(11479, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, _gloffset_GetVertexAttribfvNV), - NAME_FUNC_OFFSET(11501, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, _gloffset_GetVertexAttribivNV), - NAME_FUNC_OFFSET(11523, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), - NAME_FUNC_OFFSET(11537, glLoadProgramNV, glLoadProgramNV, NULL, _gloffset_LoadProgramNV), - NAME_FUNC_OFFSET(11553, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, _gloffset_ProgramParameters4dvNV), - NAME_FUNC_OFFSET(11578, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, _gloffset_ProgramParameters4fvNV), - NAME_FUNC_OFFSET(11603, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, _gloffset_RequestResidentProgramsNV), - NAME_FUNC_OFFSET(11631, glTrackMatrixNV, glTrackMatrixNV, NULL, _gloffset_TrackMatrixNV), - NAME_FUNC_OFFSET(11647, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, _gloffset_VertexAttrib1dNV), - NAME_FUNC_OFFSET(11666, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, _gloffset_VertexAttrib1dvNV), - NAME_FUNC_OFFSET(11686, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, _gloffset_VertexAttrib1fNV), - NAME_FUNC_OFFSET(11705, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, _gloffset_VertexAttrib1fvNV), - NAME_FUNC_OFFSET(11725, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, _gloffset_VertexAttrib1sNV), - NAME_FUNC_OFFSET(11744, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, _gloffset_VertexAttrib1svNV), - NAME_FUNC_OFFSET(11764, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, _gloffset_VertexAttrib2dNV), - NAME_FUNC_OFFSET(11783, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, _gloffset_VertexAttrib2dvNV), - NAME_FUNC_OFFSET(11803, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, _gloffset_VertexAttrib2fNV), - NAME_FUNC_OFFSET(11822, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, _gloffset_VertexAttrib2fvNV), - NAME_FUNC_OFFSET(11842, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, _gloffset_VertexAttrib2sNV), - NAME_FUNC_OFFSET(11861, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, _gloffset_VertexAttrib2svNV), - NAME_FUNC_OFFSET(11881, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, _gloffset_VertexAttrib3dNV), - NAME_FUNC_OFFSET(11900, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, _gloffset_VertexAttrib3dvNV), - NAME_FUNC_OFFSET(11920, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, _gloffset_VertexAttrib3fNV), - NAME_FUNC_OFFSET(11939, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, _gloffset_VertexAttrib3fvNV), - NAME_FUNC_OFFSET(11959, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, _gloffset_VertexAttrib3sNV), - NAME_FUNC_OFFSET(11978, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, _gloffset_VertexAttrib3svNV), - NAME_FUNC_OFFSET(11998, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, _gloffset_VertexAttrib4dNV), - NAME_FUNC_OFFSET(12017, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, _gloffset_VertexAttrib4dvNV), - NAME_FUNC_OFFSET(12037, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, _gloffset_VertexAttrib4fNV), - NAME_FUNC_OFFSET(12056, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, _gloffset_VertexAttrib4fvNV), - NAME_FUNC_OFFSET(12076, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, _gloffset_VertexAttrib4sNV), - NAME_FUNC_OFFSET(12095, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, _gloffset_VertexAttrib4svNV), - NAME_FUNC_OFFSET(12115, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, _gloffset_VertexAttrib4ubNV), - NAME_FUNC_OFFSET(12135, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, _gloffset_VertexAttrib4ubvNV), - NAME_FUNC_OFFSET(12156, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, _gloffset_VertexAttribPointerNV), - NAME_FUNC_OFFSET(12180, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, _gloffset_VertexAttribs1dvNV), - NAME_FUNC_OFFSET(12201, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, _gloffset_VertexAttribs1fvNV), - NAME_FUNC_OFFSET(12222, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, _gloffset_VertexAttribs1svNV), - NAME_FUNC_OFFSET(12243, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, _gloffset_VertexAttribs2dvNV), - NAME_FUNC_OFFSET(12264, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, _gloffset_VertexAttribs2fvNV), - NAME_FUNC_OFFSET(12285, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, _gloffset_VertexAttribs2svNV), - NAME_FUNC_OFFSET(12306, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, _gloffset_VertexAttribs3dvNV), - NAME_FUNC_OFFSET(12327, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, _gloffset_VertexAttribs3fvNV), - NAME_FUNC_OFFSET(12348, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, _gloffset_VertexAttribs3svNV), - NAME_FUNC_OFFSET(12369, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, _gloffset_VertexAttribs4dvNV), - NAME_FUNC_OFFSET(12390, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, _gloffset_VertexAttribs4fvNV), - NAME_FUNC_OFFSET(12411, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, _gloffset_VertexAttribs4svNV), - NAME_FUNC_OFFSET(12432, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, _gloffset_VertexAttribs4ubvNV), - NAME_FUNC_OFFSET(12454, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, _gloffset_GetTexBumpParameterfvATI), - NAME_FUNC_OFFSET(12481, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, _gloffset_GetTexBumpParameterivATI), - NAME_FUNC_OFFSET(12508, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, _gloffset_TexBumpParameterfvATI), - NAME_FUNC_OFFSET(12532, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, _gloffset_TexBumpParameterivATI), - NAME_FUNC_OFFSET(12556, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, _gloffset_AlphaFragmentOp1ATI), - NAME_FUNC_OFFSET(12578, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, _gloffset_AlphaFragmentOp2ATI), - NAME_FUNC_OFFSET(12600, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, _gloffset_AlphaFragmentOp3ATI), - NAME_FUNC_OFFSET(12622, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, _gloffset_BeginFragmentShaderATI), - NAME_FUNC_OFFSET(12647, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, _gloffset_BindFragmentShaderATI), - NAME_FUNC_OFFSET(12671, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, _gloffset_ColorFragmentOp1ATI), - NAME_FUNC_OFFSET(12693, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, _gloffset_ColorFragmentOp2ATI), - NAME_FUNC_OFFSET(12715, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, _gloffset_ColorFragmentOp3ATI), - NAME_FUNC_OFFSET(12737, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, _gloffset_DeleteFragmentShaderATI), - NAME_FUNC_OFFSET(12763, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, _gloffset_EndFragmentShaderATI), - NAME_FUNC_OFFSET(12786, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, _gloffset_GenFragmentShadersATI), - NAME_FUNC_OFFSET(12810, glPassTexCoordATI, glPassTexCoordATI, NULL, _gloffset_PassTexCoordATI), - NAME_FUNC_OFFSET(12828, glSampleMapATI, glSampleMapATI, NULL, _gloffset_SampleMapATI), - NAME_FUNC_OFFSET(12843, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, _gloffset_SetFragmentShaderConstantATI), - NAME_FUNC_OFFSET(12874, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), - NAME_FUNC_OFFSET(12894, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), - NAME_FUNC_OFFSET(12915, gl_dispatch_stub_750, gl_dispatch_stub_750, NULL, _gloffset_ActiveStencilFaceEXT), - NAME_FUNC_OFFSET(12938, gl_dispatch_stub_751, gl_dispatch_stub_751, NULL, _gloffset_BindVertexArrayAPPLE), - NAME_FUNC_OFFSET(12961, gl_dispatch_stub_752, gl_dispatch_stub_752, NULL, _gloffset_DeleteVertexArraysAPPLE), - NAME_FUNC_OFFSET(12987, gl_dispatch_stub_753, gl_dispatch_stub_753, NULL, _gloffset_GenVertexArraysAPPLE), - NAME_FUNC_OFFSET(13010, gl_dispatch_stub_754, gl_dispatch_stub_754, NULL, _gloffset_IsVertexArrayAPPLE), - NAME_FUNC_OFFSET(13031, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, _gloffset_GetProgramNamedParameterdvNV), - NAME_FUNC_OFFSET(13062, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, _gloffset_GetProgramNamedParameterfvNV), - NAME_FUNC_OFFSET(13093, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, _gloffset_ProgramNamedParameter4dNV), - NAME_FUNC_OFFSET(13121, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, _gloffset_ProgramNamedParameter4dvNV), - NAME_FUNC_OFFSET(13150, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, _gloffset_ProgramNamedParameter4fNV), - NAME_FUNC_OFFSET(13178, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, _gloffset_ProgramNamedParameter4fvNV), - NAME_FUNC_OFFSET(13207, gl_dispatch_stub_761, gl_dispatch_stub_761, NULL, _gloffset_DepthBoundsEXT), - NAME_FUNC_OFFSET(13224, gl_dispatch_stub_762, gl_dispatch_stub_762, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(13251, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), - NAME_FUNC_OFFSET(13272, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), - NAME_FUNC_OFFSET(13294, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), - NAME_FUNC_OFFSET(13322, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), - NAME_FUNC_OFFSET(13346, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), - NAME_FUNC_OFFSET(13371, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), - NAME_FUNC_OFFSET(13400, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), - NAME_FUNC_OFFSET(13426, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), - NAME_FUNC_OFFSET(13452, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), - NAME_FUNC_OFFSET(13478, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), - NAME_FUNC_OFFSET(13499, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), - NAME_FUNC_OFFSET(13521, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), - NAME_FUNC_OFFSET(13541, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), - NAME_FUNC_OFFSET(13582, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), - NAME_FUNC_OFFSET(13614, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), - NAME_FUNC_OFFSET(13633, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), - NAME_FUNC_OFFSET(13653, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), - NAME_FUNC_OFFSET(13678, gl_dispatch_stub_780, gl_dispatch_stub_780, NULL, _gloffset_BlitFramebufferEXT), - NAME_FUNC_OFFSET(13699, gl_dispatch_stub_781, gl_dispatch_stub_781, NULL, _gloffset_BufferParameteriAPPLE), - NAME_FUNC_OFFSET(13723, gl_dispatch_stub_782, gl_dispatch_stub_782, NULL, _gloffset_FlushMappedBufferRangeAPPLE), - NAME_FUNC_OFFSET(13753, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), - NAME_FUNC_OFFSET(13782, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), - NAME_FUNC_OFFSET(13803, gl_dispatch_stub_785, gl_dispatch_stub_785, NULL, _gloffset_GetTexParameterPointervAPPLE), - NAME_FUNC_OFFSET(13834, gl_dispatch_stub_786, gl_dispatch_stub_786, NULL, _gloffset_TextureRangeAPPLE), - NAME_FUNC_OFFSET(13854, gl_dispatch_stub_787, gl_dispatch_stub_787, NULL, _gloffset_StencilFuncSeparateATI), - NAME_FUNC_OFFSET(13879, gl_dispatch_stub_788, gl_dispatch_stub_788, NULL, _gloffset_ProgramEnvParameters4fvEXT), - NAME_FUNC_OFFSET(13908, gl_dispatch_stub_789, gl_dispatch_stub_789, NULL, _gloffset_ProgramLocalParameters4fvEXT), - NAME_FUNC_OFFSET(13939, gl_dispatch_stub_790, gl_dispatch_stub_790, NULL, _gloffset_GetQueryObjecti64vEXT), - NAME_FUNC_OFFSET(13963, gl_dispatch_stub_791, gl_dispatch_stub_791, NULL, _gloffset_GetQueryObjectui64vEXT), - NAME_FUNC_OFFSET(13988, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), - NAME_FUNC_OFFSET(14006, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), - NAME_FUNC_OFFSET(14023, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), - NAME_FUNC_OFFSET(14039, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident), - NAME_FUNC_OFFSET(14064, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), - NAME_FUNC_OFFSET(14084, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), - NAME_FUNC_OFFSET(14104, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), - NAME_FUNC_OFFSET(14127, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), - NAME_FUNC_OFFSET(14150, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures), - NAME_FUNC_OFFSET(14170, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures), - NAME_FUNC_OFFSET(14187, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), - NAME_FUNC_OFFSET(14204, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture), - NAME_FUNC_OFFSET(14219, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), - NAME_FUNC_OFFSET(14243, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), - NAME_FUNC_OFFSET(14262, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), - NAME_FUNC_OFFSET(14281, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), - NAME_FUNC_OFFSET(14297, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), - NAME_FUNC_OFFSET(14316, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), - NAME_FUNC_OFFSET(14339, glColorTable, glColorTable, NULL, _gloffset_ColorTable), - NAME_FUNC_OFFSET(14355, glColorTable, glColorTable, NULL, _gloffset_ColorTable), - NAME_FUNC_OFFSET(14371, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), - NAME_FUNC_OFFSET(14398, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), - NAME_FUNC_OFFSET(14425, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), - NAME_FUNC_OFFSET(14445, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), - NAME_FUNC_OFFSET(14464, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), - NAME_FUNC_OFFSET(14483, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), - NAME_FUNC_OFFSET(14513, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), - NAME_FUNC_OFFSET(14543, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), - NAME_FUNC_OFFSET(14573, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), - NAME_FUNC_OFFSET(14603, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), - NAME_FUNC_OFFSET(14622, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), - NAME_FUNC_OFFSET(14645, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), - NAME_FUNC_OFFSET(14670, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), - NAME_FUNC_OFFSET(14695, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), - NAME_FUNC_OFFSET(14722, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), - NAME_FUNC_OFFSET(14750, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), - NAME_FUNC_OFFSET(14777, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), - NAME_FUNC_OFFSET(14805, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), - NAME_FUNC_OFFSET(14834, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), - NAME_FUNC_OFFSET(14863, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter), - NAME_FUNC_OFFSET(14889, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv), - NAME_FUNC_OFFSET(14920, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv), - NAME_FUNC_OFFSET(14951, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter), - NAME_FUNC_OFFSET(14975, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), - NAME_FUNC_OFFSET(14998, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram), - NAME_FUNC_OFFSET(15016, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv), - NAME_FUNC_OFFSET(15045, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv), - NAME_FUNC_OFFSET(15074, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax), - NAME_FUNC_OFFSET(15089, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv), - NAME_FUNC_OFFSET(15115, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv), - NAME_FUNC_OFFSET(15141, glHistogram, glHistogram, NULL, _gloffset_Histogram), - NAME_FUNC_OFFSET(15156, glMinmax, glMinmax, NULL, _gloffset_Minmax), - NAME_FUNC_OFFSET(15168, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), - NAME_FUNC_OFFSET(15188, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), - NAME_FUNC_OFFSET(15205, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), - NAME_FUNC_OFFSET(15221, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), - NAME_FUNC_OFFSET(15240, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), - NAME_FUNC_OFFSET(15263, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), - NAME_FUNC_OFFSET(15279, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), - NAME_FUNC_OFFSET(15301, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), - NAME_FUNC_OFFSET(15319, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), - NAME_FUNC_OFFSET(15338, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), - NAME_FUNC_OFFSET(15356, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), - NAME_FUNC_OFFSET(15375, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), - NAME_FUNC_OFFSET(15393, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), - NAME_FUNC_OFFSET(15412, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), - NAME_FUNC_OFFSET(15430, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), - NAME_FUNC_OFFSET(15449, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), - NAME_FUNC_OFFSET(15467, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), - NAME_FUNC_OFFSET(15486, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), - NAME_FUNC_OFFSET(15504, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), - NAME_FUNC_OFFSET(15523, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), - NAME_FUNC_OFFSET(15541, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), - NAME_FUNC_OFFSET(15560, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), - NAME_FUNC_OFFSET(15578, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), - NAME_FUNC_OFFSET(15597, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), - NAME_FUNC_OFFSET(15615, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), - NAME_FUNC_OFFSET(15634, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), - NAME_FUNC_OFFSET(15652, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), - NAME_FUNC_OFFSET(15671, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), - NAME_FUNC_OFFSET(15689, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), - NAME_FUNC_OFFSET(15708, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), - NAME_FUNC_OFFSET(15726, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), - NAME_FUNC_OFFSET(15745, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), - NAME_FUNC_OFFSET(15763, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), - NAME_FUNC_OFFSET(15782, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), - NAME_FUNC_OFFSET(15800, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), - NAME_FUNC_OFFSET(15819, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), - NAME_FUNC_OFFSET(15837, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), - NAME_FUNC_OFFSET(15856, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), - NAME_FUNC_OFFSET(15874, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), - NAME_FUNC_OFFSET(15893, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), - NAME_FUNC_OFFSET(15916, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), - NAME_FUNC_OFFSET(15939, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), - NAME_FUNC_OFFSET(15962, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), - NAME_FUNC_OFFSET(15985, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), - NAME_FUNC_OFFSET(16008, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), - NAME_FUNC_OFFSET(16025, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), - NAME_FUNC_OFFSET(16048, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), - NAME_FUNC_OFFSET(16071, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), - NAME_FUNC_OFFSET(16094, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), - NAME_FUNC_OFFSET(16120, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), - NAME_FUNC_OFFSET(16146, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), - NAME_FUNC_OFFSET(16172, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), - NAME_FUNC_OFFSET(16196, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), - NAME_FUNC_OFFSET(16223, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), - NAME_FUNC_OFFSET(16249, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), - NAME_FUNC_OFFSET(16269, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), - NAME_FUNC_OFFSET(16289, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), - NAME_FUNC_OFFSET(16309, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), - NAME_FUNC_OFFSET(16332, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), - NAME_FUNC_OFFSET(16356, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), - NAME_FUNC_OFFSET(16379, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), - NAME_FUNC_OFFSET(16403, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), - NAME_FUNC_OFFSET(16420, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), - NAME_FUNC_OFFSET(16438, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), - NAME_FUNC_OFFSET(16455, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), - NAME_FUNC_OFFSET(16473, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), - NAME_FUNC_OFFSET(16490, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), - NAME_FUNC_OFFSET(16508, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), - NAME_FUNC_OFFSET(16525, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), - NAME_FUNC_OFFSET(16543, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), - NAME_FUNC_OFFSET(16560, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), - NAME_FUNC_OFFSET(16578, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), - NAME_FUNC_OFFSET(16595, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), - NAME_FUNC_OFFSET(16613, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), - NAME_FUNC_OFFSET(16630, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), - NAME_FUNC_OFFSET(16648, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), - NAME_FUNC_OFFSET(16665, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), - NAME_FUNC_OFFSET(16683, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), - NAME_FUNC_OFFSET(16700, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), - NAME_FUNC_OFFSET(16718, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), - NAME_FUNC_OFFSET(16737, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), - NAME_FUNC_OFFSET(16756, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), - NAME_FUNC_OFFSET(16775, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), - NAME_FUNC_OFFSET(16794, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), - NAME_FUNC_OFFSET(16814, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), - NAME_FUNC_OFFSET(16834, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), - NAME_FUNC_OFFSET(16854, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), - NAME_FUNC_OFFSET(16872, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), - NAME_FUNC_OFFSET(16889, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), - NAME_FUNC_OFFSET(16907, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), - NAME_FUNC_OFFSET(16924, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), - NAME_FUNC_OFFSET(16942, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), - NAME_FUNC_OFFSET(16960, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), - NAME_FUNC_OFFSET(16977, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), - NAME_FUNC_OFFSET(16995, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), - NAME_FUNC_OFFSET(17014, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), - NAME_FUNC_OFFSET(17033, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), - NAME_FUNC_OFFSET(17052, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), - NAME_FUNC_OFFSET(17074, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), - NAME_FUNC_OFFSET(17087, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), - NAME_FUNC_OFFSET(17100, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), - NAME_FUNC_OFFSET(17116, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), - NAME_FUNC_OFFSET(17132, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), - NAME_FUNC_OFFSET(17145, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), - NAME_FUNC_OFFSET(17168, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), - NAME_FUNC_OFFSET(17188, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), - NAME_FUNC_OFFSET(17207, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), - NAME_FUNC_OFFSET(17218, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), - NAME_FUNC_OFFSET(17230, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), - NAME_FUNC_OFFSET(17244, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), - NAME_FUNC_OFFSET(17257, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), - NAME_FUNC_OFFSET(17273, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), - NAME_FUNC_OFFSET(17284, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), - NAME_FUNC_OFFSET(17297, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), - NAME_FUNC_OFFSET(17316, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), - NAME_FUNC_OFFSET(17336, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), - NAME_FUNC_OFFSET(17349, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), - NAME_FUNC_OFFSET(17359, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), - NAME_FUNC_OFFSET(17375, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), - NAME_FUNC_OFFSET(17394, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), - NAME_FUNC_OFFSET(17412, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), - NAME_FUNC_OFFSET(17433, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), - NAME_FUNC_OFFSET(17448, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), - NAME_FUNC_OFFSET(17463, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), - NAME_FUNC_OFFSET(17477, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), - NAME_FUNC_OFFSET(17492, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), - NAME_FUNC_OFFSET(17504, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), - NAME_FUNC_OFFSET(17517, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), - NAME_FUNC_OFFSET(17529, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), - NAME_FUNC_OFFSET(17542, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), - NAME_FUNC_OFFSET(17554, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), - NAME_FUNC_OFFSET(17567, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), - NAME_FUNC_OFFSET(17579, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), - NAME_FUNC_OFFSET(17592, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), - NAME_FUNC_OFFSET(17604, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), - NAME_FUNC_OFFSET(17617, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), - NAME_FUNC_OFFSET(17629, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), - NAME_FUNC_OFFSET(17642, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), - NAME_FUNC_OFFSET(17654, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), - NAME_FUNC_OFFSET(17667, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), - NAME_FUNC_OFFSET(17679, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), - NAME_FUNC_OFFSET(17692, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), - NAME_FUNC_OFFSET(17711, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), - NAME_FUNC_OFFSET(17730, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), - NAME_FUNC_OFFSET(17749, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), - NAME_FUNC_OFFSET(17762, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), - NAME_FUNC_OFFSET(17780, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), - NAME_FUNC_OFFSET(17801, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), - NAME_FUNC_OFFSET(17819, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), - NAME_FUNC_OFFSET(17839, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET(17853, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET(17870, gl_dispatch_stub_581, gl_dispatch_stub_581, NULL, _gloffset_SampleMaskSGIS), - NAME_FUNC_OFFSET(17886, gl_dispatch_stub_582, gl_dispatch_stub_582, NULL, _gloffset_SamplePatternSGIS), - NAME_FUNC_OFFSET(17905, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(17923, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(17944, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(17966, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(17985, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(18007, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(18030, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), - NAME_FUNC_OFFSET(18049, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), - NAME_FUNC_OFFSET(18069, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), - NAME_FUNC_OFFSET(18088, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), - NAME_FUNC_OFFSET(18108, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), - NAME_FUNC_OFFSET(18127, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), - NAME_FUNC_OFFSET(18147, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), - NAME_FUNC_OFFSET(18166, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), - NAME_FUNC_OFFSET(18186, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), - NAME_FUNC_OFFSET(18205, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), - NAME_FUNC_OFFSET(18225, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), - NAME_FUNC_OFFSET(18245, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), - NAME_FUNC_OFFSET(18266, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), - NAME_FUNC_OFFSET(18286, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), - NAME_FUNC_OFFSET(18307, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), - NAME_FUNC_OFFSET(18327, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), - NAME_FUNC_OFFSET(18348, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), - NAME_FUNC_OFFSET(18372, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), - NAME_FUNC_OFFSET(18390, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), - NAME_FUNC_OFFSET(18410, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), - NAME_FUNC_OFFSET(18428, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), - NAME_FUNC_OFFSET(18440, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), - NAME_FUNC_OFFSET(18453, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), - NAME_FUNC_OFFSET(18465, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), - NAME_FUNC_OFFSET(18478, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(18498, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(18522, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(18536, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(18553, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(18568, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(18586, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(18600, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(18617, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(18632, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(18650, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(18664, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(18681, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(18696, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(18714, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(18728, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(18745, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(18760, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(18778, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(18792, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(18809, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(18824, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(18842, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(18856, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(18873, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(18888, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(18906, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(18920, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(18937, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(18952, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(18970, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(18984, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(19001, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(19016, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(19034, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), - NAME_FUNC_OFFSET(19051, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), - NAME_FUNC_OFFSET(19071, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), - NAME_FUNC_OFFSET(19088, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(19114, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(19143, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), - NAME_FUNC_OFFSET(19158, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), - NAME_FUNC_OFFSET(19176, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), - NAME_FUNC_OFFSET(19195, gl_dispatch_stub_752, gl_dispatch_stub_752, NULL, _gloffset_DeleteVertexArraysAPPLE), - NAME_FUNC_OFFSET(19216, gl_dispatch_stub_754, gl_dispatch_stub_754, NULL, _gloffset_IsVertexArrayAPPLE), - NAME_FUNC_OFFSET(19232, gl_dispatch_stub_762, gl_dispatch_stub_762, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(19256, gl_dispatch_stub_762, gl_dispatch_stub_762, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(19283, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), - NAME_FUNC_OFFSET(19301, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), - NAME_FUNC_OFFSET(19320, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), - NAME_FUNC_OFFSET(19345, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), - NAME_FUNC_OFFSET(19366, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), - NAME_FUNC_OFFSET(19388, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), - NAME_FUNC_OFFSET(19414, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), - NAME_FUNC_OFFSET(19437, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), - NAME_FUNC_OFFSET(19460, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), - NAME_FUNC_OFFSET(19483, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), - NAME_FUNC_OFFSET(19501, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), - NAME_FUNC_OFFSET(19520, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), - NAME_FUNC_OFFSET(19537, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), - NAME_FUNC_OFFSET(19575, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), - NAME_FUNC_OFFSET(19604, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), - NAME_FUNC_OFFSET(19620, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), - NAME_FUNC_OFFSET(19637, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), - NAME_FUNC_OFFSET(19659, gl_dispatch_stub_780, gl_dispatch_stub_780, NULL, _gloffset_BlitFramebufferEXT), - NAME_FUNC_OFFSET(19677, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), + NAME_FUNC_OFFSET( 9172, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, _gloffset_DrawElementsBaseVertex), + NAME_FUNC_OFFSET( 9197, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, _gloffset_DrawRangeElementsBaseVertex), + NAME_FUNC_OFFSET( 9227, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, _gloffset_MultiDrawElementsBaseVertex), + NAME_FUNC_OFFSET( 9257, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, _gloffset_PolygonOffsetEXT), + NAME_FUNC_OFFSET( 9276, gl_dispatch_stub_578, gl_dispatch_stub_578, NULL, _gloffset_GetPixelTexGenParameterfvSGIS), + NAME_FUNC_OFFSET( 9308, gl_dispatch_stub_579, gl_dispatch_stub_579, NULL, _gloffset_GetPixelTexGenParameterivSGIS), + NAME_FUNC_OFFSET( 9340, gl_dispatch_stub_580, gl_dispatch_stub_580, NULL, _gloffset_PixelTexGenParameterfSGIS), + NAME_FUNC_OFFSET( 9368, gl_dispatch_stub_581, gl_dispatch_stub_581, NULL, _gloffset_PixelTexGenParameterfvSGIS), + NAME_FUNC_OFFSET( 9397, gl_dispatch_stub_582, gl_dispatch_stub_582, NULL, _gloffset_PixelTexGenParameteriSGIS), + NAME_FUNC_OFFSET( 9425, gl_dispatch_stub_583, gl_dispatch_stub_583, NULL, _gloffset_PixelTexGenParameterivSGIS), + NAME_FUNC_OFFSET( 9454, gl_dispatch_stub_584, gl_dispatch_stub_584, NULL, _gloffset_SampleMaskSGIS), + NAME_FUNC_OFFSET( 9471, gl_dispatch_stub_585, gl_dispatch_stub_585, NULL, _gloffset_SamplePatternSGIS), + NAME_FUNC_OFFSET( 9491, glColorPointerEXT, glColorPointerEXT, NULL, _gloffset_ColorPointerEXT), + NAME_FUNC_OFFSET( 9509, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, _gloffset_EdgeFlagPointerEXT), + NAME_FUNC_OFFSET( 9530, glIndexPointerEXT, glIndexPointerEXT, NULL, _gloffset_IndexPointerEXT), + NAME_FUNC_OFFSET( 9548, glNormalPointerEXT, glNormalPointerEXT, NULL, _gloffset_NormalPointerEXT), + NAME_FUNC_OFFSET( 9567, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, _gloffset_TexCoordPointerEXT), + NAME_FUNC_OFFSET( 9588, glVertexPointerEXT, glVertexPointerEXT, NULL, _gloffset_VertexPointerEXT), + NAME_FUNC_OFFSET( 9607, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET( 9628, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET( 9650, glLockArraysEXT, glLockArraysEXT, NULL, _gloffset_LockArraysEXT), + NAME_FUNC_OFFSET( 9666, glUnlockArraysEXT, glUnlockArraysEXT, NULL, _gloffset_UnlockArraysEXT), + NAME_FUNC_OFFSET( 9684, gl_dispatch_stub_596, gl_dispatch_stub_596, NULL, _gloffset_CullParameterdvEXT), + NAME_FUNC_OFFSET( 9705, gl_dispatch_stub_597, gl_dispatch_stub_597, NULL, _gloffset_CullParameterfvEXT), + NAME_FUNC_OFFSET( 9726, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), + NAME_FUNC_OFFSET( 9748, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), + NAME_FUNC_OFFSET( 9771, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), + NAME_FUNC_OFFSET( 9793, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), + NAME_FUNC_OFFSET( 9816, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), + NAME_FUNC_OFFSET( 9838, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), + NAME_FUNC_OFFSET( 9861, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), + NAME_FUNC_OFFSET( 9883, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), + NAME_FUNC_OFFSET( 9906, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), + NAME_FUNC_OFFSET( 9928, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), + NAME_FUNC_OFFSET( 9951, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), + NAME_FUNC_OFFSET( 9974, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), + NAME_FUNC_OFFSET( 9998, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), + NAME_FUNC_OFFSET(10021, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), + NAME_FUNC_OFFSET(10045, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), + NAME_FUNC_OFFSET(10068, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), + NAME_FUNC_OFFSET(10092, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), + NAME_FUNC_OFFSET(10119, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), + NAME_FUNC_OFFSET(10140, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), + NAME_FUNC_OFFSET(10163, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), + NAME_FUNC_OFFSET(10184, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), + NAME_FUNC_OFFSET(10199, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), + NAME_FUNC_OFFSET(10215, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), + NAME_FUNC_OFFSET(10230, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), + NAME_FUNC_OFFSET(10246, gl_dispatch_stub_622, gl_dispatch_stub_622, NULL, _gloffset_PixelTexGenSGIX), + NAME_FUNC_OFFSET(10264, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(10287, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, _gloffset_FlushVertexArrayRangeNV), + NAME_FUNC_OFFSET(10313, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, _gloffset_VertexArrayRangeNV), + NAME_FUNC_OFFSET(10334, glCombinerInputNV, glCombinerInputNV, NULL, _gloffset_CombinerInputNV), + NAME_FUNC_OFFSET(10352, glCombinerOutputNV, glCombinerOutputNV, NULL, _gloffset_CombinerOutputNV), + NAME_FUNC_OFFSET(10371, glCombinerParameterfNV, glCombinerParameterfNV, NULL, _gloffset_CombinerParameterfNV), + NAME_FUNC_OFFSET(10394, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, _gloffset_CombinerParameterfvNV), + NAME_FUNC_OFFSET(10418, glCombinerParameteriNV, glCombinerParameteriNV, NULL, _gloffset_CombinerParameteriNV), + NAME_FUNC_OFFSET(10441, glCombinerParameterivNV, glCombinerParameterivNV, NULL, _gloffset_CombinerParameterivNV), + NAME_FUNC_OFFSET(10465, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, _gloffset_FinalCombinerInputNV), + NAME_FUNC_OFFSET(10488, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, _gloffset_GetCombinerInputParameterfvNV), + NAME_FUNC_OFFSET(10520, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, _gloffset_GetCombinerInputParameterivNV), + NAME_FUNC_OFFSET(10552, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, _gloffset_GetCombinerOutputParameterfvNV), + NAME_FUNC_OFFSET(10585, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, _gloffset_GetCombinerOutputParameterivNV), + NAME_FUNC_OFFSET(10618, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, _gloffset_GetFinalCombinerInputParameterfvNV), + NAME_FUNC_OFFSET(10655, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, _gloffset_GetFinalCombinerInputParameterivNV), + NAME_FUNC_OFFSET(10692, glResizeBuffersMESA, glResizeBuffersMESA, NULL, _gloffset_ResizeBuffersMESA), + NAME_FUNC_OFFSET(10712, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(10730, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(10749, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(10767, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(10786, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(10804, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(10823, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(10841, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(10860, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(10878, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(10897, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(10915, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(10934, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(10952, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(10971, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(10989, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(11008, glWindowPos4dMESA, glWindowPos4dMESA, NULL, _gloffset_WindowPos4dMESA), + NAME_FUNC_OFFSET(11026, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, _gloffset_WindowPos4dvMESA), + NAME_FUNC_OFFSET(11045, glWindowPos4fMESA, glWindowPos4fMESA, NULL, _gloffset_WindowPos4fMESA), + NAME_FUNC_OFFSET(11063, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, _gloffset_WindowPos4fvMESA), + NAME_FUNC_OFFSET(11082, glWindowPos4iMESA, glWindowPos4iMESA, NULL, _gloffset_WindowPos4iMESA), + NAME_FUNC_OFFSET(11100, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, _gloffset_WindowPos4ivMESA), + NAME_FUNC_OFFSET(11119, glWindowPos4sMESA, glWindowPos4sMESA, NULL, _gloffset_WindowPos4sMESA), + NAME_FUNC_OFFSET(11137, glWindowPos4svMESA, glWindowPos4svMESA, NULL, _gloffset_WindowPos4svMESA), + NAME_FUNC_OFFSET(11156, gl_dispatch_stub_664, gl_dispatch_stub_664, NULL, _gloffset_MultiModeDrawArraysIBM), + NAME_FUNC_OFFSET(11181, gl_dispatch_stub_665, gl_dispatch_stub_665, NULL, _gloffset_MultiModeDrawElementsIBM), + NAME_FUNC_OFFSET(11208, gl_dispatch_stub_666, gl_dispatch_stub_666, NULL, _gloffset_DeleteFencesNV), + NAME_FUNC_OFFSET(11225, gl_dispatch_stub_667, gl_dispatch_stub_667, NULL, _gloffset_FinishFenceNV), + NAME_FUNC_OFFSET(11241, gl_dispatch_stub_668, gl_dispatch_stub_668, NULL, _gloffset_GenFencesNV), + NAME_FUNC_OFFSET(11255, gl_dispatch_stub_669, gl_dispatch_stub_669, NULL, _gloffset_GetFenceivNV), + NAME_FUNC_OFFSET(11270, gl_dispatch_stub_670, gl_dispatch_stub_670, NULL, _gloffset_IsFenceNV), + NAME_FUNC_OFFSET(11282, gl_dispatch_stub_671, gl_dispatch_stub_671, NULL, _gloffset_SetFenceNV), + NAME_FUNC_OFFSET(11295, gl_dispatch_stub_672, gl_dispatch_stub_672, NULL, _gloffset_TestFenceNV), + NAME_FUNC_OFFSET(11309, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, _gloffset_AreProgramsResidentNV), + NAME_FUNC_OFFSET(11333, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), + NAME_FUNC_OFFSET(11349, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), + NAME_FUNC_OFFSET(11368, glExecuteProgramNV, glExecuteProgramNV, NULL, _gloffset_ExecuteProgramNV), + NAME_FUNC_OFFSET(11387, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), + NAME_FUNC_OFFSET(11403, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, _gloffset_GetProgramParameterdvNV), + NAME_FUNC_OFFSET(11429, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, _gloffset_GetProgramParameterfvNV), + NAME_FUNC_OFFSET(11455, glGetProgramStringNV, glGetProgramStringNV, NULL, _gloffset_GetProgramStringNV), + NAME_FUNC_OFFSET(11476, glGetProgramivNV, glGetProgramivNV, NULL, _gloffset_GetProgramivNV), + NAME_FUNC_OFFSET(11493, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, _gloffset_GetTrackMatrixivNV), + NAME_FUNC_OFFSET(11514, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(11542, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, _gloffset_GetVertexAttribdvNV), + NAME_FUNC_OFFSET(11564, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, _gloffset_GetVertexAttribfvNV), + NAME_FUNC_OFFSET(11586, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, _gloffset_GetVertexAttribivNV), + NAME_FUNC_OFFSET(11608, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), + NAME_FUNC_OFFSET(11622, glLoadProgramNV, glLoadProgramNV, NULL, _gloffset_LoadProgramNV), + NAME_FUNC_OFFSET(11638, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, _gloffset_ProgramParameters4dvNV), + NAME_FUNC_OFFSET(11663, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, _gloffset_ProgramParameters4fvNV), + NAME_FUNC_OFFSET(11688, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, _gloffset_RequestResidentProgramsNV), + NAME_FUNC_OFFSET(11716, glTrackMatrixNV, glTrackMatrixNV, NULL, _gloffset_TrackMatrixNV), + NAME_FUNC_OFFSET(11732, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, _gloffset_VertexAttrib1dNV), + NAME_FUNC_OFFSET(11751, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, _gloffset_VertexAttrib1dvNV), + NAME_FUNC_OFFSET(11771, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, _gloffset_VertexAttrib1fNV), + NAME_FUNC_OFFSET(11790, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, _gloffset_VertexAttrib1fvNV), + NAME_FUNC_OFFSET(11810, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, _gloffset_VertexAttrib1sNV), + NAME_FUNC_OFFSET(11829, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, _gloffset_VertexAttrib1svNV), + NAME_FUNC_OFFSET(11849, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, _gloffset_VertexAttrib2dNV), + NAME_FUNC_OFFSET(11868, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, _gloffset_VertexAttrib2dvNV), + NAME_FUNC_OFFSET(11888, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, _gloffset_VertexAttrib2fNV), + NAME_FUNC_OFFSET(11907, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, _gloffset_VertexAttrib2fvNV), + NAME_FUNC_OFFSET(11927, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, _gloffset_VertexAttrib2sNV), + NAME_FUNC_OFFSET(11946, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, _gloffset_VertexAttrib2svNV), + NAME_FUNC_OFFSET(11966, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, _gloffset_VertexAttrib3dNV), + NAME_FUNC_OFFSET(11985, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, _gloffset_VertexAttrib3dvNV), + NAME_FUNC_OFFSET(12005, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, _gloffset_VertexAttrib3fNV), + NAME_FUNC_OFFSET(12024, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, _gloffset_VertexAttrib3fvNV), + NAME_FUNC_OFFSET(12044, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, _gloffset_VertexAttrib3sNV), + NAME_FUNC_OFFSET(12063, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, _gloffset_VertexAttrib3svNV), + NAME_FUNC_OFFSET(12083, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, _gloffset_VertexAttrib4dNV), + NAME_FUNC_OFFSET(12102, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, _gloffset_VertexAttrib4dvNV), + NAME_FUNC_OFFSET(12122, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, _gloffset_VertexAttrib4fNV), + NAME_FUNC_OFFSET(12141, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, _gloffset_VertexAttrib4fvNV), + NAME_FUNC_OFFSET(12161, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, _gloffset_VertexAttrib4sNV), + NAME_FUNC_OFFSET(12180, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, _gloffset_VertexAttrib4svNV), + NAME_FUNC_OFFSET(12200, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, _gloffset_VertexAttrib4ubNV), + NAME_FUNC_OFFSET(12220, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, _gloffset_VertexAttrib4ubvNV), + NAME_FUNC_OFFSET(12241, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, _gloffset_VertexAttribPointerNV), + NAME_FUNC_OFFSET(12265, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, _gloffset_VertexAttribs1dvNV), + NAME_FUNC_OFFSET(12286, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, _gloffset_VertexAttribs1fvNV), + NAME_FUNC_OFFSET(12307, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, _gloffset_VertexAttribs1svNV), + NAME_FUNC_OFFSET(12328, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, _gloffset_VertexAttribs2dvNV), + NAME_FUNC_OFFSET(12349, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, _gloffset_VertexAttribs2fvNV), + NAME_FUNC_OFFSET(12370, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, _gloffset_VertexAttribs2svNV), + NAME_FUNC_OFFSET(12391, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, _gloffset_VertexAttribs3dvNV), + NAME_FUNC_OFFSET(12412, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, _gloffset_VertexAttribs3fvNV), + NAME_FUNC_OFFSET(12433, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, _gloffset_VertexAttribs3svNV), + NAME_FUNC_OFFSET(12454, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, _gloffset_VertexAttribs4dvNV), + NAME_FUNC_OFFSET(12475, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, _gloffset_VertexAttribs4fvNV), + NAME_FUNC_OFFSET(12496, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, _gloffset_VertexAttribs4svNV), + NAME_FUNC_OFFSET(12517, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, _gloffset_VertexAttribs4ubvNV), + NAME_FUNC_OFFSET(12539, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, _gloffset_GetTexBumpParameterfvATI), + NAME_FUNC_OFFSET(12566, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, _gloffset_GetTexBumpParameterivATI), + NAME_FUNC_OFFSET(12593, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, _gloffset_TexBumpParameterfvATI), + NAME_FUNC_OFFSET(12617, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, _gloffset_TexBumpParameterivATI), + NAME_FUNC_OFFSET(12641, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, _gloffset_AlphaFragmentOp1ATI), + NAME_FUNC_OFFSET(12663, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, _gloffset_AlphaFragmentOp2ATI), + NAME_FUNC_OFFSET(12685, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, _gloffset_AlphaFragmentOp3ATI), + NAME_FUNC_OFFSET(12707, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, _gloffset_BeginFragmentShaderATI), + NAME_FUNC_OFFSET(12732, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, _gloffset_BindFragmentShaderATI), + NAME_FUNC_OFFSET(12756, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, _gloffset_ColorFragmentOp1ATI), + NAME_FUNC_OFFSET(12778, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, _gloffset_ColorFragmentOp2ATI), + NAME_FUNC_OFFSET(12800, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, _gloffset_ColorFragmentOp3ATI), + NAME_FUNC_OFFSET(12822, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, _gloffset_DeleteFragmentShaderATI), + NAME_FUNC_OFFSET(12848, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, _gloffset_EndFragmentShaderATI), + NAME_FUNC_OFFSET(12871, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, _gloffset_GenFragmentShadersATI), + NAME_FUNC_OFFSET(12895, glPassTexCoordATI, glPassTexCoordATI, NULL, _gloffset_PassTexCoordATI), + NAME_FUNC_OFFSET(12913, glSampleMapATI, glSampleMapATI, NULL, _gloffset_SampleMapATI), + NAME_FUNC_OFFSET(12928, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, _gloffset_SetFragmentShaderConstantATI), + NAME_FUNC_OFFSET(12959, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), + NAME_FUNC_OFFSET(12979, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), + NAME_FUNC_OFFSET(13000, gl_dispatch_stub_753, gl_dispatch_stub_753, NULL, _gloffset_ActiveStencilFaceEXT), + NAME_FUNC_OFFSET(13023, gl_dispatch_stub_754, gl_dispatch_stub_754, NULL, _gloffset_BindVertexArrayAPPLE), + NAME_FUNC_OFFSET(13046, gl_dispatch_stub_755, gl_dispatch_stub_755, NULL, _gloffset_DeleteVertexArraysAPPLE), + NAME_FUNC_OFFSET(13072, gl_dispatch_stub_756, gl_dispatch_stub_756, NULL, _gloffset_GenVertexArraysAPPLE), + NAME_FUNC_OFFSET(13095, gl_dispatch_stub_757, gl_dispatch_stub_757, NULL, _gloffset_IsVertexArrayAPPLE), + NAME_FUNC_OFFSET(13116, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, _gloffset_GetProgramNamedParameterdvNV), + NAME_FUNC_OFFSET(13147, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, _gloffset_GetProgramNamedParameterfvNV), + NAME_FUNC_OFFSET(13178, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, _gloffset_ProgramNamedParameter4dNV), + NAME_FUNC_OFFSET(13206, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, _gloffset_ProgramNamedParameter4dvNV), + NAME_FUNC_OFFSET(13235, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, _gloffset_ProgramNamedParameter4fNV), + NAME_FUNC_OFFSET(13263, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, _gloffset_ProgramNamedParameter4fvNV), + NAME_FUNC_OFFSET(13292, gl_dispatch_stub_764, gl_dispatch_stub_764, NULL, _gloffset_DepthBoundsEXT), + NAME_FUNC_OFFSET(13309, gl_dispatch_stub_765, gl_dispatch_stub_765, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(13336, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), + NAME_FUNC_OFFSET(13357, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), + NAME_FUNC_OFFSET(13379, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), + NAME_FUNC_OFFSET(13407, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), + NAME_FUNC_OFFSET(13431, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), + NAME_FUNC_OFFSET(13456, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), + NAME_FUNC_OFFSET(13485, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), + NAME_FUNC_OFFSET(13511, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), + NAME_FUNC_OFFSET(13537, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), + NAME_FUNC_OFFSET(13563, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), + NAME_FUNC_OFFSET(13584, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), + NAME_FUNC_OFFSET(13606, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), + NAME_FUNC_OFFSET(13626, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), + NAME_FUNC_OFFSET(13667, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), + NAME_FUNC_OFFSET(13699, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), + NAME_FUNC_OFFSET(13718, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), + NAME_FUNC_OFFSET(13738, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), + NAME_FUNC_OFFSET(13763, gl_dispatch_stub_783, gl_dispatch_stub_783, NULL, _gloffset_BlitFramebufferEXT), + NAME_FUNC_OFFSET(13784, gl_dispatch_stub_784, gl_dispatch_stub_784, NULL, _gloffset_BufferParameteriAPPLE), + NAME_FUNC_OFFSET(13808, gl_dispatch_stub_785, gl_dispatch_stub_785, NULL, _gloffset_FlushMappedBufferRangeAPPLE), + NAME_FUNC_OFFSET(13838, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), + NAME_FUNC_OFFSET(13867, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), + NAME_FUNC_OFFSET(13888, gl_dispatch_stub_788, gl_dispatch_stub_788, NULL, _gloffset_GetTexParameterPointervAPPLE), + NAME_FUNC_OFFSET(13919, gl_dispatch_stub_789, gl_dispatch_stub_789, NULL, _gloffset_TextureRangeAPPLE), + NAME_FUNC_OFFSET(13939, gl_dispatch_stub_790, gl_dispatch_stub_790, NULL, _gloffset_StencilFuncSeparateATI), + NAME_FUNC_OFFSET(13964, gl_dispatch_stub_791, gl_dispatch_stub_791, NULL, _gloffset_ProgramEnvParameters4fvEXT), + NAME_FUNC_OFFSET(13993, gl_dispatch_stub_792, gl_dispatch_stub_792, NULL, _gloffset_ProgramLocalParameters4fvEXT), + NAME_FUNC_OFFSET(14024, gl_dispatch_stub_793, gl_dispatch_stub_793, NULL, _gloffset_GetQueryObjecti64vEXT), + NAME_FUNC_OFFSET(14048, gl_dispatch_stub_794, gl_dispatch_stub_794, NULL, _gloffset_GetQueryObjectui64vEXT), + NAME_FUNC_OFFSET(14073, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), + NAME_FUNC_OFFSET(14091, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), + NAME_FUNC_OFFSET(14108, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), + NAME_FUNC_OFFSET(14124, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident), + NAME_FUNC_OFFSET(14149, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), + NAME_FUNC_OFFSET(14169, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), + NAME_FUNC_OFFSET(14189, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), + NAME_FUNC_OFFSET(14212, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), + NAME_FUNC_OFFSET(14235, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures), + NAME_FUNC_OFFSET(14255, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures), + NAME_FUNC_OFFSET(14272, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), + NAME_FUNC_OFFSET(14289, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture), + NAME_FUNC_OFFSET(14304, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), + NAME_FUNC_OFFSET(14328, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), + NAME_FUNC_OFFSET(14347, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), + NAME_FUNC_OFFSET(14366, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), + NAME_FUNC_OFFSET(14382, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), + NAME_FUNC_OFFSET(14401, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), + NAME_FUNC_OFFSET(14424, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET(14440, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET(14456, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), + NAME_FUNC_OFFSET(14483, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), + NAME_FUNC_OFFSET(14510, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), + NAME_FUNC_OFFSET(14530, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), + NAME_FUNC_OFFSET(14549, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), + NAME_FUNC_OFFSET(14568, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET(14598, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET(14628, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET(14658, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET(14688, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), + NAME_FUNC_OFFSET(14707, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), + NAME_FUNC_OFFSET(14730, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), + NAME_FUNC_OFFSET(14755, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), + NAME_FUNC_OFFSET(14780, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), + NAME_FUNC_OFFSET(14807, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), + NAME_FUNC_OFFSET(14835, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), + NAME_FUNC_OFFSET(14862, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), + NAME_FUNC_OFFSET(14890, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), + NAME_FUNC_OFFSET(14919, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), + NAME_FUNC_OFFSET(14948, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter), + NAME_FUNC_OFFSET(14974, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv), + NAME_FUNC_OFFSET(15005, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv), + NAME_FUNC_OFFSET(15036, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter), + NAME_FUNC_OFFSET(15060, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), + NAME_FUNC_OFFSET(15083, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram), + NAME_FUNC_OFFSET(15101, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv), + NAME_FUNC_OFFSET(15130, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv), + NAME_FUNC_OFFSET(15159, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax), + NAME_FUNC_OFFSET(15174, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv), + NAME_FUNC_OFFSET(15200, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv), + NAME_FUNC_OFFSET(15226, glHistogram, glHistogram, NULL, _gloffset_Histogram), + NAME_FUNC_OFFSET(15241, glMinmax, glMinmax, NULL, _gloffset_Minmax), + NAME_FUNC_OFFSET(15253, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), + NAME_FUNC_OFFSET(15273, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), + NAME_FUNC_OFFSET(15290, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), + NAME_FUNC_OFFSET(15306, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), + NAME_FUNC_OFFSET(15325, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), + NAME_FUNC_OFFSET(15348, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), + NAME_FUNC_OFFSET(15364, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), + NAME_FUNC_OFFSET(15386, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), + NAME_FUNC_OFFSET(15404, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), + NAME_FUNC_OFFSET(15423, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), + NAME_FUNC_OFFSET(15441, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), + NAME_FUNC_OFFSET(15460, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), + NAME_FUNC_OFFSET(15478, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), + NAME_FUNC_OFFSET(15497, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), + NAME_FUNC_OFFSET(15515, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), + NAME_FUNC_OFFSET(15534, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), + NAME_FUNC_OFFSET(15552, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), + NAME_FUNC_OFFSET(15571, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), + NAME_FUNC_OFFSET(15589, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), + NAME_FUNC_OFFSET(15608, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), + NAME_FUNC_OFFSET(15626, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), + NAME_FUNC_OFFSET(15645, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), + NAME_FUNC_OFFSET(15663, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), + NAME_FUNC_OFFSET(15682, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), + NAME_FUNC_OFFSET(15700, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), + NAME_FUNC_OFFSET(15719, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), + NAME_FUNC_OFFSET(15737, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), + NAME_FUNC_OFFSET(15756, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), + NAME_FUNC_OFFSET(15774, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), + NAME_FUNC_OFFSET(15793, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), + NAME_FUNC_OFFSET(15811, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), + NAME_FUNC_OFFSET(15830, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), + NAME_FUNC_OFFSET(15848, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), + NAME_FUNC_OFFSET(15867, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), + NAME_FUNC_OFFSET(15885, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), + NAME_FUNC_OFFSET(15904, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), + NAME_FUNC_OFFSET(15922, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), + NAME_FUNC_OFFSET(15941, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), + NAME_FUNC_OFFSET(15959, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), + NAME_FUNC_OFFSET(15978, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), + NAME_FUNC_OFFSET(16001, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), + NAME_FUNC_OFFSET(16024, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), + NAME_FUNC_OFFSET(16047, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), + NAME_FUNC_OFFSET(16070, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), + NAME_FUNC_OFFSET(16093, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), + NAME_FUNC_OFFSET(16110, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), + NAME_FUNC_OFFSET(16133, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), + NAME_FUNC_OFFSET(16156, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), + NAME_FUNC_OFFSET(16179, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), + NAME_FUNC_OFFSET(16205, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), + NAME_FUNC_OFFSET(16231, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), + NAME_FUNC_OFFSET(16257, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), + NAME_FUNC_OFFSET(16281, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), + NAME_FUNC_OFFSET(16308, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), + NAME_FUNC_OFFSET(16334, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), + NAME_FUNC_OFFSET(16354, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), + NAME_FUNC_OFFSET(16374, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), + NAME_FUNC_OFFSET(16394, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), + NAME_FUNC_OFFSET(16417, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), + NAME_FUNC_OFFSET(16441, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), + NAME_FUNC_OFFSET(16464, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), + NAME_FUNC_OFFSET(16488, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), + NAME_FUNC_OFFSET(16505, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), + NAME_FUNC_OFFSET(16523, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), + NAME_FUNC_OFFSET(16540, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), + NAME_FUNC_OFFSET(16558, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), + NAME_FUNC_OFFSET(16575, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), + NAME_FUNC_OFFSET(16593, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), + NAME_FUNC_OFFSET(16610, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), + NAME_FUNC_OFFSET(16628, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), + NAME_FUNC_OFFSET(16645, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), + NAME_FUNC_OFFSET(16663, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), + NAME_FUNC_OFFSET(16680, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), + NAME_FUNC_OFFSET(16698, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), + NAME_FUNC_OFFSET(16715, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), + NAME_FUNC_OFFSET(16733, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), + NAME_FUNC_OFFSET(16750, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), + NAME_FUNC_OFFSET(16768, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), + NAME_FUNC_OFFSET(16785, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), + NAME_FUNC_OFFSET(16803, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), + NAME_FUNC_OFFSET(16822, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), + NAME_FUNC_OFFSET(16841, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), + NAME_FUNC_OFFSET(16860, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), + NAME_FUNC_OFFSET(16879, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), + NAME_FUNC_OFFSET(16899, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), + NAME_FUNC_OFFSET(16919, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), + NAME_FUNC_OFFSET(16939, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), + NAME_FUNC_OFFSET(16957, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), + NAME_FUNC_OFFSET(16974, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), + NAME_FUNC_OFFSET(16992, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), + NAME_FUNC_OFFSET(17009, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), + NAME_FUNC_OFFSET(17027, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), + NAME_FUNC_OFFSET(17045, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), + NAME_FUNC_OFFSET(17062, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), + NAME_FUNC_OFFSET(17080, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), + NAME_FUNC_OFFSET(17099, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), + NAME_FUNC_OFFSET(17118, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), + NAME_FUNC_OFFSET(17137, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), + NAME_FUNC_OFFSET(17159, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), + NAME_FUNC_OFFSET(17172, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), + NAME_FUNC_OFFSET(17185, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), + NAME_FUNC_OFFSET(17201, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), + NAME_FUNC_OFFSET(17217, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), + NAME_FUNC_OFFSET(17230, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), + NAME_FUNC_OFFSET(17253, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), + NAME_FUNC_OFFSET(17273, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), + NAME_FUNC_OFFSET(17292, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), + NAME_FUNC_OFFSET(17303, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), + NAME_FUNC_OFFSET(17315, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), + NAME_FUNC_OFFSET(17329, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), + NAME_FUNC_OFFSET(17342, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), + NAME_FUNC_OFFSET(17358, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), + NAME_FUNC_OFFSET(17369, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), + NAME_FUNC_OFFSET(17382, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), + NAME_FUNC_OFFSET(17401, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), + NAME_FUNC_OFFSET(17421, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), + NAME_FUNC_OFFSET(17434, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), + NAME_FUNC_OFFSET(17444, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), + NAME_FUNC_OFFSET(17460, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), + NAME_FUNC_OFFSET(17479, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), + NAME_FUNC_OFFSET(17497, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), + NAME_FUNC_OFFSET(17518, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), + NAME_FUNC_OFFSET(17533, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), + NAME_FUNC_OFFSET(17548, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), + NAME_FUNC_OFFSET(17562, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), + NAME_FUNC_OFFSET(17577, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), + NAME_FUNC_OFFSET(17589, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), + NAME_FUNC_OFFSET(17602, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), + NAME_FUNC_OFFSET(17614, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), + NAME_FUNC_OFFSET(17627, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), + NAME_FUNC_OFFSET(17639, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), + NAME_FUNC_OFFSET(17652, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), + NAME_FUNC_OFFSET(17664, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), + NAME_FUNC_OFFSET(17677, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), + NAME_FUNC_OFFSET(17689, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), + NAME_FUNC_OFFSET(17702, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), + NAME_FUNC_OFFSET(17714, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), + NAME_FUNC_OFFSET(17727, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), + NAME_FUNC_OFFSET(17739, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), + NAME_FUNC_OFFSET(17752, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), + NAME_FUNC_OFFSET(17764, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), + NAME_FUNC_OFFSET(17777, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), + NAME_FUNC_OFFSET(17796, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), + NAME_FUNC_OFFSET(17815, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), + NAME_FUNC_OFFSET(17834, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), + NAME_FUNC_OFFSET(17847, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), + NAME_FUNC_OFFSET(17865, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), + NAME_FUNC_OFFSET(17886, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), + NAME_FUNC_OFFSET(17904, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), + NAME_FUNC_OFFSET(17924, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET(17938, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET(17955, gl_dispatch_stub_584, gl_dispatch_stub_584, NULL, _gloffset_SampleMaskSGIS), + NAME_FUNC_OFFSET(17971, gl_dispatch_stub_585, gl_dispatch_stub_585, NULL, _gloffset_SamplePatternSGIS), + NAME_FUNC_OFFSET(17990, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(18008, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(18029, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(18051, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(18070, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(18092, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(18115, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), + NAME_FUNC_OFFSET(18134, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), + NAME_FUNC_OFFSET(18154, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), + NAME_FUNC_OFFSET(18173, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), + NAME_FUNC_OFFSET(18193, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), + NAME_FUNC_OFFSET(18212, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), + NAME_FUNC_OFFSET(18232, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), + NAME_FUNC_OFFSET(18251, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), + NAME_FUNC_OFFSET(18271, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), + NAME_FUNC_OFFSET(18290, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), + NAME_FUNC_OFFSET(18310, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), + NAME_FUNC_OFFSET(18330, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), + NAME_FUNC_OFFSET(18351, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), + NAME_FUNC_OFFSET(18371, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), + NAME_FUNC_OFFSET(18392, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), + NAME_FUNC_OFFSET(18412, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), + NAME_FUNC_OFFSET(18433, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), + NAME_FUNC_OFFSET(18457, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), + NAME_FUNC_OFFSET(18475, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), + NAME_FUNC_OFFSET(18495, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), + NAME_FUNC_OFFSET(18513, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), + NAME_FUNC_OFFSET(18525, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), + NAME_FUNC_OFFSET(18538, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), + NAME_FUNC_OFFSET(18550, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), + NAME_FUNC_OFFSET(18563, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(18583, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(18607, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(18621, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(18638, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(18653, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(18671, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(18685, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(18702, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(18717, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(18735, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(18749, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(18766, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(18781, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(18799, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(18813, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(18830, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(18845, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(18863, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(18877, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(18894, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(18909, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(18927, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(18941, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(18958, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(18973, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(18991, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(19005, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(19022, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(19037, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(19055, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(19069, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(19086, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(19101, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(19119, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), + NAME_FUNC_OFFSET(19136, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), + NAME_FUNC_OFFSET(19156, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), + NAME_FUNC_OFFSET(19173, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(19199, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(19228, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), + NAME_FUNC_OFFSET(19243, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), + NAME_FUNC_OFFSET(19261, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), + NAME_FUNC_OFFSET(19280, gl_dispatch_stub_755, gl_dispatch_stub_755, NULL, _gloffset_DeleteVertexArraysAPPLE), + NAME_FUNC_OFFSET(19301, gl_dispatch_stub_757, gl_dispatch_stub_757, NULL, _gloffset_IsVertexArrayAPPLE), + NAME_FUNC_OFFSET(19317, gl_dispatch_stub_765, gl_dispatch_stub_765, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(19341, gl_dispatch_stub_765, gl_dispatch_stub_765, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(19368, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), + NAME_FUNC_OFFSET(19386, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), + NAME_FUNC_OFFSET(19405, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), + NAME_FUNC_OFFSET(19430, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), + NAME_FUNC_OFFSET(19451, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), + NAME_FUNC_OFFSET(19473, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), + NAME_FUNC_OFFSET(19499, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), + NAME_FUNC_OFFSET(19522, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), + NAME_FUNC_OFFSET(19545, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), + NAME_FUNC_OFFSET(19568, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), + NAME_FUNC_OFFSET(19586, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), + NAME_FUNC_OFFSET(19605, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), + NAME_FUNC_OFFSET(19622, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), + NAME_FUNC_OFFSET(19660, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), + NAME_FUNC_OFFSET(19689, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), + NAME_FUNC_OFFSET(19705, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), + NAME_FUNC_OFFSET(19722, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), + NAME_FUNC_OFFSET(19744, gl_dispatch_stub_783, gl_dispatch_stub_783, NULL, _gloffset_BlitFramebufferEXT), + NAME_FUNC_OFFSET(19762, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) }; diff --git a/src/mesa/sparc/glapi_sparc.S b/src/mesa/sparc/glapi_sparc.S index 5b2c9e4a9a..50a2037034 100644 --- a/src/mesa/sparc/glapi_sparc.S +++ b/src/mesa/sparc/glapi_sparc.S @@ -771,23 +771,26 @@ gl_dispatch_functions_start: GL_STUB(glGetSynciv, _gloffset_GetSynciv) GL_STUB(glIsSync, _gloffset_IsSync) GL_STUB(glWaitSync, _gloffset_WaitSync) + GL_STUB(glDrawElementsBaseVertex, _gloffset_DrawElementsBaseVertex) + GL_STUB(glDrawRangeElementsBaseVertex, _gloffset_DrawRangeElementsBaseVertex) + GL_STUB(glMultiDrawElementsBaseVertex, _gloffset_MultiDrawElementsBaseVertex) GL_STUB(glPolygonOffsetEXT, _gloffset_PolygonOffsetEXT) - GL_STUB(gl_dispatch_stub_575, _gloffset_GetPixelTexGenParameterfvSGIS) - HIDDEN(gl_dispatch_stub_575) - GL_STUB(gl_dispatch_stub_576, _gloffset_GetPixelTexGenParameterivSGIS) - HIDDEN(gl_dispatch_stub_576) - GL_STUB(gl_dispatch_stub_577, _gloffset_PixelTexGenParameterfSGIS) - HIDDEN(gl_dispatch_stub_577) - GL_STUB(gl_dispatch_stub_578, _gloffset_PixelTexGenParameterfvSGIS) + GL_STUB(gl_dispatch_stub_578, _gloffset_GetPixelTexGenParameterfvSGIS) HIDDEN(gl_dispatch_stub_578) - GL_STUB(gl_dispatch_stub_579, _gloffset_PixelTexGenParameteriSGIS) + GL_STUB(gl_dispatch_stub_579, _gloffset_GetPixelTexGenParameterivSGIS) HIDDEN(gl_dispatch_stub_579) - GL_STUB(gl_dispatch_stub_580, _gloffset_PixelTexGenParameterivSGIS) + GL_STUB(gl_dispatch_stub_580, _gloffset_PixelTexGenParameterfSGIS) HIDDEN(gl_dispatch_stub_580) - GL_STUB(gl_dispatch_stub_581, _gloffset_SampleMaskSGIS) + GL_STUB(gl_dispatch_stub_581, _gloffset_PixelTexGenParameterfvSGIS) HIDDEN(gl_dispatch_stub_581) - GL_STUB(gl_dispatch_stub_582, _gloffset_SamplePatternSGIS) + GL_STUB(gl_dispatch_stub_582, _gloffset_PixelTexGenParameteriSGIS) HIDDEN(gl_dispatch_stub_582) + GL_STUB(gl_dispatch_stub_583, _gloffset_PixelTexGenParameterivSGIS) + HIDDEN(gl_dispatch_stub_583) + GL_STUB(gl_dispatch_stub_584, _gloffset_SampleMaskSGIS) + HIDDEN(gl_dispatch_stub_584) + GL_STUB(gl_dispatch_stub_585, _gloffset_SamplePatternSGIS) + HIDDEN(gl_dispatch_stub_585) GL_STUB(glColorPointerEXT, _gloffset_ColorPointerEXT) GL_STUB(glEdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT) GL_STUB(glIndexPointerEXT, _gloffset_IndexPointerEXT) @@ -798,10 +801,10 @@ gl_dispatch_functions_start: GL_STUB(glPointParameterfvEXT, _gloffset_PointParameterfvEXT) GL_STUB(glLockArraysEXT, _gloffset_LockArraysEXT) GL_STUB(glUnlockArraysEXT, _gloffset_UnlockArraysEXT) - GL_STUB(gl_dispatch_stub_593, _gloffset_CullParameterdvEXT) - HIDDEN(gl_dispatch_stub_593) - GL_STUB(gl_dispatch_stub_594, _gloffset_CullParameterfvEXT) - HIDDEN(gl_dispatch_stub_594) + GL_STUB(gl_dispatch_stub_596, _gloffset_CullParameterdvEXT) + HIDDEN(gl_dispatch_stub_596) + GL_STUB(gl_dispatch_stub_597, _gloffset_CullParameterfvEXT) + HIDDEN(gl_dispatch_stub_597) GL_STUB(glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT) GL_STUB(glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT) GL_STUB(glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT) @@ -826,8 +829,8 @@ gl_dispatch_functions_start: GL_STUB(glFogCoorddvEXT, _gloffset_FogCoorddvEXT) GL_STUB(glFogCoordfEXT, _gloffset_FogCoordfEXT) GL_STUB(glFogCoordfvEXT, _gloffset_FogCoordfvEXT) - GL_STUB(gl_dispatch_stub_619, _gloffset_PixelTexGenSGIX) - HIDDEN(gl_dispatch_stub_619) + GL_STUB(gl_dispatch_stub_622, _gloffset_PixelTexGenSGIX) + HIDDEN(gl_dispatch_stub_622) GL_STUB(glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT) GL_STUB(glFlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV) GL_STUB(glVertexArrayRangeNV, _gloffset_VertexArrayRangeNV) @@ -869,24 +872,24 @@ gl_dispatch_functions_start: GL_STUB(glWindowPos4ivMESA, _gloffset_WindowPos4ivMESA) GL_STUB(glWindowPos4sMESA, _gloffset_WindowPos4sMESA) GL_STUB(glWindowPos4svMESA, _gloffset_WindowPos4svMESA) - GL_STUB(gl_dispatch_stub_661, _gloffset_MultiModeDrawArraysIBM) - HIDDEN(gl_dispatch_stub_661) - GL_STUB(gl_dispatch_stub_662, _gloffset_MultiModeDrawElementsIBM) - HIDDEN(gl_dispatch_stub_662) - GL_STUB(gl_dispatch_stub_663, _gloffset_DeleteFencesNV) - HIDDEN(gl_dispatch_stub_663) - GL_STUB(gl_dispatch_stub_664, _gloffset_FinishFenceNV) + GL_STUB(gl_dispatch_stub_664, _gloffset_MultiModeDrawArraysIBM) HIDDEN(gl_dispatch_stub_664) - GL_STUB(gl_dispatch_stub_665, _gloffset_GenFencesNV) + GL_STUB(gl_dispatch_stub_665, _gloffset_MultiModeDrawElementsIBM) HIDDEN(gl_dispatch_stub_665) - GL_STUB(gl_dispatch_stub_666, _gloffset_GetFenceivNV) + GL_STUB(gl_dispatch_stub_666, _gloffset_DeleteFencesNV) HIDDEN(gl_dispatch_stub_666) - GL_STUB(gl_dispatch_stub_667, _gloffset_IsFenceNV) + GL_STUB(gl_dispatch_stub_667, _gloffset_FinishFenceNV) HIDDEN(gl_dispatch_stub_667) - GL_STUB(gl_dispatch_stub_668, _gloffset_SetFenceNV) + GL_STUB(gl_dispatch_stub_668, _gloffset_GenFencesNV) HIDDEN(gl_dispatch_stub_668) - GL_STUB(gl_dispatch_stub_669, _gloffset_TestFenceNV) + GL_STUB(gl_dispatch_stub_669, _gloffset_GetFenceivNV) HIDDEN(gl_dispatch_stub_669) + GL_STUB(gl_dispatch_stub_670, _gloffset_IsFenceNV) + HIDDEN(gl_dispatch_stub_670) + GL_STUB(gl_dispatch_stub_671, _gloffset_SetFenceNV) + HIDDEN(gl_dispatch_stub_671) + GL_STUB(gl_dispatch_stub_672, _gloffset_TestFenceNV) + HIDDEN(gl_dispatch_stub_672) GL_STUB(glAreProgramsResidentNV, _gloffset_AreProgramsResidentNV) GL_STUB(glBindProgramNV, _gloffset_BindProgramNV) GL_STUB(glDeleteProgramsNV, _gloffset_DeleteProgramsNV) @@ -967,26 +970,26 @@ gl_dispatch_functions_start: GL_STUB(glSetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI) GL_STUB(glPointParameteriNV, _gloffset_PointParameteriNV) GL_STUB(glPointParameterivNV, _gloffset_PointParameterivNV) - GL_STUB(gl_dispatch_stub_750, _gloffset_ActiveStencilFaceEXT) - HIDDEN(gl_dispatch_stub_750) - GL_STUB(gl_dispatch_stub_751, _gloffset_BindVertexArrayAPPLE) - HIDDEN(gl_dispatch_stub_751) - GL_STUB(gl_dispatch_stub_752, _gloffset_DeleteVertexArraysAPPLE) - HIDDEN(gl_dispatch_stub_752) - GL_STUB(gl_dispatch_stub_753, _gloffset_GenVertexArraysAPPLE) + GL_STUB(gl_dispatch_stub_753, _gloffset_ActiveStencilFaceEXT) HIDDEN(gl_dispatch_stub_753) - GL_STUB(gl_dispatch_stub_754, _gloffset_IsVertexArrayAPPLE) + GL_STUB(gl_dispatch_stub_754, _gloffset_BindVertexArrayAPPLE) HIDDEN(gl_dispatch_stub_754) + GL_STUB(gl_dispatch_stub_755, _gloffset_DeleteVertexArraysAPPLE) + HIDDEN(gl_dispatch_stub_755) + GL_STUB(gl_dispatch_stub_756, _gloffset_GenVertexArraysAPPLE) + HIDDEN(gl_dispatch_stub_756) + GL_STUB(gl_dispatch_stub_757, _gloffset_IsVertexArrayAPPLE) + HIDDEN(gl_dispatch_stub_757) GL_STUB(glGetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV) GL_STUB(glGetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV) GL_STUB(glProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV) GL_STUB(glProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV) GL_STUB(glProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV) GL_STUB(glProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV) - GL_STUB(gl_dispatch_stub_761, _gloffset_DepthBoundsEXT) - HIDDEN(gl_dispatch_stub_761) - GL_STUB(gl_dispatch_stub_762, _gloffset_BlendEquationSeparateEXT) - HIDDEN(gl_dispatch_stub_762) + GL_STUB(gl_dispatch_stub_764, _gloffset_DepthBoundsEXT) + HIDDEN(gl_dispatch_stub_764) + GL_STUB(gl_dispatch_stub_765, _gloffset_BlendEquationSeparateEXT) + HIDDEN(gl_dispatch_stub_765) GL_STUB(glBindFramebufferEXT, _gloffset_BindFramebufferEXT) GL_STUB(glBindRenderbufferEXT, _gloffset_BindRenderbufferEXT) GL_STUB(glCheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT) @@ -1004,28 +1007,28 @@ gl_dispatch_functions_start: GL_STUB(glIsFramebufferEXT, _gloffset_IsFramebufferEXT) GL_STUB(glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT) GL_STUB(glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT) - GL_STUB(gl_dispatch_stub_780, _gloffset_BlitFramebufferEXT) - HIDDEN(gl_dispatch_stub_780) - GL_STUB(gl_dispatch_stub_781, _gloffset_BufferParameteriAPPLE) - HIDDEN(gl_dispatch_stub_781) - GL_STUB(gl_dispatch_stub_782, _gloffset_FlushMappedBufferRangeAPPLE) - HIDDEN(gl_dispatch_stub_782) + GL_STUB(gl_dispatch_stub_783, _gloffset_BlitFramebufferEXT) + HIDDEN(gl_dispatch_stub_783) + GL_STUB(gl_dispatch_stub_784, _gloffset_BufferParameteriAPPLE) + HIDDEN(gl_dispatch_stub_784) + GL_STUB(gl_dispatch_stub_785, _gloffset_FlushMappedBufferRangeAPPLE) + HIDDEN(gl_dispatch_stub_785) GL_STUB(glFramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT) GL_STUB(glProvokingVertexEXT, _gloffset_ProvokingVertexEXT) - GL_STUB(gl_dispatch_stub_785, _gloffset_GetTexParameterPointervAPPLE) - HIDDEN(gl_dispatch_stub_785) - GL_STUB(gl_dispatch_stub_786, _gloffset_TextureRangeAPPLE) - HIDDEN(gl_dispatch_stub_786) - GL_STUB(gl_dispatch_stub_787, _gloffset_StencilFuncSeparateATI) - HIDDEN(gl_dispatch_stub_787) - GL_STUB(gl_dispatch_stub_788, _gloffset_ProgramEnvParameters4fvEXT) + GL_STUB(gl_dispatch_stub_788, _gloffset_GetTexParameterPointervAPPLE) HIDDEN(gl_dispatch_stub_788) - GL_STUB(gl_dispatch_stub_789, _gloffset_ProgramLocalParameters4fvEXT) + GL_STUB(gl_dispatch_stub_789, _gloffset_TextureRangeAPPLE) HIDDEN(gl_dispatch_stub_789) - GL_STUB(gl_dispatch_stub_790, _gloffset_GetQueryObjecti64vEXT) + GL_STUB(gl_dispatch_stub_790, _gloffset_StencilFuncSeparateATI) HIDDEN(gl_dispatch_stub_790) - GL_STUB(gl_dispatch_stub_791, _gloffset_GetQueryObjectui64vEXT) + GL_STUB(gl_dispatch_stub_791, _gloffset_ProgramEnvParameters4fvEXT) HIDDEN(gl_dispatch_stub_791) + GL_STUB(gl_dispatch_stub_792, _gloffset_ProgramLocalParameters4fvEXT) + HIDDEN(gl_dispatch_stub_792) + GL_STUB(gl_dispatch_stub_793, _gloffset_GetQueryObjecti64vEXT) + HIDDEN(gl_dispatch_stub_793) + GL_STUB(gl_dispatch_stub_794, _gloffset_GetQueryObjectui64vEXT) + HIDDEN(gl_dispatch_stub_794) GL_STUB_ALIAS(glArrayElementEXT, glArrayElement) GL_STUB_ALIAS(glBindTextureEXT, glBindTexture) GL_STUB_ALIAS(glDrawArraysEXT, glDrawArrays) diff --git a/src/mesa/x86-64/glapi_x86-64.S b/src/mesa/x86-64/glapi_x86-64.S index db917f3982..907deb4d2f 100644 --- a/src/mesa/x86-64/glapi_x86-64.S +++ b/src/mesa/x86-64/glapi_x86-64.S @@ -21601,21 +21601,25 @@ GL_PREFIX(WaitSync): .size GL_PREFIX(WaitSync), .-GL_PREFIX(WaitSync) .p2align 4,,15 - .globl GL_PREFIX(PolygonOffsetEXT) - .type GL_PREFIX(PolygonOffsetEXT), @function -GL_PREFIX(PolygonOffsetEXT): + .globl GL_PREFIX(DrawElementsBaseVertex) + .type GL_PREFIX(DrawElementsBaseVertex), @function +GL_PREFIX(DrawElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 4592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) - subq $24, %rsp - movq %xmm0, (%rsp) - movq %xmm1, 8(%rsp) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 call _x86_64_get_dispatch@PLT - movq 8(%rsp), %xmm1 - movq (%rsp), %xmm0 - addq $24, %rsp + popq %r8 + popq %rcx + popq %rdx + popq %rsi + popq %rdi movq 4592(%rax), %r11 jmp *%r11 #else @@ -21625,23 +21629,26 @@ GL_PREFIX(PolygonOffsetEXT): movq 4592(%rax), %r11 jmp *%r11 1: - subq $24, %rsp - movq %xmm0, (%rsp) - movq %xmm1, 8(%rsp) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 call _glapi_get_dispatch - movq 8(%rsp), %xmm1 - movq (%rsp), %xmm0 - addq $24, %rsp + popq %r8 + popq %rcx + popq %rdx + popq %rsi + popq %rdi movq 4592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) + .size GL_PREFIX(DrawElementsBaseVertex), .-GL_PREFIX(DrawElementsBaseVertex) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_575) - .type GL_PREFIX(_dispatch_stub_575), @function - HIDDEN(GL_PREFIX(_dispatch_stub_575)) -GL_PREFIX(_dispatch_stub_575): + .globl GL_PREFIX(DrawRangeElementsBaseVertex) + .type GL_PREFIX(DrawRangeElementsBaseVertex), @function +GL_PREFIX(DrawRangeElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 4600(%rax), %r11 @@ -21649,9 +21656,17 @@ GL_PREFIX(_dispatch_stub_575): #elif defined(PTHREADS) pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 4600(%rax), %r11 @@ -21665,21 +21680,28 @@ GL_PREFIX(_dispatch_stub_575): 1: pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _glapi_get_dispatch popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 4600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_575), .-GL_PREFIX(_dispatch_stub_575) + .size GL_PREFIX(DrawRangeElementsBaseVertex), .-GL_PREFIX(DrawRangeElementsBaseVertex) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_576) - .type GL_PREFIX(_dispatch_stub_576), @function - HIDDEN(GL_PREFIX(_dispatch_stub_576)) -GL_PREFIX(_dispatch_stub_576): + .globl GL_PREFIX(MultiDrawElementsBaseVertex) + .type GL_PREFIX(MultiDrawElementsBaseVertex), @function +GL_PREFIX(MultiDrawElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 4608(%rax), %r11 @@ -21687,9 +21709,17 @@ GL_PREFIX(_dispatch_stub_576): #elif defined(PTHREADS) pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 4608(%rax), %r11 @@ -21703,32 +21733,39 @@ GL_PREFIX(_dispatch_stub_576): 1: pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _glapi_get_dispatch popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 4608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_576), .-GL_PREFIX(_dispatch_stub_576) + .size GL_PREFIX(MultiDrawElementsBaseVertex), .-GL_PREFIX(MultiDrawElementsBaseVertex) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_577) - .type GL_PREFIX(_dispatch_stub_577), @function - HIDDEN(GL_PREFIX(_dispatch_stub_577)) -GL_PREFIX(_dispatch_stub_577): + .globl GL_PREFIX(PolygonOffsetEXT) + .type GL_PREFIX(PolygonOffsetEXT), @function +GL_PREFIX(PolygonOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 4616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp - movq %rdi, (%rsp) - movq %xmm0, 8(%rsp) + movq %xmm0, (%rsp) + movq %xmm1, 8(%rsp) call _x86_64_get_dispatch@PLT - movq 8(%rsp), %xmm0 - movq (%rsp), %rdi + movq 8(%rsp), %xmm1 + movq (%rsp), %xmm0 addq $24, %rsp movq 4616(%rax), %r11 jmp *%r11 @@ -21740,16 +21777,16 @@ GL_PREFIX(_dispatch_stub_577): jmp *%r11 1: subq $24, %rsp - movq %rdi, (%rsp) - movq %xmm0, 8(%rsp) + movq %xmm0, (%rsp) + movq %xmm1, 8(%rsp) call _glapi_get_dispatch - movq 8(%rsp), %xmm0 - movq (%rsp), %rdi + movq 8(%rsp), %xmm1 + movq (%rsp), %xmm0 addq $24, %rsp movq 4616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_577), .-GL_PREFIX(_dispatch_stub_577) + .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) .p2align 4,,15 .globl GL_PREFIX(_dispatch_stub_578) @@ -21837,13 +21874,13 @@ GL_PREFIX(_dispatch_stub_580): movq 4640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rbp + subq $24, %rsp + movq %rdi, (%rsp) + movq %xmm0, 8(%rsp) call _x86_64_get_dispatch@PLT - popq %rbp - popq %rsi - popq %rdi + movq 8(%rsp), %xmm0 + movq (%rsp), %rdi + addq $24, %rsp movq 4640(%rax), %r11 jmp *%r11 #else @@ -21853,13 +21890,13 @@ GL_PREFIX(_dispatch_stub_580): movq 4640(%rax), %r11 jmp *%r11 1: - pushq %rdi - pushq %rsi - pushq %rbp + subq $24, %rsp + movq %rdi, (%rsp) + movq %xmm0, 8(%rsp) call _glapi_get_dispatch - popq %rbp - popq %rsi - popq %rdi + movq 8(%rsp), %xmm0 + movq (%rsp), %rdi + addq $24, %rsp movq 4640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ @@ -21914,7 +21951,11 @@ GL_PREFIX(_dispatch_stub_582): jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi popq %rdi movq 4656(%rax), %r11 jmp *%r11 @@ -21926,20 +21967,130 @@ GL_PREFIX(_dispatch_stub_582): jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %rsi popq %rdi movq 4656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(_dispatch_stub_582), .-GL_PREFIX(_dispatch_stub_582) + .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_583) + .type GL_PREFIX(_dispatch_stub_583), @function + HIDDEN(GL_PREFIX(_dispatch_stub_583)) +GL_PREFIX(_dispatch_stub_583): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4664(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi + popq %rdi + movq 4664(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4664(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4664(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_583), .-GL_PREFIX(_dispatch_stub_583) + + .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_584) + .type GL_PREFIX(_dispatch_stub_584), @function + HIDDEN(GL_PREFIX(_dispatch_stub_584)) +GL_PREFIX(_dispatch_stub_584): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4672(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi + popq %rdi + movq 4672(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4672(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4672(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_584), .-GL_PREFIX(_dispatch_stub_584) + + .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_585) + .type GL_PREFIX(_dispatch_stub_585), @function + HIDDEN(GL_PREFIX(_dispatch_stub_585)) +GL_PREFIX(_dispatch_stub_585): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4680(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 4680(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4680(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 4680(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_585), .-GL_PREFIX(_dispatch_stub_585) + .p2align 4,,15 .globl GL_PREFIX(ColorPointerEXT) .type GL_PREFIX(ColorPointerEXT), @function GL_PREFIX(ColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4664(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21953,13 +22104,13 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4664(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4664(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21973,7 +22124,7 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4664(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorPointerEXT), .-GL_PREFIX(ColorPointerEXT) @@ -21984,7 +22135,7 @@ GL_PREFIX(ColorPointerEXT): GL_PREFIX(EdgeFlagPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4672(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21994,13 +22145,13 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4672(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4672(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22010,7 +22161,7 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4672(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EdgeFlagPointerEXT), .-GL_PREFIX(EdgeFlagPointerEXT) @@ -22021,7 +22172,7 @@ GL_PREFIX(EdgeFlagPointerEXT): GL_PREFIX(IndexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4680(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22035,13 +22186,13 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4680(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4680(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22055,7 +22206,7 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4680(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IndexPointerEXT), .-GL_PREFIX(IndexPointerEXT) @@ -22066,7 +22217,7 @@ GL_PREFIX(IndexPointerEXT): GL_PREFIX(NormalPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4688(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22080,13 +22231,13 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4688(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4688(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22100,7 +22251,7 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4688(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(NormalPointerEXT), .-GL_PREFIX(NormalPointerEXT) @@ -22111,7 +22262,7 @@ GL_PREFIX(NormalPointerEXT): GL_PREFIX(TexCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4696(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22125,13 +22276,13 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4696(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4696(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22145,7 +22296,7 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4696(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexCoordPointerEXT), .-GL_PREFIX(TexCoordPointerEXT) @@ -22156,7 +22307,7 @@ GL_PREFIX(TexCoordPointerEXT): GL_PREFIX(VertexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4704(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22170,13 +22321,13 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4704(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4704(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22190,7 +22341,7 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4704(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexPointerEXT), .-GL_PREFIX(VertexPointerEXT) @@ -22201,7 +22352,7 @@ GL_PREFIX(VertexPointerEXT): GL_PREFIX(PointParameterfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4712(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22211,13 +22362,13 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4712(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4712(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22227,7 +22378,7 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4712(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfEXT), .-GL_PREFIX(PointParameterfEXT) @@ -22238,7 +22389,7 @@ GL_PREFIX(PointParameterfEXT): GL_PREFIX(PointParameterfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4720(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22248,13 +22399,13 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4720(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4720(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22264,7 +22415,7 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4720(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfvEXT), .-GL_PREFIX(PointParameterfvEXT) @@ -22275,7 +22426,7 @@ GL_PREFIX(PointParameterfvEXT): GL_PREFIX(LockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4728(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22285,13 +22436,13 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4728(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4728(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22301,7 +22452,7 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4728(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LockArraysEXT), .-GL_PREFIX(LockArraysEXT) @@ -22312,37 +22463,37 @@ GL_PREFIX(LockArraysEXT): GL_PREFIX(UnlockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4736(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4736(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4736(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4736(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UnlockArraysEXT), .-GL_PREFIX(UnlockArraysEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_593) - .type GL_PREFIX(_dispatch_stub_593), @function - HIDDEN(GL_PREFIX(_dispatch_stub_593)) -GL_PREFIX(_dispatch_stub_593): + .globl GL_PREFIX(_dispatch_stub_596) + .type GL_PREFIX(_dispatch_stub_596), @function + HIDDEN(GL_PREFIX(_dispatch_stub_596)) +GL_PREFIX(_dispatch_stub_596): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4744(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22352,13 +22503,13 @@ GL_PREFIX(_dispatch_stub_593): popq %rbp popq %rsi popq %rdi - movq 4744(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4744(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22368,19 +22519,19 @@ GL_PREFIX(_dispatch_stub_593): popq %rbp popq %rsi popq %rdi - movq 4744(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_593), .-GL_PREFIX(_dispatch_stub_593) + .size GL_PREFIX(_dispatch_stub_596), .-GL_PREFIX(_dispatch_stub_596) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_594) - .type GL_PREFIX(_dispatch_stub_594), @function - HIDDEN(GL_PREFIX(_dispatch_stub_594)) -GL_PREFIX(_dispatch_stub_594): + .globl GL_PREFIX(_dispatch_stub_597) + .type GL_PREFIX(_dispatch_stub_597), @function + HIDDEN(GL_PREFIX(_dispatch_stub_597)) +GL_PREFIX(_dispatch_stub_597): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4752(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22390,13 +22541,13 @@ GL_PREFIX(_dispatch_stub_594): popq %rbp popq %rsi popq %rdi - movq 4752(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4752(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22406,10 +22557,10 @@ GL_PREFIX(_dispatch_stub_594): popq %rbp popq %rsi popq %rdi - movq 4752(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_594), .-GL_PREFIX(_dispatch_stub_594) + .size GL_PREFIX(_dispatch_stub_597), .-GL_PREFIX(_dispatch_stub_597) .p2align 4,,15 .globl GL_PREFIX(SecondaryColor3bEXT) @@ -22417,7 +22568,7 @@ GL_PREFIX(_dispatch_stub_594): GL_PREFIX(SecondaryColor3bEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4760(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22427,13 +22578,13 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4760(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4760(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22443,7 +22594,7 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4760(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bEXT), .-GL_PREFIX(SecondaryColor3bEXT) @@ -22454,25 +22605,25 @@ GL_PREFIX(SecondaryColor3bEXT): GL_PREFIX(SecondaryColor3bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4768(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4768(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4768(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4768(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bvEXT), .-GL_PREFIX(SecondaryColor3bvEXT) @@ -22483,7 +22634,7 @@ GL_PREFIX(SecondaryColor3bvEXT): GL_PREFIX(SecondaryColor3dEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4776(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22495,13 +22646,13 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4776(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4776(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22513,7 +22664,7 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4776(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dEXT), .-GL_PREFIX(SecondaryColor3dEXT) @@ -22524,25 +22675,25 @@ GL_PREFIX(SecondaryColor3dEXT): GL_PREFIX(SecondaryColor3dvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4784(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4784(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4784(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4784(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dvEXT), .-GL_PREFIX(SecondaryColor3dvEXT) @@ -22553,7 +22704,7 @@ GL_PREFIX(SecondaryColor3dvEXT): GL_PREFIX(SecondaryColor3fEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4792(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22565,13 +22716,13 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4792(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4792(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22583,7 +22734,7 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4792(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fEXT), .-GL_PREFIX(SecondaryColor3fEXT) @@ -22594,25 +22745,25 @@ GL_PREFIX(SecondaryColor3fEXT): GL_PREFIX(SecondaryColor3fvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4800(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4800(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4800(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4800(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fvEXT), .-GL_PREFIX(SecondaryColor3fvEXT) @@ -22623,7 +22774,7 @@ GL_PREFIX(SecondaryColor3fvEXT): GL_PREFIX(SecondaryColor3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4808(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22633,13 +22784,13 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 4808(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4808(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22649,7 +22800,7 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 4808(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3iEXT), .-GL_PREFIX(SecondaryColor3iEXT) @@ -22660,25 +22811,25 @@ GL_PREFIX(SecondaryColor3iEXT): GL_PREFIX(SecondaryColor3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4816(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4816(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4816(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4816(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ivEXT), .-GL_PREFIX(SecondaryColor3ivEXT) @@ -22689,7 +22840,7 @@ GL_PREFIX(SecondaryColor3ivEXT): GL_PREFIX(SecondaryColor3sEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4824(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22699,13 +22850,13 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 4824(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4824(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22715,7 +22866,7 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 4824(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3sEXT), .-GL_PREFIX(SecondaryColor3sEXT) @@ -22726,25 +22877,25 @@ GL_PREFIX(SecondaryColor3sEXT): GL_PREFIX(SecondaryColor3svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4832(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4832(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4832(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4832(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3svEXT), .-GL_PREFIX(SecondaryColor3svEXT) @@ -22755,7 +22906,7 @@ GL_PREFIX(SecondaryColor3svEXT): GL_PREFIX(SecondaryColor3ubEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4840(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22765,13 +22916,13 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 4840(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4840(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22781,7 +22932,7 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 4840(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubEXT), .-GL_PREFIX(SecondaryColor3ubEXT) @@ -22792,25 +22943,25 @@ GL_PREFIX(SecondaryColor3ubEXT): GL_PREFIX(SecondaryColor3ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4848(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4848(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4848(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4848(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubvEXT), .-GL_PREFIX(SecondaryColor3ubvEXT) @@ -22821,7 +22972,7 @@ GL_PREFIX(SecondaryColor3ubvEXT): GL_PREFIX(SecondaryColor3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4856(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22831,13 +22982,13 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 4856(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4856(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22847,7 +22998,7 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 4856(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uiEXT), .-GL_PREFIX(SecondaryColor3uiEXT) @@ -22858,25 +23009,25 @@ GL_PREFIX(SecondaryColor3uiEXT): GL_PREFIX(SecondaryColor3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4864(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4864(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4864(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4864(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uivEXT), .-GL_PREFIX(SecondaryColor3uivEXT) @@ -22887,7 +23038,7 @@ GL_PREFIX(SecondaryColor3uivEXT): GL_PREFIX(SecondaryColor3usEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4872(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22897,13 +23048,13 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 4872(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4872(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22913,7 +23064,7 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 4872(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usEXT), .-GL_PREFIX(SecondaryColor3usEXT) @@ -22924,25 +23075,25 @@ GL_PREFIX(SecondaryColor3usEXT): GL_PREFIX(SecondaryColor3usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4880(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4880(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4880(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4880(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usvEXT), .-GL_PREFIX(SecondaryColor3usvEXT) @@ -22953,7 +23104,7 @@ GL_PREFIX(SecondaryColor3usvEXT): GL_PREFIX(SecondaryColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4888(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22967,13 +23118,13 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4888(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4888(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22987,7 +23138,7 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4888(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColorPointerEXT), .-GL_PREFIX(SecondaryColorPointerEXT) @@ -22998,7 +23149,7 @@ GL_PREFIX(SecondaryColorPointerEXT): GL_PREFIX(MultiDrawArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4896(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23012,13 +23163,13 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4896(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23032,7 +23183,7 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawArraysEXT), .-GL_PREFIX(MultiDrawArraysEXT) @@ -23043,7 +23194,7 @@ GL_PREFIX(MultiDrawArraysEXT): GL_PREFIX(MultiDrawElementsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4904(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23057,13 +23208,13 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4904(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23077,7 +23228,7 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsEXT), .-GL_PREFIX(MultiDrawElementsEXT) @@ -23088,7 +23239,7 @@ GL_PREFIX(MultiDrawElementsEXT): GL_PREFIX(FogCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4912(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23098,13 +23249,13 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4912(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23114,7 +23265,7 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordPointerEXT), .-GL_PREFIX(FogCoordPointerEXT) @@ -23125,7 +23276,7 @@ GL_PREFIX(FogCoordPointerEXT): GL_PREFIX(FogCoorddEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4920(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -23133,13 +23284,13 @@ GL_PREFIX(FogCoorddEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 4920(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4920(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -23147,7 +23298,7 @@ GL_PREFIX(FogCoorddEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 4920(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddEXT), .-GL_PREFIX(FogCoorddEXT) @@ -23158,25 +23309,25 @@ GL_PREFIX(FogCoorddEXT): GL_PREFIX(FogCoorddvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4928(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4928(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4928(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4928(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddvEXT), .-GL_PREFIX(FogCoorddvEXT) @@ -23187,7 +23338,7 @@ GL_PREFIX(FogCoorddvEXT): GL_PREFIX(FogCoordfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4936(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -23195,13 +23346,13 @@ GL_PREFIX(FogCoordfEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 4936(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4936(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -23209,7 +23360,7 @@ GL_PREFIX(FogCoordfEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 4936(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfEXT), .-GL_PREFIX(FogCoordfEXT) @@ -23220,58 +23371,58 @@ GL_PREFIX(FogCoordfEXT): GL_PREFIX(FogCoordfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4944(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4944(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4944(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4944(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfvEXT), .-GL_PREFIX(FogCoordfvEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_619) - .type GL_PREFIX(_dispatch_stub_619), @function - HIDDEN(GL_PREFIX(_dispatch_stub_619)) -GL_PREFIX(_dispatch_stub_619): + .globl GL_PREFIX(_dispatch_stub_622) + .type GL_PREFIX(_dispatch_stub_622), @function + HIDDEN(GL_PREFIX(_dispatch_stub_622)) +GL_PREFIX(_dispatch_stub_622): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4952(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4952(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4952(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4952(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_619), .-GL_PREFIX(_dispatch_stub_619) + .size GL_PREFIX(_dispatch_stub_622), .-GL_PREFIX(_dispatch_stub_622) .p2align 4,,15 .globl GL_PREFIX(BlendFuncSeparateEXT) @@ -23279,7 +23430,7 @@ GL_PREFIX(_dispatch_stub_619): GL_PREFIX(BlendFuncSeparateEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4960(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23293,13 +23444,13 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 4960(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4960(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23313,7 +23464,7 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 4960(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFuncSeparateEXT), .-GL_PREFIX(BlendFuncSeparateEXT) @@ -23324,25 +23475,25 @@ GL_PREFIX(BlendFuncSeparateEXT): GL_PREFIX(FlushVertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4968(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4968(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4968(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4968(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushVertexArrayRangeNV), .-GL_PREFIX(FlushVertexArrayRangeNV) @@ -23353,7 +23504,7 @@ GL_PREFIX(FlushVertexArrayRangeNV): GL_PREFIX(VertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4976(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23363,13 +23514,13 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 4976(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4976(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23379,7 +23530,7 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 4976(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexArrayRangeNV), .-GL_PREFIX(VertexArrayRangeNV) @@ -23390,7 +23541,7 @@ GL_PREFIX(VertexArrayRangeNV): GL_PREFIX(CombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4984(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23408,13 +23559,13 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4984(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4984(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23432,7 +23583,7 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4984(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerInputNV), .-GL_PREFIX(CombinerInputNV) @@ -23443,7 +23594,7 @@ GL_PREFIX(CombinerInputNV): GL_PREFIX(CombinerOutputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4992(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23461,13 +23612,13 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 4992(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4992(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23485,7 +23636,7 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 4992(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerOutputNV), .-GL_PREFIX(CombinerOutputNV) @@ -23496,7 +23647,7 @@ GL_PREFIX(CombinerOutputNV): GL_PREFIX(CombinerParameterfNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5000(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23506,13 +23657,13 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5000(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5000(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23522,7 +23673,7 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5000(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfNV), .-GL_PREFIX(CombinerParameterfNV) @@ -23533,7 +23684,7 @@ GL_PREFIX(CombinerParameterfNV): GL_PREFIX(CombinerParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5008(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23543,13 +23694,13 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5008(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5008(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23559,7 +23710,7 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5008(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfvNV), .-GL_PREFIX(CombinerParameterfvNV) @@ -23570,7 +23721,7 @@ GL_PREFIX(CombinerParameterfvNV): GL_PREFIX(CombinerParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5016(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23580,13 +23731,13 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5016(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23596,7 +23747,7 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameteriNV), .-GL_PREFIX(CombinerParameteriNV) @@ -23607,7 +23758,7 @@ GL_PREFIX(CombinerParameteriNV): GL_PREFIX(CombinerParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5024(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23617,13 +23768,13 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5024(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5024(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23633,7 +23784,7 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5024(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterivNV), .-GL_PREFIX(CombinerParameterivNV) @@ -23644,7 +23795,7 @@ GL_PREFIX(CombinerParameterivNV): GL_PREFIX(FinalCombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5032(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23658,13 +23809,13 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5032(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5032(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23678,7 +23829,7 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5032(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FinalCombinerInputNV), .-GL_PREFIX(FinalCombinerInputNV) @@ -23689,7 +23840,7 @@ GL_PREFIX(FinalCombinerInputNV): GL_PREFIX(GetCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5040(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23703,13 +23854,13 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5040(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5040(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23723,7 +23874,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5040(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterfvNV), .-GL_PREFIX(GetCombinerInputParameterfvNV) @@ -23734,7 +23885,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): GL_PREFIX(GetCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5048(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23748,13 +23899,13 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5048(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5048(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23768,7 +23919,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5048(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterivNV), .-GL_PREFIX(GetCombinerInputParameterivNV) @@ -23779,7 +23930,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): GL_PREFIX(GetCombinerOutputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5056(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23793,13 +23944,13 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5056(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5056(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23813,7 +23964,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5056(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterfvNV), .-GL_PREFIX(GetCombinerOutputParameterfvNV) @@ -23824,7 +23975,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): GL_PREFIX(GetCombinerOutputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5064(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23838,13 +23989,13 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5064(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23858,7 +24009,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterivNV), .-GL_PREFIX(GetCombinerOutputParameterivNV) @@ -23869,7 +24020,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): GL_PREFIX(GetFinalCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5072(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23879,13 +24030,13 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5072(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5072(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23895,7 +24046,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5072(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterfvNV), .-GL_PREFIX(GetFinalCombinerInputParameterfvNV) @@ -23906,7 +24057,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): GL_PREFIX(GetFinalCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5080(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23916,13 +24067,13 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5080(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23932,7 +24083,7 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterivNV), .-GL_PREFIX(GetFinalCombinerInputParameterivNV) @@ -23943,25 +24094,25 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): GL_PREFIX(ResizeBuffersMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5088(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5088(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5088(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5088(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResizeBuffersMESA), .-GL_PREFIX(ResizeBuffersMESA) @@ -23972,7 +24123,7 @@ GL_PREFIX(ResizeBuffersMESA): GL_PREFIX(WindowPos2dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5096(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23982,13 +24133,13 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5096(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5096(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23998,7 +24149,7 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5096(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dMESA), .-GL_PREFIX(WindowPos2dMESA) @@ -24009,25 +24160,25 @@ GL_PREFIX(WindowPos2dMESA): GL_PREFIX(WindowPos2dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5104(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5104(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5104(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5104(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dvMESA), .-GL_PREFIX(WindowPos2dvMESA) @@ -24038,7 +24189,7 @@ GL_PREFIX(WindowPos2dvMESA): GL_PREFIX(WindowPos2fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5112(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24048,13 +24199,13 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5112(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5112(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24064,7 +24215,7 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5112(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fMESA), .-GL_PREFIX(WindowPos2fMESA) @@ -24075,25 +24226,25 @@ GL_PREFIX(WindowPos2fMESA): GL_PREFIX(WindowPos2fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5120(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5120(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5120(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5120(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fvMESA), .-GL_PREFIX(WindowPos2fvMESA) @@ -24104,7 +24255,7 @@ GL_PREFIX(WindowPos2fvMESA): GL_PREFIX(WindowPos2iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5128(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24114,13 +24265,13 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5128(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5128(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24130,7 +24281,7 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5128(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2iMESA), .-GL_PREFIX(WindowPos2iMESA) @@ -24141,25 +24292,25 @@ GL_PREFIX(WindowPos2iMESA): GL_PREFIX(WindowPos2ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5136(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5136(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5136(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5136(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2ivMESA), .-GL_PREFIX(WindowPos2ivMESA) @@ -24170,7 +24321,7 @@ GL_PREFIX(WindowPos2ivMESA): GL_PREFIX(WindowPos2sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5144(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24180,13 +24331,13 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5144(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5144(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24196,7 +24347,7 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5144(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2sMESA), .-GL_PREFIX(WindowPos2sMESA) @@ -24207,25 +24358,25 @@ GL_PREFIX(WindowPos2sMESA): GL_PREFIX(WindowPos2svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5152(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5152(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5152(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5152(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2svMESA), .-GL_PREFIX(WindowPos2svMESA) @@ -24236,7 +24387,7 @@ GL_PREFIX(WindowPos2svMESA): GL_PREFIX(WindowPos3dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5160(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24248,13 +24399,13 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5160(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5160(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24266,7 +24417,7 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5160(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dMESA), .-GL_PREFIX(WindowPos3dMESA) @@ -24277,25 +24428,25 @@ GL_PREFIX(WindowPos3dMESA): GL_PREFIX(WindowPos3dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5168(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5168(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5168(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5168(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dvMESA), .-GL_PREFIX(WindowPos3dvMESA) @@ -24306,7 +24457,7 @@ GL_PREFIX(WindowPos3dvMESA): GL_PREFIX(WindowPos3fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5176(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24318,13 +24469,13 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5176(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5176(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24336,7 +24487,7 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5176(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fMESA), .-GL_PREFIX(WindowPos3fMESA) @@ -24347,25 +24498,25 @@ GL_PREFIX(WindowPos3fMESA): GL_PREFIX(WindowPos3fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5184(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5184(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5184(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5184(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fvMESA), .-GL_PREFIX(WindowPos3fvMESA) @@ -24376,7 +24527,7 @@ GL_PREFIX(WindowPos3fvMESA): GL_PREFIX(WindowPos3iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5192(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24386,13 +24537,13 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5192(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5192(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24402,7 +24553,7 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5192(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3iMESA), .-GL_PREFIX(WindowPos3iMESA) @@ -24413,25 +24564,25 @@ GL_PREFIX(WindowPos3iMESA): GL_PREFIX(WindowPos3ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5200(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5200(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5200(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5200(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3ivMESA), .-GL_PREFIX(WindowPos3ivMESA) @@ -24442,7 +24593,7 @@ GL_PREFIX(WindowPos3ivMESA): GL_PREFIX(WindowPos3sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5208(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24452,13 +24603,13 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5208(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5208(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24468,7 +24619,7 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5208(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3sMESA), .-GL_PREFIX(WindowPos3sMESA) @@ -24479,25 +24630,25 @@ GL_PREFIX(WindowPos3sMESA): GL_PREFIX(WindowPos3svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5216(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5216(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5216(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5216(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3svMESA), .-GL_PREFIX(WindowPos3svMESA) @@ -24508,7 +24659,7 @@ GL_PREFIX(WindowPos3svMESA): GL_PREFIX(WindowPos4dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5224(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -24522,13 +24673,13 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5224(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5224(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -24542,7 +24693,7 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5224(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dMESA), .-GL_PREFIX(WindowPos4dMESA) @@ -24553,25 +24704,25 @@ GL_PREFIX(WindowPos4dMESA): GL_PREFIX(WindowPos4dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5232(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5232(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5232(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5232(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dvMESA), .-GL_PREFIX(WindowPos4dvMESA) @@ -24582,7 +24733,7 @@ GL_PREFIX(WindowPos4dvMESA): GL_PREFIX(WindowPos4fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5240(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -24596,13 +24747,13 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5240(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5240(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -24616,7 +24767,7 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5240(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fMESA), .-GL_PREFIX(WindowPos4fMESA) @@ -24627,25 +24778,25 @@ GL_PREFIX(WindowPos4fMESA): GL_PREFIX(WindowPos4fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5248(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5248(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5248(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5248(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fvMESA), .-GL_PREFIX(WindowPos4fvMESA) @@ -24656,7 +24807,7 @@ GL_PREFIX(WindowPos4fvMESA): GL_PREFIX(WindowPos4iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5256(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24670,13 +24821,13 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5256(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5256(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24690,7 +24841,7 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5256(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4iMESA), .-GL_PREFIX(WindowPos4iMESA) @@ -24701,25 +24852,25 @@ GL_PREFIX(WindowPos4iMESA): GL_PREFIX(WindowPos4ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5264(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5264(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5264(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5264(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4ivMESA), .-GL_PREFIX(WindowPos4ivMESA) @@ -24730,7 +24881,7 @@ GL_PREFIX(WindowPos4ivMESA): GL_PREFIX(WindowPos4sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5272(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24744,13 +24895,13 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5272(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24764,7 +24915,7 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4sMESA), .-GL_PREFIX(WindowPos4sMESA) @@ -24775,37 +24926,37 @@ GL_PREFIX(WindowPos4sMESA): GL_PREFIX(WindowPos4svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5280(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5280(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5280(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5280(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_661) - .type GL_PREFIX(_dispatch_stub_661), @function - HIDDEN(GL_PREFIX(_dispatch_stub_661)) -GL_PREFIX(_dispatch_stub_661): + .globl GL_PREFIX(_dispatch_stub_664) + .type GL_PREFIX(_dispatch_stub_664), @function + HIDDEN(GL_PREFIX(_dispatch_stub_664)) +GL_PREFIX(_dispatch_stub_664): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5288(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24819,13 +24970,13 @@ GL_PREFIX(_dispatch_stub_661): popq %rdx popq %rsi popq %rdi - movq 5288(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5288(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24839,19 +24990,19 @@ GL_PREFIX(_dispatch_stub_661): popq %rdx popq %rsi popq %rdi - movq 5288(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_661), .-GL_PREFIX(_dispatch_stub_661) + .size GL_PREFIX(_dispatch_stub_664), .-GL_PREFIX(_dispatch_stub_664) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_662) - .type GL_PREFIX(_dispatch_stub_662), @function - HIDDEN(GL_PREFIX(_dispatch_stub_662)) -GL_PREFIX(_dispatch_stub_662): + .globl GL_PREFIX(_dispatch_stub_665) + .type GL_PREFIX(_dispatch_stub_665), @function + HIDDEN(GL_PREFIX(_dispatch_stub_665)) +GL_PREFIX(_dispatch_stub_665): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5296(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24869,13 +25020,13 @@ GL_PREFIX(_dispatch_stub_662): popq %rdx popq %rsi popq %rdi - movq 5296(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5296(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24893,19 +25044,19 @@ GL_PREFIX(_dispatch_stub_662): popq %rdx popq %rsi popq %rdi - movq 5296(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_662), .-GL_PREFIX(_dispatch_stub_662) + .size GL_PREFIX(_dispatch_stub_665), .-GL_PREFIX(_dispatch_stub_665) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_663) - .type GL_PREFIX(_dispatch_stub_663), @function - HIDDEN(GL_PREFIX(_dispatch_stub_663)) -GL_PREFIX(_dispatch_stub_663): + .globl GL_PREFIX(_dispatch_stub_666) + .type GL_PREFIX(_dispatch_stub_666), @function + HIDDEN(GL_PREFIX(_dispatch_stub_666)) +GL_PREFIX(_dispatch_stub_666): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5304(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24915,13 +25066,13 @@ GL_PREFIX(_dispatch_stub_663): popq %rbp popq %rsi popq %rdi - movq 5304(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5304(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24931,49 +25082,49 @@ GL_PREFIX(_dispatch_stub_663): popq %rbp popq %rsi popq %rdi - movq 5304(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_663), .-GL_PREFIX(_dispatch_stub_663) + .size GL_PREFIX(_dispatch_stub_666), .-GL_PREFIX(_dispatch_stub_666) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_664) - .type GL_PREFIX(_dispatch_stub_664), @function - HIDDEN(GL_PREFIX(_dispatch_stub_664)) -GL_PREFIX(_dispatch_stub_664): + .globl GL_PREFIX(_dispatch_stub_667) + .type GL_PREFIX(_dispatch_stub_667), @function + HIDDEN(GL_PREFIX(_dispatch_stub_667)) +GL_PREFIX(_dispatch_stub_667): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5312(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5312(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5312(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5312(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_664), .-GL_PREFIX(_dispatch_stub_664) + .size GL_PREFIX(_dispatch_stub_667), .-GL_PREFIX(_dispatch_stub_667) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_665) - .type GL_PREFIX(_dispatch_stub_665), @function - HIDDEN(GL_PREFIX(_dispatch_stub_665)) -GL_PREFIX(_dispatch_stub_665): + .globl GL_PREFIX(_dispatch_stub_668) + .type GL_PREFIX(_dispatch_stub_668), @function + HIDDEN(GL_PREFIX(_dispatch_stub_668)) +GL_PREFIX(_dispatch_stub_668): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5320(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24983,13 +25134,13 @@ GL_PREFIX(_dispatch_stub_665): popq %rbp popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5320(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24999,19 +25150,19 @@ GL_PREFIX(_dispatch_stub_665): popq %rbp popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_665), .-GL_PREFIX(_dispatch_stub_665) + .size GL_PREFIX(_dispatch_stub_668), .-GL_PREFIX(_dispatch_stub_668) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_666) - .type GL_PREFIX(_dispatch_stub_666), @function - HIDDEN(GL_PREFIX(_dispatch_stub_666)) -GL_PREFIX(_dispatch_stub_666): + .globl GL_PREFIX(_dispatch_stub_669) + .type GL_PREFIX(_dispatch_stub_669), @function + HIDDEN(GL_PREFIX(_dispatch_stub_669)) +GL_PREFIX(_dispatch_stub_669): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5328(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25021,13 +25172,13 @@ GL_PREFIX(_dispatch_stub_666): popq %rdx popq %rsi popq %rdi - movq 5328(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5328(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25037,49 +25188,49 @@ GL_PREFIX(_dispatch_stub_666): popq %rdx popq %rsi popq %rdi - movq 5328(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_666), .-GL_PREFIX(_dispatch_stub_666) + .size GL_PREFIX(_dispatch_stub_669), .-GL_PREFIX(_dispatch_stub_669) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_667) - .type GL_PREFIX(_dispatch_stub_667), @function - HIDDEN(GL_PREFIX(_dispatch_stub_667)) -GL_PREFIX(_dispatch_stub_667): + .globl GL_PREFIX(_dispatch_stub_670) + .type GL_PREFIX(_dispatch_stub_670), @function + HIDDEN(GL_PREFIX(_dispatch_stub_670)) +GL_PREFIX(_dispatch_stub_670): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5336(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5336(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5336(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5336(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_667), .-GL_PREFIX(_dispatch_stub_667) + .size GL_PREFIX(_dispatch_stub_670), .-GL_PREFIX(_dispatch_stub_670) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_668) - .type GL_PREFIX(_dispatch_stub_668), @function - HIDDEN(GL_PREFIX(_dispatch_stub_668)) -GL_PREFIX(_dispatch_stub_668): + .globl GL_PREFIX(_dispatch_stub_671) + .type GL_PREFIX(_dispatch_stub_671), @function + HIDDEN(GL_PREFIX(_dispatch_stub_671)) +GL_PREFIX(_dispatch_stub_671): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5344(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25089,13 +25240,13 @@ GL_PREFIX(_dispatch_stub_668): popq %rbp popq %rsi popq %rdi - movq 5344(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5344(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25105,40 +25256,40 @@ GL_PREFIX(_dispatch_stub_668): popq %rbp popq %rsi popq %rdi - movq 5344(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_668), .-GL_PREFIX(_dispatch_stub_668) + .size GL_PREFIX(_dispatch_stub_671), .-GL_PREFIX(_dispatch_stub_671) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_669) - .type GL_PREFIX(_dispatch_stub_669), @function - HIDDEN(GL_PREFIX(_dispatch_stub_669)) -GL_PREFIX(_dispatch_stub_669): + .globl GL_PREFIX(_dispatch_stub_672) + .type GL_PREFIX(_dispatch_stub_672), @function + HIDDEN(GL_PREFIX(_dispatch_stub_672)) +GL_PREFIX(_dispatch_stub_672): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5352(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5352(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5352(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5352(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_669), .-GL_PREFIX(_dispatch_stub_669) + .size GL_PREFIX(_dispatch_stub_672), .-GL_PREFIX(_dispatch_stub_672) .p2align 4,,15 .globl GL_PREFIX(AreProgramsResidentNV) @@ -25146,7 +25297,7 @@ GL_PREFIX(_dispatch_stub_669): GL_PREFIX(AreProgramsResidentNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5360(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25156,13 +25307,13 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5360(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5360(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25172,7 +25323,7 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5360(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AreProgramsResidentNV), .-GL_PREFIX(AreProgramsResidentNV) @@ -25183,7 +25334,7 @@ GL_PREFIX(AreProgramsResidentNV): GL_PREFIX(BindProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5368(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25193,13 +25344,13 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5368(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25209,7 +25360,7 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindProgramNV), .-GL_PREFIX(BindProgramNV) @@ -25220,7 +25371,7 @@ GL_PREFIX(BindProgramNV): GL_PREFIX(DeleteProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5376(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25230,13 +25381,13 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5376(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5376(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25246,7 +25397,7 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5376(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteProgramsNV), .-GL_PREFIX(DeleteProgramsNV) @@ -25257,7 +25408,7 @@ GL_PREFIX(DeleteProgramsNV): GL_PREFIX(ExecuteProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5384(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25267,13 +25418,13 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5384(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25283,7 +25434,7 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ExecuteProgramNV), .-GL_PREFIX(ExecuteProgramNV) @@ -25294,7 +25445,7 @@ GL_PREFIX(ExecuteProgramNV): GL_PREFIX(GenProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5392(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25304,13 +25455,13 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5392(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5392(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25320,7 +25471,7 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5392(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenProgramsNV), .-GL_PREFIX(GenProgramsNV) @@ -25331,7 +25482,7 @@ GL_PREFIX(GenProgramsNV): GL_PREFIX(GetProgramParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5400(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25345,13 +25496,13 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5400(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25365,7 +25516,7 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterdvNV), .-GL_PREFIX(GetProgramParameterdvNV) @@ -25376,7 +25527,7 @@ GL_PREFIX(GetProgramParameterdvNV): GL_PREFIX(GetProgramParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5408(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25390,13 +25541,13 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5408(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5408(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25410,7 +25561,7 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5408(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterfvNV), .-GL_PREFIX(GetProgramParameterfvNV) @@ -25421,7 +25572,7 @@ GL_PREFIX(GetProgramParameterfvNV): GL_PREFIX(GetProgramStringNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5416(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25431,13 +25582,13 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5416(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5416(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25447,7 +25598,7 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5416(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramStringNV), .-GL_PREFIX(GetProgramStringNV) @@ -25458,7 +25609,7 @@ GL_PREFIX(GetProgramStringNV): GL_PREFIX(GetProgramivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5424(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25468,13 +25619,13 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5424(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5424(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25484,7 +25635,7 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5424(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramivNV), .-GL_PREFIX(GetProgramivNV) @@ -25495,7 +25646,7 @@ GL_PREFIX(GetProgramivNV): GL_PREFIX(GetTrackMatrixivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5432(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25509,13 +25660,13 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5432(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25529,7 +25680,7 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTrackMatrixivNV), .-GL_PREFIX(GetTrackMatrixivNV) @@ -25540,7 +25691,7 @@ GL_PREFIX(GetTrackMatrixivNV): GL_PREFIX(GetVertexAttribPointervNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5440(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25550,13 +25701,13 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5440(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5440(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25566,7 +25717,7 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5440(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribPointervNV), .-GL_PREFIX(GetVertexAttribPointervNV) @@ -25577,7 +25728,7 @@ GL_PREFIX(GetVertexAttribPointervNV): GL_PREFIX(GetVertexAttribdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5448(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25587,13 +25738,13 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5448(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25603,7 +25754,7 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribdvNV), .-GL_PREFIX(GetVertexAttribdvNV) @@ -25614,7 +25765,7 @@ GL_PREFIX(GetVertexAttribdvNV): GL_PREFIX(GetVertexAttribfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5456(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25624,13 +25775,13 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5456(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25640,7 +25791,7 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribfvNV), .-GL_PREFIX(GetVertexAttribfvNV) @@ -25651,7 +25802,7 @@ GL_PREFIX(GetVertexAttribfvNV): GL_PREFIX(GetVertexAttribivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5464(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25661,13 +25812,13 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5464(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25677,7 +25828,7 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribivNV), .-GL_PREFIX(GetVertexAttribivNV) @@ -25688,25 +25839,25 @@ GL_PREFIX(GetVertexAttribivNV): GL_PREFIX(IsProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5472(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5472(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5472(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5472(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsProgramNV), .-GL_PREFIX(IsProgramNV) @@ -25717,7 +25868,7 @@ GL_PREFIX(IsProgramNV): GL_PREFIX(LoadProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5480(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25731,13 +25882,13 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5480(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5480(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25751,7 +25902,7 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5480(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadProgramNV), .-GL_PREFIX(LoadProgramNV) @@ -25762,7 +25913,7 @@ GL_PREFIX(LoadProgramNV): GL_PREFIX(ProgramParameters4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5488(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25776,13 +25927,13 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5488(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5488(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25796,7 +25947,7 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5488(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4dvNV), .-GL_PREFIX(ProgramParameters4dvNV) @@ -25807,7 +25958,7 @@ GL_PREFIX(ProgramParameters4dvNV): GL_PREFIX(ProgramParameters4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5496(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25821,13 +25972,13 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5496(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25841,7 +25992,7 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4fvNV), .-GL_PREFIX(ProgramParameters4fvNV) @@ -25852,7 +26003,7 @@ GL_PREFIX(ProgramParameters4fvNV): GL_PREFIX(RequestResidentProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5504(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25862,13 +26013,13 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5504(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5504(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25878,7 +26029,7 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5504(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RequestResidentProgramsNV), .-GL_PREFIX(RequestResidentProgramsNV) @@ -25889,7 +26040,7 @@ GL_PREFIX(RequestResidentProgramsNV): GL_PREFIX(TrackMatrixNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5512(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25903,13 +26054,13 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5512(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5512(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25923,7 +26074,7 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5512(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TrackMatrixNV), .-GL_PREFIX(TrackMatrixNV) @@ -25934,7 +26085,7 @@ GL_PREFIX(TrackMatrixNV): GL_PREFIX(VertexAttrib1dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5520(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25944,13 +26095,13 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5520(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5520(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25960,7 +26111,7 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5520(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dNV), .-GL_PREFIX(VertexAttrib1dNV) @@ -25971,7 +26122,7 @@ GL_PREFIX(VertexAttrib1dNV): GL_PREFIX(VertexAttrib1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5528(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25981,13 +26132,13 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5528(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5528(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25997,7 +26148,7 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5528(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dvNV), .-GL_PREFIX(VertexAttrib1dvNV) @@ -26008,7 +26159,7 @@ GL_PREFIX(VertexAttrib1dvNV): GL_PREFIX(VertexAttrib1fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5536(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26018,13 +26169,13 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5536(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5536(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26034,7 +26185,7 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5536(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fNV), .-GL_PREFIX(VertexAttrib1fNV) @@ -26045,7 +26196,7 @@ GL_PREFIX(VertexAttrib1fNV): GL_PREFIX(VertexAttrib1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5544(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26055,13 +26206,13 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5544(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26071,7 +26222,7 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fvNV), .-GL_PREFIX(VertexAttrib1fvNV) @@ -26082,7 +26233,7 @@ GL_PREFIX(VertexAttrib1fvNV): GL_PREFIX(VertexAttrib1sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5552(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26092,13 +26243,13 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5552(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26108,7 +26259,7 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1sNV), .-GL_PREFIX(VertexAttrib1sNV) @@ -26119,7 +26270,7 @@ GL_PREFIX(VertexAttrib1sNV): GL_PREFIX(VertexAttrib1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5560(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26129,13 +26280,13 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5560(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5560(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26145,7 +26296,7 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5560(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1svNV), .-GL_PREFIX(VertexAttrib1svNV) @@ -26156,7 +26307,7 @@ GL_PREFIX(VertexAttrib1svNV): GL_PREFIX(VertexAttrib2dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5568(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26168,13 +26319,13 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5568(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5568(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26186,7 +26337,7 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5568(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dNV), .-GL_PREFIX(VertexAttrib2dNV) @@ -26197,7 +26348,7 @@ GL_PREFIX(VertexAttrib2dNV): GL_PREFIX(VertexAttrib2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5576(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26207,13 +26358,13 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5576(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26223,7 +26374,7 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dvNV), .-GL_PREFIX(VertexAttrib2dvNV) @@ -26234,7 +26385,7 @@ GL_PREFIX(VertexAttrib2dvNV): GL_PREFIX(VertexAttrib2fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5584(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26246,13 +26397,13 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5584(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5584(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26264,7 +26415,7 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5584(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fNV), .-GL_PREFIX(VertexAttrib2fNV) @@ -26275,7 +26426,7 @@ GL_PREFIX(VertexAttrib2fNV): GL_PREFIX(VertexAttrib2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5592(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26285,13 +26436,13 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5592(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26301,7 +26452,7 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fvNV), .-GL_PREFIX(VertexAttrib2fvNV) @@ -26312,7 +26463,7 @@ GL_PREFIX(VertexAttrib2fvNV): GL_PREFIX(VertexAttrib2sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5600(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26322,13 +26473,13 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5600(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26338,7 +26489,7 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2sNV), .-GL_PREFIX(VertexAttrib2sNV) @@ -26349,7 +26500,7 @@ GL_PREFIX(VertexAttrib2sNV): GL_PREFIX(VertexAttrib2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5608(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26359,13 +26510,13 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5608(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26375,7 +26526,7 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2svNV), .-GL_PREFIX(VertexAttrib2svNV) @@ -26386,7 +26537,7 @@ GL_PREFIX(VertexAttrib2svNV): GL_PREFIX(VertexAttrib3dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5616(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26400,13 +26551,13 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5616(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5616(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26420,7 +26571,7 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5616(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dNV), .-GL_PREFIX(VertexAttrib3dNV) @@ -26431,7 +26582,7 @@ GL_PREFIX(VertexAttrib3dNV): GL_PREFIX(VertexAttrib3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5624(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26441,13 +26592,13 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5624(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5624(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26457,7 +26608,7 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5624(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dvNV), .-GL_PREFIX(VertexAttrib3dvNV) @@ -26468,7 +26619,7 @@ GL_PREFIX(VertexAttrib3dvNV): GL_PREFIX(VertexAttrib3fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5632(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26482,13 +26633,13 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5632(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5632(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26502,7 +26653,7 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5632(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fNV), .-GL_PREFIX(VertexAttrib3fNV) @@ -26513,7 +26664,7 @@ GL_PREFIX(VertexAttrib3fNV): GL_PREFIX(VertexAttrib3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5640(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26523,13 +26674,13 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5640(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26539,7 +26690,7 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fvNV), .-GL_PREFIX(VertexAttrib3fvNV) @@ -26550,7 +26701,7 @@ GL_PREFIX(VertexAttrib3fvNV): GL_PREFIX(VertexAttrib3sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5648(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26564,13 +26715,13 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5648(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26584,7 +26735,7 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3sNV), .-GL_PREFIX(VertexAttrib3sNV) @@ -26595,7 +26746,7 @@ GL_PREFIX(VertexAttrib3sNV): GL_PREFIX(VertexAttrib3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5656(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26605,13 +26756,13 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5656(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5656(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26621,7 +26772,7 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5656(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3svNV), .-GL_PREFIX(VertexAttrib3svNV) @@ -26632,7 +26783,7 @@ GL_PREFIX(VertexAttrib3svNV): GL_PREFIX(VertexAttrib4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5664(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26648,13 +26799,13 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5664(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5664(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26670,7 +26821,7 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5664(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dNV), .-GL_PREFIX(VertexAttrib4dNV) @@ -26681,7 +26832,7 @@ GL_PREFIX(VertexAttrib4dNV): GL_PREFIX(VertexAttrib4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5672(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26691,13 +26842,13 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5672(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5672(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26707,7 +26858,7 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5672(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dvNV), .-GL_PREFIX(VertexAttrib4dvNV) @@ -26718,7 +26869,7 @@ GL_PREFIX(VertexAttrib4dvNV): GL_PREFIX(VertexAttrib4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5680(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26734,13 +26885,13 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5680(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5680(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26756,7 +26907,7 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5680(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fNV), .-GL_PREFIX(VertexAttrib4fNV) @@ -26767,7 +26918,7 @@ GL_PREFIX(VertexAttrib4fNV): GL_PREFIX(VertexAttrib4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5688(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26777,13 +26928,13 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5688(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26793,7 +26944,7 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fvNV), .-GL_PREFIX(VertexAttrib4fvNV) @@ -26804,7 +26955,7 @@ GL_PREFIX(VertexAttrib4fvNV): GL_PREFIX(VertexAttrib4sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5696(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26818,13 +26969,13 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5696(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26838,7 +26989,7 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4sNV), .-GL_PREFIX(VertexAttrib4sNV) @@ -26849,7 +27000,7 @@ GL_PREFIX(VertexAttrib4sNV): GL_PREFIX(VertexAttrib4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5704(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26859,13 +27010,13 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5704(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26875,7 +27026,7 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4svNV), .-GL_PREFIX(VertexAttrib4svNV) @@ -26886,7 +27037,7 @@ GL_PREFIX(VertexAttrib4svNV): GL_PREFIX(VertexAttrib4ubNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5712(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26900,13 +27051,13 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5712(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26920,7 +27071,7 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubNV), .-GL_PREFIX(VertexAttrib4ubNV) @@ -26931,7 +27082,7 @@ GL_PREFIX(VertexAttrib4ubNV): GL_PREFIX(VertexAttrib4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5720(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26941,13 +27092,13 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5720(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5720(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26957,7 +27108,7 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5720(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubvNV), .-GL_PREFIX(VertexAttrib4ubvNV) @@ -26968,7 +27119,7 @@ GL_PREFIX(VertexAttrib4ubvNV): GL_PREFIX(VertexAttribPointerNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5728(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26982,13 +27133,13 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5728(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27002,7 +27153,7 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribPointerNV), .-GL_PREFIX(VertexAttribPointerNV) @@ -27013,7 +27164,7 @@ GL_PREFIX(VertexAttribPointerNV): GL_PREFIX(VertexAttribs1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5736(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27023,13 +27174,13 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5736(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27039,7 +27190,7 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1dvNV), .-GL_PREFIX(VertexAttribs1dvNV) @@ -27050,7 +27201,7 @@ GL_PREFIX(VertexAttribs1dvNV): GL_PREFIX(VertexAttribs1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5744(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27060,13 +27211,13 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5744(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27076,7 +27227,7 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1fvNV), .-GL_PREFIX(VertexAttribs1fvNV) @@ -27087,7 +27238,7 @@ GL_PREFIX(VertexAttribs1fvNV): GL_PREFIX(VertexAttribs1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5752(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27097,13 +27248,13 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5752(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27113,7 +27264,7 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1svNV), .-GL_PREFIX(VertexAttribs1svNV) @@ -27124,7 +27275,7 @@ GL_PREFIX(VertexAttribs1svNV): GL_PREFIX(VertexAttribs2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5760(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27134,13 +27285,13 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5760(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27150,7 +27301,7 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2dvNV), .-GL_PREFIX(VertexAttribs2dvNV) @@ -27161,7 +27312,7 @@ GL_PREFIX(VertexAttribs2dvNV): GL_PREFIX(VertexAttribs2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5768(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27171,13 +27322,13 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5768(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27187,7 +27338,7 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2fvNV), .-GL_PREFIX(VertexAttribs2fvNV) @@ -27198,7 +27349,7 @@ GL_PREFIX(VertexAttribs2fvNV): GL_PREFIX(VertexAttribs2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5776(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27208,13 +27359,13 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5776(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5776(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27224,7 +27375,7 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5776(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2svNV), .-GL_PREFIX(VertexAttribs2svNV) @@ -27235,7 +27386,7 @@ GL_PREFIX(VertexAttribs2svNV): GL_PREFIX(VertexAttribs3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5784(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27245,13 +27396,13 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5784(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27261,7 +27412,7 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3dvNV), .-GL_PREFIX(VertexAttribs3dvNV) @@ -27272,7 +27423,7 @@ GL_PREFIX(VertexAttribs3dvNV): GL_PREFIX(VertexAttribs3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5792(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27282,13 +27433,13 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5792(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27298,7 +27449,7 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3fvNV), .-GL_PREFIX(VertexAttribs3fvNV) @@ -27309,7 +27460,7 @@ GL_PREFIX(VertexAttribs3fvNV): GL_PREFIX(VertexAttribs3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5800(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27319,13 +27470,13 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5800(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27335,7 +27486,7 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3svNV), .-GL_PREFIX(VertexAttribs3svNV) @@ -27346,7 +27497,7 @@ GL_PREFIX(VertexAttribs3svNV): GL_PREFIX(VertexAttribs4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5808(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27356,13 +27507,13 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 5808(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5808(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27372,7 +27523,7 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 5808(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4dvNV), .-GL_PREFIX(VertexAttribs4dvNV) @@ -27383,7 +27534,7 @@ GL_PREFIX(VertexAttribs4dvNV): GL_PREFIX(VertexAttribs4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5816(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27393,13 +27544,13 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5816(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27409,7 +27560,7 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4fvNV), .-GL_PREFIX(VertexAttribs4fvNV) @@ -27420,7 +27571,7 @@ GL_PREFIX(VertexAttribs4fvNV): GL_PREFIX(VertexAttribs4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5824(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27430,13 +27581,13 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 5824(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5824(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27446,7 +27597,7 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 5824(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4svNV), .-GL_PREFIX(VertexAttribs4svNV) @@ -27457,7 +27608,7 @@ GL_PREFIX(VertexAttribs4svNV): GL_PREFIX(VertexAttribs4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5832(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27467,13 +27618,13 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5832(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27483,7 +27634,7 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4ubvNV), .-GL_PREFIX(VertexAttribs4ubvNV) @@ -27494,7 +27645,7 @@ GL_PREFIX(VertexAttribs4ubvNV): GL_PREFIX(GetTexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5840(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27504,13 +27655,13 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5840(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5840(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27520,7 +27671,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5840(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterfvATI), .-GL_PREFIX(GetTexBumpParameterfvATI) @@ -27531,7 +27682,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): GL_PREFIX(GetTexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5848(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27541,13 +27692,13 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5848(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27557,7 +27708,7 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterivATI), .-GL_PREFIX(GetTexBumpParameterivATI) @@ -27568,7 +27719,7 @@ GL_PREFIX(GetTexBumpParameterivATI): GL_PREFIX(TexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5856(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27578,13 +27729,13 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5856(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27594,7 +27745,7 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterfvATI), .-GL_PREFIX(TexBumpParameterfvATI) @@ -27605,7 +27756,7 @@ GL_PREFIX(TexBumpParameterfvATI): GL_PREFIX(TexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5864(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27615,13 +27766,13 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5864(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27631,7 +27782,7 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterivATI), .-GL_PREFIX(TexBumpParameterivATI) @@ -27642,7 +27793,7 @@ GL_PREFIX(TexBumpParameterivATI): GL_PREFIX(AlphaFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5872(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27660,13 +27811,13 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5872(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5872(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27684,7 +27835,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5872(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp1ATI), .-GL_PREFIX(AlphaFragmentOp1ATI) @@ -27695,7 +27846,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): GL_PREFIX(AlphaFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5880(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27713,13 +27864,13 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5880(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5880(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27737,7 +27888,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5880(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp2ATI), .-GL_PREFIX(AlphaFragmentOp2ATI) @@ -27748,7 +27899,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): GL_PREFIX(AlphaFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5888(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27766,13 +27917,13 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5888(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27790,7 +27941,7 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp3ATI), .-GL_PREFIX(AlphaFragmentOp3ATI) @@ -27801,25 +27952,25 @@ GL_PREFIX(AlphaFragmentOp3ATI): GL_PREFIX(BeginFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5896(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5896(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5896(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5896(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginFragmentShaderATI), .-GL_PREFIX(BeginFragmentShaderATI) @@ -27830,25 +27981,25 @@ GL_PREFIX(BeginFragmentShaderATI): GL_PREFIX(BindFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5904(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5904(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5904(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5904(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragmentShaderATI), .-GL_PREFIX(BindFragmentShaderATI) @@ -27859,7 +28010,7 @@ GL_PREFIX(BindFragmentShaderATI): GL_PREFIX(ColorFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5912(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27877,13 +28028,13 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5912(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27901,7 +28052,7 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp1ATI), .-GL_PREFIX(ColorFragmentOp1ATI) @@ -27912,7 +28063,7 @@ GL_PREFIX(ColorFragmentOp1ATI): GL_PREFIX(ColorFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5920(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27930,13 +28081,13 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5920(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27954,7 +28105,7 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp2ATI), .-GL_PREFIX(ColorFragmentOp2ATI) @@ -27965,7 +28116,7 @@ GL_PREFIX(ColorFragmentOp2ATI): GL_PREFIX(ColorFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5928(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27983,13 +28134,13 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5928(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28007,7 +28158,7 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp3ATI), .-GL_PREFIX(ColorFragmentOp3ATI) @@ -28018,25 +28169,25 @@ GL_PREFIX(ColorFragmentOp3ATI): GL_PREFIX(DeleteFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5936(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5936(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5936(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5936(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFragmentShaderATI), .-GL_PREFIX(DeleteFragmentShaderATI) @@ -28047,25 +28198,25 @@ GL_PREFIX(DeleteFragmentShaderATI): GL_PREFIX(EndFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5944(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5944(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5944(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5944(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndFragmentShaderATI), .-GL_PREFIX(EndFragmentShaderATI) @@ -28076,25 +28227,25 @@ GL_PREFIX(EndFragmentShaderATI): GL_PREFIX(GenFragmentShadersATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5952(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5952(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5952(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5952(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFragmentShadersATI), .-GL_PREFIX(GenFragmentShadersATI) @@ -28105,7 +28256,7 @@ GL_PREFIX(GenFragmentShadersATI): GL_PREFIX(PassTexCoordATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5960(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28115,13 +28266,13 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5960(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28131,7 +28282,7 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PassTexCoordATI), .-GL_PREFIX(PassTexCoordATI) @@ -28142,7 +28293,7 @@ GL_PREFIX(PassTexCoordATI): GL_PREFIX(SampleMapATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5968(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28152,13 +28303,13 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5968(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28168,7 +28319,7 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SampleMapATI), .-GL_PREFIX(SampleMapATI) @@ -28179,7 +28330,7 @@ GL_PREFIX(SampleMapATI): GL_PREFIX(SetFragmentShaderConstantATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5976(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28189,13 +28340,13 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 5976(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5976(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28205,7 +28356,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 5976(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SetFragmentShaderConstantATI), .-GL_PREFIX(SetFragmentShaderConstantATI) @@ -28216,7 +28367,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): GL_PREFIX(PointParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5984(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28226,13 +28377,13 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5984(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28242,7 +28393,7 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameteriNV), .-GL_PREFIX(PointParameteriNV) @@ -28253,7 +28404,7 @@ GL_PREFIX(PointParameteriNV): GL_PREFIX(PointParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5992(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28263,13 +28414,13 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5992(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5992(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28279,79 +28430,79 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5992(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_750) - .type GL_PREFIX(_dispatch_stub_750), @function - HIDDEN(GL_PREFIX(_dispatch_stub_750)) -GL_PREFIX(_dispatch_stub_750): + .globl GL_PREFIX(_dispatch_stub_753) + .type GL_PREFIX(_dispatch_stub_753), @function + HIDDEN(GL_PREFIX(_dispatch_stub_753)) +GL_PREFIX(_dispatch_stub_753): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6000(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6000(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6000(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6000(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_750), .-GL_PREFIX(_dispatch_stub_750) + .size GL_PREFIX(_dispatch_stub_753), .-GL_PREFIX(_dispatch_stub_753) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_751) - .type GL_PREFIX(_dispatch_stub_751), @function - HIDDEN(GL_PREFIX(_dispatch_stub_751)) -GL_PREFIX(_dispatch_stub_751): + .globl GL_PREFIX(_dispatch_stub_754) + .type GL_PREFIX(_dispatch_stub_754), @function + HIDDEN(GL_PREFIX(_dispatch_stub_754)) +GL_PREFIX(_dispatch_stub_754): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6008(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6008(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6008(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6008(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_751), .-GL_PREFIX(_dispatch_stub_751) + .size GL_PREFIX(_dispatch_stub_754), .-GL_PREFIX(_dispatch_stub_754) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_752) - .type GL_PREFIX(_dispatch_stub_752), @function - HIDDEN(GL_PREFIX(_dispatch_stub_752)) -GL_PREFIX(_dispatch_stub_752): + .globl GL_PREFIX(_dispatch_stub_755) + .type GL_PREFIX(_dispatch_stub_755), @function + HIDDEN(GL_PREFIX(_dispatch_stub_755)) +GL_PREFIX(_dispatch_stub_755): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6016(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28361,13 +28512,13 @@ GL_PREFIX(_dispatch_stub_752): popq %rbp popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6016(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28377,19 +28528,19 @@ GL_PREFIX(_dispatch_stub_752): popq %rbp popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_752), .-GL_PREFIX(_dispatch_stub_752) + .size GL_PREFIX(_dispatch_stub_755), .-GL_PREFIX(_dispatch_stub_755) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_753) - .type GL_PREFIX(_dispatch_stub_753), @function - HIDDEN(GL_PREFIX(_dispatch_stub_753)) -GL_PREFIX(_dispatch_stub_753): + .globl GL_PREFIX(_dispatch_stub_756) + .type GL_PREFIX(_dispatch_stub_756), @function + HIDDEN(GL_PREFIX(_dispatch_stub_756)) +GL_PREFIX(_dispatch_stub_756): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6024(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28399,13 +28550,13 @@ GL_PREFIX(_dispatch_stub_753): popq %rbp popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6024(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28415,40 +28566,40 @@ GL_PREFIX(_dispatch_stub_753): popq %rbp popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_753), .-GL_PREFIX(_dispatch_stub_753) + .size GL_PREFIX(_dispatch_stub_756), .-GL_PREFIX(_dispatch_stub_756) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_754) - .type GL_PREFIX(_dispatch_stub_754), @function - HIDDEN(GL_PREFIX(_dispatch_stub_754)) -GL_PREFIX(_dispatch_stub_754): + .globl GL_PREFIX(_dispatch_stub_757) + .type GL_PREFIX(_dispatch_stub_757), @function + HIDDEN(GL_PREFIX(_dispatch_stub_757)) +GL_PREFIX(_dispatch_stub_757): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6032(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6032(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6032(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6032(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_754), .-GL_PREFIX(_dispatch_stub_754) + .size GL_PREFIX(_dispatch_stub_757), .-GL_PREFIX(_dispatch_stub_757) .p2align 4,,15 .globl GL_PREFIX(GetProgramNamedParameterdvNV) @@ -28456,7 +28607,7 @@ GL_PREFIX(_dispatch_stub_754): GL_PREFIX(GetProgramNamedParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6040(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28470,13 +28621,13 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6040(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28490,7 +28641,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterdvNV), .-GL_PREFIX(GetProgramNamedParameterdvNV) @@ -28501,7 +28652,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): GL_PREFIX(GetProgramNamedParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6048(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28515,13 +28666,13 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6048(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28535,7 +28686,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterfvNV), .-GL_PREFIX(GetProgramNamedParameterfvNV) @@ -28546,7 +28697,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): GL_PREFIX(ProgramNamedParameter4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6056(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -28566,13 +28717,13 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6056(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6056(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -28592,7 +28743,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6056(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dNV), .-GL_PREFIX(ProgramNamedParameter4dNV) @@ -28603,7 +28754,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): GL_PREFIX(ProgramNamedParameter4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6064(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28617,13 +28768,13 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6064(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28637,7 +28788,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dvNV), .-GL_PREFIX(ProgramNamedParameter4dvNV) @@ -28648,7 +28799,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): GL_PREFIX(ProgramNamedParameter4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6072(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -28668,13 +28819,13 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6072(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6072(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -28694,7 +28845,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6072(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fNV), .-GL_PREFIX(ProgramNamedParameter4fNV) @@ -28705,7 +28856,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): GL_PREFIX(ProgramNamedParameter4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6080(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28719,13 +28870,13 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6080(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28739,19 +28890,19 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fvNV), .-GL_PREFIX(ProgramNamedParameter4fvNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_761) - .type GL_PREFIX(_dispatch_stub_761), @function - HIDDEN(GL_PREFIX(_dispatch_stub_761)) -GL_PREFIX(_dispatch_stub_761): + .globl GL_PREFIX(_dispatch_stub_764) + .type GL_PREFIX(_dispatch_stub_764), @function + HIDDEN(GL_PREFIX(_dispatch_stub_764)) +GL_PREFIX(_dispatch_stub_764): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6088(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28761,13 +28912,13 @@ GL_PREFIX(_dispatch_stub_761): popq %rbp popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6088(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28777,19 +28928,19 @@ GL_PREFIX(_dispatch_stub_761): popq %rbp popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_761), .-GL_PREFIX(_dispatch_stub_761) + .size GL_PREFIX(_dispatch_stub_764), .-GL_PREFIX(_dispatch_stub_764) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_762) - .type GL_PREFIX(_dispatch_stub_762), @function - HIDDEN(GL_PREFIX(_dispatch_stub_762)) -GL_PREFIX(_dispatch_stub_762): + .globl GL_PREFIX(_dispatch_stub_765) + .type GL_PREFIX(_dispatch_stub_765), @function + HIDDEN(GL_PREFIX(_dispatch_stub_765)) +GL_PREFIX(_dispatch_stub_765): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6096(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28799,13 +28950,13 @@ GL_PREFIX(_dispatch_stub_762): popq %rbp popq %rsi popq %rdi - movq 6096(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6096(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28815,10 +28966,10 @@ GL_PREFIX(_dispatch_stub_762): popq %rbp popq %rsi popq %rdi - movq 6096(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_762), .-GL_PREFIX(_dispatch_stub_762) + .size GL_PREFIX(_dispatch_stub_765), .-GL_PREFIX(_dispatch_stub_765) .p2align 4,,15 .globl GL_PREFIX(BindFramebufferEXT) @@ -28826,7 +28977,7 @@ GL_PREFIX(_dispatch_stub_762): GL_PREFIX(BindFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6104(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28836,13 +28987,13 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6104(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28852,7 +29003,7 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFramebufferEXT), .-GL_PREFIX(BindFramebufferEXT) @@ -28863,7 +29014,7 @@ GL_PREFIX(BindFramebufferEXT): GL_PREFIX(BindRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6112(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28873,13 +29024,13 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6112(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28889,7 +29040,7 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindRenderbufferEXT), .-GL_PREFIX(BindRenderbufferEXT) @@ -28900,25 +29051,25 @@ GL_PREFIX(BindRenderbufferEXT): GL_PREFIX(CheckFramebufferStatusEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6120(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6120(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6120(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6120(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CheckFramebufferStatusEXT), .-GL_PREFIX(CheckFramebufferStatusEXT) @@ -28929,7 +29080,7 @@ GL_PREFIX(CheckFramebufferStatusEXT): GL_PREFIX(DeleteFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6128(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28939,13 +29090,13 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6128(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28955,7 +29106,7 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFramebuffersEXT), .-GL_PREFIX(DeleteFramebuffersEXT) @@ -28966,7 +29117,7 @@ GL_PREFIX(DeleteFramebuffersEXT): GL_PREFIX(DeleteRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6136(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28976,13 +29127,13 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6136(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6136(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28992,7 +29143,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6136(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteRenderbuffersEXT), .-GL_PREFIX(DeleteRenderbuffersEXT) @@ -29003,7 +29154,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): GL_PREFIX(FramebufferRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6144(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29017,13 +29168,13 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6144(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29037,7 +29188,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferRenderbufferEXT), .-GL_PREFIX(FramebufferRenderbufferEXT) @@ -29048,7 +29199,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): GL_PREFIX(FramebufferTexture1DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6152(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29062,13 +29213,13 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6152(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29082,7 +29233,7 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture1DEXT), .-GL_PREFIX(FramebufferTexture1DEXT) @@ -29093,7 +29244,7 @@ GL_PREFIX(FramebufferTexture1DEXT): GL_PREFIX(FramebufferTexture2DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6160(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29107,13 +29258,13 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6160(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6160(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29127,7 +29278,7 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6160(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture2DEXT), .-GL_PREFIX(FramebufferTexture2DEXT) @@ -29138,7 +29289,7 @@ GL_PREFIX(FramebufferTexture2DEXT): GL_PREFIX(FramebufferTexture3DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6168(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29156,13 +29307,13 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6168(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29180,7 +29331,7 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture3DEXT), .-GL_PREFIX(FramebufferTexture3DEXT) @@ -29191,7 +29342,7 @@ GL_PREFIX(FramebufferTexture3DEXT): GL_PREFIX(GenFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6176(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29201,13 +29352,13 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6176(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29217,7 +29368,7 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFramebuffersEXT), .-GL_PREFIX(GenFramebuffersEXT) @@ -29228,7 +29379,7 @@ GL_PREFIX(GenFramebuffersEXT): GL_PREFIX(GenRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6184(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29238,13 +29389,13 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6184(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29254,7 +29405,7 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenRenderbuffersEXT), .-GL_PREFIX(GenRenderbuffersEXT) @@ -29265,25 +29416,25 @@ GL_PREFIX(GenRenderbuffersEXT): GL_PREFIX(GenerateMipmapEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6192(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6192(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6192(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6192(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenerateMipmapEXT), .-GL_PREFIX(GenerateMipmapEXT) @@ -29294,7 +29445,7 @@ GL_PREFIX(GenerateMipmapEXT): GL_PREFIX(GetFramebufferAttachmentParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6200(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29308,13 +29459,13 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6200(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29328,7 +29479,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFramebufferAttachmentParameterivEXT), .-GL_PREFIX(GetFramebufferAttachmentParameterivEXT) @@ -29339,7 +29490,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): GL_PREFIX(GetRenderbufferParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6208(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29349,13 +29500,13 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6208(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29365,7 +29516,7 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetRenderbufferParameterivEXT), .-GL_PREFIX(GetRenderbufferParameterivEXT) @@ -29376,25 +29527,25 @@ GL_PREFIX(GetRenderbufferParameterivEXT): GL_PREFIX(IsFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6216(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6216(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6216(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6216(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsFramebufferEXT), .-GL_PREFIX(IsFramebufferEXT) @@ -29405,25 +29556,25 @@ GL_PREFIX(IsFramebufferEXT): GL_PREFIX(IsRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6224(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6224(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6224(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6224(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsRenderbufferEXT), .-GL_PREFIX(IsRenderbufferEXT) @@ -29434,7 +29585,7 @@ GL_PREFIX(IsRenderbufferEXT): GL_PREFIX(RenderbufferStorageEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6232(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29448,13 +29599,13 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6232(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29468,19 +29619,19 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_780) - .type GL_PREFIX(_dispatch_stub_780), @function - HIDDEN(GL_PREFIX(_dispatch_stub_780)) -GL_PREFIX(_dispatch_stub_780): + .globl GL_PREFIX(_dispatch_stub_783) + .type GL_PREFIX(_dispatch_stub_783), @function + HIDDEN(GL_PREFIX(_dispatch_stub_783)) +GL_PREFIX(_dispatch_stub_783): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6240(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29498,13 +29649,13 @@ GL_PREFIX(_dispatch_stub_780): popq %rdx popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6240(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29522,19 +29673,19 @@ GL_PREFIX(_dispatch_stub_780): popq %rdx popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_780), .-GL_PREFIX(_dispatch_stub_780) + .size GL_PREFIX(_dispatch_stub_783), .-GL_PREFIX(_dispatch_stub_783) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_781) - .type GL_PREFIX(_dispatch_stub_781), @function - HIDDEN(GL_PREFIX(_dispatch_stub_781)) -GL_PREFIX(_dispatch_stub_781): + .globl GL_PREFIX(_dispatch_stub_784) + .type GL_PREFIX(_dispatch_stub_784), @function + HIDDEN(GL_PREFIX(_dispatch_stub_784)) +GL_PREFIX(_dispatch_stub_784): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6248(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29544,13 +29695,13 @@ GL_PREFIX(_dispatch_stub_781): popq %rdx popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6248(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29560,19 +29711,19 @@ GL_PREFIX(_dispatch_stub_781): popq %rdx popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_781), .-GL_PREFIX(_dispatch_stub_781) + .size GL_PREFIX(_dispatch_stub_784), .-GL_PREFIX(_dispatch_stub_784) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_782) - .type GL_PREFIX(_dispatch_stub_782), @function - HIDDEN(GL_PREFIX(_dispatch_stub_782)) -GL_PREFIX(_dispatch_stub_782): + .globl GL_PREFIX(_dispatch_stub_785) + .type GL_PREFIX(_dispatch_stub_785), @function + HIDDEN(GL_PREFIX(_dispatch_stub_785)) +GL_PREFIX(_dispatch_stub_785): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6256(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29582,13 +29733,13 @@ GL_PREFIX(_dispatch_stub_782): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6256(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29598,10 +29749,10 @@ GL_PREFIX(_dispatch_stub_782): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_782), .-GL_PREFIX(_dispatch_stub_782) + .size GL_PREFIX(_dispatch_stub_785), .-GL_PREFIX(_dispatch_stub_785) .p2align 4,,15 .globl GL_PREFIX(FramebufferTextureLayerEXT) @@ -29609,7 +29760,7 @@ GL_PREFIX(_dispatch_stub_782): GL_PREFIX(FramebufferTextureLayerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6264(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29623,13 +29774,13 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6264(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6264(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29643,7 +29794,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6264(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT) @@ -29654,37 +29805,37 @@ GL_PREFIX(FramebufferTextureLayerEXT): GL_PREFIX(ProvokingVertexEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6272(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6272(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6272(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6272(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProvokingVertexEXT), .-GL_PREFIX(ProvokingVertexEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_785) - .type GL_PREFIX(_dispatch_stub_785), @function - HIDDEN(GL_PREFIX(_dispatch_stub_785)) -GL_PREFIX(_dispatch_stub_785): + .globl GL_PREFIX(_dispatch_stub_788) + .type GL_PREFIX(_dispatch_stub_788), @function + HIDDEN(GL_PREFIX(_dispatch_stub_788)) +GL_PREFIX(_dispatch_stub_788): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6280(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29694,13 +29845,13 @@ GL_PREFIX(_dispatch_stub_785): popq %rdx popq %rsi popq %rdi - movq 6280(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6280(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29710,19 +29861,19 @@ GL_PREFIX(_dispatch_stub_785): popq %rdx popq %rsi popq %rdi - movq 6280(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_785), .-GL_PREFIX(_dispatch_stub_785) + .size GL_PREFIX(_dispatch_stub_788), .-GL_PREFIX(_dispatch_stub_788) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_786) - .type GL_PREFIX(_dispatch_stub_786), @function - HIDDEN(GL_PREFIX(_dispatch_stub_786)) -GL_PREFIX(_dispatch_stub_786): + .globl GL_PREFIX(_dispatch_stub_789) + .type GL_PREFIX(_dispatch_stub_789), @function + HIDDEN(GL_PREFIX(_dispatch_stub_789)) +GL_PREFIX(_dispatch_stub_789): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6288(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29732,13 +29883,13 @@ GL_PREFIX(_dispatch_stub_786): popq %rdx popq %rsi popq %rdi - movq 6288(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6288(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29748,19 +29899,19 @@ GL_PREFIX(_dispatch_stub_786): popq %rdx popq %rsi popq %rdi - movq 6288(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_786), .-GL_PREFIX(_dispatch_stub_786) + .size GL_PREFIX(_dispatch_stub_789), .-GL_PREFIX(_dispatch_stub_789) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_787) - .type GL_PREFIX(_dispatch_stub_787), @function - HIDDEN(GL_PREFIX(_dispatch_stub_787)) -GL_PREFIX(_dispatch_stub_787): + .globl GL_PREFIX(_dispatch_stub_790) + .type GL_PREFIX(_dispatch_stub_790), @function + HIDDEN(GL_PREFIX(_dispatch_stub_790)) +GL_PREFIX(_dispatch_stub_790): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6296(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29774,13 +29925,13 @@ GL_PREFIX(_dispatch_stub_787): popq %rdx popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6296(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29794,19 +29945,19 @@ GL_PREFIX(_dispatch_stub_787): popq %rdx popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_787), .-GL_PREFIX(_dispatch_stub_787) + .size GL_PREFIX(_dispatch_stub_790), .-GL_PREFIX(_dispatch_stub_790) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_788) - .type GL_PREFIX(_dispatch_stub_788), @function - HIDDEN(GL_PREFIX(_dispatch_stub_788)) -GL_PREFIX(_dispatch_stub_788): + .globl GL_PREFIX(_dispatch_stub_791) + .type GL_PREFIX(_dispatch_stub_791), @function + HIDDEN(GL_PREFIX(_dispatch_stub_791)) +GL_PREFIX(_dispatch_stub_791): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6304(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29820,13 +29971,13 @@ GL_PREFIX(_dispatch_stub_788): popq %rdx popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6304(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29840,19 +29991,19 @@ GL_PREFIX(_dispatch_stub_788): popq %rdx popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_788), .-GL_PREFIX(_dispatch_stub_788) + .size GL_PREFIX(_dispatch_stub_791), .-GL_PREFIX(_dispatch_stub_791) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_789) - .type GL_PREFIX(_dispatch_stub_789), @function - HIDDEN(GL_PREFIX(_dispatch_stub_789)) -GL_PREFIX(_dispatch_stub_789): + .globl GL_PREFIX(_dispatch_stub_792) + .type GL_PREFIX(_dispatch_stub_792), @function + HIDDEN(GL_PREFIX(_dispatch_stub_792)) +GL_PREFIX(_dispatch_stub_792): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6312(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29866,13 +30017,13 @@ GL_PREFIX(_dispatch_stub_789): popq %rdx popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6312(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29886,19 +30037,19 @@ GL_PREFIX(_dispatch_stub_789): popq %rdx popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_789), .-GL_PREFIX(_dispatch_stub_789) + .size GL_PREFIX(_dispatch_stub_792), .-GL_PREFIX(_dispatch_stub_792) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_790) - .type GL_PREFIX(_dispatch_stub_790), @function - HIDDEN(GL_PREFIX(_dispatch_stub_790)) -GL_PREFIX(_dispatch_stub_790): + .globl GL_PREFIX(_dispatch_stub_793) + .type GL_PREFIX(_dispatch_stub_793), @function + HIDDEN(GL_PREFIX(_dispatch_stub_793)) +GL_PREFIX(_dispatch_stub_793): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6320(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29908,13 +30059,13 @@ GL_PREFIX(_dispatch_stub_790): popq %rdx popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6320(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29924,19 +30075,19 @@ GL_PREFIX(_dispatch_stub_790): popq %rdx popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_790), .-GL_PREFIX(_dispatch_stub_790) + .size GL_PREFIX(_dispatch_stub_793), .-GL_PREFIX(_dispatch_stub_793) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_791) - .type GL_PREFIX(_dispatch_stub_791), @function - HIDDEN(GL_PREFIX(_dispatch_stub_791)) -GL_PREFIX(_dispatch_stub_791): + .globl GL_PREFIX(_dispatch_stub_794) + .type GL_PREFIX(_dispatch_stub_794), @function + HIDDEN(GL_PREFIX(_dispatch_stub_794)) +GL_PREFIX(_dispatch_stub_794): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6328(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29946,13 +30097,13 @@ GL_PREFIX(_dispatch_stub_791): popq %rdx popq %rsi popq %rdi - movq 6328(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6328(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29962,10 +30113,10 @@ GL_PREFIX(_dispatch_stub_791): popq %rdx popq %rsi popq %rdi - movq 6328(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_791), .-GL_PREFIX(_dispatch_stub_791) + .size GL_PREFIX(_dispatch_stub_794), .-GL_PREFIX(_dispatch_stub_794) .globl GL_PREFIX(ArrayElementEXT) ; .set GL_PREFIX(ArrayElementEXT), GL_PREFIX(ArrayElement) .globl GL_PREFIX(BindTextureEXT) ; .set GL_PREFIX(BindTextureEXT), GL_PREFIX(BindTexture) @@ -30220,9 +30371,9 @@ GL_PREFIX(_dispatch_stub_791): .globl GL_PREFIX(IsProgramARB) ; .set GL_PREFIX(IsProgramARB), GL_PREFIX(IsProgramNV) .globl GL_PREFIX(PointParameteri) ; .set GL_PREFIX(PointParameteri), GL_PREFIX(PointParameteriNV) .globl GL_PREFIX(PointParameteriv) ; .set GL_PREFIX(PointParameteriv), GL_PREFIX(PointParameterivNV) - .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_752) - .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_754) - .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_762) + .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_755) + .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_757) + .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_765) .globl GL_PREFIX(BindFramebuffer) ; .set GL_PREFIX(BindFramebuffer), GL_PREFIX(BindFramebufferEXT) .globl GL_PREFIX(BindRenderbuffer) ; .set GL_PREFIX(BindRenderbuffer), GL_PREFIX(BindRenderbufferEXT) .globl GL_PREFIX(CheckFramebufferStatus) ; .set GL_PREFIX(CheckFramebufferStatus), GL_PREFIX(CheckFramebufferStatusEXT) @@ -30240,7 +30391,7 @@ GL_PREFIX(_dispatch_stub_791): .globl GL_PREFIX(IsFramebuffer) ; .set GL_PREFIX(IsFramebuffer), GL_PREFIX(IsFramebufferEXT) .globl GL_PREFIX(IsRenderbuffer) ; .set GL_PREFIX(IsRenderbuffer), GL_PREFIX(IsRenderbufferEXT) .globl GL_PREFIX(RenderbufferStorage) ; .set GL_PREFIX(RenderbufferStorage), GL_PREFIX(RenderbufferStorageEXT) - .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_780) + .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_783) .globl GL_PREFIX(FramebufferTextureLayer) ; .set GL_PREFIX(FramebufferTextureLayer), GL_PREFIX(FramebufferTextureLayerEXT) #if defined(GLX_USE_TLS) && defined(__linux__) diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S index 46794adaf7..5f12b4fb6a 100644 --- a/src/mesa/x86/glapi_x86.S +++ b/src/mesa/x86/glapi_x86.S @@ -725,23 +725,26 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(GetSynciv, _gloffset_GetSynciv, GetSynciv@20) GL_STUB(IsSync, _gloffset_IsSync, IsSync@4) GL_STUB(WaitSync, _gloffset_WaitSync, WaitSync@12) + GL_STUB(DrawElementsBaseVertex, _gloffset_DrawElementsBaseVertex, DrawElementsBaseVertex@20) + GL_STUB(DrawRangeElementsBaseVertex, _gloffset_DrawRangeElementsBaseVertex, DrawRangeElementsBaseVertex@28) + GL_STUB(MultiDrawElementsBaseVertex, _gloffset_MultiDrawElementsBaseVertex, MultiDrawElementsBaseVertex@24) GL_STUB(PolygonOffsetEXT, _gloffset_PolygonOffsetEXT, PolygonOffsetEXT@8) - GL_STUB(_dispatch_stub_575, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_575@8) - HIDDEN(GL_PREFIX(_dispatch_stub_575, _dispatch_stub_575@8)) - GL_STUB(_dispatch_stub_576, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_576@8) - HIDDEN(GL_PREFIX(_dispatch_stub_576, _dispatch_stub_576@8)) - GL_STUB(_dispatch_stub_577, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_577@8) - HIDDEN(GL_PREFIX(_dispatch_stub_577, _dispatch_stub_577@8)) - GL_STUB(_dispatch_stub_578, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_578@8) + GL_STUB(_dispatch_stub_578, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_578@8) HIDDEN(GL_PREFIX(_dispatch_stub_578, _dispatch_stub_578@8)) - GL_STUB(_dispatch_stub_579, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_579@8) + GL_STUB(_dispatch_stub_579, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_579@8) HIDDEN(GL_PREFIX(_dispatch_stub_579, _dispatch_stub_579@8)) - GL_STUB(_dispatch_stub_580, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_580@8) + GL_STUB(_dispatch_stub_580, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_580@8) HIDDEN(GL_PREFIX(_dispatch_stub_580, _dispatch_stub_580@8)) - GL_STUB(_dispatch_stub_581, _gloffset_SampleMaskSGIS, _dispatch_stub_581@8) + GL_STUB(_dispatch_stub_581, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_581@8) HIDDEN(GL_PREFIX(_dispatch_stub_581, _dispatch_stub_581@8)) - GL_STUB(_dispatch_stub_582, _gloffset_SamplePatternSGIS, _dispatch_stub_582@4) - HIDDEN(GL_PREFIX(_dispatch_stub_582, _dispatch_stub_582@4)) + GL_STUB(_dispatch_stub_582, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_582@8) + HIDDEN(GL_PREFIX(_dispatch_stub_582, _dispatch_stub_582@8)) + GL_STUB(_dispatch_stub_583, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_583@8) + HIDDEN(GL_PREFIX(_dispatch_stub_583, _dispatch_stub_583@8)) + GL_STUB(_dispatch_stub_584, _gloffset_SampleMaskSGIS, _dispatch_stub_584@8) + HIDDEN(GL_PREFIX(_dispatch_stub_584, _dispatch_stub_584@8)) + GL_STUB(_dispatch_stub_585, _gloffset_SamplePatternSGIS, _dispatch_stub_585@4) + HIDDEN(GL_PREFIX(_dispatch_stub_585, _dispatch_stub_585@4)) GL_STUB(ColorPointerEXT, _gloffset_ColorPointerEXT, ColorPointerEXT@20) GL_STUB(EdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT, EdgeFlagPointerEXT@12) GL_STUB(IndexPointerEXT, _gloffset_IndexPointerEXT, IndexPointerEXT@16) @@ -752,10 +755,10 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(PointParameterfvEXT, _gloffset_PointParameterfvEXT, PointParameterfvEXT@8) GL_STUB(LockArraysEXT, _gloffset_LockArraysEXT, LockArraysEXT@8) GL_STUB(UnlockArraysEXT, _gloffset_UnlockArraysEXT, UnlockArraysEXT@0) - GL_STUB(_dispatch_stub_593, _gloffset_CullParameterdvEXT, _dispatch_stub_593@8) - HIDDEN(GL_PREFIX(_dispatch_stub_593, _dispatch_stub_593@8)) - GL_STUB(_dispatch_stub_594, _gloffset_CullParameterfvEXT, _dispatch_stub_594@8) - HIDDEN(GL_PREFIX(_dispatch_stub_594, _dispatch_stub_594@8)) + GL_STUB(_dispatch_stub_596, _gloffset_CullParameterdvEXT, _dispatch_stub_596@8) + HIDDEN(GL_PREFIX(_dispatch_stub_596, _dispatch_stub_596@8)) + GL_STUB(_dispatch_stub_597, _gloffset_CullParameterfvEXT, _dispatch_stub_597@8) + HIDDEN(GL_PREFIX(_dispatch_stub_597, _dispatch_stub_597@8)) GL_STUB(SecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT, SecondaryColor3bEXT@12) GL_STUB(SecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) GL_STUB(SecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT, SecondaryColor3dEXT@24) @@ -780,8 +783,8 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(FogCoorddvEXT, _gloffset_FogCoorddvEXT, FogCoorddvEXT@4) GL_STUB(FogCoordfEXT, _gloffset_FogCoordfEXT, FogCoordfEXT@4) GL_STUB(FogCoordfvEXT, _gloffset_FogCoordfvEXT, FogCoordfvEXT@4) - GL_STUB(_dispatch_stub_619, _gloffset_PixelTexGenSGIX, _dispatch_stub_619@4) - HIDDEN(GL_PREFIX(_dispatch_stub_619, _dispatch_stub_619@4)) + GL_STUB(_dispatch_stub_622, _gloffset_PixelTexGenSGIX, _dispatch_stub_622@4) + HIDDEN(GL_PREFIX(_dispatch_stub_622, _dispatch_stub_622@4)) GL_STUB(BlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) GL_STUB(FlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV, FlushVertexArrayRangeNV@0) GL_STUB(VertexArrayRangeNV, _gloffset_VertexArrayRangeNV, VertexArrayRangeNV@8) @@ -823,24 +826,24 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(WindowPos4ivMESA, _gloffset_WindowPos4ivMESA, WindowPos4ivMESA@4) GL_STUB(WindowPos4sMESA, _gloffset_WindowPos4sMESA, WindowPos4sMESA@16) GL_STUB(WindowPos4svMESA, _gloffset_WindowPos4svMESA, WindowPos4svMESA@4) - GL_STUB(_dispatch_stub_661, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_661@20) - HIDDEN(GL_PREFIX(_dispatch_stub_661, _dispatch_stub_661@20)) - GL_STUB(_dispatch_stub_662, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_662@24) - HIDDEN(GL_PREFIX(_dispatch_stub_662, _dispatch_stub_662@24)) - GL_STUB(_dispatch_stub_663, _gloffset_DeleteFencesNV, _dispatch_stub_663@8) - HIDDEN(GL_PREFIX(_dispatch_stub_663, _dispatch_stub_663@8)) - GL_STUB(_dispatch_stub_664, _gloffset_FinishFenceNV, _dispatch_stub_664@4) - HIDDEN(GL_PREFIX(_dispatch_stub_664, _dispatch_stub_664@4)) - GL_STUB(_dispatch_stub_665, _gloffset_GenFencesNV, _dispatch_stub_665@8) - HIDDEN(GL_PREFIX(_dispatch_stub_665, _dispatch_stub_665@8)) - GL_STUB(_dispatch_stub_666, _gloffset_GetFenceivNV, _dispatch_stub_666@12) - HIDDEN(GL_PREFIX(_dispatch_stub_666, _dispatch_stub_666@12)) - GL_STUB(_dispatch_stub_667, _gloffset_IsFenceNV, _dispatch_stub_667@4) + GL_STUB(_dispatch_stub_664, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_664@20) + HIDDEN(GL_PREFIX(_dispatch_stub_664, _dispatch_stub_664@20)) + GL_STUB(_dispatch_stub_665, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_665@24) + HIDDEN(GL_PREFIX(_dispatch_stub_665, _dispatch_stub_665@24)) + GL_STUB(_dispatch_stub_666, _gloffset_DeleteFencesNV, _dispatch_stub_666@8) + HIDDEN(GL_PREFIX(_dispatch_stub_666, _dispatch_stub_666@8)) + GL_STUB(_dispatch_stub_667, _gloffset_FinishFenceNV, _dispatch_stub_667@4) HIDDEN(GL_PREFIX(_dispatch_stub_667, _dispatch_stub_667@4)) - GL_STUB(_dispatch_stub_668, _gloffset_SetFenceNV, _dispatch_stub_668@8) + GL_STUB(_dispatch_stub_668, _gloffset_GenFencesNV, _dispatch_stub_668@8) HIDDEN(GL_PREFIX(_dispatch_stub_668, _dispatch_stub_668@8)) - GL_STUB(_dispatch_stub_669, _gloffset_TestFenceNV, _dispatch_stub_669@4) - HIDDEN(GL_PREFIX(_dispatch_stub_669, _dispatch_stub_669@4)) + GL_STUB(_dispatch_stub_669, _gloffset_GetFenceivNV, _dispatch_stub_669@12) + HIDDEN(GL_PREFIX(_dispatch_stub_669, _dispatch_stub_669@12)) + GL_STUB(_dispatch_stub_670, _gloffset_IsFenceNV, _dispatch_stub_670@4) + HIDDEN(GL_PREFIX(_dispatch_stub_670, _dispatch_stub_670@4)) + GL_STUB(_dispatch_stub_671, _gloffset_SetFenceNV, _dispatch_stub_671@8) + HIDDEN(GL_PREFIX(_dispatch_stub_671, _dispatch_stub_671@8)) + GL_STUB(_dispatch_stub_672, _gloffset_TestFenceNV, _dispatch_stub_672@4) + HIDDEN(GL_PREFIX(_dispatch_stub_672, _dispatch_stub_672@4)) GL_STUB(AreProgramsResidentNV, _gloffset_AreProgramsResidentNV, AreProgramsResidentNV@12) GL_STUB(BindProgramNV, _gloffset_BindProgramNV, BindProgramNV@8) GL_STUB(DeleteProgramsNV, _gloffset_DeleteProgramsNV, DeleteProgramsNV@8) @@ -921,26 +924,26 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(SetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI, SetFragmentShaderConstantATI@8) GL_STUB(PointParameteriNV, _gloffset_PointParameteriNV, PointParameteriNV@8) GL_STUB(PointParameterivNV, _gloffset_PointParameterivNV, PointParameterivNV@8) - GL_STUB(_dispatch_stub_750, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_750@4) - HIDDEN(GL_PREFIX(_dispatch_stub_750, _dispatch_stub_750@4)) - GL_STUB(_dispatch_stub_751, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_751@4) - HIDDEN(GL_PREFIX(_dispatch_stub_751, _dispatch_stub_751@4)) - GL_STUB(_dispatch_stub_752, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_752@8) - HIDDEN(GL_PREFIX(_dispatch_stub_752, _dispatch_stub_752@8)) - GL_STUB(_dispatch_stub_753, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_753@8) - HIDDEN(GL_PREFIX(_dispatch_stub_753, _dispatch_stub_753@8)) - GL_STUB(_dispatch_stub_754, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_754@4) + GL_STUB(_dispatch_stub_753, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_753@4) + HIDDEN(GL_PREFIX(_dispatch_stub_753, _dispatch_stub_753@4)) + GL_STUB(_dispatch_stub_754, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_754@4) HIDDEN(GL_PREFIX(_dispatch_stub_754, _dispatch_stub_754@4)) + GL_STUB(_dispatch_stub_755, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_755@8) + HIDDEN(GL_PREFIX(_dispatch_stub_755, _dispatch_stub_755@8)) + GL_STUB(_dispatch_stub_756, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_756@8) + HIDDEN(GL_PREFIX(_dispatch_stub_756, _dispatch_stub_756@8)) + GL_STUB(_dispatch_stub_757, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_757@4) + HIDDEN(GL_PREFIX(_dispatch_stub_757, _dispatch_stub_757@4)) GL_STUB(GetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV, GetProgramNamedParameterdvNV@16) GL_STUB(GetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV, GetProgramNamedParameterfvNV@16) GL_STUB(ProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV, ProgramNamedParameter4dNV@44) GL_STUB(ProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV, ProgramNamedParameter4dvNV@16) GL_STUB(ProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV, ProgramNamedParameter4fNV@28) GL_STUB(ProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV, ProgramNamedParameter4fvNV@16) - GL_STUB(_dispatch_stub_761, _gloffset_DepthBoundsEXT, _dispatch_stub_761@16) - HIDDEN(GL_PREFIX(_dispatch_stub_761, _dispatch_stub_761@16)) - GL_STUB(_dispatch_stub_762, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_762@8) - HIDDEN(GL_PREFIX(_dispatch_stub_762, _dispatch_stub_762@8)) + GL_STUB(_dispatch_stub_764, _gloffset_DepthBoundsEXT, _dispatch_stub_764@16) + HIDDEN(GL_PREFIX(_dispatch_stub_764, _dispatch_stub_764@16)) + GL_STUB(_dispatch_stub_765, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_765@8) + HIDDEN(GL_PREFIX(_dispatch_stub_765, _dispatch_stub_765@8)) GL_STUB(BindFramebufferEXT, _gloffset_BindFramebufferEXT, BindFramebufferEXT@8) GL_STUB(BindRenderbufferEXT, _gloffset_BindRenderbufferEXT, BindRenderbufferEXT@8) GL_STUB(CheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) @@ -958,28 +961,28 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(IsFramebufferEXT, _gloffset_IsFramebufferEXT, IsFramebufferEXT@4) GL_STUB(IsRenderbufferEXT, _gloffset_IsRenderbufferEXT, IsRenderbufferEXT@4) GL_STUB(RenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB(_dispatch_stub_780, _gloffset_BlitFramebufferEXT, _dispatch_stub_780@40) - HIDDEN(GL_PREFIX(_dispatch_stub_780, _dispatch_stub_780@40)) - GL_STUB(_dispatch_stub_781, _gloffset_BufferParameteriAPPLE, _dispatch_stub_781@12) - HIDDEN(GL_PREFIX(_dispatch_stub_781, _dispatch_stub_781@12)) - GL_STUB(_dispatch_stub_782, _gloffset_FlushMappedBufferRangeAPPLE, _dispatch_stub_782@12) - HIDDEN(GL_PREFIX(_dispatch_stub_782, _dispatch_stub_782@12)) + GL_STUB(_dispatch_stub_783, _gloffset_BlitFramebufferEXT, _dispatch_stub_783@40) + HIDDEN(GL_PREFIX(_dispatch_stub_783, _dispatch_stub_783@40)) + GL_STUB(_dispatch_stub_784, _gloffset_BufferParameteriAPPLE, _dispatch_stub_784@12) + HIDDEN(GL_PREFIX(_dispatch_stub_784, _dispatch_stub_784@12)) + GL_STUB(_dispatch_stub_785, _gloffset_FlushMappedBufferRangeAPPLE, _dispatch_stub_785@12) + HIDDEN(GL_PREFIX(_dispatch_stub_785, _dispatch_stub_785@12)) GL_STUB(FramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) GL_STUB(ProvokingVertexEXT, _gloffset_ProvokingVertexEXT, ProvokingVertexEXT@4) - GL_STUB(_dispatch_stub_785, _gloffset_GetTexParameterPointervAPPLE, _dispatch_stub_785@12) - HIDDEN(GL_PREFIX(_dispatch_stub_785, _dispatch_stub_785@12)) - GL_STUB(_dispatch_stub_786, _gloffset_TextureRangeAPPLE, _dispatch_stub_786@12) - HIDDEN(GL_PREFIX(_dispatch_stub_786, _dispatch_stub_786@12)) - GL_STUB(_dispatch_stub_787, _gloffset_StencilFuncSeparateATI, _dispatch_stub_787@16) - HIDDEN(GL_PREFIX(_dispatch_stub_787, _dispatch_stub_787@16)) - GL_STUB(_dispatch_stub_788, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_788@16) - HIDDEN(GL_PREFIX(_dispatch_stub_788, _dispatch_stub_788@16)) - GL_STUB(_dispatch_stub_789, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_789@16) - HIDDEN(GL_PREFIX(_dispatch_stub_789, _dispatch_stub_789@16)) - GL_STUB(_dispatch_stub_790, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_790@12) - HIDDEN(GL_PREFIX(_dispatch_stub_790, _dispatch_stub_790@12)) - GL_STUB(_dispatch_stub_791, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_791@12) - HIDDEN(GL_PREFIX(_dispatch_stub_791, _dispatch_stub_791@12)) + GL_STUB(_dispatch_stub_788, _gloffset_GetTexParameterPointervAPPLE, _dispatch_stub_788@12) + HIDDEN(GL_PREFIX(_dispatch_stub_788, _dispatch_stub_788@12)) + GL_STUB(_dispatch_stub_789, _gloffset_TextureRangeAPPLE, _dispatch_stub_789@12) + HIDDEN(GL_PREFIX(_dispatch_stub_789, _dispatch_stub_789@12)) + GL_STUB(_dispatch_stub_790, _gloffset_StencilFuncSeparateATI, _dispatch_stub_790@16) + HIDDEN(GL_PREFIX(_dispatch_stub_790, _dispatch_stub_790@16)) + GL_STUB(_dispatch_stub_791, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_791@16) + HIDDEN(GL_PREFIX(_dispatch_stub_791, _dispatch_stub_791@16)) + GL_STUB(_dispatch_stub_792, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_792@16) + HIDDEN(GL_PREFIX(_dispatch_stub_792, _dispatch_stub_792@16)) + GL_STUB(_dispatch_stub_793, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_793@12) + HIDDEN(GL_PREFIX(_dispatch_stub_793, _dispatch_stub_793@12)) + GL_STUB(_dispatch_stub_794, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_794@12) + HIDDEN(GL_PREFIX(_dispatch_stub_794, _dispatch_stub_794@12)) GL_STUB_ALIAS(ArrayElementEXT, _gloffset_ArrayElement, ArrayElementEXT@4, ArrayElement, ArrayElement@4) GL_STUB_ALIAS(BindTextureEXT, _gloffset_BindTexture, BindTextureEXT@8, BindTexture, BindTexture@8) GL_STUB_ALIAS(DrawArraysEXT, _gloffset_DrawArrays, DrawArraysEXT@12, DrawArrays, DrawArrays@12) -- cgit v1.2.3 From 92d7ed8a20d4a018ce5324e6537ae7b478b9e5bf Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 27 Aug 2009 10:09:24 -0700 Subject: mesa: Add support for ARB_draw_elements_base_vertex. --- src/mesa/drivers/dri/swrast/swrast.c | 2 + src/mesa/drivers/x11/xm_api.c | 2 + src/mesa/main/api_noop.c | 78 ++++++++++++++++++++- src/mesa/main/api_noop.h | 7 ++ src/mesa/main/api_validate.c | 108 +++++++++++------------------ src/mesa/main/api_validate.h | 4 +- src/mesa/main/dd.h | 17 ++++- src/mesa/main/dlist.c | 3 + src/mesa/main/extensions.c | 2 + src/mesa/main/mtypes.h | 1 + src/mesa/main/varray.h | 15 ++++ src/mesa/main/vtxfmt.c | 3 + src/mesa/main/vtxfmt_tmp.h | 41 +++++++++++ src/mesa/tnl/t_draw.c | 58 +++++++++++----- src/mesa/vbo/vbo.h | 1 + src/mesa/vbo/vbo_exec_array.c | 131 ++++++++++++++++++++++++++++++----- src/mesa/vbo/vbo_rebase.c | 15 +++- src/mesa/vbo/vbo_save_api.c | 36 +++++++++- src/mesa/vbo/vbo_split.c | 8 ++- src/mesa/vbo/vbo_split_copy.c | 52 ++++++++------ 20 files changed, 453 insertions(+), 131 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index 2d2aa5e0f1..3016987d56 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -62,6 +62,7 @@ #define need_GL_SGI_color_table /* sw extensions not associated with some GL version */ +#define need_GL_ARB_draw_elements_base_vertex #define need_GL_ARB_shader_objects #define need_GL_ARB_vertex_array_object #define need_GL_ARB_vertex_program @@ -96,6 +97,7 @@ const struct dri_extension card_extensions[] = { "GL_SGI_color_table", GL_SGI_color_table_functions }, { "GL_ARB_depth_clamp", NULL }, + { "GL_ARB_draw_elements_base_vertex", GL_ARB_draw_elements_base_vertex_functions }, { "GL_ARB_shader_objects", GL_ARB_shader_objects_functions }, { "GL_ARB_vertex_array_object", GL_ARB_vertex_array_object_functions }, { "GL_ARB_vertex_program", GL_ARB_vertex_program_functions }, diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c index 777635b783..662c61ae7e 100644 --- a/src/mesa/drivers/x11/xm_api.c +++ b/src/mesa/drivers/x11/xm_api.c @@ -1317,6 +1317,7 @@ xmesa_convert_from_x_visual_type( int visualType ) #define need_GL_SGI_color_table /* sw extensions not associated with some GL version */ +#define need_GL_ARB_draw_elements_base_vertex #define need_GL_ARB_shader_objects #define need_GL_ARB_sync #define need_GL_ARB_vertex_program @@ -1348,6 +1349,7 @@ const struct dri_extension card_extensions[] = { "GL_SGI_color_table", GL_SGI_color_table_functions }, { "GL_ARB_depth_clamp", NULL }, + { "GL_ARB_draw_elements_base_vertex", GL_ARB_draw_elements_base_vertex_functions }, { "GL_ARB_shader_objects", GL_ARB_shader_objects_functions }, { "GL_ARB_sync", GL_ARB_sync_functions }, { "GL_ARB_vertex_program", GL_ARB_vertex_program_functions }, diff --git a/src/mesa/main/api_noop.c b/src/mesa/main/api_noop.c index 09ba7e5062..0b669e7e7f 100644 --- a/src/mesa/main/api_noop.c +++ b/src/mesa/main/api_noop.c @@ -731,7 +731,7 @@ _mesa_noop_DrawElements(GLenum mode, GLsizei count, GLenum type, GET_CURRENT_CONTEXT(ctx); GLint i; - if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices )) + if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices, 0 )) return; CALL_Begin(GET_DISPATCH(), (mode)); @@ -757,6 +757,43 @@ _mesa_noop_DrawElements(GLenum mode, GLsizei count, GLenum type, CALL_End(GET_DISPATCH(), ()); } +static void GLAPIENTRY +_mesa_noop_DrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, + const GLvoid *indices, GLint basevertex) +{ + GET_CURRENT_CONTEXT(ctx); + GLint i; + + if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices, + basevertex )) + return; + + CALL_Begin(GET_DISPATCH(), (mode)); + + switch (type) { + case GL_UNSIGNED_BYTE: + for (i = 0 ; i < count ; i++) + CALL_ArrayElement(GET_DISPATCH(), ( ((GLubyte *)indices)[i] + + basevertex)); + break; + case GL_UNSIGNED_SHORT: + for (i = 0 ; i < count ; i++) + CALL_ArrayElement(GET_DISPATCH(), ( ((GLushort *)indices)[i] + + basevertex )); + break; + case GL_UNSIGNED_INT: + for (i = 0 ; i < count ; i++) + CALL_ArrayElement(GET_DISPATCH(), ( ((GLuint *)indices)[i] + + basevertex )); + break; + default: + _mesa_error( ctx, GL_INVALID_ENUM, "glDrawElementsBaseVertex(type)" ); + break; + } + + CALL_End(GET_DISPATCH(), ()); +} + static void GLAPIENTRY _mesa_noop_DrawRangeElements(GLenum mode, @@ -768,7 +805,7 @@ _mesa_noop_DrawRangeElements(GLenum mode, if (_mesa_validate_DrawRangeElements( ctx, mode, start, end, - count, type, indices )) + count, type, indices, 0 )) CALL_DrawElements(GET_DISPATCH(), (mode, count, type, indices)); } @@ -786,6 +823,40 @@ _mesa_noop_MultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, } } +static void GLAPIENTRY +_mesa_noop_DrawRangeElementsBaseVertex(GLenum mode, + GLuint start, GLuint end, + GLsizei count, GLenum type, + const GLvoid *indices, GLint basevertex) +{ + GET_CURRENT_CONTEXT(ctx); + + if (_mesa_validate_DrawRangeElements( ctx, mode, + start, end, + count, type, indices, basevertex )) + CALL_DrawElementsBaseVertex(GET_DISPATCH(), (mode, count, type, indices, + basevertex)); +} + +/* GL_EXT_multi_draw_arrays */ +void GLAPIENTRY +_mesa_noop_MultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, + GLenum type, + const GLvoid **indices, + GLsizei primcount, + const GLint *basevertex) +{ + GLsizei i; + + for (i = 0; i < primcount; i++) { + if (count[i] > 0) { + CALL_DrawElementsBaseVertex(GET_DISPATCH(), (mode, count[i], type, + indices[i], + basevertex[i])); + } + } +} + /* * Eval Mesh */ @@ -995,6 +1066,9 @@ _mesa_noop_vtxfmt_init( GLvertexformat *vfmt ) vfmt->DrawElements = _mesa_noop_DrawElements; vfmt->DrawRangeElements = _mesa_noop_DrawRangeElements; vfmt->MultiDrawElementsEXT = _mesa_noop_MultiDrawElements; + vfmt->DrawElementsBaseVertex = _mesa_noop_DrawElementsBaseVertex; + vfmt->DrawRangeElementsBaseVertex = _mesa_noop_DrawRangeElementsBaseVertex; + vfmt->MultiDrawElementsBaseVertex = _mesa_noop_MultiDrawElementsBaseVertex; vfmt->EvalMesh1 = _mesa_noop_EvalMesh1; vfmt->EvalMesh2 = _mesa_noop_EvalMesh2; } diff --git a/src/mesa/main/api_noop.h b/src/mesa/main/api_noop.h index a7956d00b3..1150984d64 100644 --- a/src/mesa/main/api_noop.h +++ b/src/mesa/main/api_noop.h @@ -44,6 +44,13 @@ extern void GLAPIENTRY _mesa_noop_MultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); +extern void GLAPIENTRY +_mesa_noop_MultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, + GLenum type, + const GLvoid **indices, + GLsizei primcount, + const GLint *basevertex); + extern void _mesa_noop_vtxfmt_init(GLvertexformat *vfmt); diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index 2df4f17389..4a1448deee 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -29,7 +29,7 @@ #include "imports.h" #include "mtypes.h" #include "state.h" - +#include "vbo/vbo.h" /** @@ -51,51 +51,6 @@ index_bytes(GLenum type, GLsizei count) } -/** - * Find the max index in the given element/index buffer - */ -static GLuint -max_buffer_index(GLcontext *ctx, GLuint count, GLenum type, - const void *indices, - struct gl_buffer_object *elementBuf) -{ - const GLubyte *map = NULL; - GLuint max = 0; - GLuint i; - - if (_mesa_is_bufferobj(elementBuf)) { - /* elements are in a user-defined buffer object. need to map it */ - map = ctx->Driver.MapBuffer(ctx, GL_ELEMENT_ARRAY_BUFFER, - GL_READ_ONLY, elementBuf); - /* Actual address is the sum of pointers */ - indices = (const GLvoid *) ADD_POINTERS(map, (const GLubyte *) indices); - } - - if (type == GL_UNSIGNED_INT) { - for (i = 0; i < count; i++) - if (((GLuint *) indices)[i] > max) - max = ((GLuint *) indices)[i]; - } - else if (type == GL_UNSIGNED_SHORT) { - for (i = 0; i < count; i++) - if (((GLushort *) indices)[i] > max) - max = ((GLushort *) indices)[i]; - } - else { - ASSERT(type == GL_UNSIGNED_BYTE); - for (i = 0; i < count; i++) - if (((GLubyte *) indices)[i] > max) - max = ((GLubyte *) indices)[i]; - } - - if (map) { - ctx->Driver.UnmapBuffer(ctx, GL_ELEMENT_ARRAY_BUFFER_ARB, elementBuf); - } - - return max; -} - - /** * Check if OK to draw arrays/elements. */ @@ -124,6 +79,40 @@ check_valid_to_render(GLcontext *ctx, const char *function) return GL_TRUE; } +static GLboolean +check_index_bounds(GLcontext *ctx, GLsizei count, GLenum type, + const GLvoid *indices, GLint basevertex) +{ + struct _mesa_prim prim; + struct _mesa_index_buffer ib; + GLuint min, max; + + /* Only the X Server needs to do this -- otherwise, accessing outside + * array/BO bounds allows application termination. + */ + if (!ctx->Const.CheckArrayBounds) + return GL_TRUE; + + memset(&prim, 0, sizeof(prim)); + prim.count = count; + + memset(&ib, 0, sizeof(ib)); + ib.type = type; + ib.ptr = indices; + ib.obj = ctx->Array.ElementArrayBufferObj; + + vbo_get_minmax_index(ctx, &prim, &ib, &min, &max); + + if (min + basevertex < 0 || + max + basevertex > ctx->Array.ArrayObj->_MaxElement) { + /* the max element is out of bounds of one or more enabled arrays */ + _mesa_warning(ctx, "glDrawElements() index=%u is " + "out of bounds (max=%u)", max, ctx->Array.ArrayObj->_MaxElement); + return GL_FALSE; + } + + return GL_TRUE; +} /** * Error checking for glDrawElements(). Includes parameter checking @@ -133,7 +122,7 @@ check_valid_to_render(GLcontext *ctx, const char *function) GLboolean _mesa_validate_DrawElements(GLcontext *ctx, GLenum mode, GLsizei count, GLenum type, - const GLvoid *indices) + const GLvoid *indices, GLint basevertex) { ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); @@ -177,17 +166,8 @@ _mesa_validate_DrawElements(GLcontext *ctx, return GL_FALSE; } - if (ctx->Const.CheckArrayBounds) { - /* find max array index */ - GLuint max = max_buffer_index(ctx, count, type, indices, - ctx->Array.ElementArrayBufferObj); - if (max >= ctx->Array.ArrayObj->_MaxElement) { - /* the max element is out of bounds of one or more enabled arrays */ - _mesa_warning(ctx, "glDrawElements() index=%u is " - "out of bounds (max=%u)", max, ctx->Array.ArrayObj->_MaxElement); - return GL_FALSE; - } - } + if (!check_index_bounds(ctx, count, type, indices, basevertex)) + return GL_FALSE; return GL_TRUE; } @@ -202,7 +182,7 @@ GLboolean _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, - const GLvoid *indices) + const GLvoid *indices, GLint basevertex) { ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); @@ -250,14 +230,8 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode, return GL_FALSE; } - if (ctx->Const.CheckArrayBounds) { - GLuint max = max_buffer_index(ctx, count, type, indices, - ctx->Array.ElementArrayBufferObj); - if (max >= ctx->Array.ArrayObj->_MaxElement) { - /* the max element is out of bounds of one or more enabled arrays */ - return GL_FALSE; - } - } + if (!check_index_bounds(ctx, count, type, indices, basevertex)) + return GL_FALSE; return GL_TRUE; } diff --git a/src/mesa/main/api_validate.h b/src/mesa/main/api_validate.h index 10f0c34e66..1d3ae157d7 100644 --- a/src/mesa/main/api_validate.h +++ b/src/mesa/main/api_validate.h @@ -37,13 +37,13 @@ _mesa_validate_DrawArrays(GLcontext *ctx, extern GLboolean _mesa_validate_DrawElements(GLcontext *ctx, GLenum mode, GLsizei count, GLenum type, - const GLvoid *indices); + const GLvoid *indices, GLint basevertex); extern GLboolean _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, - const GLvoid *indices); + const GLvoid *indices, GLint basevertex); #endif diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 4a700b5cb4..ce5e158626 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -1172,7 +1172,22 @@ typedef struct { GLenum type, const GLvoid **indices, GLsizei primcount); - /*@}*/ + void (GLAPIENTRYP DrawElementsBaseVertex)( GLenum mode, GLsizei count, + GLenum type, + const GLvoid *indices, + GLint basevertex ); + void (GLAPIENTRYP DrawRangeElementsBaseVertex)( GLenum mode, GLuint start, + GLuint end, GLsizei count, + GLenum type, + const GLvoid *indices, + GLint basevertex); + void (GLAPIENTRYP MultiDrawElementsBaseVertex)( GLenum mode, + const GLsizei *count, + GLenum type, + const GLvoid **indices, + GLsizei primcount, + const GLint *basevertex); + /*@}*/ /** * \name Eval diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 8cff9ea64a..d721f699fd 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -8711,6 +8711,9 @@ _mesa_save_vtxfmt_init(GLvertexformat * vfmt) vfmt->DrawElements = 0; vfmt->DrawRangeElements = 0; vfmt->MultiDrawElemementsEXT = 0; + vfmt->DrawElementsBaseVertex = 0; + vfmt->DrawRangeElementsBaseVertex = 0; + vfmt->MultiDrawElemementsBaseVertex = 0; #endif } diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index d0e77bafdd..2ad66de7dd 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -49,6 +49,7 @@ static const struct { { OFF, "GL_ARB_depth_texture", F(ARB_depth_texture) }, { OFF, "GL_ARB_depth_clamp", F(ARB_depth_clamp) }, { ON, "GL_ARB_draw_buffers", F(ARB_draw_buffers) }, + { OFF, "GL_ARB_draw_elements_base_vertex", F(ARB_draw_elements_base_vertex) }, { OFF, "GL_ARB_fragment_program", F(ARB_fragment_program) }, { OFF, "GL_ARB_fragment_program_shadow", F(ARB_fragment_program_shadow) }, { OFF, "GL_ARB_fragment_shader", F(ARB_fragment_shader) }, @@ -197,6 +198,7 @@ _mesa_enable_sw_extensions(GLcontext *ctx) ctx->Extensions.ARB_depth_clamp = GL_TRUE; ctx->Extensions.ARB_depth_texture = GL_TRUE; /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/ + ctx->Extensions.ARB_draw_elements_base_vertex = GL_TRUE; #if FEATURE_ARB_fragment_program ctx->Extensions.ARB_fragment_program = GL_TRUE; ctx->Extensions.ARB_fragment_program_shadow = GL_TRUE; diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 20cd3aa5c0..ae169fb9db 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2478,6 +2478,7 @@ struct gl_extensions GLboolean ARB_depth_texture; GLboolean ARB_depth_clamp; GLboolean ARB_draw_buffers; + GLboolean ARB_draw_elements_base_vertex; GLboolean ARB_fragment_program; GLboolean ARB_fragment_program_shadow; GLboolean ARB_fragment_shader; diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h index becc67c29d..ef790c504e 100644 --- a/src/mesa/main/varray.h +++ b/src/mesa/main/varray.h @@ -129,6 +129,11 @@ extern void GLAPIENTRY _mesa_MultiDrawElementsEXT( GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount ); +extern void GLAPIENTRY +_mesa_MultiDrawElementsBaseVertex( GLenum mode, + const GLsizei *count, GLenum type, + const GLvoid **indices, GLsizei primcount, + const GLint *basevertex); extern void GLAPIENTRY _mesa_MultiModeDrawArraysIBM( const GLenum * mode, const GLint * first, @@ -159,6 +164,16 @@ extern void GLAPIENTRY _mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); +extern void GLAPIENTRY +_mesa_DrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, + const GLvoid *indices, GLint basevertex); + +extern void GLAPIENTRY +_mesa_DrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, + GLsizei count, GLenum type, + const GLvoid *indices, + GLint basevertex); + extern void _mesa_copy_client_array(GLcontext *ctx, diff --git a/src/mesa/main/vtxfmt.c b/src/mesa/main/vtxfmt.c index 8d6f560a80..91412f138a 100644 --- a/src/mesa/main/vtxfmt.c +++ b/src/mesa/main/vtxfmt.c @@ -134,6 +134,9 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt ) SET_DrawElements(tab, vfmt->DrawElements); SET_DrawRangeElements(tab, vfmt->DrawRangeElements); SET_MultiDrawElementsEXT(tab, vfmt->MultiDrawElementsEXT); + SET_DrawElementsBaseVertex(tab, vfmt->DrawElementsBaseVertex); + SET_DrawRangeElementsBaseVertex(tab, vfmt->DrawRangeElementsBaseVertex); + SET_MultiDrawElementsBaseVertex(tab, vfmt->MultiDrawElementsBaseVertex); SET_EvalMesh1(tab, vfmt->EvalMesh1); SET_EvalMesh2(tab, vfmt->EvalMesh2); ASSERT(tab->EvalMesh2); diff --git a/src/mesa/main/vtxfmt_tmp.h b/src/mesa/main/vtxfmt_tmp.h index 1308d0aa46..d56a2bb95e 100644 --- a/src/mesa/main/vtxfmt_tmp.h +++ b/src/mesa/main/vtxfmt_tmp.h @@ -354,6 +354,44 @@ static void GLAPIENTRY TAG(DrawRangeElements)( GLenum mode, GLuint start, CALL_DrawRangeElements(GET_DISPATCH(), ( mode, start, end, count, type, indices )); } +static void GLAPIENTRY TAG(DrawElementsBaseVertex)( GLenum mode, + GLsizei count, + GLenum type, + const GLvoid *indices, + GLint basevertex) +{ + PRE_LOOPBACK( DrawElementsBaseVertex ); + CALL_DrawElementsBaseVertex(GET_DISPATCH(), ( mode, count, type, + indices, basevertex )); +} + +static void GLAPIENTRY TAG(DrawRangeElementsBaseVertex)( GLenum mode, + GLuint start, + GLuint end, + GLsizei count, + GLenum type, + const GLvoid *indices, + GLint basevertex) +{ + PRE_LOOPBACK( DrawRangeElementsBaseVertex ); + CALL_DrawRangeElementsBaseVertex(GET_DISPATCH(), ( mode, start, end, + count, type, indices, + basevertex )); +} + +static void GLAPIENTRY TAG(MultiDrawElementsBaseVertex)( GLenum mode, + const GLsizei *count, + GLenum type, + const GLvoid **indices, + GLsizei primcount, + const GLint *basevertex) +{ + PRE_LOOPBACK( MultiDrawElementsBaseVertex ); + CALL_MultiDrawElementsBaseVertex(GET_DISPATCH(), ( mode, count, type, + indices, + primcount, basevertex )); +} + static void GLAPIENTRY TAG(EvalMesh1)( GLenum mode, GLint i1, GLint i2 ) { PRE_LOOPBACK( EvalMesh1 ); @@ -534,6 +572,9 @@ static GLvertexformat TAG(vtxfmt) = { TAG(DrawElements), TAG(DrawRangeElements), TAG(MultiDrawElementsEXT), + TAG(DrawElementsBaseVertex), + TAG(DrawRangeElementsBaseVertex), + TAG(MultiDrawElementsBaseVertex), TAG(EvalMesh1), TAG(EvalMesh2) }; diff --git a/src/mesa/tnl/t_draw.c b/src/mesa/tnl/t_draw.c index c64c2c2077..04fa106300 100644 --- a/src/mesa/tnl/t_draw.c +++ b/src/mesa/tnl/t_draw.c @@ -316,22 +316,27 @@ static void bind_indices( GLcontext *ctx, ptr = ADD_POINTERS(ib->obj->Pointer, ib->ptr); - if (ib->type == GL_UNSIGNED_INT) { + if (ib->type == GL_UNSIGNED_INT && VB->Primitive[0].basevertex == 0) { VB->Elts = (GLuint *) ptr; } else { GLuint *elts = (GLuint *)get_space(ctx, ib->count * sizeof(GLuint)); VB->Elts = elts; - if (ib->type == GL_UNSIGNED_SHORT) { + if (ib->type == GL_UNSIGNED_INT) { + const GLuint *in = (GLuint *)ptr; + for (i = 0; i < ib->count; i++) + *elts++ = (GLuint)(*in++) + VB->Primitive[0].basevertex; + } + else if (ib->type == GL_UNSIGNED_SHORT) { const GLushort *in = (GLushort *)ptr; for (i = 0; i < ib->count; i++) - *elts++ = (GLuint)(*in++); + *elts++ = (GLuint)(*in++) + VB->Primitive[0].basevertex; } else { const GLubyte *in = (GLubyte *)ptr; for (i = 0; i < ib->count; i++) - *elts++ = (GLuint)(*in++); + *elts++ = (GLuint)(*in++) + VB->Primitive[0].basevertex; } } } @@ -390,10 +395,14 @@ void _tnl_draw_prims( GLcontext *ctx, TNLcontext *tnl = TNL_CONTEXT(ctx); const GLuint TEST_SPLIT = 0; const GLint max = TEST_SPLIT ? 8 : tnl->vb.Size - MAX_CLIPPED_VERTICES; + GLuint max_basevertex = prim->basevertex; + GLuint i; + + for (i = 1; i < nr_prims; i++) + max_basevertex = MAX2(max_basevertex, prim[i].basevertex); if (0) { - GLuint i; _mesa_printf("%s %d..%d\n", __FUNCTION__, min_index, max_index); for (i = 0; i < nr_prims; i++) _mesa_printf("prim %d: %s start %d count %d\n", i, @@ -410,7 +419,7 @@ void _tnl_draw_prims( GLcontext *ctx, _tnl_vbo_draw_prims ); return; } - else if (max_index > max) { + else if (max_index + max_basevertex > max) { /* The software TNL pipeline has a fixed amount of storage for * vertices and it is necessary to split incoming drawing commands * if they exceed that limit. @@ -424,7 +433,7 @@ void _tnl_draw_prims( GLcontext *ctx, * recursively call back into this function. */ vbo_split_prims( ctx, arrays, prim, nr_prims, ib, - 0, max_index, + 0, max_index + prim->basevertex, _tnl_vbo_draw_prims, &limits ); } @@ -435,17 +444,34 @@ void _tnl_draw_prims( GLcontext *ctx, struct gl_buffer_object *bo[VERT_ATTRIB_MAX + 1]; GLuint nr_bo = 0; - /* Binding inputs may imply mapping some vertex buffer objects. - * They will need to be unmapped below. - */ - bind_inputs(ctx, arrays, max_index+1, bo, &nr_bo); - bind_indices(ctx, ib, bo, &nr_bo); - bind_prims(ctx, prim, nr_prims ); + for (i = 0; i < nr_prims;) { + GLuint this_nr_prims; + + /* Our SW TNL pipeline doesn't handle basevertex yet, so bind_indices + * will rebase the elements to the basevertex, and we'll only + * emit strings of prims with the same basevertex in one draw call. + */ + for (this_nr_prims = 1; i + this_nr_prims < nr_prims; + this_nr_prims++) { + if (prim[i].basevertex != prim[i + this_nr_prims].basevertex) + break; + } + + /* Binding inputs may imply mapping some vertex buffer objects. + * They will need to be unmapped below. + */ + bind_prims(ctx, &prim[i], this_nr_prims); + bind_inputs(ctx, arrays, max_index + prim[i].basevertex + 1, + bo, &nr_bo); + bind_indices(ctx, ib, bo, &nr_bo); - TNL_CONTEXT(ctx)->Driver.RunPipeline(ctx); + TNL_CONTEXT(ctx)->Driver.RunPipeline(ctx); - unmap_vbos(ctx, bo, nr_bo); - free_space(ctx); + unmap_vbos(ctx, bo, nr_bo); + free_space(ctx); + + i += this_nr_prims; + } } } diff --git a/src/mesa/vbo/vbo.h b/src/mesa/vbo/vbo.h index 5986e93576..b24ecfd7cd 100644 --- a/src/mesa/vbo/vbo.h +++ b/src/mesa/vbo/vbo.h @@ -44,6 +44,7 @@ struct _mesa_prim { GLuint start; GLuint count; + GLint basevertex; }; /* Would like to call this a "vbo_index_buffer", but this would be diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c index 12911f5750..b9550d6106 100644 --- a/src/mesa/vbo/vbo_exec_array.c +++ b/src/mesa/vbo/vbo_exec_array.c @@ -181,7 +181,7 @@ unmap_array_buffer(GLcontext *ctx, struct gl_client_array *array) */ static void check_draw_elements_data(GLcontext *ctx, GLsizei count, GLenum elemType, - const void *elements) + const void *elements, GLint basevertex) { struct gl_array_object *arrayObj = ctx->Array.ArrayObj; const void *elemMap; @@ -518,6 +518,7 @@ vbo_exec_DrawArrays(GLenum mode, GLint start, GLsizei count) prim[0].start = start; prim[0].count = count; prim[0].indexed = 0; + prim[0].basevertex = 0; vbo->draw_prims( ctx, exec->array.inputs, prim, 1, NULL, GL_TRUE, start, start + count - 1 ); @@ -592,7 +593,8 @@ vbo_validated_drawrangeelements(GLcontext *ctx, GLenum mode, GLboolean index_bounds_valid, GLuint start, GLuint end, GLsizei count, GLenum type, - const GLvoid *indices) + const GLvoid *indices, + GLint basevertex) { struct vbo_context *vbo = vbo_context(ctx); struct vbo_exec_context *exec = &vbo->exec; @@ -626,6 +628,7 @@ vbo_validated_drawrangeelements(GLcontext *ctx, GLenum mode, prim[0].start = 0; prim[0].count = count; prim[0].indexed = 1; + prim[0].basevertex = basevertex; /* Need to give special consideration to rendering a range of * indices starting somewhere above zero. Typically the @@ -663,23 +666,25 @@ vbo_validated_drawrangeelements(GLcontext *ctx, GLenum mode, } static void GLAPIENTRY -vbo_exec_DrawRangeElements(GLenum mode, - GLuint start, GLuint end, - GLsizei count, GLenum type, const GLvoid *indices) +vbo_exec_DrawRangeElementsBaseVertex(GLenum mode, + GLuint start, GLuint end, + GLsizei count, GLenum type, + const GLvoid *indices, + GLint basevertex) { GET_CURRENT_CONTEXT(ctx); if (!_mesa_validate_DrawRangeElements( ctx, mode, start, end, count, - type, indices )) + type, indices, basevertex )) return; if (end >= ctx->Array.ArrayObj->_MaxElement) { /* the max element is out of bounds of one or more enabled arrays */ - _mesa_warning(ctx, "glDraw[Range]Elements(start %u, end %u, count %d, " - "type 0x%x, indices=%p)\n" + _mesa_warning(ctx, "glDraw[Range]Elements{,BaseVertex}(start %u, end %u, " + "count %d, type 0x%x, indices=%p, base=%d)\n" "\tindex=%u is out of bounds (max=%u) " "Element Buffer %u (size %d)", - start, end, count, type, indices, end, + start, end, count, type, indices, end, basevertex, ctx->Array.ArrayObj->_MaxElement - 1, ctx->Array.ElementArrayBufferObj->Name, ctx->Array.ElementArrayBufferObj->Size); @@ -692,10 +697,12 @@ vbo_exec_DrawRangeElements(GLenum mode, return; } else if (0) { - _mesa_printf("glDraw[Range]Elements" - "(start %u, end %u, type 0x%x, count %d) ElemBuf %u\n", + _mesa_printf("glDraw[Range]Elements{,BaseVertex}" + "(start %u, end %u, type 0x%x, count %d) ElemBuf %u, " + "base %d\n", start, end, type, count, - ctx->Array.ElementArrayBufferObj->Name); + ctx->Array.ElementArrayBufferObj->Name, + basevertex); } #if 0 @@ -705,7 +712,17 @@ vbo_exec_DrawRangeElements(GLenum mode, #endif vbo_validated_drawrangeelements(ctx, mode, GL_TRUE, start, end, - count, type, indices); + count, type, indices, basevertex); +} + +static void GLAPIENTRY +vbo_exec_DrawRangeElements(GLenum mode, + GLuint start, GLuint end, + GLsizei count, GLenum type, + const GLvoid *indices) +{ + vbo_exec_DrawRangeElementsBaseVertex(mode, start, end, count, type, + indices, 0); } @@ -715,18 +732,33 @@ vbo_exec_DrawElements(GLenum mode, GLsizei count, GLenum type, { GET_CURRENT_CONTEXT(ctx); - if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices )) + if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices, 0 )) + return; + + vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0, + count, type, indices, 0); +} + +static void GLAPIENTRY +vbo_exec_DrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, + const GLvoid *indices, GLint basevertex) +{ + GET_CURRENT_CONTEXT(ctx); + + if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices, + basevertex )) return; vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0, - count, type, indices); + count, type, indices, basevertex); } /* Inner support for both _mesa_DrawElements and _mesa_DrawRangeElements */ static void vbo_validated_multidrawelements(GLcontext *ctx, GLenum mode, const GLsizei *count, GLenum type, - const GLvoid **indices, GLsizei primcount) + const GLvoid **indices, GLsizei primcount, + const GLint *basevertex) { struct vbo_context *vbo = vbo_context(ctx); struct vbo_exec_context *exec = &vbo->exec; @@ -820,6 +852,10 @@ vbo_validated_multidrawelements(GLcontext *ctx, GLenum mode, prim[i].start = ((uintptr_t)indices[i] - min_index_ptr) / index_type_size; prim[i].count = count[i]; prim[i].indexed = 1; + if (basevertex != NULL) + prim[i].basevertex = basevertex[i]; + else + prim[i].basevertex = 0; } vbo->draw_prims(ctx, exec->array.inputs, prim, primcount, &ib, @@ -840,6 +876,10 @@ vbo_validated_multidrawelements(GLcontext *ctx, GLenum mode, prim[0].start = 0; prim[0].count = count[i]; prim[0].indexed = 1; + if (basevertex != NULL) + prim[0].basevertex = basevertex[i]; + else + prim[0].basevertex = 0; } vbo->draw_prims(ctx, exec->array.inputs, prim, 1, &ib, @@ -860,13 +900,36 @@ vbo_exec_MultiDrawElements(GLenum mode, ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); for (i = 0; i < primcount; i++) { - if (!_mesa_validate_DrawElements( ctx, mode, count[i], type, indices[i] )) + if (!_mesa_validate_DrawElements(ctx, mode, count[i], type, indices[i], + 0)) return; } - vbo_validated_multidrawelements(ctx, mode, count, type, indices, primcount); + vbo_validated_multidrawelements(ctx, mode, count, type, indices, primcount, + NULL); } +static void GLAPIENTRY +vbo_exec_MultiDrawElementsBaseVertex(GLenum mode, + const GLsizei *count, GLenum type, + const GLvoid **indices, + GLsizei primcount, + const GLsizei *basevertex) +{ + GET_CURRENT_CONTEXT(ctx); + GLint i; + + ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); + + for (i = 0; i < primcount; i++) { + if (!_mesa_validate_DrawElements(ctx, mode, count[i], type, indices[i], + basevertex[i])) + return; + } + + vbo_validated_multidrawelements(ctx, mode, count, type, indices, primcount, + basevertex); +} /*********************************************************************** @@ -881,11 +944,17 @@ vbo_exec_array_init( struct vbo_exec_context *exec ) exec->vtxfmt.DrawElements = vbo_exec_DrawElements; exec->vtxfmt.DrawRangeElements = vbo_exec_DrawRangeElements; exec->vtxfmt.MultiDrawElementsEXT = vbo_exec_MultiDrawElements; + exec->vtxfmt.DrawElementsBaseVertex = vbo_exec_DrawElementsBaseVertex; + exec->vtxfmt.DrawRangeElementsBaseVertex = vbo_exec_DrawRangeElementsBaseVertex; + exec->vtxfmt.MultiDrawElementsBaseVertex = vbo_exec_MultiDrawElementsBaseVertex; #else exec->vtxfmt.DrawArrays = _mesa_noop_DrawArrays; exec->vtxfmt.DrawElements = _mesa_noop_DrawElements; exec->vtxfmt.DrawRangeElements = _mesa_noop_DrawRangeElements; exec->vtxfmt.MultiDrawElementsEXT = _mesa_noop_MultiDrawElements; + exec->vtxfmt.DrawElementsBaseVertex = _mesa_noop_DrawElementsBaseVertex; + exec->vtxfmt.DrawRangeElementsBaseVertex = _mesa_noop_DrawRangeElementsBaseVertex; + exec->vtxfmt.MultiDrawElementsBaseVertex = _mesa_noop_MultiDrawElementsBaseVertex; #endif } @@ -913,6 +982,13 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, vbo_exec_DrawElements(mode, count, type, indices); } +void GLAPIENTRY +_mesa_DrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, + const GLvoid *indices, GLint basevertex) +{ + vbo_exec_DrawElementsBaseVertex(mode, count, type, indices, basevertex); +} + /* This API entrypoint is not ordinarily used */ void GLAPIENTRY @@ -922,6 +998,15 @@ _mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, vbo_exec_DrawRangeElements(mode, start, end, count, type, indices); } +void GLAPIENTRY +_mesa_DrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, + GLsizei count, GLenum type, + const GLvoid *indices, GLint basevertex) +{ + vbo_exec_DrawRangeElementsBaseVertex(mode, start, end, count, type, + indices, basevertex); +} + /* GL_EXT_multi_draw_arrays */ void GLAPIENTRY _mesa_MultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, @@ -929,3 +1014,13 @@ _mesa_MultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, { vbo_exec_MultiDrawElements(mode, count, type, indices, primcount); } + +void GLAPIENTRY +_mesa_MultiDrawElementsBaseVertex(GLenum mode, + const GLsizei *count, GLenum type, + const GLvoid **indices, GLsizei primcount, + const GLint *basevertex) +{ + vbo_exec_MultiDrawElementsBaseVertex(mode, count, type, indices, + primcount, basevertex); +} diff --git a/src/mesa/vbo/vbo_rebase.c b/src/mesa/vbo/vbo_rebase.c index 3bf7ef580f..799a25fc1c 100644 --- a/src/mesa/vbo/vbo_rebase.c +++ b/src/mesa/vbo/vbo_rebase.c @@ -126,7 +126,20 @@ void vbo_rebase_prims( GLcontext *ctx, if (0) _mesa_printf("%s %d..%d\n", __FUNCTION__, min_index, max_index); - if (ib) { + + if (ib && ctx->Extensions.ARB_draw_elements_base_vertex) { + /* If we can just tell the hardware or the TNL to interpret our + * indices with a different base, do so. + */ + tmp_prims = (struct _mesa_prim *)_mesa_malloc(sizeof(*prim) * nr_prims); + + for (i = 0; i < nr_prims; i++) { + tmp_prims[i] = prim[i]; + tmp_prims[i].basevertex -= min_index; + } + + prim = tmp_prims; + } else if (ib) { /* Unfortunately need to adjust each index individually. */ GLboolean map_ib = ib->obj->Name && !ib->obj->Pointer; diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c index 1771510d84..41cd21d04b 100644 --- a/src/mesa/vbo/vbo_save_api.c +++ b/src/mesa/vbo/vbo_save_api.c @@ -826,6 +826,33 @@ static void GLAPIENTRY _save_DrawRangeElements(GLenum mode, _mesa_compile_error( ctx, GL_INVALID_OPERATION, "glDrawRangeElements" ); } +static void GLAPIENTRY _save_DrawElementsBaseVertex(GLenum mode, + GLsizei count, + GLenum type, + const GLvoid *indices, + GLint basevertex) +{ + GET_CURRENT_CONTEXT(ctx); + (void) mode; (void) count; (void) type; (void) indices; (void)basevertex; + + _mesa_compile_error( ctx, GL_INVALID_OPERATION, "glDrawElements" ); +} + +static void GLAPIENTRY _save_DrawRangeElementsBaseVertex(GLenum mode, + GLuint start, + GLuint end, + GLsizei count, + GLenum type, + const GLvoid *indices, + GLint basevertex) +{ + GET_CURRENT_CONTEXT(ctx); + (void) mode; (void) start; (void) end; (void) count; (void) type; + (void) indices; (void)basevertex; + + _mesa_compile_error( ctx, GL_INVALID_OPERATION, "glDrawRangeElements" ); +} + static void GLAPIENTRY _save_DrawArrays(GLenum mode, GLint start, GLsizei count) { GET_CURRENT_CONTEXT(ctx); @@ -907,7 +934,7 @@ static void GLAPIENTRY _save_OBE_DrawElements(GLenum mode, GLsizei count, GLenum GET_CURRENT_CONTEXT(ctx); GLint i; - if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices )) + if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices, 0 )) return; _ae_map_vbos( ctx ); @@ -948,7 +975,7 @@ static void GLAPIENTRY _save_OBE_DrawRangeElements(GLenum mode, GET_CURRENT_CONTEXT(ctx); if (_mesa_validate_DrawRangeElements( ctx, mode, start, end, - count, type, indices )) + count, type, indices, 0 )) _save_OBE_DrawElements( mode, count, type, indices ); } @@ -1039,9 +1066,11 @@ static void _save_vtxfmt_init( GLcontext *ctx ) vfmt->DrawArrays = _save_DrawArrays; vfmt->DrawElements = _save_DrawElements; vfmt->DrawRangeElements = _save_DrawRangeElements; + vfmt->DrawElementsBaseVertex = _save_DrawElementsBaseVertex; + vfmt->DrawRangeElementsBaseVertex = _save_DrawRangeElementsBaseVertex; /* Loops back into vfmt->DrawElements */ vfmt->MultiDrawElementsEXT = _mesa_noop_MultiDrawElements; - + vfmt->MultiDrawElementsBaseVertex = _mesa_noop_MultiDrawElementsBaseVertex; } @@ -1233,6 +1262,7 @@ void vbo_save_api_init( struct vbo_save_context *save ) ctx->ListState.ListVtxfmt.DrawRangeElements = _save_OBE_DrawRangeElements; /* loops back into _save_OBE_DrawElements */ ctx->ListState.ListVtxfmt.MultiDrawElementsEXT = _mesa_noop_MultiDrawElements; + ctx->ListState.ListVtxfmt.MultiDrawElementsBaseVertex = _mesa_noop_MultiDrawElementsBaseVertex; _mesa_install_save_vtxfmt( ctx, &ctx->ListState.ListVtxfmt ); } diff --git a/src/mesa/vbo/vbo_split.c b/src/mesa/vbo/vbo_split.c index 58e879628d..c445acca7d 100644 --- a/src/mesa/vbo/vbo_split.c +++ b/src/mesa/vbo/vbo_split.c @@ -50,6 +50,7 @@ #include "main/glheader.h" #include "main/imports.h" #include "main/mtypes.h" +#include "main/macros.h" #include "vbo_split.h" #include "vbo.h" @@ -107,7 +108,12 @@ void vbo_split_prims( GLcontext *ctx, vbo_draw_func draw, const struct split_limits *limits ) { - + GLuint max_basevertex = prim->basevertex; + GLuint i; + + for (i = 1; i < nr_prims; i++) + max_basevertex = MAX2(max_basevertex, prim[i].basevertex); + if (ib) { if (limits->max_indices == 0) { /* Could traverse the indices, re-emitting vertices in turn. diff --git a/src/mesa/vbo/vbo_split_copy.c b/src/mesa/vbo/vbo_split_copy.c index 8ec180d550..c45190b9dd 100644 --- a/src/mesa/vbo/vbo_split_copy.c +++ b/src/mesa/vbo/vbo_split_copy.c @@ -589,28 +589,40 @@ void vbo_split_copy( GLcontext *ctx, const struct split_limits *limits ) { struct copy_context copy; - GLuint i; + GLuint i, this_nr_prims; + + for (i = 0; i < nr_prims;) { + /* Our SW TNL pipeline doesn't handle basevertex yet, so bind_indices + * will rebase the elements to the basevertex, and we'll only + * emit strings of prims with the same basevertex in one draw call. + */ + for (this_nr_prims = 1; i + this_nr_prims < nr_prims; + this_nr_prims++) { + if (prim[i].basevertex != prim[i + this_nr_prims].basevertex) + break; + } - memset(©, 0, sizeof(copy)); + memset(©, 0, sizeof(copy)); - /* Require indexed primitives: - */ - assert(ib); - - copy.ctx = ctx; - copy.array = arrays; - copy.prim = prim; - copy.nr_prims = nr_prims; - copy.ib = ib; - copy.draw = draw; - copy.limits = limits; + /* Require indexed primitives: + */ + assert(ib); - /* Clear the vertex cache: - */ - for (i = 0; i < ELT_TABLE_SIZE; i++) - copy.vert_cache[i].in = ~0; + copy.ctx = ctx; + copy.array = arrays; + copy.prim = &prim[i]; + copy.nr_prims = this_nr_prims; + copy.ib = ib; + copy.draw = draw; + copy.limits = limits; - replay_init(©); - replay_elts(©); - replay_finish(©); + /* Clear the vertex cache: + */ + for (i = 0; i < ELT_TABLE_SIZE; i++) + copy.vert_cache[i].in = ~0; + + replay_init(©); + replay_elts(©); + replay_finish(©); + } } -- cgit v1.2.3 From f959ccdfa6c8accd74b6e33040b716645f0a7057 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 27 Aug 2009 14:59:19 -0700 Subject: intel: Add support for ARB_draw_elements_base_vertex. On the 965, we just drop the value into the primitive packet. On non-945, we rely on the sw tnl code handling it. --- src/mesa/drivers/dri/i965/brw_draw.c | 2 +- src/mesa/drivers/dri/intel/intel_extensions.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c index 4411b24540..42961dd4fe 100644 --- a/src/mesa/drivers/dri/i965/brw_draw.c +++ b/src/mesa/drivers/dri/i965/brw_draw.c @@ -142,7 +142,7 @@ static void brw_emit_prim(struct brw_context *brw, prim_packet.start_vert_location += brw->ib.start_vertex_offset; prim_packet.instance_count = 1; prim_packet.start_instance_location = 0; - prim_packet.base_vert_location = 0; + prim_packet.base_vert_location = prim->basevertex; /* Can't wrap here, since we rely on the validated state. */ brw->no_batch_wrap = GL_TRUE; diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c index 125ca93d7f..5431cf90a1 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions.c +++ b/src/mesa/drivers/dri/intel/intel_extensions.c @@ -31,6 +31,7 @@ #define need_GL_ARB_copy_buffer +#define need_GL_ARB_draw_elements_base_vertex #define need_GL_ARB_framebuffer_object #define need_GL_ARB_map_buffer_range #define need_GL_ARB_occlusion_query @@ -73,6 +74,7 @@ */ static const struct dri_extension card_extensions[] = { { "GL_ARB_copy_buffer", GL_ARB_copy_buffer_functions }, + { "GL_ARB_draw_elements_base_vertex", GL_ARB_draw_elements_base_vertex_functions }, { "GL_ARB_half_float_pixel", NULL }, { "GL_ARB_map_buffer_range", GL_ARB_map_buffer_range_functions }, { "GL_ARB_multitexture", NULL }, -- cgit v1.2.3 From 530fbd314e9d04db7f4e2a8f7d3a705393a6f9aa Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Fri, 4 Sep 2009 23:46:22 +0100 Subject: i915g: Remove lib prefix from driver --- src/gallium/winsys/drm/intel/dri/SConscript | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/winsys/drm/intel/dri/SConscript b/src/gallium/winsys/drm/intel/dri/SConscript index 6c00861f51..f973811072 100644 --- a/src/gallium/winsys/drm/intel/dri/SConscript +++ b/src/gallium/winsys/drm/intel/dri/SConscript @@ -12,8 +12,9 @@ drivers = [ trace, ] -env.SharedLibrary( +env.LoadableModule( target ='i915_dri.so', source = COMMON_GALLIUM_SOURCES, LIBS = drivers + mesa + auxiliaries + env['LIBS'], + SHLIBPREFIX = '', ) -- cgit v1.2.3 From 3833587818cc40a3d0f09b430e5a0a475d5a7167 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 8 Sep 2009 20:51:02 +0100 Subject: i915g: Map vertex buffers via gtt --- src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c b/src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c index e017cd2e98..e932f71e42 100644 --- a/src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c +++ b/src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c @@ -28,6 +28,7 @@ intel_drm_buffer_create(struct intel_winsys *iws, } else if (type == INTEL_NEW_VERTEX) { name = "gallium3d_vertex"; pool = idws->pools.gem; + buf->map_gtt = TRUE; } else if (type == INTEL_NEW_SCANOUT) { name = "gallium3d_scanout"; pool = idws->pools.gem; -- cgit v1.2.3 From 6e61d062093a71e267aed02870607fc5a0d7d8f4 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 8 Sep 2009 20:39:56 +0100 Subject: util: Add super simple fifo --- src/gallium/auxiliary/util/u_fifo.h | 94 +++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/gallium/auxiliary/util/u_fifo.h (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_fifo.h b/src/gallium/auxiliary/util/u_fifo.h new file mode 100644 index 0000000000..9e007de1ad --- /dev/null +++ b/src/gallium/auxiliary/util/u_fifo.h @@ -0,0 +1,94 @@ +/************************************************************************** + * + * Copyright © 2009 Jakob Bornecrantz + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#ifndef U_FIFO_H +#define U_FIFO_H + +#include "util/u_memory.h" + +struct util_fifo +{ + size_t head; + size_t tail; + size_t num; + size_t size; +}; + +static INLINE struct util_fifo * +u_fifo_create(size_t size) +{ + struct util_fifo *fifo; + fifo = MALLOC(sizeof(*fifo) + size * sizeof(void*)); + + fifo->head = 0; + fifo->tail = 0; + fifo->num = 0; + fifo->size = size; + + return fifo; +} + +static INLINE boolean +u_fifo_add(struct util_fifo *fifo, void *ptr) +{ + void **array = (void**)&fifo[1]; + if (fifo->num >= fifo->size) + return FALSE; + + if (++fifo->head >= fifo->size) + fifo->head = 0; + + array[fifo->head] = ptr; + + ++fifo->num; + + return TRUE; +} + +static INLINE boolean +u_fifo_pop(struct util_fifo *fifo, void **ptr) +{ + void **array = (void**)&fifo[1]; + + if (!fifo->num) + return FALSE; + + if (++fifo->tail >= fifo->size) + fifo->tail = 0; + + *ptr = array[fifo->tail]; + + ++fifo->num; + + return TRUE; +} + +static INLINE void +u_fifo_destroy(struct util_fifo *fifo) +{ + FREE(fifo); +} + +#endif -- cgit v1.2.3 From d585616f5bb950b3ed0b1142498e06f4dca98559 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 8 Sep 2009 20:40:37 +0100 Subject: i915g: Keep vertex buffers in a fifo --- src/gallium/drivers/i915simple/i915_prim_vbuf.c | 41 ++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/i915simple/i915_prim_vbuf.c b/src/gallium/drivers/i915simple/i915_prim_vbuf.c index 508f4560e4..f10f10a72a 100644 --- a/src/gallium/drivers/i915simple/i915_prim_vbuf.c +++ b/src/gallium/drivers/i915simple/i915_prim_vbuf.c @@ -44,6 +44,7 @@ #include "pipe/p_inlines.h" #include "util/u_math.h" #include "util/u_memory.h" +#include "util/u_fifo.h" #include "i915_context.h" #include "i915_reg.h" @@ -78,6 +79,11 @@ struct i915_vbuf_render { void *vbo_ptr; size_t vbo_alloc_size; size_t vbo_max_used; + + /* stuff for the pool */ + struct util_fifo *pool_fifo; + unsigned pool_used; + boolean pool_not_used; }; @@ -120,9 +126,14 @@ i915_vbuf_render_allocate_vertices(struct vbuf_render *render, if (i915_render->vbo_size > size + i915_render->vbo_offset && !i915->vbo_flushed) { } else { + if (i915->vbo_flushed) + i915_render->pool_used = 0; i915->vbo_flushed = 0; if (i915_render->vbo) { - iws->buffer_destroy(iws, i915_render->vbo); + if (i915_render->pool_not_used) + iws->buffer_destroy(iws, i915_render->vbo); + else + u_fifo_add(i915_render->pool_fifo, i915_render->vbo); i915_render->vbo = NULL; } } @@ -130,9 +141,21 @@ i915_vbuf_render_allocate_vertices(struct vbuf_render *render, if (!i915_render->vbo) { i915_render->vbo_size = MAX2(size, i915_render->vbo_alloc_size); i915_render->vbo_offset = 0; - i915_render->vbo = iws->buffer_create(iws, i915_render->vbo_size, 64, - INTEL_NEW_VERTEX); + if (i915_render->vbo_size != i915_render->vbo_alloc_size) { + i915_render->pool_not_used = TRUE; + i915_render->vbo = iws->buffer_create(iws, i915_render->vbo_size, 64, + INTEL_NEW_VERTEX); + } else { + i915_render->pool_not_used = FALSE; + + if (i915_render->pool_used >= 2) { + FLUSH_BATCH(NULL); + i915->vbo_flushed = 0; + i915_render->pool_used = 0; + } + u_fifo_pop(i915_render->pool_fifo, (void**)&i915_render->vbo); + } } i915_render->vertex_size = vertex_size; @@ -504,6 +527,7 @@ i915_vbuf_render_create(struct i915_context *i915) { struct i915_vbuf_render *i915_render = CALLOC_STRUCT(i915_vbuf_render); struct intel_winsys *iws = i915->iws; + int i; i915_render->i915 = i915; @@ -527,8 +551,15 @@ i915_vbuf_render_create(struct i915_context *i915) i915_render->vbo_alloc_size = 128 * 4096; i915_render->vbo_size = i915_render->vbo_alloc_size; i915_render->vbo_offset = 0; - i915_render->vbo = iws->buffer_create(iws, i915_render->vbo_size, 64, - INTEL_NEW_VERTEX); + + i915_render->pool_fifo = u_fifo_create(6); + for (i = 0; i < 6; i++) + u_fifo_add(i915_render->pool_fifo, + iws->buffer_create(iws, i915_render->vbo_size, 64, + INTEL_NEW_VERTEX)); + u_fifo_pop(i915_render->pool_fifo, (void**)&i915_render->vbo); + i915_render->pool_used = 1; + /* TODO JB: is this realy needed? */ i915_render->vbo_ptr = iws->buffer_map(iws, i915_render->vbo, TRUE); iws->buffer_unmap(iws, i915_render->vbo); -- cgit v1.2.3 From 547b726484766b644c40587a5b41a44dbe80f3be Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 8 Sep 2009 21:30:48 +0100 Subject: i915g: pwrite batchbuffer instead of map --- .../winsys/drm/intel/gem/intel_drm_batchbuffer.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c b/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c index 5ca3ad9762..ebd1b607b7 100644 --- a/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c +++ b/src/gallium/winsys/drm/intel/gem/intel_drm_batchbuffer.c @@ -13,6 +13,7 @@ #define INTEL_BATCH_CLIPRECTS 0x2 #undef INTEL_RUN_SYNC +#undef INTEL_MAP_BATCHBUFFER struct intel_drm_batchbuffer { @@ -40,8 +41,11 @@ intel_drm_batchbuffer_reset(struct intel_drm_batchbuffer *batch) "gallium3d_batchbuffer", batch->actual_size, 4096); + +#ifdef INTEL_MAP_BATCHBUFFER drm_intel_bo_map(batch->bo, TRUE); batch->base.map = batch->bo->virtual; +#endif memset(batch->base.map, 0, batch->actual_size); batch->base.ptr = batch->base.map; @@ -55,7 +59,13 @@ intel_drm_batchbuffer_create(struct intel_winsys *iws) struct intel_drm_winsys *idws = intel_drm_winsys(iws); struct intel_drm_batchbuffer *batch = CALLOC_STRUCT(intel_drm_batchbuffer); + batch->actual_size = idws->max_batch_size; + +#ifdef INTEL_MAP_BATCHBUFFER batch->base.map = NULL; +#else + batch->base.map = MALLOC(batch->actual_size); +#endif batch->base.ptr = NULL; batch->base.size = 0; @@ -64,8 +74,6 @@ intel_drm_batchbuffer_create(struct intel_winsys *iws) batch->base.iws = iws; - batch->actual_size = idws->max_batch_size; - intel_drm_batchbuffer_reset(batch); return &batch->base; @@ -156,7 +164,11 @@ intel_drm_batchbuffer_flush(struct intel_batchbuffer *ibatch, used = batch->base.ptr - batch->base.map; +#ifdef INTEL_MAP_BATCHBUFFER drm_intel_bo_unmap(batch->bo); +#else + drm_intel_bo_subdata(batch->bo, 0, used, batch->base.map); +#endif /* Do the sending to HW */ ret = drm_intel_bo_exec(batch->bo, used, NULL, 0, 0); @@ -202,7 +214,10 @@ intel_drm_batchbuffer_destroy(struct intel_batchbuffer *ibatch) if (batch->bo) drm_intel_bo_unreference(batch->bo); - free(batch); +#ifndef INTEL_MAP_BATCHBUFFER + FREE(batch->base.map); +#endif + FREE(batch); } void intel_drm_winsys_init_batchbuffer_functions(struct intel_drm_winsys *idws) -- cgit v1.2.3 From d1121328402dc2e9480ca69bcfd9e3aac5f024a4 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 8 Sep 2009 21:50:32 +0100 Subject: i915g: Reorg vbuf code a bit --- src/gallium/drivers/i915simple/i915_prim_vbuf.c | 97 ++++++++++++++++--------- 1 file changed, 61 insertions(+), 36 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/i915simple/i915_prim_vbuf.c b/src/gallium/drivers/i915simple/i915_prim_vbuf.c index f10f10a72a..b3a7774fd6 100644 --- a/src/gallium/drivers/i915simple/i915_prim_vbuf.c +++ b/src/gallium/drivers/i915simple/i915_prim_vbuf.c @@ -77,12 +77,12 @@ struct i915_vbuf_render { size_t vbo_size; size_t vbo_offset; void *vbo_ptr; - size_t vbo_alloc_size; size_t vbo_max_used; /* stuff for the pool */ struct util_fifo *pool_fifo; unsigned pool_used; + unsigned pool_buffer_size; boolean pool_not_used; }; @@ -111,6 +111,55 @@ i915_vbuf_render_get_vertex_info(struct vbuf_render *render) return &i915->current.vertex_info; } +static boolean +i915_vbuf_render_reserve(struct i915_vbuf_render *i915_render, size_t size) +{ + struct i915_context *i915 = i915_render->i915; + + if (i915_render->vbo_size < size + i915_render->vbo_offset) + return FALSE; + + if (i915->vbo_flushed) + return FALSE; + + return TRUE; +} + +static void +i915_vbuf_render_new_buf(struct i915_vbuf_render *i915_render, size_t size) +{ + struct i915_context *i915 = i915_render->i915; + struct intel_winsys *iws = i915->iws; + + if (i915_render->vbo) { + if (i915_render->pool_not_used) + iws->buffer_destroy(iws, i915_render->vbo); + else + u_fifo_add(i915_render->pool_fifo, i915_render->vbo); + i915_render->vbo = NULL; + } + + i915->vbo_flushed = 0; + + i915_render->vbo_size = MAX2(size, i915_render->pool_buffer_size); + i915_render->vbo_offset = 0; + + if (i915_render->vbo_size != i915_render->pool_buffer_size) { + i915_render->pool_not_used = TRUE; + i915_render->vbo = iws->buffer_create(iws, i915_render->vbo_size, 64, + INTEL_NEW_VERTEX); + } else { + i915_render->pool_not_used = FALSE; + + if (i915_render->pool_used >= 2) { + FLUSH_BATCH(NULL); + i915->vbo_flushed = 0; + i915_render->pool_used = 0; + } + u_fifo_pop(i915_render->pool_fifo, (void**)&i915_render->vbo); + } +} + static boolean i915_vbuf_render_allocate_vertices(struct vbuf_render *render, ushort vertex_size, @@ -118,44 +167,17 @@ i915_vbuf_render_allocate_vertices(struct vbuf_render *render, { struct i915_vbuf_render *i915_render = i915_vbuf_render(render); struct i915_context *i915 = i915_render->i915; - struct intel_winsys *iws = i915->iws; size_t size = (size_t)vertex_size * (size_t)nr_vertices; /* FIXME: handle failure */ assert(!i915->vbo); - if (i915_render->vbo_size > size + i915_render->vbo_offset && !i915->vbo_flushed) { - } else { + if (!i915_vbuf_render_reserve(i915_render, size)) { + if (i915->vbo_flushed) i915_render->pool_used = 0; - i915->vbo_flushed = 0; - if (i915_render->vbo) { - if (i915_render->pool_not_used) - iws->buffer_destroy(iws, i915_render->vbo); - else - u_fifo_add(i915_render->pool_fifo, i915_render->vbo); - i915_render->vbo = NULL; - } - } - if (!i915_render->vbo) { - i915_render->vbo_size = MAX2(size, i915_render->vbo_alloc_size); - i915_render->vbo_offset = 0; - - if (i915_render->vbo_size != i915_render->vbo_alloc_size) { - i915_render->pool_not_used = TRUE; - i915_render->vbo = iws->buffer_create(iws, i915_render->vbo_size, 64, - INTEL_NEW_VERTEX); - } else { - i915_render->pool_not_used = FALSE; - - if (i915_render->pool_used >= 2) { - FLUSH_BATCH(NULL); - i915->vbo_flushed = 0; - i915_render->pool_used = 0; - } - u_fifo_pop(i915_render->pool_fifo, (void**)&i915_render->vbo); - } + i915_vbuf_render_new_buf(i915_render, size); } i915_render->vertex_size = vertex_size; @@ -548,21 +570,24 @@ i915_vbuf_render_create(struct i915_context *i915) i915_render->base.release_vertices = i915_vbuf_render_release_vertices; i915_render->base.destroy = i915_vbuf_render_destroy; - i915_render->vbo_alloc_size = 128 * 4096; - i915_render->vbo_size = i915_render->vbo_alloc_size; + + i915_render->vbo = NULL; + i915_render->vbo_size = 0; i915_render->vbo_offset = 0; + i915_render->pool_used = FALSE; + i915_render->pool_buffer_size = 128 * 4096; i915_render->pool_fifo = u_fifo_create(6); for (i = 0; i < 6; i++) u_fifo_add(i915_render->pool_fifo, - iws->buffer_create(iws, i915_render->vbo_size, 64, + iws->buffer_create(iws, i915_render->pool_buffer_size, 64, INTEL_NEW_VERTEX)); - u_fifo_pop(i915_render->pool_fifo, (void**)&i915_render->vbo); - i915_render->pool_used = 1; +#if 0 /* TODO JB: is this realy needed? */ i915_render->vbo_ptr = iws->buffer_map(iws, i915_render->vbo, TRUE); iws->buffer_unmap(iws, i915_render->vbo); +#endif return &i915_render->base; } -- cgit v1.2.3 From e589a37f7b72da4f5eb8cbb46443d7baf710b37c Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Wed, 9 Sep 2009 00:38:04 +0100 Subject: i915g: Add buffer write callback --- src/gallium/drivers/i915simple/intel_winsys.h | 11 +++++++++++ src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c | 13 +++++++++++++ 2 files changed, 24 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/i915simple/intel_winsys.h b/src/gallium/drivers/i915simple/intel_winsys.h index f949f52a9c..42c5e7470e 100644 --- a/src/gallium/drivers/i915simple/intel_winsys.h +++ b/src/gallium/drivers/i915simple/intel_winsys.h @@ -150,6 +150,17 @@ struct intel_winsys { void (*buffer_unmap)(struct intel_winsys *iws, struct intel_buffer *buffer); + /** + * Write to a buffer. + * + * Arguments follows pwrite(2) + */ + int (*buffer_write)(struct intel_winsys *iws, + struct intel_buffer *dst, + const void *src, + size_t size, + size_t offset); + void (*buffer_destroy)(struct intel_winsys *iws, struct intel_buffer *buffer); /*@}*/ diff --git a/src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c b/src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c index e932f71e42..0030f915a3 100644 --- a/src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c +++ b/src/gallium/winsys/drm/intel/gem/intel_drm_buffer.c @@ -110,6 +110,18 @@ intel_drm_buffer_unmap(struct intel_winsys *iws, drm_intel_bo_unmap(intel_bo(buffer)); } +static int +intel_drm_buffer_write(struct intel_winsys *iws, + struct intel_buffer *buffer, + const void *data, + size_t size, + size_t offset) +{ + struct intel_drm_buffer *buf = intel_drm_buffer(buffer); + + return drm_intel_bo_subdata(buf->bo, offset, size, (void*)data); +} + static void intel_drm_buffer_destroy(struct intel_winsys *iws, struct intel_buffer *buffer) @@ -131,5 +143,6 @@ intel_drm_winsys_init_buffer_functions(struct intel_drm_winsys *idws) idws->base.buffer_set_fence_reg = intel_drm_buffer_set_fence_reg; idws->base.buffer_map = intel_drm_buffer_map; idws->base.buffer_unmap = intel_drm_buffer_unmap; + idws->base.buffer_write = intel_drm_buffer_write; idws->base.buffer_destroy = intel_drm_buffer_destroy; } -- cgit v1.2.3 From 126696caf7c2ab66420ab60a2c363613b88bacb4 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 16:44:49 -0600 Subject: mesa: fix viewport_z_clip breakage --- src/mesa/math/m_debug_clip.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/mesa/math/m_debug_clip.c b/src/mesa/math/m_debug_clip.c index f2b757a91b..95ae5a347d 100644 --- a/src/mesa/math/m_debug_clip.c +++ b/src/mesa/math/m_debug_clip.c @@ -125,7 +125,8 @@ static GLvector4f *ref_cliptest_points3( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ) + GLubyte *andMask, + GLboolean viewport_z_clip ) { const GLuint stride = clip_vec->stride; const GLuint count = clip_vec->count; @@ -141,8 +142,10 @@ static GLvector4f *ref_cliptest_points3( GLvector4f *clip_vec, else if ( cx < -1.0 ) mask |= CLIP_LEFT_BIT; if ( cy > 1.0 ) mask |= CLIP_TOP_BIT; else if ( cy < -1.0 ) mask |= CLIP_BOTTOM_BIT; - if ( cz > 1.0 ) mask |= CLIP_FAR_BIT; - else if ( cz < -1.0 ) mask |= CLIP_NEAR_BIT; + if (viewport_z_clip) { + if ( cz > 1.0 ) mask |= CLIP_FAR_BIT; + else if ( cz < -1.0 ) mask |= CLIP_NEAR_BIT; + } clipMask[i] = mask; tmpOrMask |= mask; tmpAndMask &= mask; @@ -157,7 +160,8 @@ static GLvector4f * ref_cliptest_points2( GLvector4f *clip_vec, GLvector4f *proj_vec, GLubyte clipMask[], GLubyte *orMask, - GLubyte *andMask ) + GLubyte *andMask, + GLboolean viewport_z_clip ) { const GLuint stride = clip_vec->stride; const GLuint count = clip_vec->count; @@ -166,6 +170,9 @@ static GLvector4f * ref_cliptest_points2( GLvector4f *clip_vec, GLubyte tmpOrMask = *orMask; GLubyte tmpAndMask = *andMask; GLuint i; + + (void) viewport_z_clip; + for ( i = 0 ; i < count ; i++, STRIDE_F(from, stride) ) { const GLfloat cx = from[0], cy = from[1]; GLubyte mask = 0; @@ -211,6 +218,7 @@ static int test_cliptest_function( clip_func func, int np, #ifdef RUN_DEBUG_BENCHMARK int cycle_i; /* the counter for the benchmarks we run */ #endif + GLboolean viewport_z_clip = GL_TRUE; (void) cycles; @@ -250,15 +258,15 @@ static int test_cliptest_function( clip_func func, int np, dco = rco = 0; dca = rca = CLIP_FRUSTUM_BITS; - ref_cliptest[psize]( source, ref, rm, &rco, &rca ); + ref_cliptest[psize]( source, ref, rm, &rco, &rca, viewport_z_clip ); if ( mesa_profile ) { BEGIN_RACE( *cycles ); - func( source, dest, dm, &dco, &dca ); + func( source, dest, dm, &dco, &dca, viewport_z_clip ); END_RACE( *cycles ); } else { - func( source, dest, dm, &dco, &dca ); + func( source, dest, dm, &dco, &dca, viewport_z_clip ); } if ( dco != rco ) { -- cgit v1.2.3 From 97cbaab541e08460cab5bbaa64c873111ff40c0d Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 16:45:34 -0600 Subject: gallium: added r8g8b8_get/put_tile_rgba() --- src/gallium/auxiliary/util/u_tile.c | 54 ++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_tile.c b/src/gallium/auxiliary/util/u_tile.c index 1235a67d26..0d6489c26e 100644 --- a/src/gallium/auxiliary/util/u_tile.c +++ b/src/gallium/auxiliary/util/u_tile.c @@ -170,7 +170,7 @@ x8r8g8b8_get_tile_rgba(const unsigned *src, pRow[0] = ubyte_to_float((pixel >> 16) & 0xff); pRow[1] = ubyte_to_float((pixel >> 8) & 0xff); pRow[2] = ubyte_to_float((pixel >> 0) & 0xff); - pRow[3] = ubyte_to_float(0xff); + pRow[3] = 1.0F; } p += dst_stride; } @@ -394,6 +394,52 @@ r5g6b5_put_tile_rgba(ushort *dst, +/*** PIPE_FORMAT_R8G8B8_UNORM ***/ + +static void +r8g8b8_get_tile_rgba(const ubyte *src, + unsigned w, unsigned h, + float *p, + unsigned dst_stride) +{ + unsigned i, j; + + for (i = 0; i < h; i++) { + float *pRow = p; + for (j = 0; j < w; j++, pRow += 4) { + pRow[0] = ubyte_to_float(src[0]); + pRow[1] = ubyte_to_float(src[1]); + pRow[2] = ubyte_to_float(src[2]); + pRow[3] = 1.0f; + src += 3; + } + p += dst_stride; + } +} + + +static void +r8g8b8_put_tile_rgba(ubyte *dst, + unsigned w, unsigned h, + const float *p, + unsigned src_stride) +{ + unsigned i, j; + + for (i = 0; i < h; i++) { + const float *pRow = p; + for (j = 0; j < w; j++, pRow += 4) { + dst[0] = float_to_ubyte(pRow[0]); + dst[1] = float_to_ubyte(pRow[1]); + dst[2] = float_to_ubyte(pRow[2]); + dst += 3; + } + p += src_stride; + } +} + + + /*** PIPE_FORMAT_Z16_UNORM ***/ /** @@ -1106,6 +1152,9 @@ pipe_tile_raw_to_rgba(enum pipe_format format, case PIPE_FORMAT_R5G6B5_UNORM: r5g6b5_get_tile_rgba((ushort *) src, w, h, dst, dst_stride); break; + case PIPE_FORMAT_R8G8B8_UNORM: + r8g8b8_get_tile_rgba((ubyte *) src, w, h, dst, dst_stride); + break; case PIPE_FORMAT_L8_UNORM: l8_get_tile_rgba((ubyte *) src, w, h, dst, dst_stride); break; @@ -1222,6 +1271,9 @@ pipe_put_tile_rgba(struct pipe_transfer *pt, case PIPE_FORMAT_R5G6B5_UNORM: r5g6b5_put_tile_rgba((ushort *) packed, w, h, p, src_stride); break; + case PIPE_FORMAT_R8G8B8_UNORM: + r8g8b8_put_tile_rgba((ubyte *) packed, w, h, p, src_stride); + break; case PIPE_FORMAT_R8G8B8A8_UNORM: assert(0); break; -- cgit v1.2.3 From f78eafcacb67de3f2cd035335c4ecd98e21a8209 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 8 Sep 2009 16:46:06 -0600 Subject: mesa: bump version to 7.7 --- Makefile | 2 +- configs/default | 2 +- src/mesa/main/version.h | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/Makefile b/Makefile index 211937d731..dd941ad9d5 100644 --- a/Makefile +++ b/Makefile @@ -182,7 +182,7 @@ ultrix-gcc: # Rules for making release tarballs -VERSION=7.6-devel +VERSION=7.7-devel DIRECTORY = Mesa-$(VERSION) LIB_NAME = MesaLib-$(VERSION) DEMO_NAME = MesaDemos-$(VERSION) diff --git a/configs/default b/configs/default index 127b98e76c..9e4bb08ea9 100644 --- a/configs/default +++ b/configs/default @@ -9,7 +9,7 @@ CONFIG_NAME = default # Version info MESA_MAJOR=7 -MESA_MINOR=6 +MESA_MINOR=7 MESA_TINY=0 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY) diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index d4d3dd1a94..0cae1860a3 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -1,6 +1,6 @@ /* * Mesa 3-D graphics library - * Version: 7.6 + * Version: 7.7 * * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. * Copyright (C) 2009 VMware, Inc. All Rights Reserved. @@ -30,9 +30,9 @@ /* Mesa version */ #define MESA_MAJOR 7 -#define MESA_MINOR 6 +#define MESA_MINOR 7 #define MESA_PATCH 0 -#define MESA_VERSION_STRING "7.6-devel" +#define MESA_VERSION_STRING "7.7-devel" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) -- cgit v1.2.3 From 5aaa45de4c367dd6ec5daa6f4a54504b0aff1aca Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 9 Sep 2009 15:02:16 +1000 Subject: r600: don't setup hardware state if TFP if we have a BO here it means TFP and we should have set it up already. tested by b0le on #radeon --- src/mesa/drivers/dri/r600/r600_texstate.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c b/src/mesa/drivers/dri/r600/r600_texstate.c index fff6e74386..ff4ef1ee74 100644 --- a/src/mesa/drivers/dri/r600/r600_texstate.c +++ b/src/mesa/drivers/dri/r600/r600_texstate.c @@ -608,6 +608,10 @@ static void setup_hardware_state(context_t *rmesa, struct gl_texture_object *tex int firstlevel = t->mt ? t->mt->firstLevel : 0; GLuint uTexelPitch, row_align; + if ( t->bo ) { + return GL_TRUE; + } + firstImage = t->base.Image[0][firstlevel]; if (!t->image_override) { -- cgit v1.2.3 From ca246dd186f9590f6d67038832faceb522138c20 Mon Sep 17 00:00:00 2001 From: Zhenyu Wang Date: Mon, 7 Sep 2009 16:18:57 +0800 Subject: intel: add B43 chipset support Signed-off-by: Zhenyu Wang --- src/mesa/drivers/dri/intel/intel_chipset.h | 4 +++- src/mesa/drivers/dri/intel/intel_context.c | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_chipset.h b/src/mesa/drivers/dri/intel/intel_chipset.h index 3c38f1676c..3dc8653a73 100644 --- a/src/mesa/drivers/dri/intel/intel_chipset.h +++ b/src/mesa/drivers/dri/intel/intel_chipset.h @@ -66,6 +66,7 @@ #define PCI_CHIP_Q45_G 0x2E12 #define PCI_CHIP_G45_G 0x2E22 #define PCI_CHIP_G41_G 0x2E32 +#define PCI_CHIP_B43_G 0x2E42 #define PCI_CHIP_ILD_G 0x0042 #define PCI_CHIP_ILM_G 0x0046 @@ -83,7 +84,8 @@ #define IS_G45(devid) (devid == PCI_CHIP_IGD_E_G || \ devid == PCI_CHIP_Q45_G || \ devid == PCI_CHIP_G45_G || \ - devid == PCI_CHIP_G41_G) + devid == PCI_CHIP_G41_G || \ + devid == PCI_CHIP_B43_G) #define IS_GM45(devid) (devid == PCI_CHIP_GM45_GM) #define IS_G4X(devid) (IS_G45(devid) || IS_GM45(devid)) diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 7ab8299802..7e21b94acc 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -162,6 +162,9 @@ intelGetString(GLcontext * ctx, GLenum name) case PCI_CHIP_G41_G: chipset = "Intel(R) G41"; break; + case PCI_CHIP_B43_G: + chipset = "Intel(R) B43"; + break; case PCI_CHIP_ILD_G: chipset = "Intel(R) IGDNG_D"; break; -- cgit v1.2.3 From da9ed257a3b47c97ac557da17c32cf271190a407 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Wed, 9 Sep 2009 01:41:46 -0400 Subject: r600: fix ftp for dri1 We use t->bo for dri1 since r600 uses CS for dri1. --- src/mesa/drivers/dri/r600/r600_texstate.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c b/src/mesa/drivers/dri/r600/r600_texstate.c index ff4ef1ee74..f1fefd8f50 100644 --- a/src/mesa/drivers/dri/r600/r600_texstate.c +++ b/src/mesa/drivers/dri/r600/r600_texstate.c @@ -608,9 +608,10 @@ static void setup_hardware_state(context_t *rmesa, struct gl_texture_object *tex int firstlevel = t->mt ? t->mt->firstLevel : 0; GLuint uTexelPitch, row_align; - if ( t->bo ) { - return GL_TRUE; - } + if (rmesa->radeon.radeonScreen->driScreen->dri2.enabled && + t->image_override && + t->bo) + return; firstImage = t->base.Image[0][firstlevel]; -- cgit v1.2.3 From 89a765e92b4847f80848c8be89efbce2d021434b Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 9 Sep 2009 08:23:11 -0600 Subject: mesa: disable GL_LUMINANCE case in _mesa_meta_draw_pixels() Works around a bug found on i965. See bug 23670. --- src/mesa/drivers/common/meta.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 965fb8697e..28e49b6898 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -1446,7 +1446,10 @@ _mesa_meta_draw_pixels(GLcontext *ctx, if (_mesa_is_color_format(format)) { /* use more compact format when possible */ - if (format == GL_LUMINANCE || format == GL_LUMINANCE_ALPHA) + /* XXX disable special case for GL_LUMINANCE for now to work around + * apparent i965 driver bug (see bug #23670). + */ + if (/*format == GL_LUMINANCE ||*/ format == GL_LUMINANCE_ALPHA) texIntFormat = format; else texIntFormat = GL_RGBA; -- cgit v1.2.3 From c6c44bf48124dd5b4661014a8d58482c5a54557f Mon Sep 17 00:00:00 2001 From: aljen Date: Sat, 5 Sep 2009 23:06:53 +0200 Subject: gallium: Added HaikuOS platform --- src/gallium/auxiliary/util/u_debug.h | 2 ++ src/gallium/auxiliary/util/u_network.c | 6 +++--- src/gallium/auxiliary/util/u_network.h | 2 +- src/gallium/auxiliary/util/u_stream_stdc.c | 2 +- src/gallium/auxiliary/util/u_time.c | 12 ++++++------ src/gallium/auxiliary/util/u_time.h | 9 +++++++-- src/gallium/include/pipe/p_compiler.h | 4 +++- src/gallium/include/pipe/p_config.h | 3 +++ src/gallium/include/pipe/p_thread.h | 10 +++++----- 9 files changed, 31 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_debug.h b/src/gallium/auxiliary/util/u_debug.h index d42b65ce28..1380d98d7e 100644 --- a/src/gallium/auxiliary/util/u_debug.h +++ b/src/gallium/auxiliary/util/u_debug.h @@ -88,6 +88,7 @@ _debug_printf(const char *format, ...) * - avoid outputing large strings (512 bytes is the current maximum length * that is guaranteed to be printed in all platforms) */ +#if !defined(PIPE_OS_HAIKU) static INLINE void debug_printf(const char *format, ...) { @@ -101,6 +102,7 @@ debug_printf(const char *format, ...) #endif } +#endif /* !PIPE_OS_HAIKU */ /* * ... isn't portable so we need to pass arguments in parentheses. diff --git a/src/gallium/auxiliary/util/u_network.c b/src/gallium/auxiliary/util/u_network.c index 07d804ecdb..bc4b758406 100644 --- a/src/gallium/auxiliary/util/u_network.c +++ b/src/gallium/auxiliary/util/u_network.c @@ -6,7 +6,7 @@ #if defined(PIPE_SUBSYSTEM_WINDOWS_USER) # include # include -#elif defined(PIPE_OS_LINUX) +#elif defined(PIPE_OS_LINUX) || defined(PIPE_OS_HAIKU) # include # include # include @@ -54,7 +54,7 @@ u_socket_close(int s) if (s < 0) return; -#if defined(PIPE_OS_LINUX) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_HAIKU) shutdown(s, SHUT_RDWR); close(s); #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) @@ -169,7 +169,7 @@ u_socket_listen_on_port(uint16_t portnum) void u_socket_block(int s, boolean block) { -#if defined(PIPE_OS_LINUX) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_HAIKU) int old = fcntl(s, F_GETFL, 0); if (old == -1) return; diff --git a/src/gallium/auxiliary/util/u_network.h b/src/gallium/auxiliary/util/u_network.h index 14d3884427..8c778f492c 100644 --- a/src/gallium/auxiliary/util/u_network.h +++ b/src/gallium/auxiliary/util/u_network.h @@ -6,7 +6,7 @@ #if defined(PIPE_SUBSYSTEM_WINDOWS_USER) # define PIPE_HAVE_SOCKETS -#elif defined(PIPE_OS_LINUX) +#elif defined(PIPE_OS_LINUX) || defined(PIPE_OS_HAIKU) # define PIPE_HAVE_SOCKETS #endif diff --git a/src/gallium/auxiliary/util/u_stream_stdc.c b/src/gallium/auxiliary/util/u_stream_stdc.c index d8f648e5dd..5cd05b2904 100644 --- a/src/gallium/auxiliary/util/u_stream_stdc.c +++ b/src/gallium/auxiliary/util/u_stream_stdc.c @@ -32,7 +32,7 @@ #include "pipe/p_config.h" -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_SUBSYSTEM_WINDOWS_USER) || defined(PIPE_OS_SOLARIS) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_SUBSYSTEM_WINDOWS_USER) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) #include diff --git a/src/gallium/auxiliary/util/u_time.c b/src/gallium/auxiliary/util/u_time.c index c16cdd0b22..b958a98635 100644 --- a/src/gallium/auxiliary/util/u_time.c +++ b/src/gallium/auxiliary/util/u_time.c @@ -35,7 +35,7 @@ #include "pipe/p_config.h" -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) #include #elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) #include @@ -77,7 +77,7 @@ util_time_get_frequency(void) void util_time_get(struct util_time *t) { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) gettimeofday(&t->tv, NULL); #elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) LONGLONG temp; @@ -102,7 +102,7 @@ util_time_add(const struct util_time *t1, int64_t usecs, struct util_time *t2) { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) t2->tv.tv_sec = t1->tv.tv_sec + usecs / 1000000; t2->tv.tv_usec = t1->tv.tv_usec + usecs % 1000000; #elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) || defined(PIPE_SUBSYSTEM_WINDOWS_USER) || defined(PIPE_SUBSYSTEM_WINDOWS_CE) @@ -124,7 +124,7 @@ int64_t util_time_diff(const struct util_time *t1, const struct util_time *t2) { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) return (t2->tv.tv_usec - t1->tv.tv_usec) + (t2->tv.tv_sec - t1->tv.tv_sec)*1000000; #elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) || defined(PIPE_SUBSYSTEM_WINDOWS_USER) || defined(PIPE_SUBSYSTEM_WINDOWS_CE) @@ -144,7 +144,7 @@ util_time_micros( void ) util_time_get(&t1); -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) return t1.tv.tv_usec + t1.tv.tv_sec*1000000LL; #elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) || defined(PIPE_SUBSYSTEM_WINDOWS_USER) || defined(PIPE_SUBSYSTEM_WINDOWS_CE) util_time_get_frequency(); @@ -166,7 +166,7 @@ static INLINE int util_time_compare(const struct util_time *t1, const struct util_time *t2) { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) if (t1->tv.tv_sec < t2->tv.tv_sec) return -1; else if(t1->tv.tv_sec > t2->tv.tv_sec) diff --git a/src/gallium/auxiliary/util/u_time.h b/src/gallium/auxiliary/util/u_time.h index 7a5c54d9b2..0ce1cc4a34 100644 --- a/src/gallium/auxiliary/util/u_time.h +++ b/src/gallium/auxiliary/util/u_time.h @@ -43,6 +43,11 @@ #include /* usleep */ #endif +#if defined(PIPE_OS_HAIKU) +#include /* timeval */ +#include +#endif + #include "pipe/p_compiler.h" @@ -58,7 +63,7 @@ extern "C" { */ struct util_time { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) struct timeval tv; #else int64_t counter; @@ -89,7 +94,7 @@ util_time_timeout(const struct util_time *start, const struct util_time *end, const struct util_time *curr); -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) #define util_time_sleep usleep #else void diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h index e6a67f8c2f..c13cffceb0 100644 --- a/src/gallium/include/pipe/p_compiler.h +++ b/src/gallium/include/pipe/p_compiler.h @@ -93,9 +93,11 @@ typedef int _Bool; #endif +#ifndef __HAIKU__ typedef unsigned int uint; -typedef unsigned char ubyte; typedef unsigned short ushort; +#endif +typedef unsigned char ubyte; #if 0 #define boolean bool diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h index 4152d6ac36..de99957d9d 100644 --- a/src/gallium/include/pipe/p_config.h +++ b/src/gallium/include/pipe/p_config.h @@ -140,6 +140,9 @@ #define PIPE_OS_WINDOWS #endif +#if defined(__HAIKU__) +#define PIPE_OS_HAIKU +#endif /* * Subsystem. diff --git a/src/gallium/include/pipe/p_thread.h b/src/gallium/include/pipe/p_thread.h index 96e8e08744..b1606dc652 100644 --- a/src/gallium/include/pipe/p_thread.h +++ b/src/gallium/include/pipe/p_thread.h @@ -39,7 +39,7 @@ #include "util/u_debug.h" /* for assert */ -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) #include /* POSIX threads headers */ #include /* for perror() */ @@ -213,7 +213,7 @@ typedef unsigned pipe_condvar; */ typedef struct { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) pthread_key_t key; #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) DWORD key; @@ -228,7 +228,7 @@ typedef struct { static INLINE void pipe_tsd_init(pipe_tsd *tsd) { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) if (pthread_key_create(&tsd->key, NULL/*free*/) != 0) { perror("pthread_key_create(): failed to allocate key for thread specific data"); exit(-1); @@ -245,7 +245,7 @@ pipe_tsd_get(pipe_tsd *tsd) if (tsd->initMagic != (int) PIPE_TSD_INIT_MAGIC) { pipe_tsd_init(tsd); } -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) return pthread_getspecific(tsd->key); #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) assert(0); @@ -262,7 +262,7 @@ pipe_tsd_set(pipe_tsd *tsd, void *value) if (tsd->initMagic != (int) PIPE_TSD_INIT_MAGIC) { pipe_tsd_init(tsd); } -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) if (pthread_setspecific(tsd->key, value) != 0) { perror("pthread_set_specific() failed"); exit(-1); -- cgit v1.2.3 From 3fed69eb168774d2303e4efb9149f34e55d91b58 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 9 Sep 2009 08:54:38 -0600 Subject: mesa: move call to init_c_cliptest() from enable.c to tnl module. Fixed gallium build breakage. --- src/mesa/main/enable.c | 8 -------- src/mesa/tnl/t_context.h | 4 ++++ src/mesa/tnl/t_vb_program.c | 2 ++ src/mesa/tnl/t_vb_vertex.c | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c index d066153fc2..4c1f46102d 100644 --- a/src/mesa/main/enable.c +++ b/src/mesa/main/enable.c @@ -36,8 +36,6 @@ #include "simple_list.h" #include "mtypes.h" #include "enums.h" -#include "math/m_matrix.h" -#include "math/m_xform.h" #include "api_arrayelt.h" @@ -951,12 +949,6 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state) case GL_DEPTH_CLAMP: if (ctx->Transform.DepthClamp == state) return; - /* Neither the x86 nor sparc asm cliptest functions have been updated - * for ARB_depth_clamp, so force the C paths. - */ - if (state) - init_c_cliptest(); - CHECK_EXTENSION(ARB_depth_clamp, cap); FLUSH_VERTICES(ctx, _NEW_TRANSFORM); ctx->Transform.DepthClamp = state; diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h index c19eb3df3c..6137c2d2fe 100644 --- a/src/mesa/tnl/t_context.h +++ b/src/mesa/tnl/t_context.h @@ -548,4 +548,8 @@ typedef struct #define MAX_TYPES TYPE_IDX(GL_DOUBLE)+1 /* 0xa + 1 */ +extern void +tnl_clip_prepare(GLcontext *ctx); + + #endif diff --git a/src/mesa/tnl/t_vb_program.c b/src/mesa/tnl/t_vb_program.c index 5d89f8bc31..c10a27614f 100644 --- a/src/mesa/tnl/t_vb_program.c +++ b/src/mesa/tnl/t_vb_program.c @@ -131,6 +131,8 @@ do_ndc_cliptest(GLcontext *ctx, struct vp_stage_data *store) store->ormask = 0; store->andmask = CLIP_FRUSTUM_BITS; + tnl_clip_prepare(ctx); + if (tnl->NeedNdcCoords) { VB->NdcPtr = _mesa_clip_tab[VB->ClipPtr->size]( VB->ClipPtr, diff --git a/src/mesa/tnl/t_vb_vertex.c b/src/mesa/tnl/t_vb_vertex.c index 6a746417c8..4734754ea4 100644 --- a/src/mesa/tnl/t_vb_vertex.c +++ b/src/mesa/tnl/t_vb_vertex.c @@ -118,6 +118,22 @@ static void (*(usercliptab[5]))( GLcontext *, }; +void +tnl_clip_prepare(GLcontext *ctx) +{ + /* Neither the x86 nor sparc asm cliptest functions have been updated + * for ARB_depth_clamp, so force the C paths. + */ + if (ctx->Transform.DepthClamp) { + static GLboolean c_funcs_installed = GL_FALSE; + if (!c_funcs_installed) { + init_c_cliptest(); + c_funcs_installed = GL_TRUE; + } + } +} + + static GLboolean run_vertex_stage( GLcontext *ctx, struct tnl_pipeline_stage *stage ) @@ -129,6 +145,8 @@ static GLboolean run_vertex_stage( GLcontext *ctx, if (ctx->VertexProgram._Current) return GL_TRUE; + tnl_clip_prepare(ctx); + if (ctx->_NeedEyeCoords) { /* Separate modelview transformation: * Use combined ModelProject to avoid some depth artifacts -- cgit v1.2.3 From 94a8157ef6bf6695cdc66325c9a7698e64f3e37e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 9 Sep 2009 08:55:32 -0600 Subject: mesa: regenerate get.c form get_gen.py --- src/mesa/main/get.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 477ed01030..a6e004a816 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -1722,6 +1722,10 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) params[0] = FLOAT_TO_BOOLEAN(ctx->Depth.BoundsMin); params[1] = FLOAT_TO_BOOLEAN(ctx->Depth.BoundsMax); break; + case GL_DEPTH_CLAMP: + CHECK_EXT1(ARB_depth_clamp, "GetBooleanv"); + params[0] = ctx->Transform.DepthClamp; + break; case GL_MAX_DRAW_BUFFERS_ARB: params[0] = INT_TO_BOOLEAN(ctx->Const.MaxDrawBuffers); break; @@ -3553,6 +3557,10 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) params[0] = ctx->Depth.BoundsMin; params[1] = ctx->Depth.BoundsMax; break; + case GL_DEPTH_CLAMP: + CHECK_EXT1(ARB_depth_clamp, "GetFloatv"); + params[0] = BOOLEAN_TO_FLOAT(ctx->Transform.DepthClamp); + break; case GL_MAX_DRAW_BUFFERS_ARB: params[0] = (GLfloat)(ctx->Const.MaxDrawBuffers); break; @@ -5384,6 +5392,10 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) params[0] = IROUND(ctx->Depth.BoundsMin); params[1] = IROUND(ctx->Depth.BoundsMax); break; + case GL_DEPTH_CLAMP: + CHECK_EXT1(ARB_depth_clamp, "GetIntegerv"); + params[0] = BOOLEAN_TO_INT(ctx->Transform.DepthClamp); + break; case GL_MAX_DRAW_BUFFERS_ARB: params[0] = ctx->Const.MaxDrawBuffers; break; @@ -7216,6 +7228,10 @@ _mesa_GetInteger64v( GLenum pname, GLint64 *params ) params[0] = IROUND64(ctx->Depth.BoundsMin); params[1] = IROUND64(ctx->Depth.BoundsMax); break; + case GL_DEPTH_CLAMP: + CHECK_EXT1(ARB_depth_clamp, "GetInteger64v"); + params[0] = BOOLEAN_TO_INT64(ctx->Transform.DepthClamp); + break; case GL_MAX_DRAW_BUFFERS_ARB: params[0] = ctx->Const.MaxDrawBuffers; break; -- cgit v1.2.3 From 49c230709cfc588deea19f9ec21763ee00b81e6a Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Wed, 9 Sep 2009 11:14:17 -0400 Subject: r600: check if textures are actually enabled before submission noticed by taiu on IRC. --- src/mesa/drivers/dri/r600/r600_texstate.c | 2 +- src/mesa/drivers/dri/r600/r700_chip.c | 118 ++++++++++++++++-------------- 2 files changed, 64 insertions(+), 56 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c b/src/mesa/drivers/dri/r600/r600_texstate.c index f1fefd8f50..7d7e77d355 100644 --- a/src/mesa/drivers/dri/r600/r600_texstate.c +++ b/src/mesa/drivers/dri/r600/r600_texstate.c @@ -69,7 +69,7 @@ void r600UpdateTextureState(GLcontext * ctx) for (unit = 0; unit < R700_MAX_TEXTURE_UNITS; unit++) { texUnit = &ctx->Texture.Unit[unit]; t = radeon_tex_obj(ctx->Texture.Unit[unit]._Current); - + r700->textures[unit] = NULL; if (texUnit->_ReallyEnabled) { if (!t) continue; diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c index 37bff56f5a..312cacffda 100644 --- a/src/mesa/drivers/dri/r600/r700_chip.c +++ b/src/mesa/drivers/dri/r600/r700_chip.c @@ -52,38 +52,40 @@ static void r700SendTexState(GLcontext *ctx, struct radeon_state_atom *atom) radeon_print(RADEON_STATE, RADEON_VERBOSE, "%s\n", __func__); for (i = 0; i < R700_TEXTURE_NUMBERUNITS; i++) { - radeonTexObj *t = r700->textures[i]; - if (t) { - if (!t->image_override) - bo = t->mt->bo; - else - bo = t->bo; - if (bo) { - - r700SyncSurf(context, bo, - RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, - 0, TC_ACTION_ENA_bit); - - BEGIN_BATCH_NO_AUTOSTATE(9 + 4); - R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_RESOURCE, 7)); - R600_OUT_BATCH(i * 7); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE0); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE1); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE2); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE3); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE4); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE5); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE6); - R600_OUT_BATCH_RELOC(r700->textures[i]->SQ_TEX_RESOURCE2, - bo, - 0, - RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0); - R600_OUT_BATCH_RELOC(r700->textures[i]->SQ_TEX_RESOURCE3, - bo, - r700->textures[i]->SQ_TEX_RESOURCE3, - RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0); - END_BATCH(); - COMMIT_BATCH(); + if (ctx->Texture.Unit[i]._ReallyEnabled) { + radeonTexObj *t = r700->textures[i]; + if (t) { + if (!t->image_override) + bo = t->mt->bo; + else + bo = t->bo; + if (bo) { + + r700SyncSurf(context, bo, + RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, + 0, TC_ACTION_ENA_bit); + + BEGIN_BATCH_NO_AUTOSTATE(9 + 4); + R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_RESOURCE, 7)); + R600_OUT_BATCH(i * 7); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE0); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE1); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE2); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE3); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE4); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE5); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE6); + R600_OUT_BATCH_RELOC(r700->textures[i]->SQ_TEX_RESOURCE2, + bo, + 0, + RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0); + R600_OUT_BATCH_RELOC(r700->textures[i]->SQ_TEX_RESOURCE3, + bo, + r700->textures[i]->SQ_TEX_RESOURCE3, + RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0); + END_BATCH(); + COMMIT_BATCH(); + } } } } @@ -98,16 +100,18 @@ static void r700SendTexSamplerState(GLcontext *ctx, struct radeon_state_atom *at radeon_print(RADEON_STATE, RADEON_VERBOSE, "%s\n", __func__); for (i = 0; i < R700_TEXTURE_NUMBERUNITS; i++) { - radeonTexObj *t = r700->textures[i]; - if (t) { - BEGIN_BATCH_NO_AUTOSTATE(5); - R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_SAMPLER, 3)); - R600_OUT_BATCH(i * 3); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_SAMPLER0); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_SAMPLER1); - R600_OUT_BATCH(r700->textures[i]->SQ_TEX_SAMPLER2); - END_BATCH(); - COMMIT_BATCH(); + if (ctx->Texture.Unit[i]._ReallyEnabled) { + radeonTexObj *t = r700->textures[i]; + if (t) { + BEGIN_BATCH_NO_AUTOSTATE(5); + R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_SAMPLER, 3)); + R600_OUT_BATCH(i * 3); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_SAMPLER0); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_SAMPLER1); + R600_OUT_BATCH(r700->textures[i]->SQ_TEX_SAMPLER2); + END_BATCH(); + COMMIT_BATCH(); + } } } } @@ -121,16 +125,18 @@ static void r700SendTexBorderColorState(GLcontext *ctx, struct radeon_state_atom radeon_print(RADEON_STATE, RADEON_VERBOSE, "%s\n", __func__); for (i = 0; i < R700_TEXTURE_NUMBERUNITS; i++) { - radeonTexObj *t = r700->textures[i]; - if (t) { - BEGIN_BATCH_NO_AUTOSTATE(2 + 4); - R600_OUT_BATCH_REGSEQ((TD_PS_SAMPLER0_BORDER_RED + (i * 16)), 4); - R600_OUT_BATCH(r700->textures[i]->TD_PS_SAMPLER0_BORDER_RED); - R600_OUT_BATCH(r700->textures[i]->TD_PS_SAMPLER0_BORDER_GREEN); - R600_OUT_BATCH(r700->textures[i]->TD_PS_SAMPLER0_BORDER_BLUE); - R600_OUT_BATCH(r700->textures[i]->TD_PS_SAMPLER0_BORDER_ALPHA); - END_BATCH(); - COMMIT_BATCH(); + if (ctx->Texture.Unit[i]._ReallyEnabled) { + radeonTexObj *t = r700->textures[i]; + if (t) { + BEGIN_BATCH_NO_AUTOSTATE(2 + 4); + R600_OUT_BATCH_REGSEQ((TD_PS_SAMPLER0_BORDER_RED + (i * 16)), 4); + R600_OUT_BATCH(r700->textures[i]->TD_PS_SAMPLER0_BORDER_RED); + R600_OUT_BATCH(r700->textures[i]->TD_PS_SAMPLER0_BORDER_GREEN); + R600_OUT_BATCH(r700->textures[i]->TD_PS_SAMPLER0_BORDER_BLUE); + R600_OUT_BATCH(r700->textures[i]->TD_PS_SAMPLER0_BORDER_ALPHA); + END_BATCH(); + COMMIT_BATCH(); + } } } } @@ -1176,9 +1182,11 @@ static int check_tx(GLcontext *ctx, struct radeon_state_atom *atom) R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); for (i = 0; i < R700_TEXTURE_NUMBERUNITS; i++) { - radeonTexObj *t = r700->textures[i]; - if (t) - count++; + if (ctx->Texture.Unit[i]._ReallyEnabled) { + radeonTexObj *t = r700->textures[i]; + if (t) + count++; + } } radeon_print(RADEON_STATE, RADEON_TRACE, "%s %d\n", __func__, count); return count * 31; -- cgit v1.2.3 From 4d85a6b393503c8e859ff9bcd5011ec5e65ba2b9 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 9 Sep 2009 09:24:38 -0600 Subject: i965: fix an overlooked merge conflict --- src/mesa/drivers/dri/intel/intel_pixel_read.c | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_read.c b/src/mesa/drivers/dri/intel/intel_pixel_read.c index aef760c015..bc67f6242a 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_read.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_read.c @@ -252,7 +252,6 @@ do_blit_readpixels(GLcontext * ctx, if (!intel_intersect_cliprects(&rect, &src_rect, &box[i])) continue; -<<<<<<< HEAD:src/mesa/drivers/dri/intel/intel_pixel_read.c if (!intelEmitCopyBlit(intel, src->cpp, src->pitch, src->buffer, 0, src->tiling, @@ -266,18 +265,6 @@ do_blit_readpixels(GLcontext * ctx, UNLOCK_HARDWARE(intel); return GL_FALSE; } -======= - intelEmitCopyBlit(intel, - src->cpp, - src->pitch, src->buffer, 0, src->tiling, - rowLength, dst_buffer, dst_offset, GL_FALSE, - rect.x1, - rect.y1, - rect.x1 - src_rect.x1, - rect.y2 - src_rect.y2, - rect.x2 - rect.x1, rect.y2 - rect.y1, - GL_COPY); ->>>>>>> mesa_7_5_branch:src/mesa/drivers/dri/intel/intel_pixel_read.c } } UNLOCK_HARDWARE(intel); -- cgit v1.2.3 From e0f99b8268496576b017f4d0eb0ed09507c2f30d Mon Sep 17 00:00:00 2001 From: Pauli Nieminen Date: Wed, 9 Sep 2009 18:31:52 +0300 Subject: radeon: Add more verbose error message for failed command buffer. --- src/mesa/drivers/dri/radeon/radeon_common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index e53eb0904d..a4c7b40798 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.c +++ b/src/mesa/drivers/dri/radeon/radeon_common.c @@ -1234,7 +1234,9 @@ int rcommonFlushCmdBuf(radeonContextPtr rmesa, const char *caller) UNLOCK_HARDWARE(rmesa); if (ret) { - fprintf(stderr, "drmRadeonCmdBuffer: %d\n", ret); + fprintf(stderr, "drmRadeonCmdBuffer: %d. Kernel failed to " + "parse or rejected command stream. See dmesg " + "for more info.\n", ret); _mesa_exit(ret); } -- cgit v1.2.3 From 5604b27b9326ac542069a49ed9650c4b0d3e939a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 9 Sep 2009 12:35:30 -0700 Subject: i965: Fix relocation delta for WM surfaces. This was a regression in 0f328c90dbc893e15005f2ab441d309c1c176245. Bug #23688 Bug #23254 --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index bff2ab9721..51539ac1e7 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -634,7 +634,7 @@ brw_update_renderbuffer_surface(struct brw_context *brw, drm_intel_bo_emit_reloc(brw->wm.surf_bo[unit], offsetof(struct brw_surface_state, ss1), region_bo, - surf.ss1.base_addr, + surf.ss1.base_addr - region_bo->offset, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER); } -- cgit v1.2.3 From 01c831576eb77ec87bff667ed5591a93cbbef97d Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Wed, 9 Sep 2009 19:21:22 +0100 Subject: llvmpipe: Debug function to check stack alignment. Doing alignment check in locus is redundant, as gcc alignment assumptions will optimize away the check. --- src/gallium/drivers/llvmpipe/lp_bld_debug.c | 17 +++++++++++++++++ src/gallium/drivers/llvmpipe/lp_bld_debug.h | 4 ++++ src/gallium/drivers/llvmpipe/lp_setup.c | 11 +++++++---- 3 files changed, 28 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_debug.c b/src/gallium/drivers/llvmpipe/lp_bld_debug.c index 30925b5f41..59d8f492e6 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_debug.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_debug.c @@ -30,10 +30,27 @@ #include #endif +#include "util/u_math.h" #include "util/u_debug.h" #include "lp_bld_debug.h" +/** + * Check alignment. + * + * It is important that this check is not implemented as a macro or inlined + * function, as the compiler assumptions in respect to alignment of global + * and stack variables would often make the check a no op, defeating the + * whole purpose of the exercise. + */ +boolean +lp_check_alignment(const void *ptr, unsigned alignment) +{ + assert(util_is_pot(alignment)); + return ((uintptr_t)ptr & (alignment - 1)) == 0; +} + + void lp_disassemble(const void* func) { diff --git a/src/gallium/drivers/llvmpipe/lp_bld_debug.h b/src/gallium/drivers/llvmpipe/lp_bld_debug.h index ecdafef76d..583e6132b4 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_debug.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_debug.h @@ -53,6 +53,10 @@ lp_build_name(LLVMValueRef val, const char *format, ...) } +boolean +lp_check_alignment(const void *ptr, unsigned alignment); + + void lp_disassemble(const void* func); diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c b/src/gallium/drivers/llvmpipe/lp_setup.c index d145f6d6bb..f9e254efca 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup.c +++ b/src/gallium/drivers/llvmpipe/lp_setup.c @@ -44,6 +44,7 @@ #include "pipe/p_thread.h" #include "util/u_math.h" #include "util/u_memory.h" +#include "lp_bld_debug.h" #include "lp_tile_cache.h" #include "lp_tile_soa.h" @@ -164,10 +165,12 @@ shade_quads(struct llvmpipe_context *llvmpipe, /* TODO: blend color */ - assert((((uintptr_t)mask) & 0xf) == 0); - assert((((uintptr_t)depth) & 0xf) == 0); - assert((((uintptr_t)color) & 0xf) == 0); - assert((((uintptr_t)llvmpipe->jit_context.blend_color) & 0xf) == 0); + /* XXX: This will most likely fail on 32bit x86 without -mstackrealign */ + assert(lp_check_alignment(mask, 16)); + + assert(lp_check_alignment(depth, 16)); + assert(lp_check_alignment(color, 16)); + assert(lp_check_alignment(llvmpipe->jit_context.blend_color, 16)); /* run shader */ fs->current->jit_function( &llvmpipe->jit_context, -- cgit v1.2.3 From da912a7a16de546d74a22a98e47a3b191bddf3e7 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Wed, 9 Sep 2009 21:13:52 +0100 Subject: util: Fix depth/stencil format description. Inverse channel order. --- src/gallium/auxiliary/util/u_format.csv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_format.csv b/src/gallium/auxiliary/util/u_format.csv index 00a46d0cc4..6e82983e58 100644 --- a/src/gallium/auxiliary/util/u_format.csv +++ b/src/gallium/auxiliary/util/u_format.csv @@ -14,10 +14,10 @@ PIPE_FORMAT_L16_UNORM , arith , 1, 1, un16, , , , xxx1, PIPE_FORMAT_Z16_UNORM , array , 1, 1, un16, , , , x___, zs PIPE_FORMAT_Z32_UNORM , array , 1, 1, un32, , , , x___, zs PIPE_FORMAT_Z32_FLOAT , array , 1, 1, f32 , , , , x___, zs -PIPE_FORMAT_S8Z24_UNORM , arith , 1, 1, un8 , un24, , , yx__, zs -PIPE_FORMAT_Z24S8_UNORM , arith , 1, 1, un24, un8 , , , xy__, zs -PIPE_FORMAT_X8Z24_UNORM , arith , 1, 1, un8 , un24, , , y___, zs -PIPE_FORMAT_Z24X8_UNORM , arith , 1, 1, un24, un8 , , , x___, zs +PIPE_FORMAT_S8Z24_UNORM , arith , 1, 1, un24, un8 , , , xy__, zs +PIPE_FORMAT_Z24S8_UNORM , arith , 1, 1, un8 , un24, , , yx__, zs +PIPE_FORMAT_X8Z24_UNORM , arith , 1, 1, un24, un8 , , , x___, zs +PIPE_FORMAT_Z24X8_UNORM , arith , 1, 1, un8 , un24, , , y___, zs PIPE_FORMAT_S8_UNORM , array , 1, 1, un8 , , , , _x__, zs PIPE_FORMAT_R64_FLOAT , array , 1, 1, f64 , , , , x001, rgb PIPE_FORMAT_R64G64_FLOAT , array , 1, 1, f64 , f64 , , , xy01, rgb -- cgit v1.2.3 From cdbbcdf3bdb114d79cf7b9474436c3d26b135592 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Wed, 9 Sep 2009 21:16:06 +0100 Subject: llvmpipe: Include zsbuf's format in the fragment shader key. --- src/gallium/drivers/llvmpipe/lp_state.h | 1 + src/gallium/drivers/llvmpipe/lp_state_fs.c | 30 ++++++++++++++++-------------- 2 files changed, 17 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_state.h b/src/gallium/drivers/llvmpipe/lp_state.h index 0b846ecb13..7b26ce61a3 100644 --- a/src/gallium/drivers/llvmpipe/lp_state.h +++ b/src/gallium/drivers/llvmpipe/lp_state.h @@ -66,6 +66,7 @@ struct lp_fragment_shader; struct lp_fragment_shader_variant_key { + enum pipe_format zsbuf_format; struct pipe_depth_state depth; struct pipe_alpha_state alpha; struct pipe_blend_state blend; diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 1a3e168245..21e675c34e 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -131,9 +131,8 @@ generate_pos0(LLVMBuilderRef builder, * Generate the depth test. */ static void -generate_depth(struct llvmpipe_context *lp, - LLVMBuilderRef builder, - const struct pipe_depth_state *state, +generate_depth(LLVMBuilderRef builder, + const struct lp_fragment_shader_variant_key *key, union lp_type src_type, struct lp_build_mask_context *mask, LLVMValueRef src, @@ -142,10 +141,10 @@ generate_depth(struct llvmpipe_context *lp, const struct util_format_description *format_desc; union lp_type dst_type; - if(!lp->framebuffer.zsbuf) + if(!key->depth.enabled) return; - format_desc = util_format_description(lp->framebuffer.zsbuf->format); + format_desc = util_format_description(key->zsbuf_format); assert(format_desc); /* Pick the depth type. */ @@ -165,7 +164,7 @@ generate_depth(struct llvmpipe_context *lp, #endif lp_build_depth_test(builder, - state, + &key->depth, dst_type, format_desc, mask, @@ -212,14 +211,13 @@ generate_fs(struct llvmpipe_context *lp, lp_build_mask_begin(&mask, builder, type, *pmask); early_depth_test = - lp->depth_stencil->depth.enabled && - lp->framebuffer.zsbuf && - !lp->depth_stencil->alpha.enabled && - !lp->fs->info.uses_kill && - !lp->fs->info.writes_z; + key->depth.enabled && + !key->alpha.enabled && + !shader->info.uses_kill && + !shader->info.writes_z; if(early_depth_test) - generate_depth(lp, builder, &key->depth, + generate_depth(builder, key, type, &mask, z, depth_ptr); @@ -268,7 +266,7 @@ generate_fs(struct llvmpipe_context *lp, } if(!early_depth_test) - generate_depth(lp, builder, &key->depth, + generate_depth(builder, key, type, &mask, z, depth_ptr); @@ -679,7 +677,11 @@ make_variant_key(struct llvmpipe_context *lp, memset(key, 0, sizeof *key); - memcpy(&key->depth, &lp->depth_stencil->depth, sizeof key->depth); + if(lp->framebuffer.zsbuf && + lp->depth_stencil->depth.enabled) { + key->zsbuf_format = lp->framebuffer.zsbuf->format; + memcpy(&key->depth, &lp->depth_stencil->depth, sizeof key->depth); + } key->alpha.enabled = lp->depth_stencil->alpha.enabled; if(key->alpha.enabled) -- cgit v1.2.3 From abc160b664c3fbd4c18a2cd3402c9a84f5f2d00f Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Wed, 9 Sep 2009 21:17:20 +0100 Subject: llvmpipe: Fix depth mask computation. Fixes depth test for 24bit depth formats. --- src/gallium/drivers/llvmpipe/lp_bld_depth.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c b/src/gallium/drivers/llvmpipe/lp_bld_depth.c index 2cd6e6b921..3f88a14b5d 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c @@ -179,12 +179,13 @@ lp_build_depth_test(LLVMBuilderRef builder, padding_right = 0; for(chan = 0; chan < z_swizzle; ++chan) padding_right += format_desc->channel[chan].size; - padding_left = format_desc->block.bits - format_desc->channel[z_swizzle].size; + padding_left = format_desc->block.bits - + (padding_right + format_desc->channel[z_swizzle].size); if(padding_left || padding_right) { - const long long mask_left = ((long long)1 << (format_desc->block.bits - padding_left)) - 1; - const long long mask_right = ((long long)1 << (padding_right)) - 1; - z_bitmask = lp_build_int_const_scalar(type, mask_left & mask_right); + const unsigned long long mask_left = ((unsigned long long)1 << (format_desc->block.bits - padding_left)) - 1; + const unsigned long long mask_right = ((unsigned long long)1 << (padding_right)) - 1; + z_bitmask = lp_build_int_const_scalar(type, mask_left ^ mask_right); } if(padding_left) -- cgit v1.2.3 From 4139bc8f4375c1f8961b281b6303bccaab24367a Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Wed, 9 Sep 2009 21:46:18 +0100 Subject: llvmpipe: Quick hack for 1D textures. --- src/gallium/drivers/llvmpipe/lp_bld_sample.h | 1 + src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c | 3 +++ 2 files changed, 4 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_sample.h b/src/gallium/drivers/llvmpipe/lp_bld_sample.h index 5798f191fe..6f565af76d 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_sample.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_sample.h @@ -53,6 +53,7 @@ struct lp_sampler_static_state { /* pipe_texture's state */ enum pipe_format format; + unsigned target:2; unsigned pot_width:1; unsigned pot_height:1; unsigned pot_depth:1; diff --git a/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c index 25c8d84501..bcc9e41c50 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c @@ -322,6 +322,9 @@ lp_build_sample_soa(LLVMBuilderRef builder, height = lp_build_broadcast_scalar(&bld.int_coord_bld, height); stride = lp_build_broadcast_scalar(&bld.int_coord_bld, stride); + if(static_state->target == PIPE_TEXTURE_1D) + t = bld.coord_bld.zero; + if(static_state->normalized_coords) { LLVMTypeRef coord_vec_type = lp_build_vec_type(bld.coord_type); LLVMValueRef fp_width = LLVMBuildSIToFP(builder, width, coord_vec_type, ""); -- cgit v1.2.3 From bd3b59da632d85a062accab267e18b66274b857a Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Thu, 10 Sep 2009 09:19:51 +0100 Subject: llvmpipe: Copy the texture target into the sampler static state. Hunk forgotten in previous commit. --- src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c index bcc9e41c50..6ebf107cc2 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c @@ -61,6 +61,7 @@ lp_sampler_static_state(struct lp_sampler_static_state *state, return; state->format = texture->format; + state->target = texture->target; state->pot_width = util_is_pot(texture->width[0]); state->pot_height = util_is_pot(texture->height[0]); state->pot_depth = util_is_pot(texture->depth[0]); -- cgit v1.2.3 From 8e6b925d2a963a2d5a403e106d7d25e3dcca0775 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Thu, 10 Sep 2009 11:44:03 +0100 Subject: llvmpipe: Proper control flow builders. New control flow helper functions which keep track of all variables and generate the correct Phi functions. This re-enables skipping the fs execution of quads masked out by the rasterizer, early z testing, and kill opcode. This yields a performance improvement of around 20%. --- src/gallium/drivers/llvmpipe/lp_bld_flow.c | 401 +++++++++++++++++++++++++---- src/gallium/drivers/llvmpipe/lp_bld_flow.h | 38 ++- src/gallium/drivers/llvmpipe/lp_state_fs.c | 47 +++- 3 files changed, 426 insertions(+), 60 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_flow.c b/src/gallium/drivers/llvmpipe/lp_bld_flow.c index 9d99e1a9d9..1252593226 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_flow.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_flow.c @@ -32,59 +32,261 @@ */ #include "util/u_debug.h" +#include "util/u_memory.h" #include "lp_bld_type.h" #include "lp_bld_flow.h" +#define LP_BUILD_FLOW_MAX_VARIABLES 32 +#define LP_BUILD_FLOW_MAX_DEPTH 32 + + +/** + * Enumeration of all possible flow constructs. + */ +enum lp_build_flow_construct_kind { + lP_BUILD_FLOW_SCOPE, + LP_BUILD_FLOW_SKIP, +}; + + +/** + * Variable declaration scope. + */ +struct lp_build_flow_scope +{ + /** Number of variables declared in this scope */ + unsigned num_variables; +}; + + +/** + * Early exit. Useful to skip to the end of a function or block when + * the execution mask becomes zero or when there is an error condition. + */ +struct lp_build_flow_skip +{ + /** Block to skip to */ + LLVMBasicBlockRef block; + + /** Number of variables declared at the beginning */ + unsigned num_variables; + + LLVMValueRef *phi; +}; + + +/** + * Union of all possible flow constructs' data + */ +union lp_build_flow_construct_data +{ + struct lp_build_flow_scope scope; + struct lp_build_flow_skip skip; +}; + + +/** + * Element of the flow construct stack. + */ +struct lp_build_flow_construct +{ + enum lp_build_flow_construct_kind kind; + union lp_build_flow_construct_data data; +}; + + +/** + * All necessary data to generate LLVM control flow constructs. + * + * Besides keeping track of the control flow construct themselves we also + * need to keep track of variables in order to generate SSA Phi values. + */ +struct lp_build_flow_context +{ + LLVMBuilderRef builder; + + /** + * Control flow stack. + */ + struct lp_build_flow_construct constructs[LP_BUILD_FLOW_MAX_DEPTH]; + unsigned num_constructs; + + /** + * Variable stack + */ + LLVMValueRef *variables[LP_BUILD_FLOW_MAX_VARIABLES]; + unsigned num_variables; +}; + + +struct lp_build_flow_context * +lp_build_flow_create(LLVMBuilderRef builder) +{ + struct lp_build_flow_context *flow; + + flow = CALLOC_STRUCT(lp_build_flow_context); + if(!flow) + return NULL; + + flow->builder = builder; + + return flow; +} + + void -lp_build_mask_begin(struct lp_build_mask_context *mask, - LLVMBuilderRef builder, - union lp_type type, - LLVMValueRef value) +lp_build_flow_destroy(struct lp_build_flow_context *flow) { - memset(mask, 0, sizeof *mask); + assert(flow->num_constructs == 0); + assert(flow->num_variables == 0); + FREE(flow); +} - mask->builder = builder; - mask->reg_type = LLVMIntType(type.width * type.length); - mask->value = value; + +static union lp_build_flow_construct_data * +lp_build_flow_push(struct lp_build_flow_context *flow, + enum lp_build_flow_construct_kind kind) +{ + assert(flow->num_constructs < LP_BUILD_FLOW_MAX_DEPTH); + if(flow->num_constructs >= LP_BUILD_FLOW_MAX_DEPTH) + return NULL; + + flow->constructs[flow->num_constructs].kind = kind; + return &flow->constructs[flow->num_constructs++].data; +} + + +static union lp_build_flow_construct_data * +lp_build_flow_peek(struct lp_build_flow_context *flow, + enum lp_build_flow_construct_kind kind) +{ + assert(flow->num_constructs); + if(!flow->num_constructs) + return NULL; + + assert(flow->constructs[flow->num_constructs - 1].kind == kind); + if(flow->constructs[flow->num_constructs - 1].kind != kind) + return NULL; + + return &flow->constructs[flow->num_constructs - 1].data; +} + + +static union lp_build_flow_construct_data * +lp_build_flow_pop(struct lp_build_flow_context *flow, + enum lp_build_flow_construct_kind kind) +{ + assert(flow->num_constructs); + if(!flow->num_constructs) + return NULL; + + assert(flow->constructs[flow->num_constructs - 1].kind == kind); + if(flow->constructs[flow->num_constructs - 1].kind != kind) + return NULL; + + return &flow->constructs[--flow->num_constructs].data; } +/** + * Begin a variable scope. + * + * + */ void -lp_build_mask_update(struct lp_build_mask_context *mask, - LLVMValueRef value) +lp_build_flow_scope_begin(struct lp_build_flow_context *flow) { + struct lp_build_flow_scope *scope; - LLVMValueRef cond; - LLVMBasicBlockRef current_block; - LLVMBasicBlockRef next_block; - LLVMBasicBlockRef new_block; + scope = &lp_build_flow_push(flow, lP_BUILD_FLOW_SCOPE)->scope; + if(!scope) + return; - if(mask->value) - mask->value = LLVMBuildAnd(mask->builder, mask->value, value, ""); - else - mask->value = value; + scope->num_variables = 0; +} - /* FIXME: disabled until we have proper control flow helpers */ -#if 0 - cond = LLVMBuildICmp(mask->builder, - LLVMIntEQ, - LLVMBuildBitCast(mask->builder, mask->value, mask->reg_type, ""), - LLVMConstNull(mask->reg_type), - ""); - current_block = LLVMGetInsertBlock(mask->builder); +/** + * Declare a variable. + * + * A variable is a named entity which can have different LLVMValueRef's at + * different points of the program. This is relevant for control flow because + * when there are mutiple branches to a same location we need to replace + * the variable's value with a Phi function as explained in + * http://en.wikipedia.org/wiki/Static_single_assignment_form . + * + * We keep track of variables by keeping around a pointer to where their + * current. + * + * There are a few cautions to observe: + * + * - Variable's value must not be NULL. If there is no initial value then + * LLVMGetUndef() should be used. + * + * - Variable's value must be kept up-to-date. If the variable is going to be + * modified by a function then a pointer should be passed so that its value + * is accurate. Failure to do this will cause some of the variables' + * transient values to be lost, leading to wrong results. + * + * - A program should be written from top to bottom, by always appending + * instructions to the bottom with a single LLVMBuilderRef. Inserting and/or + * modifying existing statements will most likely lead to wrong results. + * + */ +void +lp_build_flow_scope_declare(struct lp_build_flow_context *flow, + LLVMValueRef *variable) +{ + struct lp_build_flow_scope *scope; + + scope = &lp_build_flow_peek(flow, lP_BUILD_FLOW_SCOPE)->scope; + if(!scope) + return; + + assert(*variable); + if(!*variable) + return; + + assert(flow->num_variables < LP_BUILD_FLOW_MAX_VARIABLES); + if(flow->num_variables >= LP_BUILD_FLOW_MAX_VARIABLES) + return; + + flow->variables[flow->num_variables++] = variable; + ++scope->num_variables; +} - if(!mask->skip_block) { - LLVMValueRef function = LLVMGetBasicBlockParent(current_block); - mask->skip_block = LLVMAppendBasicBlock(function, "skip"); - mask->phi = LLVMBuildPhi(mask->builder, LLVMTypeOf(mask->value), ""); +void +lp_build_flow_scope_end(struct lp_build_flow_context *flow) +{ + struct lp_build_flow_scope *scope; + + scope = &lp_build_flow_pop(flow, lP_BUILD_FLOW_SCOPE)->scope; + if(!scope) + return; + + assert(flow->num_variables >= scope->num_variables); + if(flow->num_variables < scope->num_variables) { + flow->num_variables = 0; + return; } + flow->num_variables -= scope->num_variables; +} + + +static LLVMBasicBlockRef +lp_build_flow_insert_block(struct lp_build_flow_context *flow) +{ + LLVMBasicBlockRef current_block; + LLVMBasicBlockRef next_block; + LLVMBasicBlockRef new_block; + + current_block = LLVMGetInsertBlock(flow->builder); + next_block = LLVMGetNextBasicBlock(current_block); - assert(next_block); if(next_block) { new_block = LLVMInsertBasicBlock(next_block, ""); } @@ -93,30 +295,139 @@ lp_build_mask_update(struct lp_build_mask_context *mask, new_block = LLVMAppendBasicBlock(function, ""); } - LLVMAddIncoming(mask->phi, &mask->value, ¤t_block, 1); - LLVMBuildCondBr(mask->builder, cond, mask->skip_block, new_block); + return new_block; +} + +void +lp_build_flow_skip_begin(struct lp_build_flow_context *flow) +{ + struct lp_build_flow_skip *skip; + LLVMBuilderRef builder; + unsigned i; + + skip = &lp_build_flow_push(flow, LP_BUILD_FLOW_SKIP)->skip; + if(!skip) + return; + + skip->block = lp_build_flow_insert_block(flow); + skip->num_variables = flow->num_variables; + if(!skip->num_variables) { + skip->phi = NULL; + return; + } + + skip->phi = MALLOC(skip->num_variables * sizeof *skip->phi); + if(!skip->phi) { + skip->num_variables = 0; + return; + } + + builder = LLVMCreateBuilder(); + LLVMPositionBuilderAtEnd(builder, skip->block); - LLVMPositionBuilderAtEnd(mask->builder, new_block); -#endif + for(i = 0; i < skip->num_variables; ++i) + skip->phi[i] = LLVMBuildPhi(builder, LLVMTypeOf(*flow->variables[i]), ""); + + LLVMDisposeBuilder(builder); } -LLVMValueRef -lp_build_mask_end(struct lp_build_mask_context *mask) +void +lp_build_flow_skip_cond_break(struct lp_build_flow_context *flow, + LLVMValueRef cond) +{ + struct lp_build_flow_skip *skip; + LLVMBasicBlockRef current_block; + LLVMBasicBlockRef new_block; + unsigned i; + + skip = &lp_build_flow_peek(flow, LP_BUILD_FLOW_SKIP)->skip; + if(!skip) + return; + + current_block = LLVMGetInsertBlock(flow->builder); + + new_block = lp_build_flow_insert_block(flow); + + for(i = 0; i < skip->num_variables; ++i) { + assert(*flow->variables[i]); + LLVMAddIncoming(skip->phi[i], flow->variables[i], ¤t_block, 1); + } + + LLVMBuildCondBr(flow->builder, cond, skip->block, new_block); + + LLVMPositionBuilderAtEnd(flow->builder, new_block); + } + + +void +lp_build_flow_skip_end(struct lp_build_flow_context *flow) { - if(mask->skip_block) { - LLVMBasicBlockRef current_block = LLVMGetInsertBlock(mask->builder); + struct lp_build_flow_skip *skip; + LLVMBasicBlockRef current_block; + unsigned i; - LLVMAddIncoming(mask->phi, &mask->value, ¤t_block, 1); - LLVMBuildBr(mask->builder, mask->skip_block); + skip = &lp_build_flow_pop(flow, LP_BUILD_FLOW_SKIP)->skip; + if(!skip) + return; - LLVMPositionBuilderAtEnd(mask->builder, mask->skip_block); + current_block = LLVMGetInsertBlock(flow->builder); - mask->value = mask->phi; - mask->phi = NULL; - mask->skip_block = NULL; + for(i = 0; i < skip->num_variables; ++i) { + assert(*flow->variables[i]); + LLVMAddIncoming(skip->phi[i], flow->variables[i], ¤t_block, 1); + *flow->variables[i] = skip->phi[i]; } + LLVMBuildBr(flow->builder, skip->block); + LLVMPositionBuilderAtEnd(flow->builder, skip->block); + + FREE(skip->phi); +} + + +void +lp_build_mask_begin(struct lp_build_mask_context *mask, + struct lp_build_flow_context *flow, + union lp_type type, + LLVMValueRef value) +{ + memset(mask, 0, sizeof *mask); + + mask->flow = flow; + mask->reg_type = LLVMIntType(type.width * type.length); + mask->value = value; + + lp_build_flow_scope_begin(flow); + lp_build_flow_scope_declare(flow, &mask->value); + lp_build_flow_skip_begin(flow); +} + + +void +lp_build_mask_update(struct lp_build_mask_context *mask, + LLVMValueRef value) +{ + LLVMBuilderRef builder = mask->flow->builder; + LLVMValueRef cond; + + mask->value = LLVMBuildAnd(builder, mask->value, value, ""); + + cond = LLVMBuildICmp(builder, + LLVMIntEQ, + LLVMBuildBitCast(builder, mask->value, mask->reg_type, ""), + LLVMConstNull(mask->reg_type), + ""); + + lp_build_flow_skip_cond_break(mask->flow, cond); +} + + +LLVMValueRef +lp_build_mask_end(struct lp_build_mask_context *mask) +{ + lp_build_flow_skip_end(mask->flow); + lp_build_flow_scope_end(mask->flow); return mask->value; } diff --git a/src/gallium/drivers/llvmpipe/lp_bld_flow.h b/src/gallium/drivers/llvmpipe/lp_bld_flow.h index 1b634ff038..9d76e3064d 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_flow.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_flow.h @@ -41,23 +41,49 @@ union lp_type; +struct lp_build_flow_context; + + +struct lp_build_flow_context * +lp_build_flow_create(LLVMBuilderRef builder); + +void +lp_build_flow_destroy(struct lp_build_flow_context *flow); + +void +lp_build_flow_scope_begin(struct lp_build_flow_context *flow); + +void +lp_build_flow_scope_declare(struct lp_build_flow_context *flow, + LLVMValueRef *variable); + +void +lp_build_flow_scope_end(struct lp_build_flow_context *flow); + +void +lp_build_flow_skip_begin(struct lp_build_flow_context *flow); + +void +lp_build_flow_skip_cond_break(struct lp_build_flow_context *flow, + LLVMValueRef cond); + +void +lp_build_flow_skip_end(struct lp_build_flow_context *flow); + + struct lp_build_mask_context { - LLVMBuilderRef builder; + struct lp_build_flow_context *flow; LLVMTypeRef reg_type; LLVMValueRef value; - - LLVMValueRef phi; - - LLVMBasicBlockRef skip_block; }; void lp_build_mask_begin(struct lp_build_mask_context *mask, - LLVMBuilderRef builder, + struct lp_build_flow_context *flow, union lp_type type, LLVMValueRef value); diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 21e675c34e..2e60da60cd 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -197,6 +197,7 @@ generate_fs(struct llvmpipe_context *lp, LLVMValueRef consts_ptr; LLVMValueRef outputs[PIPE_MAX_SHADER_OUTPUTS][NUM_CHANNELS]; LLVMValueRef z = interp->pos[2]; + struct lp_build_flow_context *flow; struct lp_build_mask_context mask; boolean early_depth_test; unsigned attrib; @@ -208,7 +209,33 @@ generate_fs(struct llvmpipe_context *lp, consts_ptr = lp_jit_context_constants(builder, context_ptr); - lp_build_mask_begin(&mask, builder, type, *pmask); + flow = lp_build_flow_create(builder); + + memset(outputs, 0, sizeof outputs); + + lp_build_flow_scope_begin(flow); + + /* Declare the color and z variables */ + for (attrib = 0; attrib < shader->info.num_outputs; ++attrib) { + for(chan = 0; chan < NUM_CHANNELS; ++chan) { + boolean declare = FALSE; + switch (shader->info.output_semantic_name[attrib]) { + case TGSI_SEMANTIC_COLOR: + declare = TRUE; + break; + case TGSI_SEMANTIC_POSITION: + if(chan == 2) + declare = TRUE; + break; + } + if(declare) { + outputs[attrib][chan] = LLVMGetUndef(vec_type); + lp_build_flow_scope_declare(flow, &outputs[attrib][chan]); + } + } + } + + lp_build_mask_begin(&mask, flow, type, *pmask); early_depth_test = key->depth.enabled && @@ -221,12 +248,19 @@ generate_fs(struct llvmpipe_context *lp, type, &mask, z, depth_ptr); - memset(outputs, 0, sizeof outputs); - lp_build_tgsi_soa(builder, tokens, type, &mask, consts_ptr, interp->pos, interp->inputs, outputs, sampler); + if(!early_depth_test) + generate_depth(builder, key, + type, &mask, + z, depth_ptr); + + lp_build_mask_end(&mask); + + lp_build_flow_scope_end(flow); + for (attrib = 0; attrib < shader->info.num_outputs; ++attrib) { for(chan = 0; chan < NUM_CHANNELS; ++chan) { if(outputs[attrib][chan]) { @@ -265,12 +299,7 @@ generate_fs(struct llvmpipe_context *lp, } } - if(!early_depth_test) - generate_depth(builder, key, - type, &mask, - z, depth_ptr); - - lp_build_mask_end(&mask); + lp_build_flow_destroy(flow); *pmask = mask.value; -- cgit v1.2.3 From c3c80c5c22f9ce7fabba90daa5d5142e5fb1c012 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Thu, 10 Sep 2009 12:01:42 +0100 Subject: llvmpipe: Skip blending when mask is zero. This increases quake3 timedemo fps another 10%. --- src/gallium/drivers/llvmpipe/lp_bld_flow.c | 31 +++++++++++++++++++----------- src/gallium/drivers/llvmpipe/lp_state_fs.c | 12 ++++++++++-- 2 files changed, 30 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_flow.c b/src/gallium/drivers/llvmpipe/lp_bld_flow.c index 1252593226..69ed014ff3 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_flow.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_flow.c @@ -386,6 +386,22 @@ lp_build_flow_skip_end(struct lp_build_flow_context *flow) } +static void +lp_build_mask_check(struct lp_build_mask_context *mask) +{ + LLVMBuilderRef builder = mask->flow->builder; + LLVMValueRef cond; + + cond = LLVMBuildICmp(builder, + LLVMIntEQ, + LLVMBuildBitCast(builder, mask->value, mask->reg_type, ""), + LLVMConstNull(mask->reg_type), + ""); + + lp_build_flow_skip_cond_break(mask->flow, cond); +} + + void lp_build_mask_begin(struct lp_build_mask_context *mask, struct lp_build_flow_context *flow, @@ -401,6 +417,8 @@ lp_build_mask_begin(struct lp_build_mask_context *mask, lp_build_flow_scope_begin(flow); lp_build_flow_scope_declare(flow, &mask->value); lp_build_flow_skip_begin(flow); + + lp_build_mask_check(mask); } @@ -408,18 +426,9 @@ void lp_build_mask_update(struct lp_build_mask_context *mask, LLVMValueRef value) { - LLVMBuilderRef builder = mask->flow->builder; - LLVMValueRef cond; - - mask->value = LLVMBuildAnd(builder, mask->value, value, ""); - - cond = LLVMBuildICmp(builder, - LLVMIntEQ, - LLVMBuildBitCast(builder, mask->value, mask->reg_type, ""), - LLVMConstNull(mask->reg_type), - ""); + mask->value = LLVMBuildAnd( mask->flow->builder, mask->value, value, ""); - lp_build_flow_skip_cond_break(mask->flow, cond); + lp_build_mask_check(mask); } diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 2e60da60cd..354d9916c7 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -319,6 +319,8 @@ generate_blend(const struct pipe_blend_state *blend, LLVMValueRef dst_ptr) { struct lp_build_context bld; + struct lp_build_flow_context *flow; + struct lp_build_mask_context mask_ctx; LLVMTypeRef vec_type; LLVMTypeRef int_vec_type; LLVMValueRef const_ptr; @@ -327,11 +329,14 @@ generate_blend(const struct pipe_blend_state *blend, LLVMValueRef res[4]; unsigned chan; + lp_build_context_init(&bld, builder, type); + + flow = lp_build_flow_create(builder); + lp_build_mask_begin(&mask_ctx, flow, type, mask); + vec_type = lp_build_vec_type(type); int_vec_type = lp_build_int_vec_type(type); - lp_build_context_init(&bld, builder, type); - const_ptr = lp_jit_context_blend_color(builder, context_ptr); const_ptr = LLVMBuildBitCast(builder, const_ptr, LLVMPointerType(vec_type, 0), ""); @@ -354,6 +359,9 @@ generate_blend(const struct pipe_blend_state *blend, res[chan] = lp_build_select(&bld, mask, res[chan], dst[chan]); LLVMBuildStore(builder, res[chan], LLVMBuildGEP(builder, dst_ptr, &index, 1, "")); } + + lp_build_mask_end(&mask_ctx); + lp_build_flow_destroy(flow); } -- cgit v1.2.3 From 48f19c0bcdc56d33ef2873eeabe635380764e968 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Thu, 10 Sep 2009 12:14:53 +0100 Subject: llvmpipe: Fix sampling from depth textures. Respect texture compare func. Fixes Mesa shadowtex sample. --- src/gallium/drivers/llvmpipe/lp_bld_format_soa.c | 53 ++++++---- src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c | 118 +++++++++++++++++------ 2 files changed, 122 insertions(+), 49 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_format_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_format_soa.c index 36bac06d2e..569e8d10a3 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_format_soa.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_format_soa.c @@ -83,6 +83,30 @@ lp_build_gather(LLVMBuilderRef builder, } +static LLVMValueRef +lp_build_format_swizzle(union lp_type type, + const LLVMValueRef *inputs, + enum util_format_swizzle swizzle) +{ + switch (swizzle) { + case UTIL_FORMAT_SWIZZLE_X: + case UTIL_FORMAT_SWIZZLE_Y: + case UTIL_FORMAT_SWIZZLE_Z: + case UTIL_FORMAT_SWIZZLE_W: + return inputs[swizzle]; + case UTIL_FORMAT_SWIZZLE_0: + return lp_build_zero(type); + case UTIL_FORMAT_SWIZZLE_1: + return lp_build_one(type); + case UTIL_FORMAT_SWIZZLE_NONE: + return lp_build_undef(type); + default: + assert(0); + return lp_build_undef(type); + } +} + + void lp_build_unpack_rgba_soa(LLVMBuilderRef builder, const struct util_format_description *format_desc, @@ -146,25 +170,16 @@ lp_build_unpack_rgba_soa(LLVMBuilderRef builder, start = stop; } - for (chan = 0; chan < 4; ++chan) { - enum util_format_swizzle swizzle = format_desc->swizzle[chan]; - - switch (swizzle) { - case UTIL_FORMAT_SWIZZLE_X: - case UTIL_FORMAT_SWIZZLE_Y: - case UTIL_FORMAT_SWIZZLE_Z: - case UTIL_FORMAT_SWIZZLE_W: - rgba[chan] = inputs[swizzle]; - break; - case UTIL_FORMAT_SWIZZLE_0: - rgba[chan] = lp_build_zero(type); - break; - case UTIL_FORMAT_SWIZZLE_1: - rgba[chan] = lp_build_one(type); - break; - case UTIL_FORMAT_SWIZZLE_NONE: - rgba[chan] = lp_build_undef(type); - break; + if(format_desc->colorspace == UTIL_FORMAT_COLORSPACE_ZS) { + enum util_format_swizzle swizzle = format_desc->swizzle[0]; + LLVMValueRef depth = lp_build_format_swizzle(type, inputs, swizzle); + rgba[2] = rgba[1] = rgba[0] = depth; + rgba[3] = lp_build_one(type); + } + else { + for (chan = 0; chan < 4; ++chan) { + enum util_format_swizzle swizzle = format_desc->swizzle[chan]; + rgba[chan] = lp_build_format_swizzle(type, inputs, swizzle); } } } diff --git a/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c index 6ebf107cc2..2913b17d3f 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_sample_soa.c @@ -42,6 +42,7 @@ #include "lp_bld_type.h" #include "lp_bld_const.h" #include "lp_bld_arit.h" +#include "lp_bld_logic.h" #include "lp_bld_swizzle.h" #include "lp_bld_format.h" #include "lp_bld_sample.h" @@ -72,8 +73,10 @@ lp_sampler_static_state(struct lp_sampler_static_state *state, state->min_img_filter = sampler->min_img_filter; state->min_mip_filter = sampler->min_mip_filter; state->mag_img_filter = sampler->mag_img_filter; - state->compare_mode = sampler->compare_mode; - state->compare_func = sampler->compare_func; + if(sampler->compare_mode) { + state->compare_mode = sampler->compare_mode; + state->compare_func = sampler->compare_func; + } state->normalized_coords = sampler->normalized_coords; state->prefilter = sampler->prefilter; } @@ -115,17 +118,52 @@ lp_build_sample_texel(struct lp_build_sample_context *bld, LLVMValueRef data_ptr, LLVMValueRef *texel) { + struct lp_build_context *int_coord_bld = &bld->int_coord_bld; LLVMValueRef x_stride; - LLVMValueRef x_offset; - LLVMValueRef y_offset; LLVMValueRef offset; x_stride = lp_build_const_scalar(bld->int_coord_type, bld->format_desc->block.bits/8); - x_offset = lp_build_mul(&bld->int_coord_bld, x, x_stride); - y_offset = lp_build_mul(&bld->int_coord_bld, y, y_stride); + if(bld->format_desc->colorspace == UTIL_FORMAT_COLORSPACE_ZS) { + LLVMValueRef x_lo, x_hi; + LLVMValueRef y_lo, y_hi; + LLVMValueRef x_stride_lo, x_stride_hi; + LLVMValueRef y_stride_lo, y_stride_hi; + LLVMValueRef x_offset_lo, x_offset_hi; + LLVMValueRef y_offset_lo, y_offset_hi; + LLVMValueRef offset_lo, offset_hi; + + x_lo = LLVMBuildAnd(bld->builder, x, int_coord_bld->one, ""); + y_lo = LLVMBuildAnd(bld->builder, y, int_coord_bld->one, ""); + + x_hi = LLVMBuildLShr(bld->builder, x, int_coord_bld->one, ""); + y_hi = LLVMBuildLShr(bld->builder, y, int_coord_bld->one, ""); + + x_stride_lo = x_stride; + y_stride_lo = lp_build_const_scalar(bld->int_coord_type, 2*bld->format_desc->block.bits/8); + + x_stride_hi = lp_build_const_scalar(bld->int_coord_type, 4*bld->format_desc->block.bits/8); + y_stride_hi = LLVMBuildShl(bld->builder, y_stride, int_coord_bld->one, ""); + + x_offset_lo = lp_build_mul(int_coord_bld, x_lo, x_stride_lo); + y_offset_lo = lp_build_mul(int_coord_bld, y_lo, y_stride_lo); + offset_lo = lp_build_add(int_coord_bld, x_offset_lo, y_offset_lo); - offset = lp_build_add(&bld->int_coord_bld, x_offset, y_offset); + x_offset_hi = lp_build_mul(int_coord_bld, x_hi, x_stride_hi); + y_offset_hi = lp_build_mul(int_coord_bld, y_hi, y_stride_hi); + offset_hi = lp_build_add(int_coord_bld, x_offset_hi, y_offset_hi); + + offset = lp_build_add(int_coord_bld, offset_hi, offset_lo); + } + else { + LLVMValueRef x_offset; + LLVMValueRef y_offset; + + x_offset = lp_build_mul(int_coord_bld, x, x_stride); + y_offset = lp_build_mul(int_coord_bld, y, y_stride); + + offset = lp_build_add(int_coord_bld, x_offset, y_offset); + } lp_build_load_rgba_soa(bld->builder, bld->format_desc, @@ -249,30 +287,48 @@ lp_build_sample_2d_linear_soa(struct lp_build_sample_context *bld, /* TODO: Don't interpolate missing channels */ for(chan = 0; chan < 4; ++chan) { - switch(bld->format_desc->swizzle[chan]) { - case UTIL_FORMAT_SWIZZLE_X: - case UTIL_FORMAT_SWIZZLE_Y: - case UTIL_FORMAT_SWIZZLE_Z: - case UTIL_FORMAT_SWIZZLE_W: - texel[chan] = lp_build_lerp_2d(&bld->texel_bld, - s_fpart, t_fpart, - neighbors[0][0][chan], - neighbors[0][1][chan], - neighbors[1][0][chan], - neighbors[1][1][chan]); - break; - case UTIL_FORMAT_SWIZZLE_0: - texel[chan] = bld->texel_bld.zero; - break; - case UTIL_FORMAT_SWIZZLE_1: - texel[chan] = bld->texel_bld.one; - break; - default: - assert(0); - texel[chan] = bld->texel_bld.undef; - break; - } + texel[chan] = lp_build_lerp_2d(&bld->texel_bld, + s_fpart, t_fpart, + neighbors[0][0][chan], + neighbors[0][1][chan], + neighbors[1][0][chan], + neighbors[1][1][chan]); + } +} + + +static void +lp_build_sample_compare(struct lp_build_sample_context *bld, + LLVMValueRef p, + LLVMValueRef *texel) +{ + struct lp_build_context *texel_bld = &bld->texel_bld; + LLVMValueRef res; + unsigned chan; + + if(!bld->static_state->compare_mode) + return; + + /* TODO: Compare before swizzling, to avoid redundant computations */ + res = NULL; + for(chan = 0; chan < 4; ++chan) { + LLVMValueRef cmp; + cmp = lp_build_cmp(texel_bld, bld->static_state->compare_func, p, texel[chan]); + cmp = lp_build_select(texel_bld, cmp, texel_bld->one, texel_bld->zero); + + if(res) + res = lp_build_add(texel_bld, res, cmp); + else + res = cmp; } + + assert(res); + res = lp_build_mul(texel_bld, res, lp_build_const_scalar(texel_bld->type, 0.25)); + + /* XXX returning result for default GL_DEPTH_TEXTURE_MODE = GL_LUMINANCE */ + for(chan = 0; chan < 3; ++chan) + texel[chan] = res; + texel[3] = texel_bld->one; } @@ -343,4 +399,6 @@ lp_build_sample_soa(LLVMBuilderRef builder, lp_build_sample_2d_linear_soa(&bld, s, t, width, height, stride, data_ptr, texel); break; } + + lp_build_sample_compare(&bld, p, texel); } -- cgit v1.2.3 From 4c3a48ad0cb36e6d8601535b91f83caed0d07570 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Thu, 10 Sep 2009 12:37:44 +0100 Subject: llvmpipe: Mask out color channels not present in the color buffer. --- src/gallium/drivers/llvmpipe/lp_state_fs.c | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 354d9916c7..ccbccc813f 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -354,10 +354,12 @@ generate_blend(const struct pipe_blend_state *blend, lp_build_blend_soa(builder, blend, type, src, dst, con, res); for(chan = 0; chan < 4; ++chan) { - LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), chan, 0); - lp_build_name(res[chan], "res.%c", "rgba"[chan]); - res[chan] = lp_build_select(&bld, mask, res[chan], dst[chan]); - LLVMBuildStore(builder, res[chan], LLVMBuildGEP(builder, dst_ptr, &index, 1, "")); + if(blend->colormask & (1 << chan)) { + LLVMValueRef index = LLVMConstInt(LLVMInt32Type(), chan, 0); + lp_build_name(res[chan], "res.%c", "rgba"[chan]); + res[chan] = lp_build_select(&bld, mask, res[chan], dst[chan]); + LLVMBuildStore(builder, res[chan], LLVMBuildGEP(builder, dst_ptr, &index, 1, "")); + } } lp_build_mask_end(&mask_ctx); @@ -725,7 +727,23 @@ make_variant_key(struct llvmpipe_context *lp, key->alpha.func = lp->depth_stencil->alpha.func; /* alpha.ref_value is passed in jit_context */ - memcpy(&key->blend, lp->blend, sizeof key->blend); + if(lp->framebuffer.cbufs[0]) { + const struct util_format_description *format_desc; + unsigned chan; + + memcpy(&key->blend, lp->blend, sizeof key->blend); + + format_desc = util_format_description(lp->framebuffer.cbufs[0]->format); + assert(format_desc->layout == UTIL_FORMAT_COLORSPACE_RGB || + format_desc->layout == UTIL_FORMAT_COLORSPACE_SRGB); + + /* mask out color channels not present in the color buffer */ + for(chan = 0; chan < 4; ++chan) { + enum util_format_swizzle swizzle = format_desc->swizzle[chan]; + if(swizzle > 4) + key->blend.colormask &= ~(1 << chan); + } + } for(i = 0; i < PIPE_MAX_SAMPLERS; ++i) if(shader->info.file_mask[TGSI_FILE_SAMPLER] & (1 << i)) -- cgit v1.2.3 From 6a405b4a21ac1fa45a93da37ce6b95d98d17f0e2 Mon Sep 17 00:00:00 2001 From: JosĂ© Fonseca Date: Thu, 10 Sep 2009 13:35:39 +0100 Subject: llvmpipe: Fix alpha test. --- src/gallium/drivers/llvmpipe/lp_state_fs.c | 39 ++++++++++-------------------- 1 file changed, 13 insertions(+), 26 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index ccbccc813f..618cf1ffb8 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -216,24 +216,11 @@ generate_fs(struct llvmpipe_context *lp, lp_build_flow_scope_begin(flow); /* Declare the color and z variables */ - for (attrib = 0; attrib < shader->info.num_outputs; ++attrib) { - for(chan = 0; chan < NUM_CHANNELS; ++chan) { - boolean declare = FALSE; - switch (shader->info.output_semantic_name[attrib]) { - case TGSI_SEMANTIC_COLOR: - declare = TRUE; - break; - case TGSI_SEMANTIC_POSITION: - if(chan == 2) - declare = TRUE; - break; - } - if(declare) { - outputs[attrib][chan] = LLVMGetUndef(vec_type); - lp_build_flow_scope_declare(flow, &outputs[attrib][chan]); - } - } + for(chan = 0; chan < NUM_CHANNELS; ++chan) { + color[chan] = LLVMGetUndef(vec_type); + lp_build_flow_scope_declare(flow, &color[chan]); } + lp_build_flow_scope_declare(flow, &z); lp_build_mask_begin(&mask, flow, type, *pmask); @@ -252,15 +239,6 @@ generate_fs(struct llvmpipe_context *lp, consts_ptr, interp->pos, interp->inputs, outputs, sampler); - if(!early_depth_test) - generate_depth(builder, key, - type, &mask, - z, depth_ptr); - - lp_build_mask_end(&mask); - - lp_build_flow_scope_end(flow); - for (attrib = 0; attrib < shader->info.num_outputs; ++attrib) { for(chan = 0; chan < NUM_CHANNELS; ++chan) { if(outputs[attrib][chan]) { @@ -299,6 +277,15 @@ generate_fs(struct llvmpipe_context *lp, } } + if(!early_depth_test) + generate_depth(builder, key, + type, &mask, + z, depth_ptr); + + lp_build_mask_end(&mask); + + lp_build_flow_scope_end(flow); + lp_build_flow_destroy(flow); *pmask = mask.value; -- cgit v1.2.3 From 3d1324a66a3b8927a400d167ba92f851b464c57a Mon Sep 17 00:00:00 2001 From: Pauli Nieminen Date: Thu, 10 Sep 2009 16:41:59 +0300 Subject: radeon: Change debugging code to use macros instead of inline functions. Variadic functions can't be inlined which makes debugging to have quite large function overead. Only aleternative method is to use variadic macros which are inlined so compiler can optimize debugging to minimize overhead. --- src/mesa/drivers/dri/radeon/radeon_debug.c | 10 ++++- src/mesa/drivers/dri/radeon/radeon_debug.h | 60 ++++++++++-------------------- 2 files changed, 27 insertions(+), 43 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/radeon/radeon_debug.c b/src/mesa/drivers/dri/radeon/radeon_debug.c index a1ed39683f..3b6f003803 100644 --- a/src/mesa/drivers/dri/radeon/radeon_debug.c +++ b/src/mesa/drivers/dri/radeon/radeon_debug.c @@ -32,6 +32,9 @@ #include "radeon_debug.h" #include "radeon_common_context.h" +#include +#include + static const struct dri_debug_control debug_control[] = { {"fall", RADEON_FALLBACKS}, {"tex", RADEON_TEXTURE}, @@ -85,10 +88,10 @@ void _radeon_debug_remove_indent(void) } } -extern void _radeon_print(const radeon_debug_type_t type, +void _radeon_print(const radeon_debug_type_t type, const radeon_debug_level_t level, const char* message, - va_list values) + ...) { GET_CURRENT_CONTEXT(ctx); if (ctx) { @@ -97,5 +100,8 @@ extern void _radeon_print(const radeon_debug_type_t type, if (radeon->debug.indent_depth) fprintf(stderr, "%s", radeon->debug.indent); } + va_list values; + va_start( values, message ); vfprintf(stderr, message, values); + va_end( values ); } diff --git a/src/mesa/drivers/dri/radeon/radeon_debug.h b/src/mesa/drivers/dri/radeon/radeon_debug.h index 132e27351d..2a8302293b 100644 --- a/src/mesa/drivers/dri/radeon/radeon_debug.h +++ b/src/mesa/drivers/dri/radeon/radeon_debug.h @@ -30,8 +30,7 @@ #ifndef RADEON_DEBUG_H_INCLUDED #define RADEON_DEBUG_H_INCLUDED -#include -#include +#include typedef enum radeon_debug_levels { RADEON_CRITICAL = 0, /* Only errors */ @@ -102,57 +101,36 @@ static inline int radeon_is_debug_enabled(const radeon_debug_type_t type, extern void _radeon_print(const radeon_debug_type_t type, const radeon_debug_level_t level, const char* message, - va_list values); -/** - * Format attribute requires declaration for setting it. Don't ask me why! - */ -static inline void radeon_print(const radeon_debug_type_t type, - const radeon_debug_level_t level, - const char* message, - ...) __attribute__((format(printf,3,4))); - + ...) __attribute__((format(printf,3,4))); /** * Print out debug message if channel specified by type is enabled * and compile time debugging level is at least as high as level parameter */ -static inline void radeon_print(const radeon_debug_type_t type, - const radeon_debug_level_t level, - const char* message, - ...) -{ - /* Compile out if level of message is too high */ - if (radeon_is_debug_enabled(type, level)) { - - va_list values; - va_start( values, message ); - _radeon_print(type, level, message, values); - va_end( values ); - } -} +#define radeon_print(type, level, message, ...) do { \ + const radeon_debug_level_t _debug_level = (level); \ + const radeon_debug_type_t _debug_type = (type); \ + /* Compile out if level of message is too high */ \ + if (radeon_is_debug_enabled(type, level)) { \ + _radeon_print(_debug_type, _debug_level, \ + (message), ## __VA_ARGS__); \ + } \ +} while(0) -static inline void radeon_error(const char* message, ...) __attribute__((format(printf,1,2))); /** * printf style function for writing error messages. */ -static inline void radeon_error(const char* message, ...) -{ - va_list values; - va_start( values, message ); - radeon_print(RADEON_GENERAL, RADEON_CRITICAL, message, values); - va_end( values ); -} +#define radeon_error(message, ...) do { \ + radeon_print(RADEON_GENERAL, RADEON_CRITICAL, \ + (message), ## __VA_ARGS__); \ +} while(0) -static inline void radeon_warning(const char* message, ...) __attribute__((format(printf,1,2))); /** * printf style function for writing warnings. */ -static inline void radeon_warning(const char* message, ...) -{ - va_list values; - va_start( values, message ); - radeon_print(RADEON_GENERAL, RADEON_IMPORTANT, message, values); - va_end( values ); -} +#define radeon_warning(message, ...) do { \ + radeon_print(RADEON_GENERAL, RADEON_IMPORTANT, \ + (message), ## __VA_ARGS__); \ +} while(0) extern void radeon_init_debug(void); extern void _radeon_debug_add_indent(void); -- cgit v1.2.3 From c7291f69a0f64ceda02d39d58e22ca20ecbabde7 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Thu, 10 Sep 2009 15:33:57 +0100 Subject: util: Add PIPE_OS_APPLE back to auxiliary/util/u_time.h. Fixes typo from commit c6c44bf48124dd5b4661014a8d58482c5a54557f. --- src/gallium/auxiliary/util/u_time.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_time.h b/src/gallium/auxiliary/util/u_time.h index 0ce1cc4a34..a6189a247b 100644 --- a/src/gallium/auxiliary/util/u_time.h +++ b/src/gallium/auxiliary/util/u_time.h @@ -94,7 +94,7 @@ util_time_timeout(const struct util_time *start, const struct util_time *end, const struct util_time *curr); -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) #define util_time_sleep usleep #else void -- cgit v1.2.3 From 23fefa031f8c6c87a7894247829131293449cb17 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Thu, 10 Sep 2009 08:39:26 -0600 Subject: gallium: Add PIPE_OS_APPLE back to auxiliary/util/u_time.h. Fixes typo from commit c6c44bf48124dd5b4661014a8d58482c5a54557f. --- src/gallium/auxiliary/util/u_time.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/auxiliary/util/u_time.h b/src/gallium/auxiliary/util/u_time.h index 0ce1cc4a34..a6189a247b 100644 --- a/src/gallium/auxiliary/util/u_time.h +++ b/src/gallium/auxiliary/util/u_time.h @@ -94,7 +94,7 @@ util_time_timeout(const struct util_time *start, const struct util_time *end, const struct util_time *curr); -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) #define util_time_sleep usleep #else void -- cgit v1.2.3 From e9ba9ffc9aa5dcc2de02dc3e58279ffda2318c79 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 10 Sep 2009 08:41:12 -0600 Subject: mesa: in texenvprogram code, only do saturation when really needed. For some env modes (like modulate or replace) we don't have to clamp because we know the results will be in [0,1]. --- src/mesa/main/texenvprogram.c | 61 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 870970a355..2f3e47e69e 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -247,6 +247,40 @@ static GLuint translate_mode( GLenum envMode, GLenum mode ) } +/** + * Do we need to clamp the results of the given texture env/combine mode? + * If the inputs to the mode are in [0,1] we don't always have to clamp + * the results. + */ +static GLboolean +need_saturate( GLuint mode ) +{ + switch (mode) { + case MODE_REPLACE: + case MODE_MODULATE: + case MODE_INTERPOLATE: + return GL_FALSE; + case MODE_ADD: + case MODE_ADD_SIGNED: + case MODE_SUBTRACT: + case MODE_DOT3_RGB: + case MODE_DOT3_RGB_EXT: + case MODE_DOT3_RGBA: + case MODE_DOT3_RGBA_EXT: + case MODE_MODULATE_ADD_ATI: + case MODE_MODULATE_SIGNED_ADD_ATI: + case MODE_MODULATE_SUBTRACT_ATI: + case MODE_ADD_PRODUCTS: + case MODE_ADD_PRODUCTS_SIGNED: + case MODE_BUMP_ENVMAP_ATI: + return GL_TRUE; + default: + assert(0); + } +} + + + /** * Translate TEXTURE_x_BIT to TEXTURE_x_INDEX. */ @@ -1116,7 +1150,7 @@ static struct ureg emit_texenv(struct texenv_fragment_program *p, GLuint unit) { const struct state_key *key = p->state; - GLboolean saturate; + GLboolean rgb_saturate, alpha_saturate; GLuint rgb_shift, alpha_shift; struct ureg out, dest; @@ -1146,7 +1180,19 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) /* If we'll do rgb/alpha shifting don't saturate in emit_combine(). * We don't want to clamp twice. */ - saturate = !(rgb_shift || alpha_shift); + if (rgb_shift) + rgb_saturate = GL_FALSE; /* saturate after rgb shift */ + else if (need_saturate(key->unit[unit].ModeRGB)) + rgb_saturate = GL_TRUE; + else + rgb_saturate = GL_FALSE; + + if (alpha_shift) + alpha_saturate = GL_FALSE; /* saturate after alpha shift */ + else if (need_saturate(key->unit[unit].ModeA)) + alpha_saturate = GL_TRUE; + else + alpha_saturate = GL_FALSE; /* If this is the very last calculation, emit direct to output reg: */ @@ -1162,7 +1208,7 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) */ if (key->unit[unit].ModeRGB == key->unit[unit].ModeA && args_match(key, unit)) { - out = emit_combine( p, dest, WRITEMASK_XYZW, saturate, + out = emit_combine( p, dest, WRITEMASK_XYZW, rgb_saturate, unit, key->unit[unit].NumArgsRGB, key->unit[unit].ModeRGB, @@ -1170,7 +1216,7 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) } else if (key->unit[unit].ModeRGB == MODE_DOT3_RGBA_EXT || key->unit[unit].ModeRGB == MODE_DOT3_RGBA) { - out = emit_combine( p, dest, WRITEMASK_XYZW, saturate, + out = emit_combine( p, dest, WRITEMASK_XYZW, rgb_saturate, unit, key->unit[unit].NumArgsRGB, key->unit[unit].ModeRGB, @@ -1180,12 +1226,12 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) /* Need to do something to stop from re-emitting identical * argument calculations here: */ - out = emit_combine( p, dest, WRITEMASK_XYZ, saturate, + out = emit_combine( p, dest, WRITEMASK_XYZ, rgb_saturate, unit, key->unit[unit].NumArgsRGB, key->unit[unit].ModeRGB, key->unit[unit].OptRGB); - out = emit_combine( p, dest, WRITEMASK_W, saturate, + out = emit_combine( p, dest, WRITEMASK_W, alpha_saturate, unit, key->unit[unit].NumArgsA, key->unit[unit].ModeA, @@ -1196,8 +1242,7 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) */ if (alpha_shift || rgb_shift) { struct ureg shift; - - saturate = GL_TRUE; /* always saturate at this point */ + GLboolean saturate = GL_TRUE; /* always saturate at this point */ if (rgb_shift == alpha_shift) { shift = register_scalar_const(p, (GLfloat)(1< Date: Thu, 10 Sep 2009 08:50:01 -0600 Subject: mesa: fix cut&paste typos --- src/mesa/drivers/common/meta.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index d1c2232e26..276e981a94 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -1936,13 +1936,13 @@ _mesa_meta_generate_mipmap(GLcontext *ctx, GLenum target, verts[0].r = 0.0F; verts[1].s = 1.0F; verts[1].t = 0.0F; + verts[1].r = 0.0F; + verts[2].s = 1.0F; + verts[2].t = 1.0F; verts[2].r = 0.0F; - verts[3].s = 1.0F; + verts[3].s = 0.0F; verts[3].t = 1.0F; verts[3].r = 0.0F; - verts[4].s = 0.0F; - verts[4].t = 1.0F; - verts[4].r = 0.0F; break; } -- cgit v1.2.3 From 7dfe54a60e63fa6ac1846ca8ac125d19e2734cd1 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 10 Sep 2009 12:01:19 -0400 Subject: r300: add full support for two sided stencil on r5xx for dri2 --- src/mesa/drivers/dri/r300/r300_cmdbuf.c | 8 ++++++++ src/mesa/drivers/dri/r300/r300_context.h | 5 +++++ src/mesa/drivers/dri/r300/r300_reg.h | 2 ++ src/mesa/drivers/dri/r300/r300_state.c | 35 ++++++++++++++++++++++++++++---- 4 files changed, 46 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c b/src/mesa/drivers/dri/r300/r300_cmdbuf.c index 0fe32a5443..dd1a0fe813 100644 --- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c +++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c @@ -697,6 +697,14 @@ void r300InitCmdBuf(r300ContextPtr r300) ALLOC_STATE(zs, always, R300_ZS_CMDSIZE, 0); r300->hw.zs.cmd[R300_ZS_CMD_0] = cmdpacket0(r300->radeon.radeonScreen, R300_ZB_CNTL, 3); + if (is_r500) { + if (r300->radeon.radeonScreen->kernel_mm) + ALLOC_STATE(zsb, always, R300_ZSB_CMDSIZE, 0); + else + ALLOC_STATE(zsb, never, R300_ZSB_CMDSIZE, 0); + r300->hw.zsb.cmd[R300_ZSB_CMD_0] = + cmdpacket0(r300->radeon.radeonScreen, R500_ZB_STENCILREFMASK_BF, 1); + } ALLOC_STATE(zstencil_format, always, 5, 0); r300->hw.zstencil_format.cmd[0] = diff --git a/src/mesa/drivers/dri/r300/r300_context.h b/src/mesa/drivers/dri/r300/r300_context.h index 1dadcc0a69..518d5cdbf4 100644 --- a/src/mesa/drivers/dri/r300/r300_context.h +++ b/src/mesa/drivers/dri/r300/r300_context.h @@ -234,6 +234,10 @@ typedef struct r300_context *r300ContextPtr; #define R300_ZS_CNTL_2 3 #define R300_ZS_CMDSIZE 4 +#define R300_ZSB_CMD_0 0 +#define R300_ZSB_CNTL_0 1 +#define R300_ZSB_CMDSIZE 2 + #define R300_ZB_CMD_0 0 #define R300_ZB_OFFSET 1 #define R300_ZB_PITCH 2 @@ -343,6 +347,7 @@ struct r300_hw_state { struct radeon_state_atom rb3d_aaresolve_ctl; /* (4E88) */ struct radeon_state_atom rb3d_discard_src_pixel_lte_threshold; /* (4E88) I saw it only written on RV350 hardware.. */ struct radeon_state_atom zs; /* zstencil control (4F00) */ + struct radeon_state_atom zsb; /* zstencil bf */ struct radeon_state_atom zstencil_format; struct radeon_state_atom zb; /* z buffer (4F20) */ struct radeon_state_atom zb_depthclearvalue; /* (4F28) */ diff --git a/src/mesa/drivers/dri/r300/r300_reg.h b/src/mesa/drivers/dri/r300/r300_reg.h index 98512d778e..b9ccd098dc 100644 --- a/src/mesa/drivers/dri/r300/r300_reg.h +++ b/src/mesa/drivers/dri/r300/r300_reg.h @@ -2313,6 +2313,8 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. # define R300_Z_WRITE_ENABLE (1 << 2) # define R300_Z_SIGNED_COMPARE (1 << 3) # define R300_STENCIL_FRONT_BACK (1 << 4) +# define R400_ZSIGNED_MAGNITUDE (1 << 5) +# define R500_STENCIL_REFMASK_FRONT_BACK (1 << 6) #define R300_ZB_ZSTENCILCNTL 0x4f04 /* functions */ diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index d4c3ecee66..3060f49aaf 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -590,7 +590,9 @@ static void r300SetDepthState(GLcontext * ctx) r300ContextPtr r300 = R300_CONTEXT(ctx); R300_STATECHANGE(r300, zs); - r300->hw.zs.cmd[R300_ZS_CNTL_0] &= R300_STENCIL_ENABLE|R300_STENCIL_FRONT_BACK; + r300->hw.zs.cmd[R300_ZS_CNTL_0] &= (R300_STENCIL_ENABLE | + R300_STENCIL_FRONT_BACK | + R500_STENCIL_REFMASK_FRONT_BACK); r300->hw.zs.cmd[R300_ZS_CNTL_1] &= ~(R300_ZS_MASK << R300_Z_FUNC_SHIFT); if (ctx->Depth.Test) { @@ -604,11 +606,16 @@ static void r300SetDepthState(GLcontext * ctx) static void r300CatchStencilFallback(GLcontext *ctx) { + r300ContextPtr rmesa = R300_CONTEXT(ctx); const unsigned back = ctx->Stencil._BackFace; - if (ctx->Stencil._Enabled && (ctx->Stencil.Ref[0] != ctx->Stencil.Ref[back] - || ctx->Stencil.ValueMask[0] != ctx->Stencil.ValueMask[back] - || ctx->Stencil.WriteMask[0] != ctx->Stencil.WriteMask[back])) { + if (rmesa->radeon.radeonScreen->kernel_mm && + (rmesa->radeon.radeonScreen->chip_family >= CHIP_FAMILY_RV515)) { + r300SwitchFallback(ctx, R300_FALLBACK_STENCIL_TWOSIDE, GL_FALSE); + } else if (ctx->Stencil._Enabled && + (ctx->Stencil.Ref[0] != ctx->Stencil.Ref[back] + || ctx->Stencil.ValueMask[0] != ctx->Stencil.ValueMask[back] + || ctx->Stencil.WriteMask[0] != ctx->Stencil.WriteMask[back])) { r300SwitchFallback(ctx, R300_FALLBACK_STENCIL_TWOSIDE, GL_TRUE); } else { r300SwitchFallback(ctx, R300_FALLBACK_STENCIL_TWOSIDE, GL_FALSE); @@ -915,11 +922,24 @@ static void r300StencilFuncSeparate(GLcontext * ctx, GLenum face, rmesa->hw.zs.cmd[R300_ZS_CNTL_1] |= (flag << R300_S_BACK_FUNC_SHIFT); rmesa->hw.zs.cmd[R300_ZS_CNTL_2] |= refmask; + + if (rmesa->radeon.radeonScreen->chip_family >= CHIP_FAMILY_RV515) { + rmesa->hw.zs.cmd[R300_ZS_CNTL_0] |= R500_STENCIL_REFMASK_FRONT_BACK; + R300_STATECHANGE(rmesa, zsb); + refmask = ((ctx->Stencil.Ref[back] & 0xff) << R300_STENCILREF_SHIFT) + | ((ctx->Stencil.ValueMask[back] & 0xff) << R300_STENCILMASK_SHIFT); + + rmesa->hw.zsb.cmd[R300_ZSB_CNTL_0] &= + ~((R300_STENCILREF_MASK << R300_STENCILREF_SHIFT) | + (R300_STENCILREF_MASK << R300_STENCILMASK_SHIFT)); + rmesa->hw.zsb.cmd[R300_ZSB_CNTL_0] |= refmask; + } } static void r300StencilMaskSeparate(GLcontext * ctx, GLenum face, GLuint mask) { r300ContextPtr rmesa = R300_CONTEXT(ctx); + const unsigned back = ctx->Stencil._BackFace; r300CatchStencilFallback(ctx); @@ -931,6 +951,13 @@ static void r300StencilMaskSeparate(GLcontext * ctx, GLenum face, GLuint mask) (ctx->Stencil. WriteMask[0] & R300_STENCILREF_MASK) << R300_STENCILWRITEMASK_SHIFT; + if (rmesa->radeon.radeonScreen->chip_family >= CHIP_FAMILY_RV515) { + R300_STATECHANGE(rmesa, zsb); + rmesa->hw.zsb.cmd[R300_ZSB_CNTL_0] |= + (ctx->Stencil. + WriteMask[back] & R300_STENCILREF_MASK) << + R300_STENCILWRITEMASK_SHIFT; + } } static void r300StencilOpSeparate(GLcontext * ctx, GLenum face, -- cgit v1.2.3 From e669dc2b0dcebb49cfef3ccd54c95ad33b63e02d Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 10 Sep 2009 12:04:38 -0400 Subject: r300: enable rb3d_discard_src_pixel_lte_threshold for more chips on dri2 --- src/mesa/drivers/dri/r300/r300_cmdbuf.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c b/src/mesa/drivers/dri/r300/r300_cmdbuf.c index dd1a0fe813..da5b7ba642 100644 --- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c +++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c @@ -684,11 +684,7 @@ void r300InitCmdBuf(r300ContextPtr r300) r300->hw.rb3d_dither_ctl.cmd[0] = cmdpacket0(r300->radeon.radeonScreen, R300_RB3D_DITHER_CTL, 9); ALLOC_STATE(rb3d_aaresolve_ctl, always, 2, 0); r300->hw.rb3d_aaresolve_ctl.cmd[0] = cmdpacket0(r300->radeon.radeonScreen, R300_RB3D_AARESOLVE_CTL, 1); - if ((r300->radeon.radeonScreen->chip_family >= CHIP_FAMILY_RV515) || - ( !r300->radeon.radeonScreen->kernel_mm && ( - (r300->radeon.radeonScreen->chip_family == CHIP_FAMILY_RS400) || - (r300->radeon.radeonScreen->chip_family == CHIP_FAMILY_RV410) || - (r300->radeon.radeonScreen->chip_family == CHIP_FAMILY_R420) ) ) ) { + if (r300->radeon.radeonScreen->chip_family >= CHIP_FAMILY_RV350) { ALLOC_STATE(rb3d_discard_src_pixel_lte_threshold, always, 3, 0); } else { ALLOC_STATE(rb3d_discard_src_pixel_lte_threshold, never, 3, 0); -- cgit v1.2.3 From 36dd53a3cded9d003ec418732b7fc93c1476aa9b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 10 Sep 2009 09:26:38 -0700 Subject: intel: Don't forget to map the depth read buffer in spans. This broke BlitFramebufferEXT(GL_DEPTH_BUFFER_BIT). --- src/mesa/drivers/dri/intel/intel_span.c | 50 ++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_span.c b/src/mesa/drivers/dri/intel/intel_span.c index 8df4990880..1e73943457 100644 --- a/src/mesa/drivers/dri/intel/intel_span.c +++ b/src/mesa/drivers/dri/intel/intel_span.c @@ -444,23 +444,32 @@ intel_renderbuffer_unmap(struct intel_context *intel, * _ColorReadBuffer, _DepthBuffer or _StencilBuffer fields. */ static void -intel_map_unmap_buffers(struct intel_context *intel, GLboolean map) +intel_map_unmap_framebuffer(struct intel_context *intel, + struct gl_framebuffer *fb, + GLboolean map) { GLcontext *ctx = &intel->ctx; GLuint i, j; - /* color draw buffers */ - for (j = 0; j < ctx->DrawBuffer->_NumColorDrawBuffers; j++) { + /* color buffers */ + if (fb == ctx->DrawBuffer) { + for (j = 0; j < fb->_NumColorDrawBuffers; j++) { + if (map) + intel_renderbuffer_map(intel, fb->_ColorDrawBuffers[j]); + else + intel_renderbuffer_unmap(intel, fb->_ColorDrawBuffers[j]); + } + } else { if (map) - intel_renderbuffer_map(intel, ctx->DrawBuffer->_ColorDrawBuffers[j]); + intel_renderbuffer_map(intel, fb->_ColorReadBuffer); else - intel_renderbuffer_unmap(intel, ctx->DrawBuffer->_ColorDrawBuffers[j]); + intel_renderbuffer_unmap(intel, fb->_ColorReadBuffer); } /* check for render to textures */ for (i = 0; i < BUFFER_COUNT; i++) { struct gl_renderbuffer_attachment *att = - ctx->DrawBuffer->Attachment + i; + fb->Attachment + i; struct gl_texture_object *tex = att->Texture; if (tex) { /* render to texture */ @@ -472,34 +481,26 @@ intel_map_unmap_buffers(struct intel_context *intel, GLboolean map) } } - /* color read buffers */ - if (map) - intel_renderbuffer_map(intel, ctx->ReadBuffer->_ColorReadBuffer); - else - intel_renderbuffer_unmap(intel, ctx->ReadBuffer->_ColorReadBuffer); - /* depth buffer (Note wrapper!) */ - if (ctx->DrawBuffer->_DepthBuffer) { + if (fb->_DepthBuffer) { if (map) - intel_renderbuffer_map(intel, ctx->DrawBuffer->_DepthBuffer->Wrapped); + intel_renderbuffer_map(intel, fb->_DepthBuffer->Wrapped); else intel_renderbuffer_unmap(intel, - ctx->DrawBuffer->_DepthBuffer->Wrapped); + fb->_DepthBuffer->Wrapped); } /* stencil buffer (Note wrapper!) */ - if (ctx->DrawBuffer->_StencilBuffer) { + if (fb->_StencilBuffer) { if (map) intel_renderbuffer_map(intel, - ctx->DrawBuffer->_StencilBuffer->Wrapped); + fb->_StencilBuffer->Wrapped); else intel_renderbuffer_unmap(intel, - ctx->DrawBuffer->_StencilBuffer->Wrapped); + fb->_StencilBuffer->Wrapped); } } - - /** * Prepare for software rendering. Map current read/draw framebuffers' * renderbuffes and all currently bound texture objects. @@ -522,7 +523,8 @@ intelSpanRenderStart(GLcontext * ctx) } } - intel_map_unmap_buffers(intel, GL_TRUE); + intel_map_unmap_framebuffer(intel, ctx->DrawBuffer, GL_TRUE); + intel_map_unmap_framebuffer(intel, ctx->ReadBuffer, GL_TRUE); } /** @@ -544,7 +546,8 @@ intelSpanRenderFinish(GLcontext * ctx) } } - intel_map_unmap_buffers(intel, GL_FALSE); + intel_map_unmap_framebuffer(intel, ctx->DrawBuffer, GL_FALSE); + intel_map_unmap_framebuffer(intel, ctx->ReadBuffer, GL_FALSE); UNLOCK_HARDWARE(intel); } @@ -711,6 +714,9 @@ intel_set_span_functions(struct intel_context *intel, intel_YTile_InitStencilPointers_z24_s8(rb); break; } + } else { + _mesa_problem(NULL, + "Unexpected ActualFormat in intelSetSpanFunctions"); } break; default: -- cgit v1.2.3 From 2dd3da3a4a2233332219f9da60d18fec79b4b6c7 Mon Sep 17 00:00:00 2001 From: Zhenyu Wang Date: Mon, 7 Sep 2009 16:18:57 +0800 Subject: intel: add B43 chipset support Signed-off-by: Zhenyu Wang Signed-off-by: Ian Romanick Hopefully this will be one of the last cherry-picks. (cherry picked from commit ca246dd186f9590f6d67038832faceb522138c20) --- src/mesa/drivers/dri/intel/intel_chipset.h | 4 +++- src/mesa/drivers/dri/intel/intel_context.c | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_chipset.h b/src/mesa/drivers/dri/intel/intel_chipset.h index 4593d90df3..a528d996dc 100644 --- a/src/mesa/drivers/dri/intel/intel_chipset.h +++ b/src/mesa/drivers/dri/intel/intel_chipset.h @@ -66,6 +66,7 @@ #define PCI_CHIP_Q45_G 0x2E12 #define PCI_CHIP_G45_G 0x2E22 #define PCI_CHIP_G41_G 0x2E32 +#define PCI_CHIP_B43_G 0x2E42 #define IS_MOBILE(devid) (devid == PCI_CHIP_I855_GM || \ devid == PCI_CHIP_I915_GM || \ @@ -78,7 +79,8 @@ #define IS_G45(devid) (devid == PCI_CHIP_IGD_E_G || \ devid == PCI_CHIP_Q45_G || \ devid == PCI_CHIP_G45_G || \ - devid == PCI_CHIP_G41_G) + devid == PCI_CHIP_G41_G || \ + devid == PCI_CHIP_B43_G) #define IS_GM45(devid) (devid == PCI_CHIP_GM45_GM) #define IS_G4X(devid) (IS_G45(devid) || IS_GM45(devid)) diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 977fad9313..aecb317eb8 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -161,6 +161,9 @@ intelGetString(GLcontext * ctx, GLenum name) case PCI_CHIP_G41_G: chipset = "Intel(R) G41"; break; + case PCI_CHIP_B43_G: + chipset = "Intel(R) B43"; + break; default: chipset = "Unknown Intel Chipset"; break; -- cgit v1.2.3 From acfea5c705f383692e661d37c5cd7da2f3db559b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 9 Sep 2009 12:35:30 -0700 Subject: i965: Fix relocation delta for WM surfaces. This was a regression in 0f328c90dbc893e15005f2ab441d309c1c176245. Bug #23688 Bug #23254 (cherry picked from commit 5604b27b9326ac542069a49ed9650c4b0d3e939a) --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index 096f74394e..3dcc592bde 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -629,7 +629,7 @@ brw_update_renderbuffer_surface(struct brw_context *brw, drm_intel_bo_emit_reloc(brw->wm.surf_bo[unit], offsetof(struct brw_surface_state, ss1), region_bo, - surf.ss1.base_addr, + surf.ss1.base_addr - region_bo->offset, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER); } -- cgit v1.2.3 From c5f8594aebac4b8ba972d09ab18dabd9cc47c8e9 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 10 Sep 2009 10:17:07 -0600 Subject: mesa: need to set all stencil bits to 0 before setting the 1 bits Plus, check for pixel transfer stencil index/offset. --- src/mesa/drivers/common/meta.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 28e49b6898..47090ba297 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -1456,6 +1456,8 @@ _mesa_meta_draw_pixels(GLcontext *ctx, } else if (_mesa_is_stencil_format(format)) { if (ctx->Extensions.ARB_fragment_program && + ctx->Pixel.IndexShift == 0 && + ctx->Pixel.IndexOffset == 0 && type == GL_UNSIGNED_BYTE) { /* We'll store stencil as alpha. This only works for GLubyte * image data because of how incoming values are mapped to alpha @@ -1590,6 +1592,13 @@ _mesa_meta_draw_pixels(GLcontext *ctx, _mesa_ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); _mesa_set_enable(ctx, GL_STENCIL_TEST, GL_TRUE); + + /* set all stencil bits to 0 */ + _mesa_StencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE); + _mesa_StencilFunc(GL_ALWAYS, 0, 255); + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + + /* set stencil bits to 1 where needed */ _mesa_StencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); _mesa_BindProgram(GL_FRAGMENT_PROGRAM_ARB, drawpix->StencilFP); -- cgit v1.2.3 From d78a19612173eda51b93818a16a947201a785f3f Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 10 Sep 2009 12:44:28 -0600 Subject: tgsi: use new tgsi_call_record to handle execution mask stacks This fixes some issues when "return"ing from nested loops/conditionals. --- src/gallium/auxiliary/tgsi/tgsi_exec.c | 44 ++++++++++++++++++++++++---------- src/gallium/auxiliary/tgsi/tgsi_exec.h | 13 +++++++++- 2 files changed, 43 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 60ffa188df..c79c56debd 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -2756,19 +2756,32 @@ exec_instruction( if (mach->ExecMask) { /* do the call */ - /* push the Cond, Loop, Cont stacks */ + /* First, record the depths of the execution stacks. + * This is important for deeply nested/looped return statements. + * We have to unwind the stacks by the correct amount. For a + * real code generator, we could determine the number of entries + * to pop off each stack with simple static analysis and avoid + * implementing this data structure at run time. + */ + mach->CallStack[mach->CallStackTop].CondStackTop = mach->CondStackTop; + mach->CallStack[mach->CallStackTop].LoopStackTop = mach->LoopStackTop; + mach->CallStack[mach->CallStackTop].ContStackTop = mach->ContStackTop; + /* note that PC was already incremented above */ + mach->CallStack[mach->CallStackTop].ReturnAddr = *pc; + + mach->CallStackTop++; + + /* Second, push the Cond, Loop, Cont, Func stacks */ assert(mach->CondStackTop < TGSI_EXEC_MAX_COND_NESTING); mach->CondStack[mach->CondStackTop++] = mach->CondMask; assert(mach->LoopStackTop < TGSI_EXEC_MAX_LOOP_NESTING); mach->LoopStack[mach->LoopStackTop++] = mach->LoopMask; assert(mach->ContStackTop < TGSI_EXEC_MAX_LOOP_NESTING); mach->ContStack[mach->ContStackTop++] = mach->ContMask; - assert(mach->FuncStackTop < TGSI_EXEC_MAX_CALL_NESTING); mach->FuncStack[mach->FuncStackTop++] = mach->FuncMask; - /* note that PC was already incremented above */ - mach->CallStack[mach->CallStackTop++] = *pc; + /* Finally, jump to the subroutine */ *pc = inst->InstructionExtLabel.Label; } break; @@ -2785,18 +2798,24 @@ exec_instruction( *pc = -1; return; } - *pc = mach->CallStack[--mach->CallStackTop]; - /* pop the Cond, Loop, Cont stacks */ - assert(mach->CondStackTop > 0); - mach->CondMask = mach->CondStack[--mach->CondStackTop]; - assert(mach->LoopStackTop > 0); - mach->LoopMask = mach->LoopStack[--mach->LoopStackTop]; - assert(mach->ContStackTop > 0); - mach->ContMask = mach->ContStack[--mach->ContStackTop]; + assert(mach->CallStackTop > 0); + mach->CallStackTop--; + + mach->CondStackTop = mach->CallStack[mach->CallStackTop].CondStackTop; + mach->CondMask = mach->CondStack[mach->CondStackTop]; + + mach->LoopStackTop = mach->CallStack[mach->CallStackTop].LoopStackTop; + mach->LoopMask = mach->LoopStack[mach->LoopStackTop]; + + mach->ContStackTop = mach->CallStack[mach->CallStackTop].ContStackTop; + mach->ContMask = mach->ContStack[mach->ContStackTop]; + assert(mach->FuncStackTop > 0); mach->FuncMask = mach->FuncStack[--mach->FuncStackTop]; + *pc = mach->CallStack[mach->CallStackTop].ReturnAddr; + UPDATE_EXEC_MASK(mach); } break; @@ -3245,7 +3264,6 @@ tgsi_exec_machine_run( struct tgsi_exec_machine *mach ) mach->FuncMask = 0xf; mach->ExecMask = 0xf; - mach->CondStackTop = 0; /* temporarily subvert this assertion */ assert(mach->CondStackTop == 0); assert(mach->LoopStackTop == 0); assert(mach->ContStackTop == 0); diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index 3baa94dbdd..c72f76809d 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -186,6 +186,17 @@ struct tgsi_exec_labels */ #define TGSI_EXEC_MAX_CONST_BUFFER 4096 + +/** function call/activation record */ +struct tgsi_call_record +{ + uint CondStackTop; + uint LoopStackTop; + uint ContStackTop; + uint ReturnAddr; +}; + + /** * Run-time virtual machine state for executing TGSI shader. */ @@ -249,7 +260,7 @@ struct tgsi_exec_machine int FuncStackTop; /** Function call stack for saving/restoring the program counter */ - uint CallStack[TGSI_EXEC_MAX_CALL_NESTING]; + struct tgsi_call_record CallStack[TGSI_EXEC_MAX_CALL_NESTING]; int CallStackTop; struct tgsi_full_instruction *Instructions; -- cgit v1.2.3 From 8fd4e4dfc32e4fd44dc41948d0c35ece078d44b3 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Thu, 10 Sep 2009 11:44:53 -0700 Subject: Fix merge fail One of the conflicst from this merge was missed: commit 0c309bb494b6ee1c403442d1207743f749f95b6e Merge: c6c44bf d27d659 Author: Brian Paul Date: Wed Sep 9 08:33:39 2009 -0600 --- src/mesa/drivers/dri/intel/intel_pixel_read.c | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_read.c b/src/mesa/drivers/dri/intel/intel_pixel_read.c index 30b06f281e..8713463ace 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_read.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_read.c @@ -261,7 +261,6 @@ do_blit_readpixels(GLcontext * ctx, if (!intel_intersect_cliprects(&rect, &src_rect, &box[i])) continue; -<<<<<<< HEAD:src/mesa/drivers/dri/intel/intel_pixel_read.c if (!intelEmitCopyBlit(intel, src->cpp, src->pitch, src->buffer, 0, src->tiling, @@ -275,18 +274,6 @@ do_blit_readpixels(GLcontext * ctx, UNLOCK_HARDWARE(intel); return GL_FALSE; } -======= - intelEmitCopyBlit(intel, - src->cpp, - src->pitch, src->buffer, 0, src->tiling, - rowLength, dst_buffer, dst_offset, GL_FALSE, - rect.x1, - rect.y1, - rect.x1 - src_rect.x1, - rect.y2 - src_rect.y2, - rect.x2 - rect.x1, rect.y2 - rect.y1, - GL_COPY); ->>>>>>> mesa_7_5_branch:src/mesa/drivers/dri/intel/intel_pixel_read.c } } UNLOCK_HARDWARE(intel); -- cgit v1.2.3 From 18882f4d30afcc849dca33ff93dbcd5ca45664b8 Mon Sep 17 00:00:00 2001 From: Marcin Koƛcielnicki Date: Thu, 10 Sep 2009 18:26:42 +0000 Subject: nv50: Fix tiling mode for lower mipmap levels. --- src/gallium/drivers/nv50/nv50_miptree.c | 1 + src/gallium/drivers/nv50/nv50_state_validate.c | 6 ++++-- src/gallium/drivers/nv50/nv50_surface.c | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/gallium/drivers/nv50/nv50_miptree.c b/src/gallium/drivers/nv50/nv50_miptree.c index 03b9243b82..93479a0314 100644 --- a/src/gallium/drivers/nv50/nv50_miptree.c +++ b/src/gallium/drivers/nv50/nv50_miptree.c @@ -148,6 +148,7 @@ nv50_miptree_blanket(struct pipe_screen *pscreen, const struct pipe_texture *pt, mt->image_nr = 1; mt->level[0].pitch = *stride; mt->level[0].image_offset = CALLOC(1, sizeof(unsigned)); + mt->level[0].tile_mode = bo->tile_mode; nouveau_bo_ref(bo, &mt->base.bo); return &mt->base.base; diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c b/src/gallium/drivers/nv50/nv50_state_validate.c index 344c2cf6dd..d294356f75 100644 --- a/src/gallium/drivers/nv50/nv50_state_validate.c +++ b/src/gallium/drivers/nv50/nv50_state_validate.c @@ -66,7 +66,8 @@ nv50_state_validate_fb(struct nv50_context *nv50) so_data(so, NV50TCL_RT_FORMAT_X8R8G8B8_UNORM); break; } - so_data(so, bo->tile_mode << 4); + so_data(so, nv50_miptree(pt)-> + level[fb->cbufs[i]->level].tile_mode << 4); so_data(so, 0x00000000); so_method(so, tesla, 0x1224, 1); @@ -110,7 +111,8 @@ nv50_state_validate_fb(struct nv50_context *nv50) so_data(so, NV50TCL_ZETA_FORMAT_S8Z24_UNORM); break; } - so_data(so, bo->tile_mode << 4); + so_data(so, nv50_miptree(pt)-> + level[fb->zsbuf->level].tile_mode << 4); so_data(so, 0x00000000); so_method(so, tesla, 0x1538, 1); diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c index b266324f58..6bf6f773b0 100644 --- a/src/gallium/drivers/nv50/nv50_surface.c +++ b/src/gallium/drivers/nv50/nv50_surface.c @@ -60,13 +60,13 @@ nv50_surface_set(struct nv50_screen *screen, struct pipe_surface *ps, int dst) format = nv50_format(ps->format); if (format < 0) return 1; - + if (!bo->tile_flags) { BEGIN_RING(chan, eng2d, mthd, 2); OUT_RING (chan, format); OUT_RING (chan, 1); BEGIN_RING(chan, eng2d, mthd + 0x14, 5); - OUT_RING (chan, mt->level[0].pitch); + OUT_RING (chan, mt->level[ps->level].pitch); OUT_RING (chan, ps->width); OUT_RING (chan, ps->height); OUT_RELOCh(chan, bo, ps->offset, flags); @@ -75,7 +75,7 @@ nv50_surface_set(struct nv50_screen *screen, struct pipe_surface *ps, int dst) BEGIN_RING(chan, eng2d, mthd, 5); OUT_RING (chan, format); OUT_RING (chan, 0); - OUT_RING (chan, bo->tile_mode << 4); + OUT_RING (chan, mt->level[ps->level].tile_mode << 4); OUT_RING (chan, 1); OUT_RING (chan, 0); BEGIN_RING(chan, eng2d, mthd + 0x18, 4); -- cgit v1.2.3 From 988db641195819c948249a1bb2d59f13577a482f Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 10 Sep 2009 14:11:36 -0600 Subject: softpipe: set dirty_render_cache in softpipe_clear() This fixes a bug seen when doing a glDrawPixels(GL_STENCIL_INDEX) right after a glClear(). The check-for-flush test was failing because we didn't set the dirty_render_cache flag in softpipe_clear(). So we saw stale data when we mapped the stencil buffer. --- src/gallium/drivers/softpipe/sp_clear.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/softpipe/sp_clear.c b/src/gallium/drivers/softpipe/sp_clear.c index fa59277438..bc8f919695 100644 --- a/src/gallium/drivers/softpipe/sp_clear.c +++ b/src/gallium/drivers/softpipe/sp_clear.c @@ -86,4 +86,6 @@ softpipe_clear(struct pipe_context *pipe, unsigned buffers, const float *rgba, pipe->surface_fill(pipe, ps, 0, 0, ps->width, ps->height, cv); #endif } + + softpipe->dirty_render_cache = TRUE; } -- cgit v1.2.3 From 3f4d776199562f94edb99045e0dad3e26dfddac0 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 10 Sep 2009 14:14:18 -0600 Subject: softpipe: minor indentation fix --- src/gallium/drivers/softpipe/sp_clear.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/drivers/softpipe/sp_clear.c b/src/gallium/drivers/softpipe/sp_clear.c index bc8f919695..d3af18e162 100644 --- a/src/gallium/drivers/softpipe/sp_clear.c +++ b/src/gallium/drivers/softpipe/sp_clear.c @@ -85,7 +85,7 @@ softpipe_clear(struct pipe_context *pipe, unsigned buffers, const float *rgba, /* non-cached surface */ pipe->surface_fill(pipe, ps, 0, 0, ps->width, ps->height, cv); #endif - } + } softpipe->dirty_render_cache = TRUE; } -- cgit v1.2.3 From 3167c2e8a0a248c290ae8bfff23c88db8f39cd11 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Sep 2009 05:34:56 -0400 Subject: st/xorg: start adding support for surface fills --- src/gallium/state_trackers/xorg/xorg_composite.c | 41 ++++++++++++++++-------- src/gallium/state_trackers/xorg/xorg_composite.h | 7 ++++ src/gallium/state_trackers/xorg/xorg_exa.c | 38 ++++++++++++++++------ src/gallium/state_trackers/xorg/xorg_exa.h | 2 +- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 4 +-- 5 files changed, 66 insertions(+), 26 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index c708ac3170..1f8fbd1610 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -41,8 +41,8 @@ static const struct xorg_composite_blend xorg_blends[] = { }; static INLINE void -pixel_to_float4(PictFormatPtr format, - CARD32 pixel, float *color) +render_pixel_to_float4(PictFormatPtr format, + CARD32 pixel, float *color) { CARD32 r, g, b, a; @@ -291,16 +291,15 @@ boolean xorg_composite_accelerated(int op, } static void -bind_framebuffer_state(struct exa_context *exa, PicturePtr pDstPicture, - struct exa_pixmap_priv *pDst) +bind_framebuffer_state(struct exa_context *exa, struct exa_pixmap_priv *pDst) { unsigned i; struct pipe_framebuffer_state state; struct pipe_surface *surface = exa_gpu_surface(exa, pDst); memset(&state, 0, sizeof(struct pipe_framebuffer_state)); - state.width = pDstPicture->pDrawable->width; - state.height = pDstPicture->pDrawable->height; + state.width = pDst->tex->width[0]; + state.height = pDst->tex->height[0]; state.nr_cbufs = 1; state.cbufs[0] = surface; @@ -338,10 +337,10 @@ set_viewport(struct exa_context *exa, int width, int height, } static void -bind_viewport_state(struct exa_context *exa, PicturePtr pDstPicture) +bind_viewport_state(struct exa_context *exa, struct exa_pixmap_priv *pDst) { - int width = pDstPicture->pDrawable->width; - int height = pDstPicture->pDrawable->height; + int width = pDst->tex->width[0]; + int height = pDst->tex->height[0]; set_viewport(exa, width, height, Y0_TOP); } @@ -395,9 +394,9 @@ bind_shaders(struct exa_context *exa, int op, if (pSrcPicture->pSourcePict->type == SourcePictTypeSolidFill) { fs_traits |= FS_SOLID_FILL; vs_traits |= VS_SOLID_FILL; - pixel_to_float4(pSrcPicture->pFormat, - pSrcPicture->pSourcePict->solidFill.color, - exa->solid_color); + render_pixel_to_float4(pSrcPicture->pFormat, + pSrcPicture->pSourcePict->solidFill.color, + exa->solid_color); } else { debug_assert("!gradients not supported"); } @@ -530,8 +529,8 @@ boolean xorg_composite_bind_state(struct exa_context *exa, struct exa_pixmap_priv *pMask, struct exa_pixmap_priv *pDst) { - bind_framebuffer_state(exa, pDstPicture, pDst); - bind_viewport_state(exa, pDstPicture); + bind_framebuffer_state(exa, pDst); + bind_viewport_state(exa, pDst); bind_blend_state(exa, op, pSrcPicture, pMaskPicture); bind_rasterizer_state(exa); bind_shaders(exa, op, pSrcPicture, pMaskPicture); @@ -582,3 +581,17 @@ void xorg_composite(struct exa_context *exa, } } +boolean xorg_solid_bind_state(struct exa_context *exa, + struct exa_pixmap_priv *pixmap, + Pixel fg) +{ + + return TRUE; +} + +void xorg_solid(struct exa_context *exa, + struct exa_pixmap_priv *pixmap, + int x0, int y0, int x1, int y1) +{ +} + diff --git a/src/gallium/state_trackers/xorg/xorg_composite.h b/src/gallium/state_trackers/xorg/xorg_composite.h index 17dfcb199e..236addf1ce 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.h +++ b/src/gallium/state_trackers/xorg/xorg_composite.h @@ -22,4 +22,11 @@ void xorg_composite(struct exa_context *exa, int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, int width, int height); +boolean xorg_solid_bind_state(struct exa_context *exa, + struct exa_pixmap_priv *pixmap, + Pixel fg); +void xorg_solid(struct exa_context *exa, + struct exa_pixmap_priv *pixmap, + int x0, int y0, int x1, int y1); + #endif diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index 1a183de6db..cf4478a03d 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -82,6 +82,22 @@ exa_get_pipe_format(int depth, enum pipe_format *format, int *bbp) } } + +static INLINE void +pixel_to_float4(Pixel pixel, float *color) +{ + CARD32 r, g, b, a; + + a = (pixel >> 24) & 0xff; + r = (pixel >> 16) & 0xff; + g = (pixel >> 8) & 0xff; + b = (pixel >> 0) & 0xff; + color[0] = ((float)r) / 255.; + color[1] = ((float)g) / 255.; + color[2] = ((float)b) / 255.; + color[3] = ((float)a) / 255.; +} + /* * Static exported EXA functions */ @@ -250,6 +266,7 @@ ExaPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planeMask, Pixel fg) struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pPixmap); struct exa_context *exa = ms->exa; + debug_printf("ExaPrepareSolid\n"); if (pPixmap->drawable.depth < 15) return FALSE; @@ -262,12 +279,10 @@ ExaPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planeMask, Pixel fg) if (alu != GXcopy) return FALSE; - if (!exa->ctx || !exa->ctx->surface_fill) + if (!exa->ctx) return FALSE; - priv->color = fg; - - return TRUE; + return xorg_solid_bind_state(exa, priv, fg); } static void @@ -277,12 +292,9 @@ ExaSolid(PixmapPtr pPixmap, int x0, int y0, int x1, int y1) modesettingPtr ms = modesettingPTR(pScrn); struct exa_context *exa = ms->exa; struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pPixmap); - struct pipe_surface *surf = exa_gpu_surface(exa, priv); - exa->ctx->surface_fill(exa->ctx, surf, x0, y0, x1 - x0, y1 - y0, - priv->color); - - exa->scrn->tex_surface_destroy(surf); + debug_printf("\tExaSolid\n"); + xorg_solid(exa, priv, x0, y0, x1, y1) ; } static Bool @@ -295,6 +307,8 @@ ExaPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pDstPixmap); struct exa_pixmap_priv *src_priv = exaGetPixmapDriverPrivate(pSrcPixmap); + debug_printf("ExaPrepareCopy\n"); + if (alu != GXcopy) return FALSE; @@ -328,6 +342,8 @@ ExaCopy(PixmapPtr pDstPixmap, int srcX, int srcY, int dstX, int dstY, struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pDstPixmap); struct pipe_surface *surf = exa_gpu_surface(exa, priv); + debug_printf("\tExaCopy\n"); + exa->ctx->surface_copy(exa->ctx, surf, dstX, dstY, priv->src_surf, srcX, srcY, width, height); exa->scrn->tex_surface_destroy(surf); @@ -342,6 +358,8 @@ ExaPrepareComposite(int op, PicturePtr pSrcPicture, modesettingPtr ms = modesettingPTR(pScrn); struct exa_context *exa = ms->exa; + debug_printf("ExaPrepareComposite\n"); + return xorg_composite_bind_state(exa, op, pSrcPicture, pMaskPicture, pDstPicture, exaGetPixmapDriverPrivate(pSrc), @@ -358,6 +376,8 @@ ExaComposite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY, struct exa_context *exa = ms->exa; struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pDst); + debug_printf("\tExaComposite\n"); + xorg_composite(exa, priv, srcX, srcY, maskX, maskY, dstX, dstY, width, height); } diff --git a/src/gallium/state_trackers/xorg/xorg_exa.h b/src/gallium/state_trackers/xorg/xorg_exa.h index 5b515be139..a62c57bf4a 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.h +++ b/src/gallium/state_trackers/xorg/xorg_exa.h @@ -36,7 +36,7 @@ struct exa_pixmap_priv struct pipe_texture *tex; struct pipe_texture *depth_stencil_tex; - unsigned int color; + float solid_color[4]; struct pipe_surface *src_surf; /* for copies */ struct pipe_transfer *map_transfer; diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index cfee10c3b3..14d5605f39 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -318,8 +318,8 @@ create_fs(struct pipe_context *pipe, TGSI_SEMANTIC_POSITION, 0, TGSI_INTERPOLATE_PERSPECTIVE); - } - if (is_fill) { + } else { + debug_assert(is_fill); if (is_solid) src_input = ureg_DECL_fs_input(ureg, TGSI_SEMANTIC_COLOR, -- cgit v1.2.3 From 6be1a98ab9d64584c3852b97e2f1d63697f7bf76 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Sep 2009 11:33:33 -0400 Subject: st/xorg: implement exasolids with full pipelining plus fix some small issues with the shaders --- src/gallium/state_trackers/xorg/xorg_composite.c | 120 +++++++++++++++++++++-- src/gallium/state_trackers/xorg/xorg_exa.c | 41 ++++---- src/gallium/state_trackers/xorg/xorg_exa.h | 2 +- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 4 +- 4 files changed, 135 insertions(+), 32 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index 1f8fbd1610..778a8a183e 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -40,6 +40,22 @@ static const struct xorg_composite_blend xorg_blends[] = { PIPE_BLENDFACTOR_INV_SRC_ALPHA, PIPE_BLENDFACTOR_INV_SRC_ALPHA }, }; + +static INLINE void +pixel_to_float4(Pixel pixel, float *color) +{ + CARD32 r, g, b, a; + + a = (pixel >> 24) & 0xff; + r = (pixel >> 16) & 0xff; + g = (pixel >> 8) & 0xff; + b = (pixel >> 0) & 0xff; + color[0] = ((float)r) / 255.; + color[1] = ((float)g) / 255.; + color[2] = ((float)b) / 255.; + color[3] = ((float)a) / 255.; +} + static INLINE void render_pixel_to_float4(PictFormatPtr format, CARD32 pixel, float *color) @@ -290,6 +306,15 @@ boolean xorg_composite_accelerated(int op, return FALSE; } +static void +bind_clip_state(struct exa_context *exa) +{ + struct pipe_depth_stencil_alpha_state dsa; + + memset(&dsa, 0, sizeof(struct pipe_depth_stencil_alpha_state)); + cso_set_depth_stencil_alpha(exa->cso, &dsa); +} + static void bind_framebuffer_state(struct exa_context *exa, struct exa_pixmap_priv *pDst) { @@ -342,6 +367,8 @@ bind_viewport_state(struct exa_context *exa, struct exa_pixmap_priv *pDst) int width = pDst->tex->width[0]; int height = pDst->tex->height[0]; + debug_printf("Bind viewport (%d, %d)\n", width, height); + set_viewport(exa, width, height, Y0_TOP); } @@ -349,7 +376,8 @@ static void bind_blend_state(struct exa_context *exa, int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture) { - boolean component_alpha = pSrcPicture->componentAlpha; + boolean component_alpha = (pSrcPicture) ? + pSrcPicture->componentAlpha : FALSE; struct xorg_composite_blend blend_opt; struct pipe_blend_state blend; @@ -389,6 +417,8 @@ bind_shaders(struct exa_context *exa, int op, unsigned vs_traits = 0, fs_traits = 0; struct xorg_shader shader; + exa->has_solid_color = FALSE; + if (pSrcPicture) { if (pSrcPicture->pSourcePict) { if (pSrcPicture->pSourcePict->type == SourcePictTypeSolidFill) { @@ -397,6 +427,7 @@ bind_shaders(struct exa_context *exa, int op, render_pixel_to_float4(pSrcPicture->pFormat, pSrcPicture->pSourcePict->solidFill.color, exa->solid_color); + exa->has_solid_color = TRUE; } else { debug_assert("!gradients not supported"); } @@ -511,10 +542,10 @@ setup_fs_constant_buffer(struct exa_context *exa) } static void -setup_constant_buffers(struct exa_context *exa, PicturePtr pDstPicture) +setup_constant_buffers(struct exa_context *exa, struct exa_pixmap_priv *pDst) { - int width = pDstPicture->pDrawable->width; - int height = pDstPicture->pDrawable->height; + int width = pDst->tex->width[0]; + int height = pDst->tex->height[0]; setup_vs_constant_buffer(exa, width, height); setup_fs_constant_buffer(exa); @@ -536,8 +567,8 @@ boolean xorg_composite_bind_state(struct exa_context *exa, bind_shaders(exa, op, pSrcPicture, pMaskPicture); bind_samplers(exa, op, pSrcPicture, pMaskPicture, pDstPicture, pSrc, pMask, pDst); - - setup_constant_buffers(exa, pDstPicture); + bind_clip_state(exa); + setup_constant_buffers(exa, pDst); return FALSE; } @@ -572,10 +603,15 @@ void xorg_composite(struct exa_context *exa, } if (buf) { + int num_attribs = 1; /*pos*/ + num_attribs += exa->num_bound_samplers; + if (exa->has_solid_color) + ++num_attribs; + util_draw_vertex_buffer(pipe, buf, 0, PIPE_PRIM_TRIANGLE_FAN, 4, /* verts */ - 1 + exa->num_bound_samplers); /* attribs/vert */ + num_attribs); /* attribs/vert */ pipe_buffer_reference(&buf, NULL); } @@ -585,7 +621,41 @@ boolean xorg_solid_bind_state(struct exa_context *exa, struct exa_pixmap_priv *pixmap, Pixel fg) { - + unsigned vs_traits, fs_traits; + struct xorg_shader shader; + + pixel_to_float4(fg, exa->solid_color); + exa->has_solid_color = TRUE; + + exa->solid_color[3] = 1.f; + + debug_printf("Color Pixel=(%d, %d, %d, %d), RGBA=(%f, %f, %f, %f)\n", + (fg >> 24) & 0xff, (fg >> 16) & 0xff, + (fg >> 8) & 0xff, (fg >> 0) & 0xff, + exa->solid_color[0], exa->solid_color[1], + exa->solid_color[2], exa->solid_color[3]); + +#if 0 + exa->solid_color[0] = 1.f; + exa->solid_color[1] = 0.f; + exa->solid_color[2] = 0.f; + exa->solid_color[3] = 1.f; +#endif + + vs_traits = VS_SOLID_FILL; + fs_traits = FS_SOLID_FILL; + + bind_framebuffer_state(exa, pixmap); + bind_viewport_state(exa, pixmap); + bind_rasterizer_state(exa); + bind_blend_state(exa, PictOpSrc, NULL, NULL); + setup_constant_buffers(exa, pixmap); + bind_clip_state(exa); + + shader = xorg_shaders_get(exa->shaders, vs_traits, fs_traits); + cso_set_vertex_shader_handle(exa->cso, shader.vs); + cso_set_fragment_shader_handle(exa->cso, shader.fs); + return TRUE; } @@ -593,5 +663,39 @@ void xorg_solid(struct exa_context *exa, struct exa_pixmap_priv *pixmap, int x0, int y0, int x1, int y1) { + struct pipe_context *pipe = exa->ctx; + struct pipe_buffer *buf = 0; + float vertices[4][2][4]; + + x0 = 10; y0 = 10; + x1 = 300; y1 = 300; + + /* 1st vertex */ + setup_vertex0(vertices[0], x0, y0, + exa->solid_color); + /* 2nd vertex */ + setup_vertex0(vertices[1], x1, y0, + exa->solid_color); + /* 3rd vertex */ + setup_vertex0(vertices[2], x1, y1, + exa->solid_color); + /* 4th vertex */ + setup_vertex0(vertices[3], x0, y1, + exa->solid_color); + + buf = pipe_user_buffer_create(exa->ctx->screen, + vertices, + sizeof(vertices)); + + + if (buf) { + debug_printf("Drawing buf is %p\n", buf); + util_draw_vertex_buffer(pipe, buf, 0, + PIPE_PRIM_TRIANGLE_FAN, + 4, /* verts */ + 2); /* attribs/vert */ + + pipe_buffer_reference(&buf, NULL); + } } diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index cf4478a03d..1eed3d86f7 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -82,22 +82,6 @@ exa_get_pipe_format(int depth, enum pipe_format *format, int *bbp) } } - -static INLINE void -pixel_to_float4(Pixel pixel, float *color) -{ - CARD32 r, g, b, a; - - a = (pixel >> 24) & 0xff; - r = (pixel >> 16) & 0xff; - g = (pixel >> 8) & 0xff; - b = (pixel >> 0) & 0xff; - color[0] = ((float)r) / 255.; - color[1] = ((float)g) / 255.; - color[2] = ((float)b) / 255.; - color[3] = ((float)a) / 255.; -} - /* * Static exported EXA functions */ @@ -243,10 +227,15 @@ ExaDone(PixmapPtr pPixmap) modesettingPtr ms = modesettingPTR(pScrn); struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pPixmap); struct exa_context *exa = ms->exa; + struct pipe_fence_handle *fence = NULL; if (!priv) return; + exa->ctx->flush(exa->ctx, PIPE_FLUSH_RENDER_CACHE, &fence); + exa->ctx->screen->fence_finish(exa->ctx->screen, fence, 0); + exa->ctx->screen->fence_reference(exa->ctx->screen, &fence, NULL); + if (priv->src_surf) exa->scrn->tex_surface_destroy(priv->src_surf); priv->src_surf = NULL; @@ -266,7 +255,7 @@ ExaPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planeMask, Pixel fg) struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pPixmap); struct exa_context *exa = ms->exa; - debug_printf("ExaPrepareSolid\n"); + debug_printf("ExaPrepareSolid - test\n"); if (pPixmap->drawable.depth < 15) return FALSE; @@ -282,6 +271,7 @@ ExaPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planeMask, Pixel fg) if (!exa->ctx) return FALSE; + debug_printf(" ExaPrepareSolid(0x%x)\n", fg); return xorg_solid_bind_state(exa, priv, fg); } @@ -293,8 +283,17 @@ ExaSolid(PixmapPtr pPixmap, int x0, int y0, int x1, int y1) struct exa_context *exa = ms->exa; struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pPixmap); - debug_printf("\tExaSolid\n"); - xorg_solid(exa, priv, x0, y0, x1, y1) ; + debug_printf("\tExaSolid(%d, %d, %d, %d)\n", x0, y0, x1, y1); + +#if 0 + if (x0 == 0 && y0 == 0 && + x1 == priv->tex->width[0] && + y1 == priv->tex->height[0]) { + exa->ctx->clear(exa->ctx, PIPE_CLEAR_COLOR | PIPE_CLEAR_DEPTHSTENCIL, + exa->solid_color, 1., 0); + } else +#endif + xorg_solid(exa, priv, x0, y0, x1, y1) ; } static Bool @@ -358,7 +357,7 @@ ExaPrepareComposite(int op, PicturePtr pSrcPicture, modesettingPtr ms = modesettingPTR(pScrn); struct exa_context *exa = ms->exa; - debug_printf("ExaPrepareComposite\n"); + debug_printf("ExaPrepareComposite\n"); return xorg_composite_bind_state(exa, op, pSrcPicture, pMaskPicture, pDstPicture, @@ -376,7 +375,7 @@ ExaComposite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY, struct exa_context *exa = ms->exa; struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pDst); - debug_printf("\tExaComposite\n"); + debug_printf("\tExaComposite\n"); xorg_composite(exa, priv, srcX, srcY, maskX, maskY, dstX, dstY, width, height); diff --git a/src/gallium/state_trackers/xorg/xorg_exa.h b/src/gallium/state_trackers/xorg/xorg_exa.h index a62c57bf4a..64b6de7048 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.h +++ b/src/gallium/state_trackers/xorg/xorg_exa.h @@ -26,6 +26,7 @@ struct exa_context int num_bound_samplers; float solid_color[4]; + boolean has_solid_color; }; @@ -36,7 +37,6 @@ struct exa_pixmap_priv struct pipe_texture *tex; struct pipe_texture *depth_stencil_tex; - float solid_color[4]; struct pipe_surface *src_surf; /* for copies */ struct pipe_transfer *map_transfer; diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index 14d5605f39..2d2c2e884b 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -268,8 +268,8 @@ create_vs(struct pipe_context *pipe, } if (is_fill) { src = ureg_DECL_vs_input(ureg, - TGSI_SEMANTIC_COLOR, 1); - dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_COLOR, 1); + TGSI_SEMANTIC_COLOR, 0); + dst = ureg_DECL_output(ureg, TGSI_SEMANTIC_COLOR, 0); ureg_MOV(ureg, dst, src); } -- cgit v1.2.3 From 16886c8be34fd17ed34c83ed2e83af2c825c989d Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Sep 2009 11:35:34 -0400 Subject: st/xorg: disable solid fills until copies are accelerated as well --- src/gallium/state_trackers/xorg/xorg_composite.c | 2 +- src/gallium/state_trackers/xorg/xorg_exa.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index 778a8a183e..dff51f220d 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -656,7 +656,7 @@ boolean xorg_solid_bind_state(struct exa_context *exa, cso_set_vertex_shader_handle(exa->cso, shader.vs); cso_set_fragment_shader_handle(exa->cso, shader.fs); - return TRUE; + return FALSE; } void xorg_solid(struct exa_context *exa, diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index 1eed3d86f7..458ddb66bb 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -233,8 +233,10 @@ ExaDone(PixmapPtr pPixmap) return; exa->ctx->flush(exa->ctx, PIPE_FLUSH_RENDER_CACHE, &fence); +#if 0 exa->ctx->screen->fence_finish(exa->ctx->screen, fence, 0); exa->ctx->screen->fence_reference(exa->ctx->screen, &fence, NULL); +#endif if (priv->src_surf) exa->scrn->tex_surface_destroy(priv->src_surf); -- cgit v1.2.3 From 974dec2e7b86474af75708dd2cc8236416f25662 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Sep 2009 15:43:09 -0400 Subject: st/xorg: abstract flushing and syncing for the exa code --- src/gallium/state_trackers/xorg/xorg_exa.c | 25 ++++++++++++++++++++----- src/gallium/state_trackers/xorg/xorg_exa.h | 3 +++ 2 files changed, 23 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index 458ddb66bb..8d95551363 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -227,15 +227,14 @@ ExaDone(PixmapPtr pPixmap) modesettingPtr ms = modesettingPTR(pScrn); struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pPixmap); struct exa_context *exa = ms->exa; - struct pipe_fence_handle *fence = NULL; if (!priv) return; - exa->ctx->flush(exa->ctx, PIPE_FLUSH_RENDER_CACHE, &fence); -#if 0 - exa->ctx->screen->fence_finish(exa->ctx->screen, fence, 0); - exa->ctx->screen->fence_reference(exa->ctx->screen, &fence, NULL); +#if 1 + xorg_exa_flush(exa, PIPE_FLUSH_RENDER_CACHE, NULL); +#else + xorg_finish(exa); #endif if (priv->src_surf) @@ -728,3 +727,19 @@ exa_gpu_surface(struct exa_context *exa, struct exa_pixmap_priv *priv) } +void xorg_exa_flush(struct exa_context *exa, uint pipeFlushFlags, + struct pipe_fence_handle **fence) +{ + exa->ctx->flush(exa->ctx, pipeFlushFlags, fence); +} + +void xorg_exa_finish(struct exa_context *exa) +{ + struct pipe_fence_handle *fence = NULL; + + xorg_exa_flush(exa, PIPE_FLUSH_RENDER_CACHE, &fence); + + exa->ctx->screen->fence_finish(exa->ctx->screen, fence, 0); + exa->ctx->screen->fence_reference(exa->ctx->screen, &fence, NULL); +} + diff --git a/src/gallium/state_trackers/xorg/xorg_exa.h b/src/gallium/state_trackers/xorg/xorg_exa.h index 64b6de7048..8157c71172 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.h +++ b/src/gallium/state_trackers/xorg/xorg_exa.h @@ -46,5 +46,8 @@ struct exa_pixmap_priv struct pipe_surface * exa_gpu_surface(struct exa_context *exa, struct exa_pixmap_priv *priv); +void xorg_exa_flush(struct exa_context *exa, uint pipeFlushFlags, + struct pipe_fence_handle **fence); +void xorg_exa_finish(struct exa_context *exa); #endif -- cgit v1.2.3 From 57d0934bc562c7a0de0c79fb0263ab3569eed002 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Sep 2009 16:08:00 -0400 Subject: st/xorg: unite finalization and stub out pipelined copies --- src/gallium/state_trackers/xorg/xorg_composite.c | 8 ++++ src/gallium/state_trackers/xorg/xorg_composite.h | 5 +++ src/gallium/state_trackers/xorg/xorg_exa.c | 51 +++++++++++++++--------- src/gallium/state_trackers/xorg/xorg_exa.h | 6 ++- 4 files changed, 50 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index dff51f220d..b2da064b59 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -699,3 +699,11 @@ void xorg_solid(struct exa_context *exa, } } +void xorg_copy_pixmap(struct exa_context *ctx, + struct exa_pixmap_priv *dst, int dx, int dy, + struct exa_pixmap_priv *src, int sx, int sy, + int width, int height) +{ + +} + diff --git a/src/gallium/state_trackers/xorg/xorg_composite.h b/src/gallium/state_trackers/xorg/xorg_composite.h index 236addf1ce..e73f1c704a 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.h +++ b/src/gallium/state_trackers/xorg/xorg_composite.h @@ -29,4 +29,9 @@ void xorg_solid(struct exa_context *exa, struct exa_pixmap_priv *pixmap, int x0, int y0, int x1, int y1); +void xorg_copy_pixmap(struct exa_context *ctx, + struct exa_pixmap_priv *dst, int dx, int dy, + struct exa_pixmap_priv *src, int sx, int sy, + int width, int height); + #endif diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index 8d95551363..d3e7607cc3 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -82,6 +82,15 @@ exa_get_pipe_format(int depth, enum pipe_format *format, int *bbp) } } +static void +xorg_exa_common_done(struct exa_context *exa) +{ + exa->copy.src = NULL; + exa->copy.dst = NULL; + exa->has_solid_color = FALSE; + exa->num_bound_samplers = 0; +} + /* * Static exported EXA functions */ @@ -236,16 +245,17 @@ ExaDone(PixmapPtr pPixmap) #else xorg_finish(exa); #endif - - if (priv->src_surf) - exa->scrn->tex_surface_destroy(priv->src_surf); - priv->src_surf = NULL; + xorg_exa_common_done(exa); } static void ExaDoneComposite(PixmapPtr pPixmap) { + ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + modesettingPtr ms = modesettingPTR(pScrn); + struct exa_context *exa = ms->exa; + xorg_exa_common_done(exa); } static Bool @@ -324,10 +334,11 @@ ExaPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, if (!priv->tex || !src_priv->tex) return FALSE; - if (!exa->ctx || !exa->ctx->surface_copy) + if (!exa->ctx) return FALSE; - priv->src_surf = exa_gpu_surface(exa, src_priv); + exa->copy.src = src_priv; + exa->copy.dst = priv; return TRUE; } @@ -336,17 +347,19 @@ static void ExaCopy(PixmapPtr pDstPixmap, int srcX, int srcY, int dstX, int dstY, int width, int height) { - ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; - modesettingPtr ms = modesettingPTR(pScrn); - struct exa_context *exa = ms->exa; - struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pDstPixmap); - struct pipe_surface *surf = exa_gpu_surface(exa, priv); + ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; + modesettingPtr ms = modesettingPTR(pScrn); + struct exa_context *exa = ms->exa; + struct exa_pixmap_priv *priv = exaGetPixmapDriverPrivate(pDstPixmap); + + debug_printf("\tExaCopy(srcx=%d, srcy=%d, dstX=%d, dstY=%d, w=%d, h=%d)\n", + srcX, srcY, dstX, dstY, width, height); - debug_printf("\tExaCopy\n"); + debug_assert(priv == exa->copy.dst); - exa->ctx->surface_copy(exa->ctx, surf, dstX, dstY, priv->src_surf, - srcX, srcY, width, height); - exa->scrn->tex_surface_destroy(surf); + xorg_copy_pixmap(exa, exa->copy.dst, dstX, dstY, + exa->copy.src, srcX, srcY, + width, height); } static Bool @@ -557,16 +570,16 @@ ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, if (priv->tex) { struct pipe_surface *dst_surf; + struct pipe_surface *src_surf; dst_surf = exa->scrn->get_tex_surface(exa->scrn, texture, 0, 0, 0, PIPE_BUFFER_USAGE_GPU_WRITE); - priv->src_surf = exa_gpu_surface(exa, priv); - exa->ctx->surface_copy(exa->ctx, dst_surf, 0, 0, priv->src_surf, + src_surf = exa_gpu_surface(exa, priv); + exa->ctx->surface_copy(exa->ctx, dst_surf, 0, 0, src_surf, 0, 0, min(width, texture->width[0]), min(height, texture->height[0])); exa->scrn->tex_surface_destroy(dst_surf); - exa->scrn->tex_surface_destroy(priv->src_surf); - priv->src_surf = NULL; + exa->scrn->tex_surface_destroy(src_surf); } else if (pPixmap->devPrivate.ptr) { struct pipe_transfer *transfer; diff --git a/src/gallium/state_trackers/xorg/xorg_exa.h b/src/gallium/state_trackers/xorg/xorg_exa.h index 8157c71172..7229e87101 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.h +++ b/src/gallium/state_trackers/xorg/xorg_exa.h @@ -27,6 +27,11 @@ struct exa_context float solid_color[4]; boolean has_solid_color; + + struct { + struct exa_pixmap_priv *src; + struct exa_pixmap_priv *dst; + } copy; }; @@ -37,7 +42,6 @@ struct exa_pixmap_priv struct pipe_texture *tex; struct pipe_texture *depth_stencil_tex; - struct pipe_surface *src_surf; /* for copies */ struct pipe_transfer *map_transfer; unsigned map_count; -- cgit v1.2.3 From feb74e7753f56c0fa3ec943a45bbf48f2183e04c Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Sep 2009 17:14:21 -0400 Subject: st/xorg: implement pipelines surface/texture copies --- src/gallium/state_trackers/xorg/xorg_composite.c | 324 ++++++++++++++++++++++- src/gallium/state_trackers/xorg/xorg_exa.c | 12 + 2 files changed, 329 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index b2da064b59..66e5e7284a 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -4,6 +4,7 @@ #include "cso_cache/cso_context.h" #include "util/u_draw_quad.h" +#include "util/u_math.h" #include "pipe/p_inlines.h" @@ -215,6 +216,33 @@ setup_vertex_data1(struct exa_context *ctx, sizeof(vertices)); } +static struct pipe_buffer * +setup_vertex_data_tex(struct exa_context *ctx, + float x0, float y0, float x1, float y1, + float s0, float t0, float s1, float t1, + float z) +{ + float vertices[4][2][4]; + + /* 1st vertex */ + setup_vertex1(vertices[0], x0, y0, + s0, t0); + /* 2nd vertex */ + setup_vertex1(vertices[1], x1, y0, + s1, t0); + /* 3rd vertex */ + setup_vertex1(vertices[2], x1, y1, + s1, t1); + /* 4th vertex */ + setup_vertex1(vertices[3], x0, y1, + s0, t1); + + return pipe_user_buffer_create(ctx->ctx->screen, + vertices, + sizeof(vertices)); +} + + static INLINE void setup_vertex2(float vertex[3][4], float x, float y, @@ -309,10 +337,6 @@ boolean xorg_composite_accelerated(int op, static void bind_clip_state(struct exa_context *exa) { - struct pipe_depth_stencil_alpha_state dsa; - - memset(&dsa, 0, sizeof(struct pipe_depth_stencil_alpha_state)); - cso_set_depth_stencil_alpha(exa->cso, &dsa); } static void @@ -699,11 +723,297 @@ void xorg_solid(struct exa_context *exa, } } + +static INLINE void shift_rectx(float coords[4], + const float *bounds, + const float shift) +{ + coords[0] += shift; + coords[2] -= shift; + if (bounds) { + coords[2] = MIN2(coords[2], bounds[2]); + /* bound x/y + width/height */ + if ((coords[0] + coords[2]) > (bounds[0] + bounds[2])) { + coords[2] = (bounds[0] + bounds[2]) - coords[0]; + } + } +} + +static INLINE void shift_recty(float coords[4], + const float *bounds, + const float shift) +{ + coords[1] += shift; + coords[3] -= shift; + if (bounds) { + coords[3] = MIN2(coords[3], bounds[3]); + if ((coords[1] + coords[3]) > (bounds[1] + bounds[3])) { + coords[3] = (bounds[1] + bounds[3]) - coords[1]; + } + } +} + +static INLINE void bound_rect(float coords[4], + const float bounds[4], + float shift[4]) +{ + /* if outside the bounds */ + if (coords[0] > (bounds[0] + bounds[2]) || + coords[1] > (bounds[1] + bounds[3]) || + (coords[0] + coords[2]) < bounds[0] || + (coords[1] + coords[3]) < bounds[1]) { + coords[0] = 0.f; + coords[1] = 0.f; + coords[2] = 0.f; + coords[3] = 0.f; + shift[0] = 0.f; + shift[1] = 0.f; + return; + } + + /* bound x */ + if (coords[0] < bounds[0]) { + shift[0] = bounds[0] - coords[0]; + coords[2] -= shift[0]; + coords[0] = bounds[0]; + } else + shift[0] = 0.f; + + /* bound y */ + if (coords[1] < bounds[1]) { + shift[1] = bounds[1] - coords[1]; + coords[3] -= shift[1]; + coords[1] = bounds[1]; + } else + shift[1] = 0.f; + + shift[2] = bounds[2] - coords[2]; + shift[3] = bounds[3] - coords[3]; + /* bound width/height */ + coords[2] = MIN2(coords[2], bounds[2]); + coords[3] = MIN2(coords[3], bounds[3]); + + /* bound x/y + width/height */ + if ((coords[0] + coords[2]) > (bounds[0] + bounds[2])) { + coords[2] = (bounds[0] + bounds[2]) - coords[0]; + } + if ((coords[1] + coords[3]) > (bounds[1] + bounds[3])) { + coords[3] = (bounds[1] + bounds[3]) - coords[1]; + } + + /* if outside the bounds */ + if ((coords[0] + coords[2]) < bounds[0] || + (coords[1] + coords[3]) < bounds[1]) { + coords[0] = 0.f; + coords[1] = 0.f; + coords[2] = 0.f; + coords[3] = 0.f; + return; + } +} + +static INLINE void sync_size(float *src_loc, float *dst_loc) +{ + src_loc[2] = MIN2(src_loc[2], dst_loc[2]); + src_loc[3] = MIN2(src_loc[3], dst_loc[3]); + dst_loc[2] = src_loc[2]; + dst_loc[3] = src_loc[3]; +} + + +static void renderer_copy_texture(struct exa_context *exa, + struct pipe_texture *src, + float sx1, float sy1, + float sx2, float sy2, + struct pipe_texture *dst, + float dx1, float dy1, + float dx2, float dy2) +{ + struct pipe_context *pipe = exa->ctx; + struct pipe_screen *screen = pipe->screen; + struct pipe_buffer *buf; + struct pipe_surface *dst_surf = screen->get_tex_surface( + screen, dst, 0, 0, 0, + PIPE_BUFFER_USAGE_GPU_WRITE); + struct pipe_framebuffer_state fb; + float s0, t0, s1, t1; + struct xorg_shader shader; + + assert(src->width[0] != 0); + assert(src->height[0] != 0); + assert(dst->width[0] != 0); + assert(dst->height[0] != 0); + +#if 0 + debug_printf("copy texture [%f, %f, %f, %f], [%f, %f, %f, %f]\n", + sx1, sy1, sx2, sy2, dx1, dy1, dx2, dy2); +#endif + +#if 1 + s0 = sx1 / src->width[0]; + s1 = sx2 / src->width[0]; + t0 = sy1 / src->height[0]; + t1 = sy2 / src->height[0]; +#else + s0 = 0; + s1 = 1; + t0 = 0; + t1 = 1; +#endif + + assert(screen->is_format_supported(screen, dst_surf->format, PIPE_TEXTURE_2D, + PIPE_TEXTURE_USAGE_RENDER_TARGET, 0)); + + /* save state (restored below) */ + cso_save_blend(exa->cso); + cso_save_samplers(exa->cso); + cso_save_sampler_textures(exa->cso); + cso_save_framebuffer(exa->cso); + cso_save_fragment_shader(exa->cso); + cso_save_vertex_shader(exa->cso); + + cso_save_viewport(exa->cso); + + + /* set misc state we care about */ + { + struct pipe_blend_state blend; + memset(&blend, 0, sizeof(blend)); + blend.rgb_src_factor = PIPE_BLENDFACTOR_ONE; + blend.alpha_src_factor = PIPE_BLENDFACTOR_ONE; + blend.rgb_dst_factor = PIPE_BLENDFACTOR_ZERO; + blend.alpha_dst_factor = PIPE_BLENDFACTOR_ZERO; + blend.colormask = PIPE_MASK_RGBA; + cso_set_blend(exa->cso, &blend); + } + + /* sampler */ + { + struct pipe_sampler_state sampler; + memset(&sampler, 0, sizeof(sampler)); + sampler.wrap_s = PIPE_TEX_WRAP_CLAMP_TO_EDGE; + sampler.wrap_t = PIPE_TEX_WRAP_CLAMP_TO_EDGE; + sampler.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE; + sampler.min_mip_filter = PIPE_TEX_MIPFILTER_NONE; + sampler.min_img_filter = PIPE_TEX_FILTER_NEAREST; + sampler.mag_img_filter = PIPE_TEX_FILTER_NEAREST; + sampler.normalized_coords = 1; + cso_single_sampler(exa->cso, 0, &sampler); + cso_single_sampler_done(exa->cso); + } + + set_viewport(exa, dst_surf->width, dst_surf->height, Y0_TOP); + + /* texture */ + cso_set_sampler_textures(exa->cso, 1, &src); + + /* shaders */ + shader = xorg_shaders_get(exa->shaders, + VS_COMPOSITE, + FS_COMPOSITE); + cso_set_vertex_shader_handle(exa->cso, shader.vs); + cso_set_fragment_shader_handle(exa->cso, shader.fs); + + /* drawing dest */ + memset(&fb, 0, sizeof(fb)); + fb.width = dst_surf->width; + fb.height = dst_surf->height; + fb.nr_cbufs = 1; + fb.cbufs[0] = dst_surf; + { + int i; + for (i = 1; i < PIPE_MAX_COLOR_BUFS; ++i) + fb.cbufs[i] = 0; + } + cso_set_framebuffer(exa->cso, &fb); + + /* draw quad */ + buf = setup_vertex_data_tex(exa, + dx1, dy1, + dx2, dy2, + s0, t0, s1, t1, + 0.0f); + + if (buf) { + util_draw_vertex_buffer(exa->ctx, buf, 0, + PIPE_PRIM_TRIANGLE_FAN, + 4, /* verts */ + 2); /* attribs/vert */ + + pipe_buffer_reference(&buf, NULL); + } + + /* restore state we changed */ + cso_restore_blend(exa->cso); + cso_restore_samplers(exa->cso); + cso_restore_sampler_textures(exa->cso); + cso_restore_framebuffer(exa->cso); + cso_restore_vertex_shader(exa->cso); + cso_restore_fragment_shader(exa->cso); + cso_restore_viewport(exa->cso); + + pipe_surface_reference(&dst_surf, NULL); +} + void xorg_copy_pixmap(struct exa_context *ctx, - struct exa_pixmap_priv *dst, int dx, int dy, - struct exa_pixmap_priv *src, int sx, int sy, + struct exa_pixmap_priv *dst_priv, int dx, int dy, + struct exa_pixmap_priv *src_priv, int sx, int sy, int width, int height) { - + float dst_loc[4], src_loc[4]; + float dst_bounds[4], src_bounds[4]; + float src_shift[4], dst_shift[4], shift[4]; + struct pipe_texture *dst = dst_priv->tex; + struct pipe_texture *src = src_priv->tex; + + dst_loc[0] = dx; + dst_loc[1] = dy; + dst_loc[2] = width; + dst_loc[3] = height; + dst_bounds[0] = 0.f; + dst_bounds[1] = 0.f; + dst_bounds[2] = dst->width[0]; + dst_bounds[3] = dst->height[0]; + + src_loc[0] = sx; + src_loc[1] = sy; + src_loc[2] = width; + src_loc[3] = height; + src_bounds[0] = 0.f; + src_bounds[1] = 0.f; + src_bounds[2] = src->width[0]; + src_bounds[3] = src->height[0]; + + bound_rect(src_loc, src_bounds, src_shift); + bound_rect(dst_loc, dst_bounds, dst_shift); + shift[0] = src_shift[0] - dst_shift[0]; + shift[1] = src_shift[1] - dst_shift[1]; + + if (shift[0] < 0) + shift_rectx(src_loc, src_bounds, -shift[0]); + else + shift_rectx(dst_loc, dst_bounds, shift[0]); + + if (shift[1] < 0) + shift_recty(src_loc, src_bounds, -shift[1]); + else + shift_recty(dst_loc, dst_bounds, shift[1]); + + sync_size(src_loc, dst_loc); + + if (src_loc[2] >= 0 && src_loc[3] >= 0 && + dst_loc[2] >= 0 && dst_loc[3] >= 0) { + renderer_copy_texture(ctx, + src, + src_loc[0], + src_loc[1] + src_loc[3], + src_loc[0] + src_loc[2], + src_loc[1], + dst, + dst_loc[0], + dst_loc[1] + dst_loc[3], + dst_loc[0] + dst_loc[2], + dst_loc[1]); + } } diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index d3e7607cc3..e40f9f1f6b 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -82,6 +82,16 @@ exa_get_pipe_format(int depth, enum pipe_format *format, int *bbp) } } +static void +xorg_exa_init_state(struct exa_context *exa) +{ + struct pipe_depth_stencil_alpha_state dsa; + + /* set common initial clip state */ + memset(&dsa, 0, sizeof(struct pipe_depth_stencil_alpha_state)); + cso_set_depth_stencil_alpha(exa->cso, &dsa); +} + static void xorg_exa_common_done(struct exa_context *exa) { @@ -723,6 +733,8 @@ xorg_exa_init(ScrnInfoPtr pScrn) exa->cso = cso_create_context(exa->ctx); exa->shaders = xorg_shaders_create(exa); + xorg_exa_init_state(exa); + return (void *)exa; out_err: -- cgit v1.2.3 From 85a716bf627080c5b57653ddfca199e752f6906e Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Sep 2009 17:16:02 -0400 Subject: st/xorg: temporarily disablie copies --- src/gallium/state_trackers/xorg/xorg_exa.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index e40f9f1f6b..a302aa589e 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -350,7 +350,8 @@ ExaPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, exa->copy.src = src_priv; exa->copy.dst = priv; - return TRUE; + /*XXX disabled until some issues with syncing are fixed */ + return FALSE; } static void -- cgit v1.2.3 From 9e6ae75cc8d6bff139aa21bda0aa682755ab7a7c Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 10 Sep 2009 15:34:34 -0600 Subject: intel: disable intel_stencil_drawpixels() for now It doesn't work reliably even when all the prerequisite checks are made. --- src/mesa/drivers/dri/intel/intel_pixel_draw.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/mesa/drivers/dri/intel/intel_pixel_draw.c b/src/mesa/drivers/dri/intel/intel_pixel_draw.c index 8c113881d6..7fbb89fd6a 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_draw.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_draw.c @@ -42,6 +42,7 @@ #include "main/depth.h" #include "main/hash.h" #include "main/blend.h" +#include "swrast/swrast.h" #include "drivers/common/meta.h" #include "intel_context.h" @@ -260,9 +261,24 @@ intelDrawPixels(GLcontext * ctx, const struct gl_pixelstore_attrib *unpack, const GLvoid * pixels) { +#if 0 + /* XXX this function doesn't seem to work reliably even when all + * the pre-requisite conditions are met. + * Note that this function is never hit with conform. + * Fall back to swrast because even the _mesa_meta_draw_pixels() approach + * isn't working because of an apparent stencil bug. + */ if (intel_stencil_drawpixels(ctx, x, y, width, height, format, type, unpack, pixels)) return; +#else + (void) intel_stencil_drawpixels; /* silence warning */ + if (format == GL_STENCIL_INDEX) { + _swrast_DrawPixels(ctx, x, y, width, height, format, type, + unpack, pixels); + return; + } +#endif _mesa_meta_draw_pixels(ctx, x, y, width, height, format, type, unpack, pixels); -- cgit v1.2.3 From 8c37a4c8fd133f3cddc6798a0834038730acc213 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Sep 2009 17:38:13 -0400 Subject: st/xorg: rename ctx to pipe to match every other gallium state tracker plus it avoids the "ctx->ctx->" syntax --- src/gallium/state_trackers/xorg/xorg_composite.c | 30 ++++++++++----------- src/gallium/state_trackers/xorg/xorg_exa.c | 34 ++++++++++++------------ src/gallium/state_trackers/xorg/xorg_exa.h | 2 +- src/gallium/state_trackers/xorg/xorg_exa_tgsi.c | 4 +-- 4 files changed, 35 insertions(+), 35 deletions(-) (limited to 'src') diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c index 66e5e7284a..15c955450d 100644 --- a/src/gallium/state_trackers/xorg/xorg_composite.c +++ b/src/gallium/state_trackers/xorg/xorg_composite.c @@ -165,7 +165,7 @@ setup_vertex_data0(struct exa_context *ctx, setup_vertex0(vertices[3], dstX, dstY + height, ctx->solid_color); - return pipe_user_buffer_create(ctx->ctx->screen, + return pipe_user_buffer_create(ctx->pipe->screen, vertices, sizeof(vertices)); } @@ -211,7 +211,7 @@ setup_vertex_data1(struct exa_context *ctx, setup_vertex1(vertices[3], dstX, dstY + height, s0, t1); - return pipe_user_buffer_create(ctx->ctx->screen, + return pipe_user_buffer_create(ctx->pipe->screen, vertices, sizeof(vertices)); } @@ -237,7 +237,7 @@ setup_vertex_data_tex(struct exa_context *ctx, setup_vertex1(vertices[3], x0, y1, s0, t1); - return pipe_user_buffer_create(ctx->ctx->screen, + return pipe_user_buffer_create(ctx->pipe->screen, vertices, sizeof(vertices)); } @@ -297,7 +297,7 @@ setup_vertex_data2(struct exa_context *ctx, setup_vertex2(vertices[3], dstX, dstY + height, st0[0], st0[3], st1[0], st1[3]); - return pipe_user_buffer_create(ctx->ctx->screen, + return pipe_user_buffer_create(ctx->pipe->screen, vertices, sizeof(vertices)); } @@ -532,15 +532,15 @@ setup_vs_constant_buffer(struct exa_context *exa, struct pipe_constant_buffer *cbuf = &exa->vs_const_buffer; pipe_buffer_reference(&cbuf->buffer, NULL); - cbuf->buffer = pipe_buffer_create(exa->ctx->screen, 16, + cbuf->buffer = pipe_buffer_create(exa->pipe->screen, 16, PIPE_BUFFER_USAGE_CONSTANT, param_bytes); if (cbuf->buffer) { - pipe_buffer_write(exa->ctx->screen, cbuf->buffer, + pipe_buffer_write(exa->pipe->screen, cbuf->buffer, 0, param_bytes, vs_consts); } - exa->ctx->set_constant_buffer(exa->ctx, PIPE_SHADER_VERTEX, 0, cbuf); + exa->pipe->set_constant_buffer(exa->pipe, PIPE_SHADER_VERTEX, 0, cbuf); } @@ -554,15 +554,15 @@ setup_fs_constant_buffer(struct exa_context *exa) struct pipe_constant_buffer *cbuf = &exa->fs_const_buffer; pipe_buffer_reference(&cbuf->buffer, NULL); - cbuf->buffer = pipe_buffer_create(exa->ctx->screen, 16, + cbuf->buffer = pipe_buffer_create(exa->pipe->screen, 16, PIPE_BUFFER_USAGE_CONSTANT, param_bytes); if (cbuf->buffer) { - pipe_buffer_write(exa->ctx->screen, cbuf->buffer, + pipe_buffer_write(exa->pipe->screen, cbuf->buffer, 0, param_bytes, fs_consts); } - exa->ctx->set_constant_buffer(exa->ctx, PIPE_SHADER_FRAGMENT, 0, cbuf); + exa->pipe->set_constant_buffer(exa->pipe, PIPE_SHADER_FRAGMENT, 0, cbuf); } static void @@ -602,7 +602,7 @@ void xorg_composite(struct exa_context *exa, int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, int width, int height) { - struct pipe_context *pipe = exa->ctx; + struct pipe_context *pipe = exa->pipe; struct pipe_buffer *buf = 0; if (exa->num_bound_samplers == 0 ) { /* solid fill */ @@ -687,7 +687,7 @@ void xorg_solid(struct exa_context *exa, struct exa_pixmap_priv *pixmap, int x0, int y0, int x1, int y1) { - struct pipe_context *pipe = exa->ctx; + struct pipe_context *pipe = exa->pipe; struct pipe_buffer *buf = 0; float vertices[4][2][4]; @@ -707,7 +707,7 @@ void xorg_solid(struct exa_context *exa, setup_vertex0(vertices[3], x0, y1, exa->solid_color); - buf = pipe_user_buffer_create(exa->ctx->screen, + buf = pipe_user_buffer_create(exa->pipe->screen, vertices, sizeof(vertices)); @@ -829,7 +829,7 @@ static void renderer_copy_texture(struct exa_context *exa, float dx1, float dy1, float dx2, float dy2) { - struct pipe_context *pipe = exa->ctx; + struct pipe_context *pipe = exa->pipe; struct pipe_screen *screen = pipe->screen; struct pipe_buffer *buf; struct pipe_surface *dst_surf = screen->get_tex_surface( @@ -935,7 +935,7 @@ static void renderer_copy_texture(struct exa_context *exa, 0.0f); if (buf) { - util_draw_vertex_buffer(exa->ctx, buf, 0, + util_draw_vertex_buffer(exa->pipe, buf, 0, PIPE_PRIM_TRIANGLE_FAN, 4, /* verts */ 2); /* attribs/vert */ diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index a302aa589e..312dab1544 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -130,9 +130,9 @@ ExaDownloadFromScreen(PixmapPtr pPix, int x, int y, int w, int h, char *dst, if (!priv || !priv->tex) return FALSE; - if (exa->ctx->is_texture_referenced(exa->ctx, priv->tex, 0, 0) & + if (exa->pipe->is_texture_referenced(exa->pipe, priv->tex, 0, 0) & PIPE_REFERENCED_FOR_WRITE) - exa->ctx->flush(exa->ctx, 0, NULL); + exa->pipe->flush(exa->pipe, 0, NULL); transfer = exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0, PIPE_TRANSFER_READ, x, y, w, h); @@ -197,9 +197,9 @@ ExaPrepareAccess(PixmapPtr pPix, int index) if (priv->map_count++ == 0) { - if (exa->ctx->is_texture_referenced(exa->ctx, priv->tex, 0, 0) & + if (exa->pipe->is_texture_referenced(exa->pipe, priv->tex, 0, 0) & PIPE_REFERENCED_FOR_WRITE) - exa->ctx->flush(exa->ctx, 0, NULL); + exa->pipe->flush(exa->pipe, 0, NULL); priv->map_transfer = exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0, @@ -289,7 +289,7 @@ ExaPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planeMask, Pixel fg) if (alu != GXcopy) return FALSE; - if (!exa->ctx) + if (!exa->pipe) return FALSE; debug_printf(" ExaPrepareSolid(0x%x)\n", fg); @@ -344,7 +344,7 @@ ExaPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, if (!priv->tex || !src_priv->tex) return FALSE; - if (!exa->ctx) + if (!exa->pipe) return FALSE; exa->copy.src = src_priv; @@ -586,9 +586,9 @@ ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, dst_surf = exa->scrn->get_tex_surface(exa->scrn, texture, 0, 0, 0, PIPE_BUFFER_USAGE_GPU_WRITE); src_surf = exa_gpu_surface(exa, priv); - exa->ctx->surface_copy(exa->ctx, dst_surf, 0, 0, src_surf, - 0, 0, min(width, texture->width[0]), - min(height, texture->height[0])); + exa->pipe->surface_copy(exa->pipe, dst_surf, 0, 0, src_surf, + 0, 0, min(width, texture->width[0]), + min(height, texture->height[0])); exa->scrn->tex_surface_destroy(dst_surf); exa->scrn->tex_surface_destroy(src_surf); } else if (pPixmap->devPrivate.ptr) { @@ -658,8 +658,8 @@ xorg_exa_close(ScrnInfoPtr pScrn) cso_destroy_context(exa->cso); } - if (exa->ctx) - exa->ctx->destroy(exa->ctx); + if (exa->pipe) + exa->pipe->destroy(exa->pipe); exaDriverFini(pScrn->pScreen); xfree(exa); @@ -727,11 +727,11 @@ xorg_exa_init(ScrnInfoPtr pScrn) } exa->scrn = ms->screen; - exa->ctx = ms->api->create_context(ms->api, exa->scrn); + exa->pipe = ms->api->create_context(ms->api, exa->scrn); /* Share context with DRI */ - ms->ctx = exa->ctx; + ms->ctx = exa->pipe; - exa->cso = cso_create_context(exa->ctx); + exa->cso = cso_create_context(exa->pipe); exa->shaders = xorg_shaders_create(exa); xorg_exa_init_state(exa); @@ -756,7 +756,7 @@ exa_gpu_surface(struct exa_context *exa, struct exa_pixmap_priv *priv) void xorg_exa_flush(struct exa_context *exa, uint pipeFlushFlags, struct pipe_fence_handle **fence) { - exa->ctx->flush(exa->ctx, pipeFlushFlags, fence); + exa->pipe->flush(exa->pipe, pipeFlushFlags, fence); } void xorg_exa_finish(struct exa_context *exa) @@ -765,7 +765,7 @@ void xorg_exa_finish(struct exa_context *exa) xorg_exa_flush(exa, PIPE_FLUSH_RENDER_CACHE, &fence); - exa->ctx->screen->fence_finish(exa->ctx->screen, fence, 0); - exa->ctx->screen->fence_reference(exa->ctx->screen, &fence, NULL); + exa->pipe->screen->fence_finish(exa->pipe->screen, fence, 0); + exa->pipe->screen->fence_reference(exa->pipe->screen, &fence, NULL); } diff --git a/src/gallium/state_trackers/xorg/xorg_exa.h b/src/gallium/state_trackers/xorg/xorg_exa.h index 7229e87101..43949b04a4 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.h +++ b/src/gallium/state_trackers/xorg/xorg_exa.h @@ -14,7 +14,7 @@ struct xorg_shaders; struct exa_context { ExaDriverPtr pExa; - struct pipe_context *ctx; + struct pipe_context *pipe; struct pipe_screen *scrn; struct cso_context *cso; struct xorg_shaders *shaders; diff --git a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c index 2d2c2e884b..694eded09a 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c +++ b/src/gallium/state_trackers/xorg/xorg_exa_tgsi.c @@ -473,9 +473,9 @@ struct xorg_shader xorg_shaders_get(struct xorg_shaders *sc, struct xorg_shader shader = {0}; void *vs, *fs; - vs = shader_from_cache(sc->exa->ctx, PIPE_SHADER_VERTEX, + vs = shader_from_cache(sc->exa->pipe, PIPE_SHADER_VERTEX, sc->vs_hash, vs_traits); - fs = shader_from_cache(sc->exa->ctx, PIPE_SHADER_FRAGMENT, + fs = shader_from_cache(sc->exa->pipe, PIPE_SHADER_FRAGMENT, sc->fs_hash, fs_traits); debug_assert(vs && fs); -- cgit v1.2.3