aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--X11/extensions/randrproto.txt36
-rw-r--r--gl/configure.ac2
-rw-r--r--mesalib/configure.ac21
-rw-r--r--mesalib/docs/GL3.txt4
-rw-r--r--mesalib/docs/relnotes-8.1.html2
-rw-r--r--mesalib/scons/gallium.py4
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_blit.c337
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_blit.h20
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_blitter.c153
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_blitter.h4
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_format.h29
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_gen_mipmap.c84
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_inlines.h26
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_simple_shaders.c100
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_simple_shaders.h12
-rw-r--r--mesalib/src/glsl/ir.h3
-rw-r--r--mesalib/src/glsl/ir_builder.cpp23
-rw-r--r--mesalib/src/glsl/ir_builder.h6
-rw-r--r--mesalib/src/glsl/linker.cpp119
-rw-r--r--mesalib/src/mapi/glapi/gen/gl_API.xml50
-rw-r--r--mesalib/src/mesa/main/api_validate.c26
-rw-r--r--mesalib/src/mesa/main/api_validate.h4
-rw-r--r--mesalib/src/mesa/main/context.c1
-rw-r--r--mesalib/src/mesa/main/dd.h8
-rw-r--r--mesalib/src/mesa/main/dlist.c126
-rw-r--r--mesalib/src/mesa/main/extensions.c2
-rw-r--r--mesalib/src/mesa/main/fbobject.c3
-rw-r--r--mesalib/src/mesa/main/formats.c6
-rw-r--r--mesalib/src/mesa/main/get.c9
-rw-r--r--mesalib/src/mesa/main/image.c1
-rw-r--r--mesalib/src/mesa/main/mtypes.h3
-rw-r--r--mesalib/src/mesa/main/queryobj.c82
-rw-r--r--mesalib/src/mesa/main/texformat.c10
-rw-r--r--mesalib/src/mesa/main/teximage.c9
-rw-r--r--mesalib/src/mesa/main/transformfeedback.c32
-rw-r--r--mesalib/src/mesa/main/vtxfmt.c5
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_blit.c37
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_drawpixels.c25
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_texture.c32
-rw-r--r--mesalib/src/mesa/state_tracker/st_context.c2
-rw-r--r--mesalib/src/mesa/state_tracker/st_context.h2
-rw-r--r--mesalib/src/mesa/state_tracker/st_extensions.c6
-rw-r--r--mesalib/src/mesa/state_tracker/st_format.c4
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec_array.c62
-rw-r--r--mesalib/src/mesa/vbo/vbo_save_api.c45
-rw-r--r--xorg-server/glx/dispatch.h1244
-rw-r--r--xorg-server/glx/glapi_gentable.c42
-rw-r--r--xorg-server/glx/glapitable.h584
-rw-r--r--xorg-server/glx/glprocs.h1400
-rw-r--r--xorg-server/glx/glxcmds.c32
-rw-r--r--xorg-server/glx/glxdri2.c23
-rw-r--r--xorg-server/glx/glxext.c14
-rw-r--r--xorg-server/glx/indirect_dispatch.h4
-rw-r--r--xorg-server/hw/xfree86/common/xf86AutoConfig.c1
-rw-r--r--xorg-server/hw/xfree86/dri2/dri2.c15
-rw-r--r--xorg-server/hw/xfree86/dri2/dri2.h7
-rw-r--r--xorg-server/hw/xfree86/sdksyms.sh2
-rw-r--r--xorg-server/hw/xquartz/pseudoramiX.c4
-rw-r--r--xorg-server/hw/xquartz/xpr/dri.h3
-rw-r--r--xorg-server/hw/xwin/InitOutput.c28
-rw-r--r--xorg-server/include/extension.h2
-rw-r--r--xorg-server/mi/miinitext.c16
-rw-r--r--xorg-server/os/utils.c4
-rw-r--r--xorg-server/test/xtest.c1
64 files changed, 3075 insertions, 1928 deletions
diff --git a/X11/extensions/randrproto.txt b/X11/extensions/randrproto.txt
index 6526b977d..2b17cee58 100644
--- a/X11/extensions/randrproto.txt
+++ b/X11/extensions/randrproto.txt
@@ -162,6 +162,7 @@ David Dawes for XFree86 DDX integration work
Thomas Winischhofer for the hardware-accelerated SiS rotation implementation
Matthew Tippett and Kevin Martin for splitting outputs and CRTCs to more
fully expose what video hardware can do
+Dave Airlie for the 1.4.0 protocol changes.
❧❧❧❧❧❧❧❧❧❧❧
@@ -277,7 +278,10 @@ ROTATION { Rotate_0
RRSELECTMASK { RRScreenChangeNotifyMask
RRCrtcChangeNotifyMask (New in version 1.2)
RROutputChangeNotifyMask (New in version 1.2)
- RROutputPropertyNotifyMask (New in version 1.2) }
+ RROutputPropertyNotifyMask (New in version 1.2)
+ RRProviderChangeNotifyMask (New in version 1.4)
+ RRProviderPropertyNotifyMask (New in version 1.4)
+ RRResourceChangeNotifyMask (New in version 1.4) }
SIZEID { CARD16 }
@@ -401,6 +405,20 @@ The name of this extension is "RANDR".
RROutputPropertyNotify events will be sent when properties change on
this output.
+ New for version 1.4:
+
+ If 'enable' contains RRProviderChangeNotifyMask,
+ RRProviderChangeNotify events will be sent whenever the role for a
+ provider object has changed.
+
+ If 'enable' contains RRProviderPropertyNotifyMask,
+ RRProviderPropertyNotify events will be sent when properties change
+ on a provider object.
+
+ If 'enable' contains RRResourceChangeNotifyMask,
+ RRResourceChangeNotify events will be sent whenever the set of
+ available RandR resources associated with the screen has changed.
+
┌───
RRSetScreenConfig
window: WINDOW
@@ -661,7 +679,7 @@ dynamic changes in the display environment.
RRListOutputProperties
output:OUTPUT
- atoms: LISTof ATOM
+ atoms: LISTofATOM
└───
Errors: Output
@@ -1345,7 +1363,7 @@ dynamic changes in the display environment.
RRListProviderProperties
provider:PROVIDERS
- atoms: LISTof ATOM
+ atoms: LISTofATOM
└───
Errors: Provider
@@ -1967,7 +1985,7 @@ The RandR extension was developed in parallel with the implementation
to ensure the feasibility of various portions of the design. As
portions of the extension are implemented, the version number of the
extension has changed to reflect the portions of the standard provided.
-This document describes the version 1.2 of the specification, the
+This document describes the version 1.4 of the specification, the
partial implementations have version numbers less than that. Here's a
list of what each version provided:
@@ -1993,6 +2011,8 @@ list of what each version provided:
transformations. Added panning. Added primary outputs.
Added standard properties.
+ 1.4: Added provider objects for handling multi-GPU systems.
+
Compatibility between 0.0 and 1.0 was *NOT* preserved, and 0.0 clients
will fail against 1.0 servers. The wire encoding op-codes were
changed for GetScreenInfo to ensure this failure in a relatively
@@ -2001,8 +2021,8 @@ graceful way. Version 1.1 servers and clients are cross compatible with
compatibility from this point. Version 1.2 offers an extended model of the
system with multiple output support. Version 1.3 adds a cheap version of
GetScreenResources to avoid expensive DDC operations, CRTC transformations,
-panning, and the primary output concept. 1.2 and 1.3 are backward-compatible
-with 1.1.
+panning, and the primary output concept. Versions 1.2 through 1.4 are
+backward-compatible with 1.1.
❧❧❧❧❧❧❧❧❧❧❧
@@ -2070,6 +2090,10 @@ A.1 Common Types
0x0002 CrtcChangeNotifyMask Added in version 1.2
0x0004 OutputChangeNotifyMask Added in version 1.2
0x0008 OutputPropertyNotifyMask Added in version 1.2
+ 0x0010 ProviderChangeNotifyMask Added in version 1.4
+ 0x0020 ProviderPropertyNotifyMask Added in version 1.4
+ 0x0040 ResourceChangeNotifyMask Added in version 1.4
+
└───
Event select mask for RRSelectInput
diff --git a/gl/configure.ac b/gl/configure.ac
index 9907db05c..58d60fa34 100644
--- a/gl/configure.ac
+++ b/gl/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([GLProto], [1.4.15], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([GLProto], [1.4.16], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
diff --git a/mesalib/configure.ac b/mesalib/configure.ac
index b5250f321..08ea5beb4 100644
--- a/mesalib/configure.ac
+++ b/mesalib/configure.ac
@@ -1030,29 +1030,12 @@ xyesno)
GL_PC_CFLAGS="$X11_INCLUDES"
# XCB can only be used from pkg-config
- PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
+ PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx >= 1.8.1])
GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
fi
- # Check to see if the xcb-glx library is new enough to support
- # GLX_ARB_create_context. This bit of hackery is necessary until XCB 1.8
- # is released.
- save_CPPFLAGS="$CPPFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CPPFLAGS="$CPPFLAGS $X11_INCLUDES"
- LDFLAGS="$LDFLAGS $GL_LIB_DEPS"
- AC_CHECK_LIB(xcb-glx, xcb_glx_create_context_attribs_arb_checked,
- [HAVE_XCB_GLX_CREATE_CONTEXT=yes],
- [HAVE_XCB_GLX_CREATE_CONTEXT=no])
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
-
- if test x$HAVE_XCB_GLX_CREATE_CONTEXT = xyes; then
- X11_INCLUDES="$X11_INCLUDES -DHAVE_XCB_GLX_CREATE_CONTEXT"
- fi
-
# need DRM libs, -lpthread, etc.
GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
@@ -1061,8 +1044,6 @@ esac
# This is outside the case (above) so that it is invoked even for non-GLX
# builds.
-AM_CONDITIONAL(HAVE_XCB_GLX_CREATE_CONTEXT,
- test x$HAVE_XCB_GLX_CREATE_CONTEXT = xyes)
AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
diff --git a/mesalib/docs/GL3.txt b/mesalib/docs/GL3.txt
index 8357289ea..7c6874568 100644
--- a/mesalib/docs/GL3.txt
+++ b/mesalib/docs/GL3.txt
@@ -100,7 +100,7 @@ GL_ARB_texture_buffer_object_rgb32 not started
GL_ARB_texture_cube_map_array not started
GL_ARB_texture_gather not started
GL_ARB_transform_feedback2 DONE
-GL_ARB_transform_feedback3 not started
+GL_ARB_transform_feedback3 DONE
GL 4.1:
@@ -121,7 +121,7 @@ GL_ARB_texture_compression_bptc not started
GL_ARB_compressed_texture_pixel_storage not started
GL_ARB_shader_atomic_counters not started
GL_ARB_texture_storage DONE (r300, r600, swrast)
-GL_ARB_transform_feedback_instanced not started
+GL_ARB_transform_feedback_instanced DONE
GL_ARB_base_instance DONE (nv50, nvc0, r600, radeonsi)
GL_ARB_shader_image_load_store not started
GL_ARB_conservative_depth DONE (softpipe)
diff --git a/mesalib/docs/relnotes-8.1.html b/mesalib/docs/relnotes-8.1.html
index c6980b688..45770d392 100644
--- a/mesalib/docs/relnotes-8.1.html
+++ b/mesalib/docs/relnotes-8.1.html
@@ -37,6 +37,8 @@ Note: some of the new features are only available with certain drivers.
<li>GL_ARB_debug_output</li>
<li>GL_ARB_shader_bit_encoding</li>
<li>GL_ARB_timer_query</li>
+<li>GL_ARB_transform_feedback3</li>
+<li>GL_ARB_transform_feedback_instanced</li>
<li>GL_EXT_unpack_subimage for ES 2.0</li>
<li>GL_EXT_read_format_bgra for ES 1.1 and 2.0</li>
<li>GL_EXT_texture_rg for ES 2.x</li>
diff --git a/mesalib/scons/gallium.py b/mesalib/scons/gallium.py
index 75c713d1c..001a5def1 100644
--- a/mesalib/scons/gallium.py
+++ b/mesalib/scons/gallium.py
@@ -368,7 +368,6 @@ def generate(env):
ccflags += [
'-Wall',
'-Wno-long-long',
- '-ffast-math',
'-fmessage-length=0', # be nice to Eclipse
]
cflags += [
@@ -405,7 +404,6 @@ def generate(env):
'/GL-', # disable whole program optimization
]
ccflags += [
- '/fp:fast', # fast floating point
'/W3', # warning level
#'/Wp64', # enable 64 bit porting warnings
'/wd4996', # disable deprecated POSIX name warnings
@@ -516,7 +514,7 @@ def generate(env):
createInstallMethods(env)
env.PkgCheckModules('X11', ['x11', 'xext', 'xdamage', 'xfixes'])
- env.PkgCheckModules('XCB', ['x11-xcb', 'xcb-glx'])
+ env.PkgCheckModules('XCB', ['x11-xcb', 'xcb-glx >= 1.8.1'])
env.PkgCheckModules('XF86VIDMODE', ['xxf86vm'])
env.PkgCheckModules('DRM', ['libdrm >= 2.4.24'])
env.PkgCheckModules('DRM_INTEL', ['libdrm_intel >= 2.4.30'])
diff --git a/mesalib/src/gallium/auxiliary/util/u_blit.c b/mesalib/src/gallium/auxiliary/util/u_blit.c
index 9bd2ef52d..b52f4c092 100644
--- a/mesalib/src/gallium/auxiliary/util/u_blit.c
+++ b/mesalib/src/gallium/auxiliary/util/u_blit.c
@@ -56,9 +56,11 @@ struct blit_state
struct pipe_context *pipe;
struct cso_context *cso;
- struct pipe_blend_state blend;
- struct pipe_depth_stencil_alpha_state depthstencil_keep;
- struct pipe_depth_stencil_alpha_state depthstencil_write;
+ struct pipe_blend_state blend_write_color, blend_keep_color;
+ struct pipe_depth_stencil_alpha_state dsa_keep_depthstencil;
+ struct pipe_depth_stencil_alpha_state dsa_write_depthstencil;
+ struct pipe_depth_stencil_alpha_state dsa_write_depth;
+ struct pipe_depth_stencil_alpha_state dsa_write_stencil;
struct pipe_rasterizer_state rasterizer;
struct pipe_sampler_state sampler;
struct pipe_viewport_state viewport;
@@ -66,13 +68,17 @@ struct blit_state
enum pipe_texture_target internal_target;
void *vs;
- void *fs[TGSI_WRITEMASK_XYZW + 1];
- void *fs_depth;
+ void *fs[PIPE_MAX_TEXTURE_TYPES][TGSI_WRITEMASK_XYZW + 1];
+ void *fs_depthstencil[PIPE_MAX_TEXTURE_TYPES];
+ void *fs_depth[PIPE_MAX_TEXTURE_TYPES];
+ void *fs_stencil[PIPE_MAX_TEXTURE_TYPES];
struct pipe_resource *vbuf; /**< quad vertices */
unsigned vbuf_slot;
float vertices[4][2][4]; /**< vertex/texcoords for quad */
+
+ boolean has_stencil_export;
};
@@ -94,24 +100,28 @@ util_create_blit(struct pipe_context *pipe, struct cso_context *cso)
ctx->cso = cso;
/* disabled blending/masking */
- memset(&ctx->blend, 0, sizeof(ctx->blend));
- ctx->blend.rt[0].colormask = PIPE_MASK_RGBA;
-
- /* no-op depth/stencil/alpha */
- memset(&ctx->depthstencil_keep, 0, sizeof(ctx->depthstencil_keep));
- memset(&ctx->depthstencil_write, 0, sizeof(ctx->depthstencil_write));
- ctx->depthstencil_write.depth.enabled = 1;
- ctx->depthstencil_write.depth.writemask = 1;
- ctx->depthstencil_write.depth.func = PIPE_FUNC_ALWAYS;
+ ctx->blend_write_color.rt[0].colormask = PIPE_MASK_RGBA;
+
+ /* depth stencil states */
+ ctx->dsa_write_depth.depth.enabled = 1;
+ ctx->dsa_write_depth.depth.writemask = 1;
+ ctx->dsa_write_depth.depth.func = PIPE_FUNC_ALWAYS;
+ ctx->dsa_write_stencil.stencil[0].enabled = 1;
+ ctx->dsa_write_stencil.stencil[0].func = PIPE_FUNC_ALWAYS;
+ ctx->dsa_write_stencil.stencil[0].fail_op = PIPE_STENCIL_OP_REPLACE;
+ ctx->dsa_write_stencil.stencil[0].zpass_op = PIPE_STENCIL_OP_REPLACE;
+ ctx->dsa_write_stencil.stencil[0].zfail_op = PIPE_STENCIL_OP_REPLACE;
+ ctx->dsa_write_stencil.stencil[0].valuemask = 0xff;
+ ctx->dsa_write_stencil.stencil[0].writemask = 0xff;
+ ctx->dsa_write_depthstencil.depth = ctx->dsa_write_depth.depth;
+ ctx->dsa_write_depthstencil.stencil[0] = ctx->dsa_write_stencil.stencil[0];
/* rasterizer */
- memset(&ctx->rasterizer, 0, sizeof(ctx->rasterizer));
ctx->rasterizer.cull_face = PIPE_FACE_NONE;
ctx->rasterizer.gl_rasterization_rules = 1;
ctx->rasterizer.depth_clip = 1;
/* samplers */
- memset(&ctx->sampler, 0, sizeof(ctx->sampler));
ctx->sampler.wrap_s = PIPE_TEX_WRAP_CLAMP_TO_EDGE;
ctx->sampler.wrap_t = PIPE_TEX_WRAP_CLAMP_TO_EDGE;
ctx->sampler.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE;
@@ -120,7 +130,6 @@ util_create_blit(struct pipe_context *pipe, struct cso_context *cso)
ctx->sampler.mag_img_filter = 0; /* set later */
/* vertex elements state */
- memset(&ctx->velem[0], 0, sizeof(ctx->velem[0]) * 2);
for (i = 0; i < 2; i++) {
ctx->velem[i].src_offset = i * 4 * sizeof(float);
ctx->velem[i].instance_divisor = 0;
@@ -142,6 +151,9 @@ util_create_blit(struct pipe_context *pipe, struct cso_context *cso)
else
ctx->internal_target = PIPE_TEXTURE_RECT;
+ ctx->has_stencil_export =
+ pipe->screen->get_param(pipe->screen, PIPE_CAP_SHADER_STENCIL_EXPORT);
+
return ctx;
}
@@ -153,17 +165,29 @@ void
util_destroy_blit(struct blit_state *ctx)
{
struct pipe_context *pipe = ctx->pipe;
- unsigned i;
+ unsigned i, j;
if (ctx->vs)
pipe->delete_vs_state(pipe, ctx->vs);
- for (i = 0; i < Elements(ctx->fs); i++)
- if (ctx->fs[i])
- pipe->delete_fs_state(pipe, ctx->fs[i]);
+ for (i = 0; i < Elements(ctx->fs); i++) {
+ for (j = 0; j < Elements(ctx->fs[i]); j++) {
+ if (ctx->fs[i][j])
+ pipe->delete_fs_state(pipe, ctx->fs[i][j]);
+ }
+ }
- if (ctx->fs_depth)
- pipe->delete_fs_state(pipe, ctx->fs_depth);
+ for (i = 0; i < PIPE_MAX_TEXTURE_TYPES; i++) {
+ if (ctx->fs_depthstencil[i]) {
+ pipe->delete_fs_state(pipe, ctx->fs_depthstencil[i]);
+ }
+ if (ctx->fs_depth[i]) {
+ pipe->delete_fs_state(pipe, ctx->fs_depth[i]);
+ }
+ if (ctx->fs_stencil[i]) {
+ pipe->delete_fs_state(pipe, ctx->fs_stencil[i]);
+ }
+ }
pipe_resource_reference(&ctx->vbuf, NULL);
@@ -175,30 +199,76 @@ util_destroy_blit(struct blit_state *ctx)
* Helper function to set the fragment shaders.
*/
static INLINE void
-set_fragment_shader(struct blit_state *ctx, uint writemask)
+set_fragment_shader(struct blit_state *ctx, uint writemask,
+ enum pipe_texture_target pipe_tex)
{
- if (!ctx->fs[writemask])
- ctx->fs[writemask] =
- util_make_fragment_tex_shader_writemask(ctx->pipe, TGSI_TEXTURE_2D,
+ if (!ctx->fs[pipe_tex][writemask]) {
+ unsigned tgsi_tex = util_pipe_tex_to_tgsi_tex(pipe_tex);
+
+ ctx->fs[pipe_tex][writemask] =
+ util_make_fragment_tex_shader_writemask(ctx->pipe, tgsi_tex,
TGSI_INTERPOLATE_LINEAR,
writemask);
+ }
- cso_set_fragment_shader_handle(ctx->cso, ctx->fs[writemask]);
+ cso_set_fragment_shader_handle(ctx->cso, ctx->fs[pipe_tex][writemask]);
}
/**
- * Helper function to set the depthwrite shader.
+ * Helper function to set the shader which writes depth and stencil.
*/
static INLINE void
-set_depth_fragment_shader(struct blit_state *ctx)
+set_depthstencil_fragment_shader(struct blit_state *ctx,
+ enum pipe_texture_target pipe_tex)
{
- if (!ctx->fs_depth)
- ctx->fs_depth =
- util_make_fragment_tex_shader_writedepth(ctx->pipe, TGSI_TEXTURE_2D,
+ if (!ctx->fs_depthstencil[pipe_tex]) {
+ unsigned tgsi_tex = util_pipe_tex_to_tgsi_tex(pipe_tex);
+
+ ctx->fs_depthstencil[pipe_tex] =
+ util_make_fragment_tex_shader_writedepthstencil(ctx->pipe, tgsi_tex,
TGSI_INTERPOLATE_LINEAR);
+ }
- cso_set_fragment_shader_handle(ctx->cso, ctx->fs_depth);
+ cso_set_fragment_shader_handle(ctx->cso, ctx->fs_depthstencil[pipe_tex]);
+}
+
+
+/**
+ * Helper function to set the shader which writes depth.
+ */
+static INLINE void
+set_depth_fragment_shader(struct blit_state *ctx,
+ enum pipe_texture_target pipe_tex)
+{
+ if (!ctx->fs_depth[pipe_tex]) {
+ unsigned tgsi_tex = util_pipe_tex_to_tgsi_tex(pipe_tex);
+
+ ctx->fs_depth[pipe_tex] =
+ util_make_fragment_tex_shader_writedepth(ctx->pipe, tgsi_tex,
+ TGSI_INTERPOLATE_LINEAR);
+ }
+
+ cso_set_fragment_shader_handle(ctx->cso, ctx->fs_depth[pipe_tex]);
+}
+
+
+/**
+ * Helper function to set the shader which writes stencil.
+ */
+static INLINE void
+set_stencil_fragment_shader(struct blit_state *ctx,
+ enum pipe_texture_target pipe_tex)
+{
+ if (!ctx->fs_stencil[pipe_tex]) {
+ unsigned tgsi_tex = util_pipe_tex_to_tgsi_tex(pipe_tex);
+
+ ctx->fs_stencil[pipe_tex] =
+ util_make_fragment_tex_shader_writestencil(ctx->pipe, tgsi_tex,
+ TGSI_INTERPOLATE_LINEAR);
+ }
+
+ cso_set_fragment_shader_handle(ctx->cso, ctx->fs_stencil[pipe_tex]);
}
@@ -350,20 +420,19 @@ formats_compatible(enum pipe_format src_format,
* \param writemask controls which channels in the dest surface are sourced
* from the src surface. Disabled channels are sourced
* from (0,0,0,1).
- * XXX need some control over blitting stencil.
*/
void
-util_blit_pixels_writemask(struct blit_state *ctx,
- struct pipe_resource *src_tex,
- unsigned src_level,
- int srcX0, int srcY0,
- int srcX1, int srcY1,
- int srcZ0,
- struct pipe_surface *dst,
- int dstX0, int dstY0,
- int dstX1, int dstY1,
- float z, uint filter,
- uint writemask)
+util_blit_pixels(struct blit_state *ctx,
+ struct pipe_resource *src_tex,
+ unsigned src_level,
+ int srcX0, int srcY0,
+ int srcX1, int srcY1,
+ int srcZ0,
+ struct pipe_surface *dst,
+ int dstX0, int dstY0,
+ int dstX1, int dstY1,
+ float z, uint filter,
+ uint writemask, uint zs_writemask)
{
struct pipe_context *pipe = ctx->pipe;
struct pipe_screen *screen = pipe->screen;
@@ -375,9 +444,12 @@ util_blit_pixels_writemask(struct blit_state *ctx,
const int srcW = abs(srcX1 - srcX0);
const int srcH = abs(srcY1 - srcY0);
unsigned offset;
- boolean overlap, dst_is_depth;
+ boolean overlap;
float s0, t0, s1, t1;
boolean normalized;
+ boolean is_stencil, is_depth, blit_depth, blit_stencil;
+ const struct util_format_description *src_desc =
+ util_format_description(src_tex->format);
assert(filter == PIPE_TEX_MIPFILTER_NEAREST ||
filter == PIPE_TEX_MIPFILTER_LINEAR);
@@ -394,12 +466,24 @@ util_blit_pixels_writemask(struct blit_state *ctx,
src_format = util_format_linear(src_tex->format);
dst_format = util_format_linear(dst->format);
+ /* See whether we will blit depth or stencil. */
+ is_depth = util_format_has_depth(src_desc);
+ is_stencil = util_format_has_stencil(src_desc);
+
+ blit_depth = is_depth && (zs_writemask & BLIT_WRITEMASK_Z);
+ blit_stencil = is_stencil && (zs_writemask & BLIT_WRITEMASK_STENCIL);
+
+ assert((writemask && !zs_writemask && !is_depth && !is_stencil) ||
+ (!writemask && (blit_depth || blit_stencil)));
+
/*
* Check for simple case: no format conversion, no flipping, no stretching,
* no overlapping.
* Filter mode should not matter since there's no stretching.
*/
if (formats_compatible(src_format, dst_format) &&
+ is_stencil == blit_stencil &&
+ is_depth == blit_depth &&
srcX0 < srcX1 &&
dstX0 < dstX1 &&
srcY0 < srcY1 &&
@@ -422,6 +506,17 @@ util_blit_pixels_writemask(struct blit_state *ctx,
return;
}
+ /* It's a mistake to call this function with a stencil format and
+ * without shader stencil export. We don't do software fallbacks here.
+ * Ignore stencil and only copy depth.
+ */
+ if (blit_stencil && !ctx->has_stencil_export) {
+ blit_stencil = FALSE;
+
+ if (!blit_depth)
+ return;
+ }
+
if (dst_format == dst->format) {
dst_surface = dst;
} else {
@@ -430,20 +525,11 @@ util_blit_pixels_writemask(struct blit_state *ctx,
dst_surface = pipe->create_surface(pipe, dst->texture, &templ);
}
- /* Create a temporary texture when src and dest alias or when src
- * is anything other than a 2d texture.
- * XXX should just use appropriate shader to access 1d / 3d slice / cube face,
- * much like the u_blitter code does (should be pretty trivial).
- *
- * This can still be improved upon.
+ /* Create a temporary texture when src and dest alias.
*/
- if ((src_tex == dst_surface->texture &&
+ if (src_tex == dst_surface->texture &&
dst_surface->u.tex.level == src_level &&
- dst_surface->u.tex.first_layer == srcZ0) ||
- (src_tex->target != PIPE_TEXTURE_2D &&
- src_tex->target != PIPE_TEXTURE_2D &&
- src_tex->target != PIPE_TEXTURE_RECT))
- {
+ dst_surface->u.tex.first_layer == srcZ0) {
/* Make a temporary texture which contains a copy of the source pixels.
* Then we'll sample from the temporary texture.
*/
@@ -509,6 +595,11 @@ util_blit_pixels_writemask(struct blit_state *ctx,
}
u_sampler_view_default_template(&sv_templ, tex, tex->format);
+ if (!blit_depth && blit_stencil) {
+ /* set a stencil-only format, e.g. Z24S8 --> X24S8 */
+ sv_templ.format = util_format_stencil_only(tex->format);
+ assert(sv_templ.format != PIPE_FORMAT_NONE);
+ }
sampler_view = pipe->create_sampler_view(pipe, tex, &sv_templ);
if (!sampler_view) {
@@ -520,6 +611,11 @@ util_blit_pixels_writemask(struct blit_state *ctx,
else {
/* Directly sample from the source resource/texture */
u_sampler_view_default_template(&sv_templ, src_tex, src_format);
+ if (!blit_depth && blit_stencil) {
+ /* set a stencil-only format, e.g. Z24S8 --> X24S8 */
+ sv_templ.format = util_format_stencil_only(src_format);
+ assert(sv_templ.format != PIPE_FORMAT_NONE);
+ }
sampler_view = pipe->create_sampler_view(pipe, src_tex, &sv_templ);
if (!sampler_view) {
@@ -540,15 +636,14 @@ util_blit_pixels_writemask(struct blit_state *ctx,
}
}
- dst_is_depth = util_format_is_depth_or_stencil(dst_format);
-
- assert(screen->is_format_supported(screen, sampler_view->format, ctx->internal_target,
- sampler_view->texture->nr_samples,
- PIPE_BIND_SAMPLER_VIEW));
+ assert(screen->is_format_supported(screen, sampler_view->format,
+ ctx->internal_target, sampler_view->texture->nr_samples,
+ PIPE_BIND_SAMPLER_VIEW));
assert(screen->is_format_supported(screen, dst_format, ctx->internal_target,
- dst_surface->texture->nr_samples,
- dst_is_depth ? PIPE_BIND_DEPTH_STENCIL :
- PIPE_BIND_RENDER_TARGET));
+ dst_surface->texture->nr_samples,
+ is_depth || is_stencil ? PIPE_BIND_DEPTH_STENCIL :
+ PIPE_BIND_RENDER_TARGET));
+
/* save state (restored below) */
cso_save_blend(ctx->cso);
cso_save_depth_stencil_alpha(ctx->cso);
@@ -565,23 +660,76 @@ util_blit_pixels_writemask(struct blit_state *ctx,
cso_save_vertex_buffers(ctx->cso);
/* set misc state we care about */
- cso_set_blend(ctx->cso, &ctx->blend);
- cso_set_depth_stencil_alpha(ctx->cso,
- dst_is_depth ? &ctx->depthstencil_write :
- &ctx->depthstencil_keep);
+ if (writemask)
+ cso_set_blend(ctx->cso, &ctx->blend_write_color);
+ else
+ cso_set_blend(ctx->cso, &ctx->blend_keep_color);
+
cso_set_rasterizer(ctx->cso, &ctx->rasterizer);
cso_set_vertex_elements(ctx->cso, 2, ctx->velem);
cso_set_stream_outputs(ctx->cso, 0, NULL, 0);
- /* sampler */
+ /* default sampler state */
ctx->sampler.normalized_coords = normalized;
ctx->sampler.min_img_filter = filter;
ctx->sampler.mag_img_filter = filter;
ctx->sampler.min_lod = src_level;
ctx->sampler.max_lod = src_level;
- cso_single_sampler(ctx->cso, 0, &ctx->sampler);
+
+ /* Depth stencil state, fragment shader and sampler setup depending on what
+ * we blit.
+ */
+ if (blit_depth && blit_stencil) {
+ cso_single_sampler(ctx->cso, 0, &ctx->sampler);
+ /* don't filter stencil */
+ ctx->sampler.min_img_filter = PIPE_TEX_FILTER_NEAREST;
+ ctx->sampler.mag_img_filter = PIPE_TEX_FILTER_NEAREST;
+ cso_single_sampler(ctx->cso, 1, &ctx->sampler);
+
+ cso_set_depth_stencil_alpha(ctx->cso, &ctx->dsa_write_depthstencil);
+ set_depthstencil_fragment_shader(ctx, sampler_view->texture->target);
+ }
+ else if (blit_depth) {
+ cso_single_sampler(ctx->cso, 0, &ctx->sampler);
+ cso_set_depth_stencil_alpha(ctx->cso, &ctx->dsa_write_depth);
+ set_depth_fragment_shader(ctx, sampler_view->texture->target);
+ }
+ else if (blit_stencil) {
+ /* don't filter stencil */
+ ctx->sampler.min_img_filter = PIPE_TEX_FILTER_NEAREST;
+ ctx->sampler.mag_img_filter = PIPE_TEX_FILTER_NEAREST;
+ cso_single_sampler(ctx->cso, 0, &ctx->sampler);
+
+ cso_set_depth_stencil_alpha(ctx->cso, &ctx->dsa_write_stencil);
+ set_stencil_fragment_shader(ctx, sampler_view->texture->target);
+ }
+ else { /* color */
+ cso_single_sampler(ctx->cso, 0, &ctx->sampler);
+ cso_set_depth_stencil_alpha(ctx->cso, &ctx->dsa_keep_depthstencil);
+ set_fragment_shader(ctx, writemask, sampler_view->texture->target);
+ }
cso_single_sampler_done(ctx->cso);
+ /* textures */
+ if (blit_depth && blit_stencil) {
+ /* Setup two samplers, one for depth and the other one for stencil. */
+ struct pipe_sampler_view templ;
+ struct pipe_sampler_view *views[2];
+
+ templ = *sampler_view;
+ templ.format = util_format_stencil_only(templ.format);
+ assert(templ.format != PIPE_FORMAT_NONE);
+
+ views[0] = sampler_view;
+ views[1] = pipe->create_sampler_view(pipe, views[0]->texture, &templ);
+ cso_set_fragment_sampler_views(ctx->cso, 2, views);
+
+ pipe_sampler_view_reference(&views[1], NULL);
+ }
+ else {
+ cso_set_fragment_sampler_views(ctx->cso, 1, &sampler_view);
+ }
+
/* viewport */
ctx->viewport.scale[0] = 0.5f * dst_surface->width;
ctx->viewport.scale[1] = 0.5f * dst_surface->height;
@@ -593,15 +741,6 @@ util_blit_pixels_writemask(struct blit_state *ctx,
ctx->viewport.translate[3] = 0.0f;
cso_set_viewport(ctx->cso, &ctx->viewport);
- /* texture */
- cso_set_fragment_sampler_views(ctx->cso, 1, &sampler_view);
-
- /* shaders */
- if (dst_is_depth) {
- set_depth_fragment_shader(ctx);
- } else {
- set_fragment_shader(ctx, writemask);
- }
set_vertex_shader(ctx);
cso_set_geometry_shader_handle(ctx->cso, NULL);
@@ -609,7 +748,7 @@ util_blit_pixels_writemask(struct blit_state *ctx,
memset(&fb, 0, sizeof(fb));
fb.width = dst_surface->width;
fb.height = dst_surface->height;
- if (dst_is_depth) {
+ if (blit_depth || blit_stencil) {
fb.zsbuf = dst_surface;
} else {
fb.nr_cbufs = 1;
@@ -655,31 +794,6 @@ util_blit_pixels_writemask(struct blit_state *ctx,
}
-void
-util_blit_pixels(struct blit_state *ctx,
- struct pipe_resource *src_tex,
- unsigned src_level,
- int srcX0, int srcY0,
- int srcX1, int srcY1,
- int srcZ,
- struct pipe_surface *dst,
- int dstX0, int dstY0,
- int dstX1, int dstY1,
- float z, uint filter )
-{
- util_blit_pixels_writemask( ctx, src_tex,
- src_level,
- srcX0, srcY0,
- srcX1, srcY1,
- srcZ,
- dst,
- dstX0, dstY0,
- dstX1, dstY1,
- z, filter,
- TGSI_WRITEMASK_XYZW );
-}
-
-
/**
* Copy pixel block from src texture to dst surface.
* The sampler view's first_level field indicates the source
@@ -747,8 +861,8 @@ util_blit_pixels_tex(struct blit_state *ctx,
cso_save_vertex_buffers(ctx->cso);
/* set misc state we care about */
- cso_set_blend(ctx->cso, &ctx->blend);
- cso_set_depth_stencil_alpha(ctx->cso, &ctx->depthstencil_keep);
+ cso_set_blend(ctx->cso, &ctx->blend_write_color);
+ cso_set_depth_stencil_alpha(ctx->cso, &ctx->dsa_keep_depthstencil);
cso_set_rasterizer(ctx->cso, &ctx->rasterizer);
cso_set_vertex_elements(ctx->cso, 2, ctx->velem);
cso_set_stream_outputs(ctx->cso, 0, NULL, 0);
@@ -775,7 +889,8 @@ util_blit_pixels_tex(struct blit_state *ctx,
cso_set_fragment_sampler_views(ctx->cso, 1, &src_sampler_view);
/* shaders */
- set_fragment_shader(ctx, TGSI_WRITEMASK_XYZW);
+ set_fragment_shader(ctx, TGSI_WRITEMASK_XYZW,
+ src_sampler_view->texture->target);
set_vertex_shader(ctx);
cso_set_geometry_shader_handle(ctx->cso, NULL);
diff --git a/mesalib/src/gallium/auxiliary/util/u_blit.h b/mesalib/src/gallium/auxiliary/util/u_blit.h
index 810d01b04..56ab03083 100644
--- a/mesalib/src/gallium/auxiliary/util/u_blit.h
+++ b/mesalib/src/gallium/auxiliary/util/u_blit.h
@@ -31,6 +31,8 @@
#include "pipe/p_compiler.h"
+/* for TGSI_WRITEMASK_* specification in util_blit_pixels */
+#include "pipe/p_shader_tokens.h"
#ifdef __cplusplus
@@ -44,6 +46,8 @@ struct pipe_resource;
struct pipe_sampler_view;
struct pipe_surface;
+#define BLIT_WRITEMASK_Z 1
+#define BLIT_WRITEMASK_STENCIL 2
extern struct blit_state *
util_create_blit(struct pipe_context *pipe, struct cso_context *cso);
@@ -61,20 +65,8 @@ util_blit_pixels(struct blit_state *ctx,
struct pipe_surface *dst,
int dstX0, int dstY0,
int dstX1, int dstY1,
- float z, uint filter);
-
-void
-util_blit_pixels_writemask(struct blit_state *ctx,
- struct pipe_resource *src_tex,
- unsigned src_level,
- int srcX0, int srcY0,
- int srcX1, int srcY1,
- int srcZ0,
- struct pipe_surface *dst,
- int dstX0, int dstY0,
- int dstX1, int dstY1,
- float z, uint filter,
- uint writemask);
+ float z, uint filter,
+ uint writemask, uint zs_writemask);
extern void
util_blit_pixels_tex(struct blit_state *ctx,
diff --git a/mesalib/src/gallium/auxiliary/util/u_blitter.c b/mesalib/src/gallium/auxiliary/util/u_blitter.c
index 47d0227a9..b31ac2d5c 100644
--- a/mesalib/src/gallium/auxiliary/util/u_blitter.c
+++ b/mesalib/src/gallium/auxiliary/util/u_blitter.c
@@ -78,6 +78,8 @@ struct blitter_context_priv
/* FS which outputs a depth from a texture,
where the index is PIPE_TEXTURE_* to be sampled. */
void *fs_texfetch_depth[PIPE_MAX_TEXTURE_TYPES];
+ void *fs_texfetch_depthstencil[PIPE_MAX_TEXTURE_TYPES];
+ void *fs_texfetch_stencil[PIPE_MAX_TEXTURE_TYPES];
/* Blend state. */
void *blend_write_color; /**< blend state with writemask of RGBA */
@@ -112,6 +114,7 @@ struct blitter_context_priv
boolean has_geometry_shader;
boolean vertex_has_integers;
boolean has_stream_out;
+ boolean has_stencil_export;
};
static void blitter_draw_rectangle(struct blitter_context *blitter,
@@ -163,6 +166,10 @@ struct blitter_context *util_blitter_create(struct pipe_context *pipe)
pipe->screen->get_param(pipe->screen,
PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS) != 0;
+ ctx->has_stencil_export =
+ pipe->screen->get_param(pipe->screen,
+ PIPE_CAP_SHADER_STENCIL_EXPORT);
+
/* blend state objects */
memset(&blend, 0, sizeof(blend));
ctx->blend_keep_color = pipe->create_blend_state(pipe, &blend);
@@ -314,6 +321,10 @@ void util_blitter_destroy(struct blitter_context *blitter)
pipe->delete_fs_state(pipe, ctx->fs_texfetch_col[i]);
if (ctx->fs_texfetch_depth[i])
pipe->delete_fs_state(pipe, ctx->fs_texfetch_depth[i]);
+ if (ctx->fs_texfetch_depthstencil[i])
+ pipe->delete_fs_state(pipe, ctx->fs_texfetch_depthstencil[i]);
+ if (ctx->fs_texfetch_stencil[i])
+ pipe->delete_fs_state(pipe, ctx->fs_texfetch_stencil[i]);
}
for (i = 0; i <= PIPE_MAX_COLOR_BUFS; i++) {
@@ -653,32 +664,6 @@ void *blitter_get_fs_col(struct blitter_context_priv *ctx, unsigned num_cbufs,
}
}
-/** Convert PIPE_TEXTURE_x to TGSI_TEXTURE_x */
-static unsigned
-pipe_tex_to_tgsi_tex(enum pipe_texture_target pipe_tex_target)
-{
- switch (pipe_tex_target) {
- case PIPE_TEXTURE_1D:
- return TGSI_TEXTURE_1D;
- case PIPE_TEXTURE_2D:
- return TGSI_TEXTURE_2D;
- case PIPE_TEXTURE_RECT:
- return TGSI_TEXTURE_RECT;
- case PIPE_TEXTURE_3D:
- return TGSI_TEXTURE_3D;
- case PIPE_TEXTURE_CUBE:
- return TGSI_TEXTURE_CUBE;
- case PIPE_TEXTURE_1D_ARRAY:
- return TGSI_TEXTURE_1D_ARRAY;
- case PIPE_TEXTURE_2D_ARRAY:
- return TGSI_TEXTURE_2D_ARRAY;
- default:
- assert(0 && "unexpected texture target");
- return TGSI_TEXTURE_UNKNOWN;
- }
-}
-
-
static INLINE
void *blitter_get_fs_texfetch_col(struct blitter_context_priv *ctx,
unsigned tex_target)
@@ -689,7 +674,7 @@ void *blitter_get_fs_texfetch_col(struct blitter_context_priv *ctx,
/* Create the fragment shader on-demand. */
if (!ctx->fs_texfetch_col[tex_target]) {
- unsigned tgsi_tex = pipe_tex_to_tgsi_tex(tex_target);
+ unsigned tgsi_tex = util_pipe_tex_to_tgsi_tex(tex_target);
ctx->fs_texfetch_col[tex_target] =
util_make_fragment_tex_shader(pipe, tgsi_tex, TGSI_INTERPOLATE_LINEAR);
@@ -708,7 +693,7 @@ void *blitter_get_fs_texfetch_depth(struct blitter_context_priv *ctx,
/* Create the fragment shader on-demand. */
if (!ctx->fs_texfetch_depth[tex_target]) {
- unsigned tgsi_tex = pipe_tex_to_tgsi_tex(tex_target);
+ unsigned tgsi_tex = util_pipe_tex_to_tgsi_tex(tex_target);
ctx->fs_texfetch_depth[tex_target] =
util_make_fragment_tex_shader_writedepth(pipe, tgsi_tex,
@@ -718,6 +703,46 @@ void *blitter_get_fs_texfetch_depth(struct blitter_context_priv *ctx,
return ctx->fs_texfetch_depth[tex_target];
}
+static INLINE
+void *blitter_get_fs_texfetch_depthstencil(struct blitter_context_priv *ctx,
+ unsigned tex_target)
+{
+ struct pipe_context *pipe = ctx->base.pipe;
+
+ assert(tex_target < PIPE_MAX_TEXTURE_TYPES);
+
+ /* Create the fragment shader on-demand. */
+ if (!ctx->fs_texfetch_depthstencil[tex_target]) {
+ unsigned tgsi_tex = util_pipe_tex_to_tgsi_tex(tex_target);
+
+ ctx->fs_texfetch_depthstencil[tex_target] =
+ util_make_fragment_tex_shader_writedepthstencil(pipe, tgsi_tex,
+ TGSI_INTERPOLATE_LINEAR);
+ }
+
+ return ctx->fs_texfetch_depthstencil[tex_target];
+}
+
+static INLINE
+void *blitter_get_fs_texfetch_stencil(struct blitter_context_priv *ctx,
+ unsigned tex_target)
+{
+ struct pipe_context *pipe = ctx->base.pipe;
+
+ assert(tex_target < PIPE_MAX_TEXTURE_TYPES);
+
+ /* Create the fragment shader on-demand. */
+ if (!ctx->fs_texfetch_stencil[tex_target]) {
+ unsigned tgsi_tex = util_pipe_tex_to_tgsi_tex(tex_target);
+
+ ctx->fs_texfetch_stencil[tex_target] =
+ util_make_fragment_tex_shader_writestencil(pipe, tgsi_tex,
+ TGSI_INTERPOLATE_LINEAR);
+ }
+
+ return ctx->fs_texfetch_stencil[tex_target];
+}
+
static void blitter_set_common_draw_rect_state(struct blitter_context_priv *ctx)
{
struct pipe_context *pipe = ctx->base.pipe;
@@ -892,7 +917,7 @@ void util_blitter_default_src_texture(struct pipe_sampler_view *src_templ,
src_templ->u.tex.last_level = srclevel;
src_templ->u.tex.first_layer = 0;
src_templ->u.tex.last_layer =
- src->target == PIPE_TEXTURE_3D ? src->depth0 - 1
+ src->target == PIPE_TEXTURE_3D ? u_minify(src->depth0, srclevel) - 1
: src->array_size - 1;
src_templ->swizzle_r = PIPE_SWIZZLE_RED;
src_templ->swizzle_g = PIPE_SWIZZLE_GREEN;
@@ -916,6 +941,8 @@ void util_blitter_copy_texture(struct blitter_context *blitter,
struct pipe_sampler_view src_templ, *src_view;
unsigned bind;
boolean is_stencil, is_depth;
+ const struct util_format_description *src_desc =
+ util_format_description(src->format);
/* Give up if textures are not set. */
assert(dst && src);
@@ -925,8 +952,8 @@ void util_blitter_copy_texture(struct blitter_context *blitter,
assert(src->target < PIPE_MAX_TEXTURE_TYPES);
/* Is this a ZS format? */
- is_depth = util_format_get_component_bits(src->format, UTIL_FORMAT_COLORSPACE_ZS, 0) != 0;
- is_stencil = util_format_get_component_bits(src->format, UTIL_FORMAT_COLORSPACE_ZS, 1) != 0;
+ is_depth = util_format_has_depth(src_desc);
+ is_stencil = util_format_has_stencil(src_desc);
if (is_depth || is_stencil)
bind = PIPE_BIND_DEPTH_STENCIL;
@@ -935,7 +962,7 @@ void util_blitter_copy_texture(struct blitter_context *blitter,
/* Check if we can sample from and render to the surfaces. */
/* (assuming copying a stencil buffer is not possible) */
- if ((!ignore_stencil && is_stencil) ||
+ if ((!ignore_stencil && is_stencil && !ctx->has_stencil_export) ||
!screen->is_format_supported(screen, dst->format, dst->target,
dst->nr_samples, bind) ||
!screen->is_format_supported(screen, src->format, src->target,
@@ -976,6 +1003,21 @@ void util_blitter_copy_texture_view(struct blitter_context *blitter,
enum pipe_texture_target src_target = src->texture->target;
unsigned width = srcbox->width;
unsigned height = srcbox->height;
+ boolean is_stencil, is_depth;
+ const struct util_format_description *src_desc =
+ util_format_description(src->format);
+
+ is_depth = util_format_has_depth(src_desc);
+ is_stencil = util_format_has_stencil(src_desc);
+
+ /* If you want a fallback for stencil copies,
+ * use util_blitter_copy_texture. */
+ if (is_stencil && !ctx->has_stencil_export) {
+ is_stencil = FALSE;
+
+ if (!is_depth)
+ return;
+ }
/* Sanity checks. */
if (dst->texture == src->texture &&
@@ -997,12 +1039,25 @@ void util_blitter_copy_texture_view(struct blitter_context *blitter,
fb_state.width = dst->width;
fb_state.height = dst->height;
- if (util_format_is_depth_or_stencil(dst->format)) {
+ if (is_depth || is_stencil) {
pipe->bind_blend_state(pipe, ctx->blend_keep_color);
- pipe->bind_depth_stencil_alpha_state(pipe,
- ctx->dsa_write_depth_keep_stencil);
- pipe->bind_fs_state(pipe,
- blitter_get_fs_texfetch_depth(ctx, src_target));
+
+ if (is_depth && is_stencil) {
+ pipe->bind_depth_stencil_alpha_state(pipe,
+ ctx->dsa_write_depth_stencil);
+ pipe->bind_fs_state(pipe,
+ blitter_get_fs_texfetch_depthstencil(ctx, src_target));
+ } else if (is_depth) {
+ pipe->bind_depth_stencil_alpha_state(pipe,
+ ctx->dsa_write_depth_keep_stencil);
+ pipe->bind_fs_state(pipe,
+ blitter_get_fs_texfetch_depth(ctx, src_target));
+ } else { /* is_stencil */
+ pipe->bind_depth_stencil_alpha_state(pipe,
+ ctx->dsa_keep_depth_write_stencil);
+ pipe->bind_fs_state(pipe,
+ blitter_get_fs_texfetch_stencil(ctx, src_target));
+ }
fb_state.nr_cbufs = 0;
fb_state.zsbuf = dst;
@@ -1017,9 +1072,29 @@ void util_blitter_copy_texture_view(struct blitter_context *blitter,
fb_state.zsbuf = 0;
}
- pipe->bind_fragment_sampler_states(pipe, 1, &ctx->sampler_state);
+ if (is_depth && is_stencil) {
+ /* Setup two samplers, one for depth and the other one for stencil. */
+ struct pipe_sampler_view templ;
+ struct pipe_sampler_view *views[2];
+ void *samplers[2] = {ctx->sampler_state, ctx->sampler_state};
+
+ templ = *src;
+ templ.format = util_format_stencil_only(templ.format);
+ assert(templ.format != PIPE_FORMAT_NONE);
+
+ views[0] = src;
+ views[1] = pipe->create_sampler_view(pipe, src->texture, &templ);
+
+ pipe->set_fragment_sampler_views(pipe, 2, views);
+ pipe->bind_fragment_sampler_states(pipe, 2, samplers);
+
+ pipe_sampler_view_reference(&views[1], NULL);
+ } else {
+ pipe->set_fragment_sampler_views(pipe, 1, &src);
+ pipe->bind_fragment_sampler_states(pipe, 1, &ctx->sampler_state);
+ }
+
pipe->bind_vertex_elements_state(pipe, ctx->velem_state);
- pipe->set_fragment_sampler_views(pipe, 1, &src);
pipe->set_framebuffer_state(pipe, &fb_state);
blitter_set_common_draw_rect_state(ctx);
diff --git a/mesalib/src/gallium/auxiliary/util/u_blitter.h b/mesalib/src/gallium/auxiliary/util/u_blitter.h
index d4d30852b..2db984c8a 100644
--- a/mesalib/src/gallium/auxiliary/util/u_blitter.h
+++ b/mesalib/src/gallium/auxiliary/util/u_blitter.h
@@ -169,8 +169,8 @@ void util_blitter_clear_depth_custom(struct blitter_context *blitter,
* The same holds for depth-stencil formats with the exception that stencil
* cannot be copied unless you set ignore_stencil to FALSE. In that case,
* a software fallback path is taken and both surfaces must be of the same
- * format.
- * XXX implement hw-accel stencil copy using shader stencil export.
+ * format. If the shader stencil export is supported, stencil copy is always
+ * accelerated.
*
* Use pipe_screen->is_format_supported to know your options.
*
diff --git a/mesalib/src/gallium/auxiliary/util/u_format.h b/mesalib/src/gallium/auxiliary/util/u_format.h
index e35e164b4..a718389dd 100644
--- a/mesalib/src/gallium/auxiliary/util/u_format.h
+++ b/mesalib/src/gallium/auxiliary/util/u_format.h
@@ -882,6 +882,35 @@ util_format_linear(enum pipe_format format)
}
/**
+ * Given a depth-stencil format, return the corresponding stencil-only format.
+ * For stencil-only formats, return the format unchanged.
+ */
+static INLINE enum pipe_format
+util_format_stencil_only(enum pipe_format format)
+{
+ switch (format) {
+ /* mask out the depth component */
+ case PIPE_FORMAT_Z24_UNORM_S8_UINT:
+ return PIPE_FORMAT_X24S8_UINT;
+ case PIPE_FORMAT_S8_UINT_Z24_UNORM:
+ return PIPE_FORMAT_S8X24_UINT;
+ case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
+ return PIPE_FORMAT_X32_S8X24_UINT;
+
+ /* stencil only formats */
+ case PIPE_FORMAT_X24S8_UINT:
+ case PIPE_FORMAT_S8X24_UINT:
+ case PIPE_FORMAT_X32_S8X24_UINT:
+ case PIPE_FORMAT_S8_UINT:
+ return format;
+
+ default:
+ assert(0);
+ return PIPE_FORMAT_NONE;
+ }
+}
+
+/**
* Return the number of components stored.
* Formats with block size != 1x1 will always have 1 component (the block).
*/
diff --git a/mesalib/src/gallium/auxiliary/util/u_gen_mipmap.c b/mesalib/src/gallium/auxiliary/util/u_gen_mipmap.c
index 2ff1af70a..a96cf6a30 100644
--- a/mesalib/src/gallium/auxiliary/util/u_gen_mipmap.c
+++ b/mesalib/src/gallium/auxiliary/util/u_gen_mipmap.c
@@ -59,14 +59,17 @@ struct gen_mipmap_state
struct pipe_context *pipe;
struct cso_context *cso;
- struct pipe_blend_state blend;
- struct pipe_depth_stencil_alpha_state depthstencil;
+ struct pipe_blend_state blend_keep_color, blend_write_color;
+ struct pipe_depth_stencil_alpha_state dsa_keep_depth, dsa_write_depth;
struct pipe_rasterizer_state rasterizer;
struct pipe_sampler_state sampler;
struct pipe_vertex_element velem[2];
void *vs;
- void *fs[TGSI_TEXTURE_COUNT]; /**< Not all are used, but simplifies code */
+
+ /** Not all are used, but simplifies code */
+ void *fs_color[TGSI_TEXTURE_COUNT];
+ void *fs_depth[TGSI_TEXTURE_COUNT];
struct pipe_resource *vbuf; /**< quad vertices */
unsigned vbuf_slot;
@@ -1272,11 +1275,16 @@ util_create_gen_mipmap(struct pipe_context *pipe,
ctx->cso = cso;
/* disabled blending/masking */
- memset(&ctx->blend, 0, sizeof(ctx->blend));
- ctx->blend.rt[0].colormask = PIPE_MASK_RGBA;
+ memset(&ctx->blend_keep_color, 0, sizeof(ctx->blend_keep_color));
+ memset(&ctx->blend_write_color, 0, sizeof(ctx->blend_write_color));
+ ctx->blend_write_color.rt[0].colormask = PIPE_MASK_RGBA;
/* no-op depth/stencil/alpha */
- memset(&ctx->depthstencil, 0, sizeof(ctx->depthstencil));
+ memset(&ctx->dsa_keep_depth, 0, sizeof(ctx->dsa_keep_depth));
+ memset(&ctx->dsa_write_depth, 0, sizeof(ctx->dsa_write_depth));
+ ctx->dsa_write_depth.depth.enabled = 1;
+ ctx->dsa_write_depth.depth.func = PIPE_FUNC_ALWAYS;
+ ctx->dsa_write_depth.depth.writemask = 1;
/* rasterizer */
memset(&ctx->rasterizer, 0, sizeof(ctx->rasterizer));
@@ -1318,14 +1326,25 @@ util_create_gen_mipmap(struct pipe_context *pipe,
* Helper function to set the fragment shaders.
*/
static INLINE void
-set_fragment_shader(struct gen_mipmap_state *ctx, uint type)
+set_fragment_shader(struct gen_mipmap_state *ctx, uint type,
+ boolean output_depth)
{
- if (!ctx->fs[type])
- ctx->fs[type] =
- util_make_fragment_tex_shader(ctx->pipe, type,
- TGSI_INTERPOLATE_LINEAR);
+ if (output_depth) {
+ if (!ctx->fs_depth[type])
+ ctx->fs_depth[type] =
+ util_make_fragment_tex_shader_writedepth(ctx->pipe, type,
+ TGSI_INTERPOLATE_LINEAR);
- cso_set_fragment_shader_handle(ctx->cso, ctx->fs[type]);
+ cso_set_fragment_shader_handle(ctx->cso, ctx->fs_depth[type]);
+ }
+ else {
+ if (!ctx->fs_color[type])
+ ctx->fs_color[type] =
+ util_make_fragment_tex_shader(ctx->pipe, type,
+ TGSI_INTERPOLATE_LINEAR);
+
+ cso_set_fragment_shader_handle(ctx->cso, ctx->fs_color[type]);
+ }
}
@@ -1464,9 +1483,13 @@ util_destroy_gen_mipmap(struct gen_mipmap_state *ctx)
struct pipe_context *pipe = ctx->pipe;
unsigned i;
- for (i = 0; i < Elements(ctx->fs); i++)
- if (ctx->fs[i])
- pipe->delete_fs_state(pipe, ctx->fs[i]);
+ for (i = 0; i < Elements(ctx->fs_color); i++)
+ if (ctx->fs_color[i])
+ pipe->delete_fs_state(pipe, ctx->fs_color[i]);
+
+ for (i = 0; i < Elements(ctx->fs_depth); i++)
+ if (ctx->fs_depth[i])
+ pipe->delete_fs_state(pipe, ctx->fs_depth[i]);
if (ctx->vs)
pipe->delete_vs_state(pipe, ctx->vs);
@@ -1500,6 +1523,7 @@ util_gen_mipmap(struct gen_mipmap_state *ctx,
uint dstLevel;
uint offset;
uint type;
+ boolean is_depth = util_format_is_depth_or_stencil(psv->format);
/* The texture object should have room for the levels which we're
* about to generate.
@@ -1538,7 +1562,9 @@ util_gen_mipmap(struct gen_mipmap_state *ctx,
/* check if we can render in the texture's format */
if (!screen->is_format_supported(screen, psv->format, pt->target,
- pt->nr_samples, PIPE_BIND_RENDER_TARGET)) {
+ pt->nr_samples,
+ is_depth ? PIPE_BIND_DEPTH_STENCIL :
+ PIPE_BIND_RENDER_TARGET)) {
fallback_gen_mipmap(ctx, pt, face, baseLevel, lastLevel);
return;
}
@@ -1559,28 +1585,25 @@ util_gen_mipmap(struct gen_mipmap_state *ctx,
cso_save_vertex_buffers(ctx->cso);
/* bind our state */
- cso_set_blend(ctx->cso, &ctx->blend);
- cso_set_depth_stencil_alpha(ctx->cso, &ctx->depthstencil);
+ cso_set_blend(ctx->cso, is_depth ? &ctx->blend_keep_color :
+ &ctx->blend_write_color);
+ cso_set_depth_stencil_alpha(ctx->cso, is_depth ? &ctx->dsa_write_depth :
+ &ctx->dsa_keep_depth);
cso_set_rasterizer(ctx->cso, &ctx->rasterizer);
cso_set_vertex_elements(ctx->cso, 2, ctx->velem);
cso_set_stream_outputs(ctx->cso, 0, NULL, 0);
- set_fragment_shader(ctx, type);
+ set_fragment_shader(ctx, type, is_depth);
set_vertex_shader(ctx);
cso_set_geometry_shader_handle(ctx->cso, NULL);
/* init framebuffer state */
memset(&fb, 0, sizeof(fb));
- fb.nr_cbufs = 1;
/* set min/mag to same filter for faster sw speed */
ctx->sampler.mag_img_filter = filter;
ctx->sampler.min_img_filter = filter;
- /*
- * XXX for small mipmap levels, it may be faster to use the software
- * fallback path...
- */
for (dstLevel = baseLevel + 1; dstLevel <= lastLevel; dstLevel++) {
const uint srcLevel = dstLevel - 1;
struct pipe_viewport_state vp;
@@ -1609,7 +1632,9 @@ util_gen_mipmap(struct gen_mipmap_state *ctx,
layer = face;
memset(&surf_templ, 0, sizeof(surf_templ));
- u_surface_default_template(&surf_templ, pt, PIPE_BIND_RENDER_TARGET);
+ u_surface_default_template(&surf_templ, pt,
+ is_depth ? PIPE_BIND_DEPTH_STENCIL :
+ PIPE_BIND_RENDER_TARGET);
surf_templ.u.tex.level = dstLevel;
surf_templ.u.tex.first_layer = layer;
surf_templ.u.tex.last_layer = layer;
@@ -1618,7 +1643,14 @@ util_gen_mipmap(struct gen_mipmap_state *ctx,
/*
* Setup framebuffer / dest surface
*/
- fb.cbufs[0] = surf;
+ if (is_depth) {
+ fb.nr_cbufs = 0;
+ fb.zsbuf = surf;
+ }
+ else {
+ fb.nr_cbufs = 1;
+ fb.cbufs[0] = surf;
+ }
fb.width = u_minify(pt->width0, dstLevel);
fb.height = u_minify(pt->height0, dstLevel);
cso_set_framebuffer(ctx->cso, &fb);
diff --git a/mesalib/src/gallium/auxiliary/util/u_inlines.h b/mesalib/src/gallium/auxiliary/util/u_inlines.h
index 2ec153c58..2d603e4dd 100644
--- a/mesalib/src/gallium/auxiliary/util/u_inlines.h
+++ b/mesalib/src/gallium/auxiliary/util/u_inlines.h
@@ -30,6 +30,7 @@
#include "pipe/p_context.h"
#include "pipe/p_defines.h"
+#include "pipe/p_shader_tokens.h"
#include "pipe/p_state.h"
#include "pipe/p_screen.h"
#include "util/u_debug.h"
@@ -545,6 +546,31 @@ util_query_clear_result(union pipe_query_result *result, unsigned type)
}
}
+/** Convert PIPE_TEXTURE_x to TGSI_TEXTURE_x */
+static INLINE unsigned
+util_pipe_tex_to_tgsi_tex(enum pipe_texture_target pipe_tex_target)
+{
+ switch (pipe_tex_target) {
+ case PIPE_TEXTURE_1D:
+ return TGSI_TEXTURE_1D;
+ case PIPE_TEXTURE_2D:
+ return TGSI_TEXTURE_2D;
+ case PIPE_TEXTURE_RECT:
+ return TGSI_TEXTURE_RECT;
+ case PIPE_TEXTURE_3D:
+ return TGSI_TEXTURE_3D;
+ case PIPE_TEXTURE_CUBE:
+ return TGSI_TEXTURE_CUBE;
+ case PIPE_TEXTURE_1D_ARRAY:
+ return TGSI_TEXTURE_1D_ARRAY;
+ case PIPE_TEXTURE_2D_ARRAY:
+ return TGSI_TEXTURE_2D_ARRAY;
+ default:
+ assert(0 && "unexpected texture target");
+ return TGSI_TEXTURE_UNKNOWN;
+ }
+}
+
#ifdef __cplusplus
}
#endif
diff --git a/mesalib/src/gallium/auxiliary/util/u_simple_shaders.c b/mesalib/src/gallium/auxiliary/util/u_simple_shaders.c
index 320c0f7a8..3476b6ce0 100644
--- a/mesalib/src/gallium/auxiliary/util/u_simple_shaders.c
+++ b/mesalib/src/gallium/auxiliary/util/u_simple_shaders.c
@@ -211,6 +211,106 @@ util_make_fragment_tex_shader_writedepth(struct pipe_context *pipe,
/**
+ * Make a simple fragment texture shader which reads the texture unit 0 and 1
+ * and writes it as depth and stencil, respectively.
+ */
+void *
+util_make_fragment_tex_shader_writedepthstencil(struct pipe_context *pipe,
+ unsigned tex_target,
+ unsigned interp_mode)
+{
+ struct ureg_program *ureg;
+ struct ureg_src depth_sampler, stencil_sampler;
+ struct ureg_src tex;
+ struct ureg_dst out, depth, stencil;
+ struct ureg_src imm;
+
+ ureg = ureg_create( TGSI_PROCESSOR_FRAGMENT );
+ if (ureg == NULL)
+ return NULL;
+
+ depth_sampler = ureg_DECL_sampler( ureg, 0 );
+ stencil_sampler = ureg_DECL_sampler( ureg, 1 );
+
+ tex = ureg_DECL_fs_input( ureg,
+ TGSI_SEMANTIC_GENERIC, 0,
+ interp_mode );
+
+ out = ureg_DECL_output( ureg,
+ TGSI_SEMANTIC_COLOR,
+ 0 );
+
+ depth = ureg_DECL_output( ureg,
+ TGSI_SEMANTIC_POSITION,
+ 0 );
+
+ stencil = ureg_DECL_output( ureg,
+ TGSI_SEMANTIC_STENCIL,
+ 0 );
+
+ imm = ureg_imm4f( ureg, 0, 0, 0, 1 );
+
+ ureg_MOV( ureg, out, imm );
+
+ ureg_TEX( ureg,
+ ureg_writemask(depth, TGSI_WRITEMASK_Z),
+ tex_target, tex, depth_sampler );
+ ureg_TEX( ureg,
+ ureg_writemask(stencil, TGSI_WRITEMASK_Y),
+ tex_target, tex, stencil_sampler );
+ ureg_END( ureg );
+
+ return ureg_create_shader_and_destroy( ureg, pipe );
+}
+
+
+/**
+ * Make a simple fragment texture shader which reads a texture and writes it
+ * as stencil.
+ */
+void *
+util_make_fragment_tex_shader_writestencil(struct pipe_context *pipe,
+ unsigned tex_target,
+ unsigned interp_mode)
+{
+ struct ureg_program *ureg;
+ struct ureg_src stencil_sampler;
+ struct ureg_src tex;
+ struct ureg_dst out, stencil;
+ struct ureg_src imm;
+
+ ureg = ureg_create( TGSI_PROCESSOR_FRAGMENT );
+ if (ureg == NULL)
+ return NULL;
+
+ stencil_sampler = ureg_DECL_sampler( ureg, 0 );
+
+ tex = ureg_DECL_fs_input( ureg,
+ TGSI_SEMANTIC_GENERIC, 0,
+ interp_mode );
+
+ out = ureg_DECL_output( ureg,
+ TGSI_SEMANTIC_COLOR,
+ 0 );
+
+ stencil = ureg_DECL_output( ureg,
+ TGSI_SEMANTIC_STENCIL,
+ 0 );
+
+ imm = ureg_imm4f( ureg, 0, 0, 0, 1 );
+
+ ureg_MOV( ureg, out, imm );
+
+ ureg_TEX( ureg,
+ ureg_writemask(stencil, TGSI_WRITEMASK_Y),
+ tex_target, tex, stencil_sampler );
+ ureg_END( ureg );
+
+ return ureg_create_shader_and_destroy( ureg, pipe );
+}
+
+
+/**
* Make simple fragment color pass-through shader.
*/
void *
diff --git a/mesalib/src/gallium/auxiliary/util/u_simple_shaders.h b/mesalib/src/gallium/auxiliary/util/u_simple_shaders.h
index 5f31b72c4..0764998a3 100644
--- a/mesalib/src/gallium/auxiliary/util/u_simple_shaders.h
+++ b/mesalib/src/gallium/auxiliary/util/u_simple_shaders.h
@@ -75,6 +75,18 @@ util_make_fragment_tex_shader_writedepth(struct pipe_context *pipe,
extern void *
+util_make_fragment_tex_shader_writedepthstencil(struct pipe_context *pipe,
+ unsigned tex_target,
+ unsigned interp_mode);
+
+
+extern void *
+util_make_fragment_tex_shader_writestencil(struct pipe_context *pipe,
+ unsigned tex_target,
+ unsigned interp_mode);
+
+
+extern void *
util_make_fragment_passthrough_shader(struct pipe_context *pipe);
diff --git a/mesalib/src/glsl/ir.h b/mesalib/src/glsl/ir.h
index b54e2f2e0..9bbf3b7ef 100644
--- a/mesalib/src/glsl/ir.h
+++ b/mesalib/src/glsl/ir.h
@@ -1341,7 +1341,8 @@ enum ir_texture_opcode {
class ir_texture : public ir_rvalue {
public:
ir_texture(enum ir_texture_opcode op)
- : op(op), projector(NULL), shadow_comparitor(NULL), offset(NULL)
+ : op(op), coordinate(NULL), projector(NULL), shadow_comparitor(NULL),
+ offset(NULL)
{
this->ir_type = ir_type_texture;
}
diff --git a/mesalib/src/glsl/ir_builder.cpp b/mesalib/src/glsl/ir_builder.cpp
index 9a16c90e5..d96e25c18 100644
--- a/mesalib/src/glsl/ir_builder.cpp
+++ b/mesalib/src/glsl/ir_builder.cpp
@@ -77,6 +77,21 @@ swizzle(operand a, int swizzle, int components)
}
ir_swizzle *
+swizzle_for_size(operand a, int components)
+{
+ void *mem_ctx = ralloc_parent(a.val);
+
+ if (a.val->type->vector_elements < components)
+ components = a.val->type->vector_elements;
+
+ unsigned s[4] = { 0, 1, 2, 3 };
+ for (int i = components; i < 4; i++)
+ s[i] = components - 1;
+
+ return new(mem_ctx) ir_swizzle(a.val, s, components);
+}
+
+ir_swizzle *
swizzle_xxxx(operand a)
{
return swizzle(a, SWIZZLE_XXXX, 4);
@@ -143,6 +158,14 @@ swizzle_xyzw(operand a)
}
ir_expression *
+expr(ir_expression_operation op, operand a)
+{
+ void *mem_ctx = ralloc_parent(a.val);
+
+ return new(mem_ctx) ir_expression(op, a.val);
+}
+
+ir_expression *
expr(ir_expression_operation op, operand a, operand b)
{
void *mem_ctx = ralloc_parent(a.val);
diff --git a/mesalib/src/glsl/ir_builder.h b/mesalib/src/glsl/ir_builder.h
index 0ebcbab95..7a0a196ee 100644
--- a/mesalib/src/glsl/ir_builder.h
+++ b/mesalib/src/glsl/ir_builder.h
@@ -83,6 +83,7 @@ public:
ir_assignment *assign(deref lhs, operand rhs);
ir_assignment *assign(deref lhs, operand rhs, int writemask);
+ir_expression *expr(ir_expression_operation op, operand a);
ir_expression *expr(ir_expression_operation op, operand a, operand b);
ir_expression *add(operand a, operand b);
ir_expression *sub(operand a, operand b);
@@ -90,6 +91,11 @@ ir_expression *mul(operand a, operand b);
ir_expression *dot(operand a, operand b);
ir_expression *saturate(operand a);
+/**
+ * Swizzle away later components, but preserve the ordering.
+ */
+ir_swizzle *swizzle_for_size(operand a, int components);
+
ir_swizzle *swizzle_xxxx(operand a);
ir_swizzle *swizzle_yyyy(operand a);
ir_swizzle *swizzle_zzzz(operand a);
diff --git a/mesalib/src/glsl/linker.cpp b/mesalib/src/glsl/linker.cpp
index 310944752..f06298cf6 100644
--- a/mesalib/src/glsl/linker.cpp
+++ b/mesalib/src/glsl/linker.cpp
@@ -1439,8 +1439,7 @@ public:
bool accumulate_num_outputs(struct gl_shader_program *prog, unsigned *count);
bool store(struct gl_context *ctx, struct gl_shader_program *prog,
struct gl_transform_feedback_info *info, unsigned buffer,
- unsigned varying, const unsigned max_outputs) const;
-
+ const unsigned max_outputs) const;
/**
* True if assign_location() has been called for this object.
@@ -1450,6 +1449,16 @@ public:
return this->location != -1;
}
+ bool is_next_buffer_separator() const
+ {
+ return this->next_buffer_separator;
+ }
+
+ bool is_varying() const
+ {
+ return !this->next_buffer_separator && !this->skip_components;
+ }
+
/**
* Determine whether this object refers to the variable var.
*/
@@ -1527,6 +1536,17 @@ private:
* glGetTransformFeedbackVarying().
*/
unsigned size;
+
+ /**
+ * How many components to skip. If non-zero, this is
+ * gl_SkipComponents{1,2,3,4} from ARB_transform_feedback3.
+ */
+ unsigned skip_components;
+
+ /**
+ * Whether this is gl_NextBuffer from ARB_transform_feedback3.
+ */
+ bool next_buffer_separator;
};
@@ -1546,7 +1566,31 @@ tfeedback_decl::init(struct gl_context *ctx, struct gl_shader_program *prog,
this->location = -1;
this->orig_name = input;
this->is_clip_distance_mesa = false;
+ this->skip_components = 0;
+ this->next_buffer_separator = false;
+ if (ctx->Extensions.ARB_transform_feedback3) {
+ /* Parse gl_NextBuffer. */
+ if (strcmp(input, "gl_NextBuffer") == 0) {
+ this->next_buffer_separator = true;
+ return true;
+ }
+
+ /* Parse gl_SkipComponents. */
+ if (strcmp(input, "gl_SkipComponents1") == 0)
+ this->skip_components = 1;
+ else if (strcmp(input, "gl_SkipComponents2") == 0)
+ this->skip_components = 2;
+ else if (strcmp(input, "gl_SkipComponents3") == 0)
+ this->skip_components = 3;
+ else if (strcmp(input, "gl_SkipComponents4") == 0)
+ this->skip_components = 4;
+
+ if (this->skip_components)
+ return true;
+ }
+
+ /* Parse a declaration. */
const char *bracket = strrchr(input, '[');
if (bracket) {
@@ -1581,6 +1625,8 @@ tfeedback_decl::init(struct gl_context *ctx, struct gl_shader_program *prog,
bool
tfeedback_decl::is_same(const tfeedback_decl &x, const tfeedback_decl &y)
{
+ assert(x.is_varying() && y.is_varying());
+
if (strcmp(x.var_name, y.var_name) != 0)
return false;
if (x.is_subscripted != y.is_subscripted)
@@ -1603,6 +1649,8 @@ tfeedback_decl::assign_location(struct gl_context *ctx,
struct gl_shader_program *prog,
ir_variable *output_var)
{
+ assert(this->is_varying());
+
if (output_var->type->is_array()) {
/* Array variable */
const unsigned matrix_cols =
@@ -1677,6 +1725,10 @@ bool
tfeedback_decl::accumulate_num_outputs(struct gl_shader_program *prog,
unsigned *count)
{
+ if (!this->is_varying()) {
+ return true;
+ }
+
if (!this->is_assigned()) {
/* From GL_EXT_transform_feedback:
* A program will fail to link if:
@@ -1709,9 +1761,16 @@ tfeedback_decl::accumulate_num_outputs(struct gl_shader_program *prog,
bool
tfeedback_decl::store(struct gl_context *ctx, struct gl_shader_program *prog,
struct gl_transform_feedback_info *info,
- unsigned buffer,
- unsigned varying, const unsigned max_outputs) const
+ unsigned buffer, const unsigned max_outputs) const
{
+ assert(!this->next_buffer_separator);
+
+ /* Handle gl_SkipComponents. */
+ if (this->skip_components) {
+ info->BufferStride[buffer] += this->skip_components;
+ return true;
+ }
+
/* From GL_EXT_transform_feedback:
* A program will fail to link if:
*
@@ -1757,9 +1816,9 @@ tfeedback_decl::store(struct gl_context *ctx, struct gl_shader_program *prog,
}
assert(components_so_far == this->num_components());
- info->Varyings[varying].Name = ralloc_strdup(prog, this->orig_name);
- info->Varyings[varying].Type = this->type;
- info->Varyings[varying].Size = this->size;
+ info->Varyings[info->NumVarying].Name = ralloc_strdup(prog, this->orig_name);
+ info->Varyings[info->NumVarying].Type = this->type;
+ info->Varyings[info->NumVarying].Size = this->size;
info->NumVarying++;
return true;
@@ -1781,6 +1840,10 @@ parse_tfeedback_decls(struct gl_context *ctx, struct gl_shader_program *prog,
for (unsigned i = 0; i < num_names; ++i) {
if (!decls[i].init(ctx, prog, mem_ctx, varying_names[i]))
return false;
+
+ if (!decls[i].is_varying())
+ continue;
+
/* From GL_EXT_transform_feedback:
* A program will fail to link if:
*
@@ -1792,6 +1855,9 @@ parse_tfeedback_decls(struct gl_context *ctx, struct gl_shader_program *prog,
* feedback of arrays would be useless otherwise.
*/
for (unsigned j = 0; j < i; ++j) {
+ if (!decls[j].is_varying())
+ continue;
+
if (tfeedback_decl::is_same(decls[i], decls[j])) {
linker_error(prog, "Transform feedback varying %s specified "
"more than once.", varying_names[i]);
@@ -1948,6 +2014,9 @@ assign_varying_locations(struct gl_context *ctx,
}
for (unsigned i = 0; i < num_tfeedback_decls; ++i) {
+ if (!tfeedback_decls[i].is_varying())
+ continue;
+
if (!tfeedback_decls[i].is_assigned() &&
tfeedback_decls[i].matches_var(output_var)) {
if (output_var->location == -1) {
@@ -2059,9 +2128,6 @@ store_tfeedback_info(struct gl_context *ctx, struct gl_shader_program *prog,
memset(&prog->LinkedTransformFeedback, 0,
sizeof(prog->LinkedTransformFeedback));
- prog->LinkedTransformFeedback.NumBuffers =
- separate_attribs_mode ? num_tfeedback_decls : 1;
-
prog->LinkedTransformFeedback.Varyings =
rzalloc_array(prog,
struct gl_transform_feedback_varying_info,
@@ -2077,14 +2143,37 @@ store_tfeedback_info(struct gl_context *ctx, struct gl_shader_program *prog,
struct gl_transform_feedback_output,
num_outputs);
- for (unsigned i = 0; i < num_tfeedback_decls; ++i) {
- unsigned buffer = separate_attribs_mode ? i : 0;
- if (!tfeedback_decls[i].store(ctx, prog, &prog->LinkedTransformFeedback,
- buffer, i, num_outputs))
- return false;
+ unsigned num_buffers = 0;
+
+ if (separate_attribs_mode) {
+ /* GL_SEPARATE_ATTRIBS */
+ for (unsigned i = 0; i < num_tfeedback_decls; ++i) {
+ if (!tfeedback_decls[i].store(ctx, prog, &prog->LinkedTransformFeedback,
+ num_buffers, num_outputs))
+ return false;
+
+ num_buffers++;
+ }
+ }
+ else {
+ /* GL_INVERLEAVED_ATTRIBS */
+ for (unsigned i = 0; i < num_tfeedback_decls; ++i) {
+ if (tfeedback_decls[i].is_next_buffer_separator()) {
+ num_buffers++;
+ continue;
+ }
+
+ if (!tfeedback_decls[i].store(ctx, prog,
+ &prog->LinkedTransformFeedback,
+ num_buffers, num_outputs))
+ return false;
+ }
+ num_buffers++;
}
+
assert(prog->LinkedTransformFeedback.NumOutputs == num_outputs);
+ prog->LinkedTransformFeedback.NumBuffers = num_buffers;
return true;
}
diff --git a/mesalib/src/mapi/glapi/gen/gl_API.xml b/mesalib/src/mapi/glapi/gen/gl_API.xml
index 01460b49b..8bdc47908 100644
--- a/mesalib/src/mapi/glapi/gen/gl_API.xml
+++ b/mesalib/src/mapi/glapi/gen/gl_API.xml
@@ -8005,7 +8005,36 @@
<xi:include href="ARB_vertex_type_2_10_10_10_rev.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-<!-- ARB extensions #86...#94 -->
+<!-- ARB extensions #86...#93 -->
+
+<category name="GL_ARB_transform_feedback3" number="94">
+ <enum name="MAX_TRANSFORM_FEEDBACK_BUFFERS" value="0x8E70"/>
+ <enum name="MAX_VERTEX_STREAMS" value="0x8E71"/>
+
+ <function name="DrawTransformFeedbackStream" offset="assign">
+ <param name="mode" type="GLenum"/>
+ <param name="id" type="GLuint"/>
+ <param name="stream" type="GLuint"/>
+ </function>
+
+ <function name="BeginQueryIndexed" offset="assign">
+ <param name="target" type="GLenum"/>
+ <param name="index" type="GLuint"/>
+ <param name="id" type="GLuint"/>
+ </function>
+
+ <function name="EndQueryIndexed" offset="assign">
+ <param name="target" type="GLenum"/>
+ <param name="index" type="GLuint"/>
+ </function>
+
+ <function name="GetQueryIndexediv" offset="assign">
+ <param name="target" type="GLenum"/>
+ <param name="index" type="GLuint"/>
+ <param name="pname" type="GLenum"/>
+ <param name="params" type="GLint *"/>
+ </function>
+</category>
<xi:include href="ARB_ES2_compatibility.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
@@ -8015,7 +8044,24 @@
<xi:include href="ARB_robustness.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-<!-- ARB extensions #106...#116 -->
+<!-- ARB extensions #106...#108 -->
+
+<category name="GL_ARB_transform_feedback_instanced" number="109">
+ <function name="DrawTransformFeedbackInstanced" offset="assign">
+ <param name="mode" type="GLenum"/>
+ <param name="id" type="GLuint"/>
+ <param name="primcount" type="GLsizei"/>
+ </function>
+
+ <function name="DrawTransformFeedbackStreamInstanced" offset="assign">
+ <param name="mode" type="GLenum"/>
+ <param name="id" type="GLuint"/>
+ <param name="stream" type="GLuint"/>
+ <param name="primcount" type="GLsizei"/>
+ </function>
+</category>
+
+<!-- ARB extensions #110...#116 -->
<xi:include href="ARB_base_instance.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
diff --git a/mesalib/src/mesa/main/api_validate.c b/mesalib/src/mesa/main/api_validate.c
index cf6aaf0c6..ece0a2b4a 100644
--- a/mesalib/src/mesa/main/api_validate.c
+++ b/mesalib/src/mesa/main/api_validate.c
@@ -593,26 +593,42 @@ _mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
GLboolean
_mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
GLenum mode,
- struct gl_transform_feedback_object *obj)
+ struct gl_transform_feedback_object *obj,
+ GLuint stream,
+ GLsizei numInstances)
{
ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);
FLUSH_CURRENT(ctx, 0);
- if (!_mesa_valid_prim_mode(ctx, mode, "glDrawTransformFeedback")) {
+ if (!_mesa_valid_prim_mode(ctx, mode, "glDrawTransformFeedback*(mode)")) {
return GL_FALSE;
}
if (!obj) {
- _mesa_error(ctx, GL_INVALID_VALUE, "glDrawTransformFeedback(name)");
+ _mesa_error(ctx, GL_INVALID_VALUE, "glDrawTransformFeedback*(name)");
return GL_FALSE;
}
if (!obj->EndedAnytime) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawTransformFeedback");
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawTransformFeedback*");
return GL_FALSE;
}
- if (!check_valid_to_render(ctx, "glDrawTransformFeedback")) {
+ if (stream >= ctx->Const.MaxVertexStreams) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glDrawTransformFeedbackStream*(index>=MaxVertexStream)");
+ return GL_FALSE;
+ }
+
+ if (numInstances <= 0) {
+ if (numInstances < 0)
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glDrawTransformFeedback*Instanced(numInstances=%d)",
+ numInstances);
+ return GL_FALSE;
+ }
+
+ if (!check_valid_to_render(ctx, "glDrawTransformFeedback*")) {
return GL_FALSE;
}
diff --git a/mesalib/src/mesa/main/api_validate.h b/mesalib/src/mesa/main/api_validate.h
index 59f329768..8dc8df4b2 100644
--- a/mesalib/src/mesa/main/api_validate.h
+++ b/mesalib/src/mesa/main/api_validate.h
@@ -83,7 +83,9 @@ _mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
extern GLboolean
_mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
GLenum mode,
- struct gl_transform_feedback_object *obj);
+ struct gl_transform_feedback_object *obj,
+ GLuint stream,
+ GLsizei numInstances);
#endif
diff --git a/mesalib/src/mesa/main/context.c b/mesalib/src/mesa/main/context.c
index 7de714b81..d5ccce076 100644
--- a/mesalib/src/mesa/main/context.c
+++ b/mesalib/src/mesa/main/context.c
@@ -655,6 +655,7 @@ _mesa_init_constants(struct gl_context *ctx)
ctx->Const.MaxTransformFeedbackBuffers = MAX_FEEDBACK_BUFFERS;
ctx->Const.MaxTransformFeedbackSeparateComponents = 4 * MAX_FEEDBACK_ATTRIBS;
ctx->Const.MaxTransformFeedbackInterleavedComponents = 4 * MAX_FEEDBACK_ATTRIBS;
+ ctx->Const.MaxVertexStreams = 1;
/** GL_ARB_uniform_buffer_object */
ctx->Const.MaxCombinedUniformBlocks = 36;
diff --git a/mesalib/src/mesa/main/dd.h b/mesalib/src/mesa/main/dd.h
index c8a765f47..e60d019bb 100644
--- a/mesalib/src/mesa/main/dd.h
+++ b/mesalib/src/mesa/main/dd.h
@@ -1052,6 +1052,14 @@ typedef struct {
GLsizei primcount, GLint basevertex,
GLuint baseinstance);
void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint name);
+ void (GLAPIENTRYP DrawTransformFeedbackStream)(GLenum mode, GLuint name,
+ GLuint stream);
+ void (GLAPIENTRYP DrawTransformFeedbackInstanced)(GLenum mode, GLuint name,
+ GLsizei primcount);
+ void (GLAPIENTRYP DrawTransformFeedbackStreamInstanced)(GLenum mode,
+ GLuint name,
+ GLuint stream,
+ GLsizei primcount);
/*@}*/
/**
diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c
index a827d132d..40961b15c 100644
--- a/mesalib/src/mesa/main/dlist.c
+++ b/mesalib/src/mesa/main/dlist.c
@@ -472,6 +472,15 @@ typedef enum
/* ARB_timer_query */
OPCODE_QUERY_COUNTER,
+ /* ARB_transform_feedback3 */
+ OPCODE_BEGIN_QUERY_INDEXED,
+ OPCODE_END_QUERY_INDEXED,
+ OPCODE_DRAW_TRANSFORM_FEEDBACK_STREAM,
+
+ /* ARB_transform_feedback_instanced */
+ OPCODE_DRAW_TRANSFORM_FEEDBACK_INSTANCED,
+ OPCODE_DRAW_TRANSFORM_FEEDBACK_STREAM_INSTANCED,
+
/* The following three are meta instructions */
OPCODE_ERROR, /* raise compiled-in error */
OPCODE_CONTINUE,
@@ -504,6 +513,7 @@ union gl_dlist_node
GLuint ui;
GLenum e;
GLfloat f;
+ GLsizei si;
GLvoid *data;
void *next; /* If prev node's opcode==OPCODE_CONTINUE */
};
@@ -5338,7 +5348,6 @@ save_BeginQueryARB(GLenum target, GLuint id)
}
}
-
static void GLAPIENTRY
save_EndQueryARB(GLenum target)
{
@@ -5354,7 +5363,6 @@ save_EndQueryARB(GLenum target)
}
}
-
static void GLAPIENTRY
save_QueryCounter(GLuint id, GLenum target)
{
@@ -5371,6 +5379,39 @@ save_QueryCounter(GLuint id, GLenum target)
}
}
+static void GLAPIENTRY
+save_BeginQueryIndexed(GLenum target, GLuint index, GLuint id)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_BEGIN_QUERY_INDEXED, 3);
+ if (n) {
+ n[1].e = target;
+ n[2].ui = index;
+ n[3].ui = id;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_BeginQueryIndexed(ctx->Exec, (target, index, id));
+ }
+}
+
+static void GLAPIENTRY
+save_EndQueryIndexed(GLenum target, GLuint index)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_END_QUERY_INDEXED, 2);
+ if (n) {
+ n[1].e = target;
+ n[2].ui = index;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_EndQueryIndexed(ctx->Exec, (target, index));
+ }
+}
+
#endif /* FEATURE_queryobj */
@@ -6441,6 +6482,60 @@ save_DrawTransformFeedback(GLenum mode, GLuint name)
}
}
+static void GLAPIENTRY
+save_DrawTransformFeedbackStream(GLenum mode, GLuint name, GLuint stream)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK_STREAM, 3);
+ if (n) {
+ n[1].e = mode;
+ n[2].ui = name;
+ n[3].ui = stream;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_DrawTransformFeedbackStream(ctx->Exec, (mode, name, stream));
+ }
+}
+
+static void GLAPIENTRY
+save_DrawTransformFeedbackInstanced(GLenum mode, GLuint name,
+ GLsizei primcount)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK_INSTANCED, 3);
+ if (n) {
+ n[1].e = mode;
+ n[2].ui = name;
+ n[3].si = primcount;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_DrawTransformFeedbackInstanced(ctx->Exec, (mode, name, primcount));
+ }
+}
+
+static void GLAPIENTRY
+save_DrawTransformFeedbackStreamInstanced(GLenum mode, GLuint name,
+ GLuint stream, GLsizei primcount)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK_STREAM_INSTANCED, 4);
+ if (n) {
+ n[1].e = mode;
+ n[2].ui = name;
+ n[3].ui = stream;
+ n[4].si = primcount;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_DrawTransformFeedbackStreamInstanced(ctx->Exec, (mode, name, stream,
+ primcount));
+ }
+}
/* aka UseProgram() */
static void GLAPIENTRY
@@ -8368,6 +8463,12 @@ execute_list(struct gl_context *ctx, GLuint list)
case OPCODE_QUERY_COUNTER:
CALL_QueryCounter(ctx->Exec, (n[1].ui, n[2].e));
break;
+ case OPCODE_BEGIN_QUERY_INDEXED:
+ CALL_BeginQueryIndexed(ctx->Exec, (n[1].e, n[2].ui, n[3].ui));
+ break;
+ case OPCODE_END_QUERY_INDEXED:
+ CALL_EndQueryIndexed(ctx->Exec, (n[1].e, n[2].ui));
+ break;
#endif
case OPCODE_DRAW_BUFFERS_ARB:
{
@@ -8686,6 +8787,18 @@ execute_list(struct gl_context *ctx, GLuint list)
case OPCODE_DRAW_TRANSFORM_FEEDBACK:
CALL_DrawTransformFeedback(ctx->Exec, (n[1].e, n[2].ui));
break;
+ case OPCODE_DRAW_TRANSFORM_FEEDBACK_STREAM:
+ CALL_DrawTransformFeedbackStream(ctx->Exec,
+ (n[1].e, n[2].ui, n[3].ui));
+ break;
+ case OPCODE_DRAW_TRANSFORM_FEEDBACK_INSTANCED:
+ CALL_DrawTransformFeedbackInstanced(ctx->Exec,
+ (n[1].e, n[2].ui, n[3].si));
+ break;
+ case OPCODE_DRAW_TRANSFORM_FEEDBACK_STREAM_INSTANCED:
+ CALL_DrawTransformFeedbackStreamInstanced(ctx->Exec,
+ (n[1].e, n[2].ui, n[3].ui, n[4].si));
+ break;
case OPCODE_BIND_SAMPLER:
@@ -10461,6 +10574,15 @@ _mesa_create_save_table(void)
SET_PauseTransformFeedback(table, save_PauseTransformFeedback);
SET_ResumeTransformFeedback(table, save_ResumeTransformFeedback);
SET_DrawTransformFeedback(table, save_DrawTransformFeedback);
+ SET_DrawTransformFeedbackStream(table, save_DrawTransformFeedbackStream);
+ SET_DrawTransformFeedbackInstanced(table,
+ save_DrawTransformFeedbackInstanced);
+ SET_DrawTransformFeedbackStreamInstanced(table,
+ save_DrawTransformFeedbackStreamInstanced);
+#if FEATURE_queryobj
+ SET_BeginQueryIndexed(table, save_BeginQueryIndexed);
+ SET_EndQueryIndexed(table, save_EndQueryIndexed);
+#endif
#endif
/* GL_ARB_instanced_arrays */
diff --git a/mesalib/src/mesa/main/extensions.c b/mesalib/src/mesa/main/extensions.c
index dbc2813f2..0675ce75d 100644
--- a/mesalib/src/mesa/main/extensions.c
+++ b/mesalib/src/mesa/main/extensions.c
@@ -141,6 +141,8 @@ static const struct extension extension_table[] = {
{ "GL_ARB_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 },
{ "GL_ARB_timer_query", o(ARB_timer_query), GL, 2010 },
{ "GL_ARB_transform_feedback2", o(ARB_transform_feedback2), GL, 2010 },
+ { "GL_ARB_transform_feedback3", o(ARB_transform_feedback3), GL, 2010 },
+ { "GL_ARB_transform_feedback_instanced", o(ARB_transform_feedback_instanced), GL, 2011 },
{ "GL_ARB_transpose_matrix", o(ARB_transpose_matrix), GL, 1999 },
{ "GL_ARB_uniform_buffer_object", o(ARB_uniform_buffer_object), GL, 2009 },
{ "GL_ARB_vertex_array_bgra", o(EXT_vertex_array_bgra), GL, 2008 },
diff --git a/mesalib/src/mesa/main/fbobject.c b/mesalib/src/mesa/main/fbobject.c
index cfaea62bb..4370c7218 100644
--- a/mesalib/src/mesa/main/fbobject.c
+++ b/mesalib/src/mesa/main/fbobject.c
@@ -1296,6 +1296,9 @@ _mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat)
case GL_RGB10_A2UI:
return ctx->Extensions.ARB_texture_rgb10_a2ui ? GL_RGBA : 0;
+
+ case GL_RGB565:
+ return ctx->Extensions.ARB_ES2_compatibility ? GL_RGB : 0;
default:
return 0;
}
diff --git a/mesalib/src/mesa/main/formats.c b/mesalib/src/mesa/main/formats.c
index ccc0b1707..c65c9c2e1 100644
--- a/mesalib/src/mesa/main/formats.c
+++ b/mesalib/src/mesa/main/formats.c
@@ -1860,8 +1860,7 @@ _mesa_format_image_size(gl_format format, GLsizei width,
const GLuint wblocks = (width + bw - 1) / bw;
const GLuint hblocks = (height + bh - 1) / bh;
const GLuint sz = wblocks * hblocks * info->BytesPerBlock;
- assert(depth == 1);
- return sz;
+ return sz * depth;
}
else {
/* non-compressed */
@@ -1887,8 +1886,7 @@ _mesa_format_image_size64(gl_format format, GLsizei width,
const uint64_t wblocks = (width + bw - 1) / bw;
const uint64_t hblocks = (height + bh - 1) / bh;
const uint64_t sz = wblocks * hblocks * info->BytesPerBlock;
- assert(depth == 1);
- return sz;
+ return sz * depth;
}
else {
/* non-compressed */
diff --git a/mesalib/src/mesa/main/get.c b/mesalib/src/mesa/main/get.c
index cff4cf394..15de321e4 100644
--- a/mesalib/src/mesa/main/get.c
+++ b/mesalib/src/mesa/main/get.c
@@ -328,6 +328,7 @@ EXTRA_EXT(ARB_sync);
EXTRA_EXT(ARB_vertex_shader);
EXTRA_EXT(EXT_transform_feedback);
EXTRA_EXT(ARB_transform_feedback2);
+EXTRA_EXT(ARB_transform_feedback3);
EXTRA_EXT(EXT_pixel_buffer_object);
EXTRA_EXT(ARB_vertex_program);
EXTRA_EXT2(NV_point_sprite, ARB_point_sprite);
@@ -1247,6 +1248,14 @@ static const struct value_desc values[] = {
{ GL_TRANSFORM_FEEDBACK_BINDING, LOC_CUSTOM, TYPE_INT, 0,
extra_ARB_transform_feedback2 },
+ /* GL_ARB_transform_feedback3 */
+ { GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+ CONTEXT_INT(Const.MaxTransformFeedbackBuffers),
+ extra_ARB_transform_feedback3 },
+ { GL_MAX_VERTEX_STREAMS,
+ CONTEXT_INT(Const.MaxVertexStreams),
+ extra_ARB_transform_feedback3 },
+
/* GL_ARB_geometry_shader4 */
{ GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB,
CONTEXT_INT(Const.MaxGeometryTextureImageUnits),
diff --git a/mesalib/src/mesa/main/image.c b/mesalib/src/mesa/main/image.c
index b6c2645e9..678dfeb2b 100644
--- a/mesalib/src/mesa/main/image.c
+++ b/mesalib/src/mesa/main/image.c
@@ -770,6 +770,7 @@ _mesa_is_color_format(GLenum format)
case GL_R3_G3_B2:
case GL_RGB4:
case GL_RGB5:
+ case GL_RGB565:
case GL_RGB8:
case GL_RGB10:
case GL_RGB12:
diff --git a/mesalib/src/mesa/main/mtypes.h b/mesalib/src/mesa/main/mtypes.h
index bdbb5137e..1f74e6a83 100644
--- a/mesalib/src/mesa/main/mtypes.h
+++ b/mesalib/src/mesa/main/mtypes.h
@@ -2837,6 +2837,7 @@ struct gl_constants
GLuint MaxTransformFeedbackBuffers;
GLuint MaxTransformFeedbackSeparateComponents;
GLuint MaxTransformFeedbackInterleavedComponents;
+ GLuint MaxVertexStreams;
/** GL_EXT_gpu_shader4 */
GLint MinProgramTexelOffset, MaxProgramTexelOffset;
@@ -2937,6 +2938,8 @@ struct gl_extensions
GLboolean ARB_texture_storage;
GLboolean ARB_timer_query;
GLboolean ARB_transform_feedback2;
+ GLboolean ARB_transform_feedback3;
+ GLboolean ARB_transform_feedback_instanced;
GLboolean ARB_transpose_matrix;
GLboolean ARB_uniform_buffer_object;
GLboolean ARB_vertex_array_object;
diff --git a/mesalib/src/mesa/main/queryobj.c b/mesalib/src/mesa/main/queryobj.c
index 805c031ae..a578aa594 100644
--- a/mesalib/src/mesa/main/queryobj.c
+++ b/mesalib/src/mesa/main/queryobj.c
@@ -263,28 +263,51 @@ _mesa_IsQueryARB(GLuint id)
return GL_FALSE;
}
+static GLboolean
+query_error_check_index(struct gl_context *ctx, GLenum target, GLuint index)
+{
+ switch (target) {
+ case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:
+ case GL_PRIMITIVES_GENERATED:
+ if (index >= ctx->Const.MaxVertexStreams) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glBeginQueryIndexed(index>=MaxVertexStreams)");
+ return GL_FALSE;
+ }
+ break;
+ default:
+ if (index > 0) {
+ _mesa_error(ctx, GL_INVALID_VALUE, "glBeginQueryIndexed(index>0)");
+ return GL_FALSE;
+ }
+ }
+ return GL_TRUE;
+}
static void GLAPIENTRY
-_mesa_BeginQueryARB(GLenum target, GLuint id)
+_mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id)
{
struct gl_query_object *q, **bindpt;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
if (MESA_VERBOSE & VERBOSE_API)
- _mesa_debug(ctx, "glBeginQuery(%s, %u)\n",
- _mesa_lookup_enum_by_nr(target), id);
+ _mesa_debug(ctx, "glBeginQueryIndexed(%s, %u, %u)\n",
+ _mesa_lookup_enum_by_nr(target), index, id);
+
+ if (!query_error_check_index(ctx, target, index))
+ return;
FLUSH_VERTICES(ctx, _NEW_DEPTH);
bindpt = get_query_binding_point(ctx, target);
if (!bindpt) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glBeginQueryARB(target)");
+ _mesa_error(ctx, GL_INVALID_ENUM, "glBeginQuery{Indexed}(target)");
return;
}
if (id == 0) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glBeginQueryARB(id==0)");
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glBeginQuery{Indexed}(id==0)");
return;
}
@@ -293,7 +316,7 @@ _mesa_BeginQueryARB(GLenum target, GLuint id)
/* create new object */
q = ctx->Driver.NewQueryObject(ctx, id);
if (!q) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBeginQueryARB");
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBeginQuery{Indexed}");
return;
}
_mesa_HashInsert(ctx->Query.QueryObjects, id, q);
@@ -302,7 +325,7 @@ _mesa_BeginQueryARB(GLenum target, GLuint id)
/* pre-existing object */
if (q->Active) {
_mesa_error(ctx, GL_INVALID_OPERATION,
- "glBeginQueryARB(query already active)");
+ "glBeginQuery{Indexed}(query already active)");
return;
}
}
@@ -320,20 +343,24 @@ _mesa_BeginQueryARB(GLenum target, GLuint id)
static void GLAPIENTRY
-_mesa_EndQueryARB(GLenum target)
+_mesa_EndQueryIndexed(GLenum target, GLuint index)
{
struct gl_query_object *q, **bindpt;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
if (MESA_VERBOSE & VERBOSE_API)
- _mesa_debug(ctx, "glEndQuery(%s)\n", _mesa_lookup_enum_by_nr(target));
+ _mesa_debug(ctx, "glEndQueryIndexed(%s, %u)\n",
+ _mesa_lookup_enum_by_nr(target), index);
+
+ if (!query_error_check_index(ctx, target, index))
+ return;
FLUSH_VERTICES(ctx, _NEW_DEPTH);
bindpt = get_query_binding_point(ctx, target);
if (!bindpt) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glEndQueryARB(target)");
+ _mesa_error(ctx, GL_INVALID_ENUM, "glEndQuery{Indexed}(target)");
return;
}
@@ -343,7 +370,7 @@ _mesa_EndQueryARB(GLenum target)
if (!q || !q->Active) {
_mesa_error(ctx, GL_INVALID_OPERATION,
- "glEndQueryARB(no matching glBeginQueryARB)");
+ "glEndQuery{Indexed}(no matching glBeginQuery{Indexed})");
return;
}
@@ -351,6 +378,17 @@ _mesa_EndQueryARB(GLenum target)
ctx->Driver.EndQuery(ctx, q);
}
+static void GLAPIENTRY
+_mesa_BeginQueryARB(GLenum target, GLuint id)
+{
+ _mesa_BeginQueryIndexed(target, 0, id);
+}
+
+static void GLAPIENTRY
+_mesa_EndQueryARB(GLenum target)
+{
+ _mesa_EndQueryIndexed(target, 0);
+}
static void GLAPIENTRY
_mesa_QueryCounter(GLuint id, GLenum target)
@@ -410,17 +448,22 @@ _mesa_QueryCounter(GLuint id, GLenum target)
static void GLAPIENTRY
-_mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)
+_mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname,
+ GLint *params)
{
struct gl_query_object *q = NULL, **bindpt = NULL;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
if (MESA_VERBOSE & VERBOSE_API)
- _mesa_debug(ctx, "glGetQueryiv(%s, %s)\n",
+ _mesa_debug(ctx, "glGetQueryIndexediv(%s, %u, %s)\n",
_mesa_lookup_enum_by_nr(target),
+ index,
_mesa_lookup_enum_by_nr(pname));
+ if (!query_error_check_index(ctx, target, index))
+ return;
+
if (target == GL_TIMESTAMP) {
if (!ctx->Extensions.ARB_timer_query) {
_mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryARB(target)");
@@ -430,7 +473,7 @@ _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)
else {
bindpt = get_query_binding_point(ctx, target);
if (!bindpt) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryARB(target)");
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetQuery{Indexed}iv(target)");
return;
}
@@ -445,11 +488,16 @@ _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)
*params = q ? q->Id : 0;
break;
default:
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryivARB(pname)");
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetQuery{Indexed}iv(pname)");
return;
}
}
+static void GLAPIENTRY
+_mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)
+{
+ _mesa_GetQueryIndexediv(target, 0, pname, params);
+}
static void GLAPIENTRY
_mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params)
@@ -650,6 +698,10 @@ _mesa_init_queryobj_dispatch(struct _glapi_table *disp)
SET_GetQueryObjecti64vEXT(disp, _mesa_GetQueryObjecti64vEXT);
SET_GetQueryObjectui64vEXT(disp, _mesa_GetQueryObjectui64vEXT);
+
+ SET_BeginQueryIndexed(disp, _mesa_BeginQueryIndexed);
+ SET_EndQueryIndexed(disp, _mesa_EndQueryIndexed);
+ SET_GetQueryIndexediv(disp, _mesa_GetQueryIndexediv);
}
diff --git a/mesalib/src/mesa/main/texformat.c b/mesalib/src/mesa/main/texformat.c
index 5fdc2ab1f..26bcbc10a 100644
--- a/mesalib/src/mesa/main/texformat.c
+++ b/mesalib/src/mesa/main/texformat.c
@@ -258,6 +258,16 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,
; /* fallthrough */
}
+ if (ctx->Extensions.ARB_ES2_compatibility) {
+ switch (internalFormat) {
+ case GL_RGB565:
+ RETURN_IF_SUPPORTED(MESA_FORMAT_RGB565);
+ break;
+ default:
+ ; /* fallthrough */
+ }
+ }
+
if (ctx->Extensions.MESA_ycbcr_texture) {
if (internalFormat == GL_YCBCR_MESA) {
if (type == GL_UNSIGNED_SHORT_8_8_MESA)
diff --git a/mesalib/src/mesa/main/teximage.c b/mesalib/src/mesa/main/teximage.c
index b16baaf91..126386ebe 100644
--- a/mesalib/src/mesa/main/teximage.c
+++ b/mesalib/src/mesa/main/teximage.c
@@ -138,6 +138,15 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat )
}
}
+ if (ctx->Extensions.ARB_ES2_compatibility) {
+ switch (internalFormat) {
+ case GL_RGB565:
+ return GL_RGB;
+ default:
+ ; /* fallthrough */
+ }
+ }
+
if (ctx->Extensions.ARB_depth_texture) {
switch (internalFormat) {
case GL_DEPTH_COMPONENT:
diff --git a/mesalib/src/mesa/main/transformfeedback.c b/mesalib/src/mesa/main/transformfeedback.c
index 6f8221201..7679b4b08 100644
--- a/mesalib/src/mesa/main/transformfeedback.c
+++ b/mesalib/src/mesa/main/transformfeedback.c
@@ -603,6 +603,38 @@ _mesa_TransformFeedbackVaryings(GLuint program, GLsizei count,
return;
}
+ if (ctx->Extensions.ARB_transform_feedback3) {
+ if (bufferMode == GL_INTERLEAVED_ATTRIBS) {
+ unsigned buffers = 1;
+
+ for (i = 0; i < count; i++) {
+ if (strcmp(varyings[i], "gl_NextBuffer") == 0)
+ buffers++;
+ }
+
+ if (buffers > ctx->Const.MaxTransformFeedbackBuffers) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glTransformFeedbackVaryings(too many gl_NextBuffer "
+ "occurences)");
+ return;
+ }
+ } else {
+ for (i = 0; i < count; i++) {
+ if (strcmp(varyings[i], "gl_NextBuffer") == 0 ||
+ strcmp(varyings[i], "gl_SkipComponents1") == 0 ||
+ strcmp(varyings[i], "gl_SkipComponents2") == 0 ||
+ strcmp(varyings[i], "gl_SkipComponents3") == 0 ||
+ strcmp(varyings[i], "gl_SkipComponents4") == 0) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glTransformFeedbackVaryings(SEPARATE_ATTRIBS,"
+ "varying=%s)",
+ varyings[i]);
+ return;
+ }
+ }
+ }
+ }
+
/* free existing varyings, if any */
for (i = 0; i < shProg->TransformFeedback.NumVarying; i++) {
free(shProg->TransformFeedback.VaryingNames[i]);
diff --git a/mesalib/src/mesa/main/vtxfmt.c b/mesalib/src/mesa/main/vtxfmt.c
index a27596a98..bf7a54c0a 100644
--- a/mesalib/src/mesa/main/vtxfmt.c
+++ b/mesalib/src/mesa/main/vtxfmt.c
@@ -111,6 +111,11 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt )
SET_DrawElementsInstancedBaseVertex(tab, vfmt->DrawElementsInstancedBaseVertex);
SET_DrawElementsInstancedBaseVertexBaseInstance(tab, vfmt->DrawElementsInstancedBaseVertexBaseInstance);
SET_DrawTransformFeedback(tab, vfmt->DrawTransformFeedback);
+ SET_DrawTransformFeedbackStream(tab, vfmt->DrawTransformFeedbackStream);
+ SET_DrawTransformFeedbackInstanced(tab,
+ vfmt->DrawTransformFeedbackInstanced);
+ SET_DrawTransformFeedbackStreamInstanced(tab,
+ vfmt->DrawTransformFeedbackStreamInstanced);
/* GL_NV_vertex_program */
SET_VertexAttrib1fNV(tab, vfmt->VertexAttrib1fNV);
diff --git a/mesalib/src/mesa/state_tracker/st_cb_blit.c b/mesalib/src/mesa/state_tracker/st_cb_blit.c
index 27da2c633..1486779fd 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_blit.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_blit.c
@@ -242,7 +242,7 @@ st_BlitFramebuffer(struct gl_context *ctx,
srcX0, srcY0, srcX1, srcY1,
srcAtt->Zoffset + srcAtt->CubeMapFace,
dstSurf, dstX0, dstY0, dstX1, dstY1,
- 0.0, pFilter);
+ 0.0, pFilter, TGSI_WRITEMASK_XYZW, 0);
}
else {
struct st_renderbuffer *srcRb =
@@ -257,7 +257,7 @@ st_BlitFramebuffer(struct gl_context *ctx,
srcX0, srcY0, srcX1, srcY1,
srcSurf->u.tex.first_layer,
dstSurf, dstX0, dstY0, dstX1, dstY1,
- 0.0, pFilter);
+ 0.0, pFilter, TGSI_WRITEMASK_XYZW, 0);
}
}
@@ -281,6 +281,13 @@ st_BlitFramebuffer(struct gl_context *ctx,
struct pipe_surface *dstDepthSurf =
dstDepthRb ? dstDepthRb->surface : NULL;
+ struct st_renderbuffer *srcStencilRb =
+ st_renderbuffer(readFB->Attachment[BUFFER_STENCIL].Renderbuffer);
+ struct st_renderbuffer *dstStencilRb =
+ st_renderbuffer(drawFB->Attachment[BUFFER_STENCIL].Renderbuffer);
+ struct pipe_surface *dstStencilSurf =
+ dstStencilRb ? dstStencilRb->surface : NULL;
+
if ((mask & depthStencil) == depthStencil &&
st_is_depth_stencil_combined(srcDepth, srcStencil) &&
st_is_depth_stencil_combined(dstDepth, dstStencil)) {
@@ -294,7 +301,15 @@ st_BlitFramebuffer(struct gl_context *ctx,
srcX0, srcY0, srcX1, srcY1,
srcDepthRb->surface->u.tex.first_layer,
dstDepthSurf, dstX0, dstY0, dstX1, dstY1,
- 0.0, pFilter);
+ 0.0, pFilter, 0,
+ BLIT_WRITEMASK_Z |
+ (st->has_stencil_export ? BLIT_WRITEMASK_STENCIL
+ : 0));
+
+ if (!st->has_stencil_export) {
+ _mesa_problem(ctx, "st_BlitFramebuffer(STENCIL) "
+ "software fallback not implemented");
+ }
}
else {
/* blitting depth and stencil separately */
@@ -305,12 +320,22 @@ st_BlitFramebuffer(struct gl_context *ctx,
srcX0, srcY0, srcX1, srcY1,
srcDepthRb->surface->u.tex.first_layer,
dstDepthSurf, dstX0, dstY0, dstX1, dstY1,
- 0.0, pFilter);
+ 0.0, pFilter, 0, BLIT_WRITEMASK_Z);
}
if (mask & GL_STENCIL_BUFFER_BIT) {
- /* blit stencil only */
- _mesa_problem(ctx, "st_BlitFramebuffer(STENCIL) not completed");
+ if (st->has_stencil_export) {
+ util_blit_pixels(st->blit, srcStencilRb->texture,
+ srcStencilRb->surface->u.tex.level,
+ srcX0, srcY0, srcX1, srcY1,
+ srcStencilRb->surface->u.tex.first_layer,
+ dstStencilSurf, dstX0, dstY0, dstX1, dstY1,
+ 0.0, pFilter, 0, BLIT_WRITEMASK_STENCIL);
+ }
+ else {
+ _mesa_problem(ctx, "st_BlitFramebuffer(STENCIL) "
+ "software fallback not implemented");
+ }
}
}
}
diff --git a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
index 2bcbada4f..c5f36316b 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -403,6 +403,8 @@ internal_format(struct gl_context *ctx, GLenum format, GLenum type)
case GL_UNSIGNED_SHORT_5_6_5:
case GL_UNSIGNED_SHORT_5_6_5_REV:
+ return GL_RGB565;
+
case GL_UNSIGNED_SHORT_5_5_5_1:
case GL_UNSIGNED_SHORT_1_5_5_5_REV:
return GL_RGB5_A1;
@@ -1165,27 +1167,8 @@ st_DrawPixels(struct gl_context *ctx, GLint x, GLint y,
* The stencil is written using the shader stencil export
* functionality. */
if (write_stencil) {
- enum pipe_format stencil_format = PIPE_FORMAT_NONE;
-
- switch (pt->format) {
- case PIPE_FORMAT_Z24_UNORM_S8_UINT:
- case PIPE_FORMAT_X24S8_UINT:
- stencil_format = PIPE_FORMAT_X24S8_UINT;
- break;
- case PIPE_FORMAT_S8_UINT_Z24_UNORM:
- case PIPE_FORMAT_S8X24_UINT:
- stencil_format = PIPE_FORMAT_S8X24_UINT;
- break;
- case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
- case PIPE_FORMAT_X32_S8X24_UINT:
- stencil_format = PIPE_FORMAT_X32_S8X24_UINT;
- break;
- case PIPE_FORMAT_S8_UINT:
- stencil_format = PIPE_FORMAT_S8_UINT;
- break;
- default:
- assert(0);
- }
+ enum pipe_format stencil_format =
+ util_format_stencil_only(pt->format);
sv[1] = st_create_texture_sampler_view_format(st->pipe, pt,
stencil_format);
diff --git a/mesalib/src/mesa/state_tracker/st_cb_texture.c b/mesalib/src/mesa/state_tracker/st_cb_texture.c
index 67c3f9590..a7f57b96f 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_texture.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_texture.c
@@ -944,7 +944,7 @@ st_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
struct pipe_screen *screen = pipe->screen;
enum pipe_format dest_format, src_format;
GLboolean matching_base_formats;
- GLuint format_writemask, sample_count;
+ GLuint color_writemask, zs_writemask, sample_count;
struct pipe_surface *dest_surface = NULL;
GLboolean do_flip = (st_fb_orientation(ctx->ReadBuffer) == Y_0_TOP);
struct pipe_surface surf_tmpl;
@@ -1025,15 +1025,17 @@ st_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
}
if (texBaseFormat == GL_DEPTH_COMPONENT) {
- format_writemask = TGSI_WRITEMASK_XYZW;
+ color_writemask = 0;
+ zs_writemask = BLIT_WRITEMASK_Z;
dst_usage = PIPE_BIND_DEPTH_STENCIL;
}
else {
- format_writemask = compatible_src_dst_formats(ctx, &strb->Base, texImage);
+ color_writemask = compatible_src_dst_formats(ctx, &strb->Base, texImage);
+ zs_writemask = 0;
dst_usage = PIPE_BIND_RENDER_TARGET;
}
- if (!format_writemask ||
+ if ((!color_writemask && !zs_writemask) ||
!screen->is_format_supported(screen, src_format,
PIPE_TEXTURE_2D, sample_count,
PIPE_BIND_SAMPLER_VIEW) ||
@@ -1066,17 +1068,17 @@ st_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
dest_surface = pipe->create_surface(pipe, stImage->pt,
&surf_tmpl);
- util_blit_pixels_writemask(st->blit,
- strb->texture,
- strb->surface->u.tex.level,
- srcX, srcY0,
- srcX + width, srcY1,
- strb->surface->u.tex.first_layer,
- dest_surface,
- destX, destY,
- destX + width, destY + height,
- 0.0, PIPE_TEX_MIPFILTER_NEAREST,
- format_writemask);
+ util_blit_pixels(st->blit,
+ strb->texture,
+ strb->surface->u.tex.level,
+ srcX, srcY0,
+ srcX + width, srcY1,
+ strb->surface->u.tex.first_layer,
+ dest_surface,
+ destX, destY,
+ destX + width, destY + height,
+ 0.0, PIPE_TEX_MIPFILTER_NEAREST,
+ color_writemask, zs_writemask);
pipe_surface_reference(&dest_surface, NULL);
/* Restore conditional rendering state. */
diff --git a/mesalib/src/mesa/state_tracker/st_context.c b/mesalib/src/mesa/state_tracker/st_context.c
index 132dcc02f..117ea90f8 100644
--- a/mesalib/src/mesa/state_tracker/st_context.c
+++ b/mesalib/src/mesa/state_tracker/st_context.c
@@ -187,6 +187,8 @@ st_create_context_priv( struct gl_context *ctx, struct pipe_context *pipe )
st->pixel_xfer.cache = _mesa_new_program_cache();
st->force_msaa = st_get_msaa();
+ st->has_stencil_export =
+ screen->get_param(screen, PIPE_CAP_SHADER_STENCIL_EXPORT);
/* GL limits and extensions */
st_init_limits(st);
diff --git a/mesalib/src/mesa/state_tracker/st_context.h b/mesalib/src/mesa/state_tracker/st_context.h
index 734b4d9c1..a3f44b3ab 100644
--- a/mesalib/src/mesa/state_tracker/st_context.h
+++ b/mesalib/src/mesa/state_tracker/st_context.h
@@ -81,7 +81,7 @@ struct st_context
struct draw_stage *rastpos_stage; /**< For glRasterPos */
GLboolean clamp_frag_color_in_shader;
GLboolean clamp_vert_color_in_shader;
-
+ boolean has_stencil_export; /**< can do shader stencil export? */
/* On old libGL's for linux we need to invalidate the drawables
* on glViewpport calls, this is set via a option.
diff --git a/mesalib/src/mesa/state_tracker/st_extensions.c b/mesalib/src/mesa/state_tracker/st_extensions.c
index 5b333ad2c..5099acdb5 100644
--- a/mesalib/src/mesa/state_tracker/st_extensions.c
+++ b/mesalib/src/mesa/state_tracker/st_extensions.c
@@ -355,6 +355,7 @@ void st_init_extensions(struct st_context *st)
{ o(ARB_shadow), PIPE_CAP_TEXTURE_SHADOW_MAP },
{ o(ARB_texture_non_power_of_two), PIPE_CAP_NPOT_TEXTURES },
{ o(ARB_transform_feedback2), PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME },
+ { o(ARB_transform_feedback3), PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME },
{ o(EXT_blend_equation_separate), PIPE_CAP_BLEND_EQUATION_SEPARATE },
{ o(EXT_draw_buffers2), PIPE_CAP_INDEP_BLEND_ENABLE },
@@ -641,4 +642,9 @@ void st_init_extensions(struct st_context *st)
screen->get_param(screen, PIPE_CAP_QUERY_TIMESTAMP)) {
ctx->Extensions.ARB_timer_query = GL_TRUE;
}
+
+ if (ctx->Extensions.ARB_transform_feedback2 &&
+ ctx->Extensions.ARB_draw_instanced) {
+ ctx->Extensions.ARB_transform_feedback_instanced = GL_TRUE;
+ }
}
diff --git a/mesalib/src/mesa/state_tracker/st_format.c b/mesalib/src/mesa/state_tracker/st_format.c
index 4265d14b4..57d34411f 100644
--- a/mesalib/src/mesa/state_tracker/st_format.c
+++ b/mesalib/src/mesa/state_tracker/st_format.c
@@ -793,6 +793,10 @@ static const struct format_mapping format_map[] = {
{ PIPE_FORMAT_B5G6R5_UNORM, PIPE_FORMAT_B5G5R5A1_UNORM,
DEFAULT_RGBA_FORMATS }
},
+ {
+ { GL_RGB565 },
+ { PIPE_FORMAT_B5G6R5_UNORM, DEFAULT_RGBA_FORMATS }
+ },
/* basic Alpha formats */
{
diff --git a/mesalib/src/mesa/vbo/vbo_exec_array.c b/mesalib/src/mesa/vbo/vbo_exec_array.c
index d2854dd6c..a923aa1fa 100644
--- a/mesalib/src/mesa/vbo/vbo_exec_array.c
+++ b/mesalib/src/mesa/vbo/vbo_exec_array.c
@@ -1286,12 +1286,17 @@ vbo_exec_MultiDrawElementsBaseVertex(GLenum mode,
static void
vbo_draw_transform_feedback(struct gl_context *ctx, GLenum mode,
struct gl_transform_feedback_object *obj,
- GLuint numInstances)
+ GLuint stream, GLuint numInstances)
{
struct vbo_context *vbo = vbo_context(ctx);
struct vbo_exec_context *exec = &vbo->exec;
struct _mesa_prim prim[2];
+ if (!_mesa_validate_DrawTransformFeedback(ctx, mode, obj, stream,
+ numInstances)) {
+ return;
+ }
+
vbo_bind_arrays(ctx);
/* init most fields to zero */
@@ -1334,11 +1339,52 @@ vbo_exec_DrawTransformFeedback(GLenum mode, GLuint name)
_mesa_debug(ctx, "glDrawTransformFeedback(%s, %d)\n",
_mesa_lookup_enum_by_nr(mode), name);
- if (!_mesa_validate_DrawTransformFeedback(ctx, mode, obj)) {
- return;
- }
+ vbo_draw_transform_feedback(ctx, mode, obj, 0, 1);
+}
+
+static void GLAPIENTRY
+vbo_exec_DrawTransformFeedbackStream(GLenum mode, GLuint name, GLuint stream)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ struct gl_transform_feedback_object *obj =
+ _mesa_lookup_transform_feedback_object(ctx, name);
+
+ if (MESA_VERBOSE & VERBOSE_DRAW)
+ _mesa_debug(ctx, "glDrawTransformFeedbackStream(%s, %u, %u)\n",
+ _mesa_lookup_enum_by_nr(mode), name, stream);
+
+ vbo_draw_transform_feedback(ctx, mode, obj, stream, 1);
+}
+
+static void GLAPIENTRY
+vbo_exec_DrawTransformFeedbackInstanced(GLenum mode, GLuint name,
+ GLsizei primcount)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ struct gl_transform_feedback_object *obj =
+ _mesa_lookup_transform_feedback_object(ctx, name);
+
+ if (MESA_VERBOSE & VERBOSE_DRAW)
+ _mesa_debug(ctx, "glDrawTransformFeedbackInstanced(%s, %d)\n",
+ _mesa_lookup_enum_by_nr(mode), name);
+
+ vbo_draw_transform_feedback(ctx, mode, obj, 0, primcount);
+}
+
+static void GLAPIENTRY
+vbo_exec_DrawTransformFeedbackStreamInstanced(GLenum mode, GLuint name,
+ GLuint stream, GLsizei primcount)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ struct gl_transform_feedback_object *obj =
+ _mesa_lookup_transform_feedback_object(ctx, name);
+
+ if (MESA_VERBOSE & VERBOSE_DRAW)
+ _mesa_debug(ctx, "glDrawTransformFeedbackStreamInstanced"
+ "(%s, %u, %u, %i)\n",
+ _mesa_lookup_enum_by_nr(mode), name, stream, primcount);
- vbo_draw_transform_feedback(ctx, mode, obj, 1);
+ vbo_draw_transform_feedback(ctx, mode, obj, stream, primcount);
}
#endif
@@ -1365,6 +1411,12 @@ vbo_exec_array_init( struct vbo_exec_context *exec )
exec->vtxfmt.DrawElementsInstancedBaseVertexBaseInstance = vbo_exec_DrawElementsInstancedBaseVertexBaseInstance;
#if FEATURE_EXT_transform_feedback
exec->vtxfmt.DrawTransformFeedback = vbo_exec_DrawTransformFeedback;
+ exec->vtxfmt.DrawTransformFeedbackStream =
+ vbo_exec_DrawTransformFeedbackStream;
+ exec->vtxfmt.DrawTransformFeedbackInstanced =
+ vbo_exec_DrawTransformFeedbackInstanced;
+ exec->vtxfmt.DrawTransformFeedbackStreamInstanced =
+ vbo_exec_DrawTransformFeedbackStreamInstanced;
#endif
}
diff --git a/mesalib/src/mesa/vbo/vbo_save_api.c b/mesalib/src/mesa/vbo/vbo_save_api.c
index d27525812..a02a13db5 100644
--- a/mesalib/src/mesa/vbo/vbo_save_api.c
+++ b/mesalib/src/mesa/vbo/vbo_save_api.c
@@ -1068,6 +1068,45 @@ _save_DrawTransformFeedback(GLenum mode, GLuint name)
static void GLAPIENTRY
+_save_DrawTransformFeedbackStream(GLenum mode, GLuint name, GLuint stream)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ (void) mode;
+ (void) name;
+ (void) stream;
+ _mesa_compile_error(ctx, GL_INVALID_OPERATION,
+ "glDrawTransformFeedbackStream");
+}
+
+
+static void GLAPIENTRY
+_save_DrawTransformFeedbackInstanced(GLenum mode, GLuint name,
+ GLsizei primcount)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ (void) mode;
+ (void) name;
+ (void) primcount;
+ _mesa_compile_error(ctx, GL_INVALID_OPERATION,
+ "glDrawTransformFeedbackInstanced");
+}
+
+
+static void GLAPIENTRY
+_save_DrawTransformFeedbackStreamInstanced(GLenum mode, GLuint name,
+ GLuint stream, GLsizei primcount)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ (void) mode;
+ (void) name;
+ (void) stream;
+ (void) primcount;
+ _mesa_compile_error(ctx, GL_INVALID_OPERATION,
+ "glDrawTransformFeedbackStreamInstanced");
+}
+
+
+static void GLAPIENTRY
_save_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
{
GET_CURRENT_CONTEXT(ctx);
@@ -1416,9 +1455,13 @@ _save_vtxfmt_init(struct gl_context *ctx)
vfmt->DrawRangeElements = _save_DrawRangeElements;
vfmt->DrawElementsBaseVertex = _save_DrawElementsBaseVertex;
vfmt->DrawRangeElementsBaseVertex = _save_DrawRangeElementsBaseVertex;
- vfmt->DrawTransformFeedback = _save_DrawTransformFeedback;
vfmt->MultiDrawElementsEXT = _save_MultiDrawElements;
vfmt->MultiDrawElementsBaseVertex = _save_MultiDrawElementsBaseVertex;
+ vfmt->DrawTransformFeedback = _save_DrawTransformFeedback;
+ vfmt->DrawTransformFeedbackStream = _save_DrawTransformFeedbackStream;
+ vfmt->DrawTransformFeedbackInstanced = _save_DrawTransformFeedbackInstanced;
+ vfmt->DrawTransformFeedbackStreamInstanced =
+ _save_DrawTransformFeedbackStreamInstanced;
}
diff --git a/xorg-server/glx/dispatch.h b/xorg-server/glx/dispatch.h
index a6f9f16f4..b159c85a3 100644
--- a/xorg-server/glx/dispatch.h
+++ b/xorg-server/glx/dispatch.h
@@ -69,7 +69,7 @@
} while(0)
/* total number of offsets below */
-#define _gloffset_COUNT 958
+#define _gloffset_COUNT 964
#define _gloffset_NewList 0
#define _gloffset_EndList 1
@@ -743,299 +743,305 @@
#define _gloffset_IsTransformFeedback 666
#define _gloffset_PauseTransformFeedback 667
#define _gloffset_ResumeTransformFeedback 668
-#define _gloffset_ClearDepthf 669
-#define _gloffset_DepthRangef 670
-#define _gloffset_GetShaderPrecisionFormat 671
-#define _gloffset_ReleaseShaderCompiler 672
-#define _gloffset_ShaderBinary 673
-#define _gloffset_DebugMessageCallbackARB 674
-#define _gloffset_DebugMessageControlARB 675
-#define _gloffset_DebugMessageInsertARB 676
-#define _gloffset_GetDebugMessageLogARB 677
-#define _gloffset_GetGraphicsResetStatusARB 678
-#define _gloffset_GetnColorTableARB 679
-#define _gloffset_GetnCompressedTexImageARB 680
-#define _gloffset_GetnConvolutionFilterARB 681
-#define _gloffset_GetnHistogramARB 682
-#define _gloffset_GetnMapdvARB 683
-#define _gloffset_GetnMapfvARB 684
-#define _gloffset_GetnMapivARB 685
-#define _gloffset_GetnMinmaxARB 686
-#define _gloffset_GetnPixelMapfvARB 687
-#define _gloffset_GetnPixelMapuivARB 688
-#define _gloffset_GetnPixelMapusvARB 689
-#define _gloffset_GetnPolygonStippleARB 690
-#define _gloffset_GetnSeparableFilterARB 691
-#define _gloffset_GetnTexImageARB 692
-#define _gloffset_GetnUniformdvARB 693
-#define _gloffset_GetnUniformfvARB 694
-#define _gloffset_GetnUniformivARB 695
-#define _gloffset_GetnUniformuivARB 696
-#define _gloffset_ReadnPixelsARB 697
-#define _gloffset_DrawArraysInstancedBaseInstance 698
-#define _gloffset_DrawElementsInstancedBaseInstance 699
-#define _gloffset_DrawElementsInstancedBaseVertexBaseInstance 700
-#define _gloffset_TexStorage1D 701
-#define _gloffset_TexStorage2D 702
-#define _gloffset_TexStorage3D 703
-#define _gloffset_TextureStorage1DEXT 704
-#define _gloffset_TextureStorage2DEXT 705
-#define _gloffset_TextureStorage3DEXT 706
-#define _gloffset_PolygonOffsetEXT 707
-#define _gloffset_SampleMaskSGIS 708
-#define _gloffset_SamplePatternSGIS 709
-#define _gloffset_ColorPointerEXT 710
-#define _gloffset_EdgeFlagPointerEXT 711
-#define _gloffset_IndexPointerEXT 712
-#define _gloffset_NormalPointerEXT 713
-#define _gloffset_TexCoordPointerEXT 714
-#define _gloffset_VertexPointerEXT 715
-#define _gloffset_PointParameterfEXT 716
-#define _gloffset_PointParameterfvEXT 717
-#define _gloffset_LockArraysEXT 718
-#define _gloffset_UnlockArraysEXT 719
-#define _gloffset_SecondaryColor3bEXT 720
-#define _gloffset_SecondaryColor3bvEXT 721
-#define _gloffset_SecondaryColor3dEXT 722
-#define _gloffset_SecondaryColor3dvEXT 723
-#define _gloffset_SecondaryColor3fEXT 724
-#define _gloffset_SecondaryColor3fvEXT 725
-#define _gloffset_SecondaryColor3iEXT 726
-#define _gloffset_SecondaryColor3ivEXT 727
-#define _gloffset_SecondaryColor3sEXT 728
-#define _gloffset_SecondaryColor3svEXT 729
-#define _gloffset_SecondaryColor3ubEXT 730
-#define _gloffset_SecondaryColor3ubvEXT 731
-#define _gloffset_SecondaryColor3uiEXT 732
-#define _gloffset_SecondaryColor3uivEXT 733
-#define _gloffset_SecondaryColor3usEXT 734
-#define _gloffset_SecondaryColor3usvEXT 735
-#define _gloffset_SecondaryColorPointerEXT 736
-#define _gloffset_MultiDrawArraysEXT 737
-#define _gloffset_MultiDrawElementsEXT 738
-#define _gloffset_FogCoordPointerEXT 739
-#define _gloffset_FogCoorddEXT 740
-#define _gloffset_FogCoorddvEXT 741
-#define _gloffset_FogCoordfEXT 742
-#define _gloffset_FogCoordfvEXT 743
-#define _gloffset_BlendFuncSeparateEXT 744
-#define _gloffset_ResizeBuffersMESA 745
-#define _gloffset_WindowPos2dMESA 746
-#define _gloffset_WindowPos2dvMESA 747
-#define _gloffset_WindowPos2fMESA 748
-#define _gloffset_WindowPos2fvMESA 749
-#define _gloffset_WindowPos2iMESA 750
-#define _gloffset_WindowPos2ivMESA 751
-#define _gloffset_WindowPos2sMESA 752
-#define _gloffset_WindowPos2svMESA 753
-#define _gloffset_WindowPos3dMESA 754
-#define _gloffset_WindowPos3dvMESA 755
-#define _gloffset_WindowPos3fMESA 756
-#define _gloffset_WindowPos3fvMESA 757
-#define _gloffset_WindowPos3iMESA 758
-#define _gloffset_WindowPos3ivMESA 759
-#define _gloffset_WindowPos3sMESA 760
-#define _gloffset_WindowPos3svMESA 761
-#define _gloffset_WindowPos4dMESA 762
-#define _gloffset_WindowPos4dvMESA 763
-#define _gloffset_WindowPos4fMESA 764
-#define _gloffset_WindowPos4fvMESA 765
-#define _gloffset_WindowPos4iMESA 766
-#define _gloffset_WindowPos4ivMESA 767
-#define _gloffset_WindowPos4sMESA 768
-#define _gloffset_WindowPos4svMESA 769
-#define _gloffset_MultiModeDrawArraysIBM 770
-#define _gloffset_MultiModeDrawElementsIBM 771
-#define _gloffset_AreProgramsResidentNV 772
-#define _gloffset_BindProgramNV 773
-#define _gloffset_DeleteProgramsNV 774
-#define _gloffset_ExecuteProgramNV 775
-#define _gloffset_GenProgramsNV 776
-#define _gloffset_GetProgramParameterdvNV 777
-#define _gloffset_GetProgramParameterfvNV 778
-#define _gloffset_GetProgramStringNV 779
-#define _gloffset_GetProgramivNV 780
-#define _gloffset_GetTrackMatrixivNV 781
-#define _gloffset_GetVertexAttribPointervNV 782
-#define _gloffset_GetVertexAttribdvNV 783
-#define _gloffset_GetVertexAttribfvNV 784
-#define _gloffset_GetVertexAttribivNV 785
-#define _gloffset_IsProgramNV 786
-#define _gloffset_LoadProgramNV 787
-#define _gloffset_ProgramParameters4dvNV 788
-#define _gloffset_ProgramParameters4fvNV 789
-#define _gloffset_RequestResidentProgramsNV 790
-#define _gloffset_TrackMatrixNV 791
-#define _gloffset_VertexAttrib1dNV 792
-#define _gloffset_VertexAttrib1dvNV 793
-#define _gloffset_VertexAttrib1fNV 794
-#define _gloffset_VertexAttrib1fvNV 795
-#define _gloffset_VertexAttrib1sNV 796
-#define _gloffset_VertexAttrib1svNV 797
-#define _gloffset_VertexAttrib2dNV 798
-#define _gloffset_VertexAttrib2dvNV 799
-#define _gloffset_VertexAttrib2fNV 800
-#define _gloffset_VertexAttrib2fvNV 801
-#define _gloffset_VertexAttrib2sNV 802
-#define _gloffset_VertexAttrib2svNV 803
-#define _gloffset_VertexAttrib3dNV 804
-#define _gloffset_VertexAttrib3dvNV 805
-#define _gloffset_VertexAttrib3fNV 806
-#define _gloffset_VertexAttrib3fvNV 807
-#define _gloffset_VertexAttrib3sNV 808
-#define _gloffset_VertexAttrib3svNV 809
-#define _gloffset_VertexAttrib4dNV 810
-#define _gloffset_VertexAttrib4dvNV 811
-#define _gloffset_VertexAttrib4fNV 812
-#define _gloffset_VertexAttrib4fvNV 813
-#define _gloffset_VertexAttrib4sNV 814
-#define _gloffset_VertexAttrib4svNV 815
-#define _gloffset_VertexAttrib4ubNV 816
-#define _gloffset_VertexAttrib4ubvNV 817
-#define _gloffset_VertexAttribPointerNV 818
-#define _gloffset_VertexAttribs1dvNV 819
-#define _gloffset_VertexAttribs1fvNV 820
-#define _gloffset_VertexAttribs1svNV 821
-#define _gloffset_VertexAttribs2dvNV 822
-#define _gloffset_VertexAttribs2fvNV 823
-#define _gloffset_VertexAttribs2svNV 824
-#define _gloffset_VertexAttribs3dvNV 825
-#define _gloffset_VertexAttribs3fvNV 826
-#define _gloffset_VertexAttribs3svNV 827
-#define _gloffset_VertexAttribs4dvNV 828
-#define _gloffset_VertexAttribs4fvNV 829
-#define _gloffset_VertexAttribs4svNV 830
-#define _gloffset_VertexAttribs4ubvNV 831
-#define _gloffset_GetTexBumpParameterfvATI 832
-#define _gloffset_GetTexBumpParameterivATI 833
-#define _gloffset_TexBumpParameterfvATI 834
-#define _gloffset_TexBumpParameterivATI 835
-#define _gloffset_AlphaFragmentOp1ATI 836
-#define _gloffset_AlphaFragmentOp2ATI 837
-#define _gloffset_AlphaFragmentOp3ATI 838
-#define _gloffset_BeginFragmentShaderATI 839
-#define _gloffset_BindFragmentShaderATI 840
-#define _gloffset_ColorFragmentOp1ATI 841
-#define _gloffset_ColorFragmentOp2ATI 842
-#define _gloffset_ColorFragmentOp3ATI 843
-#define _gloffset_DeleteFragmentShaderATI 844
-#define _gloffset_EndFragmentShaderATI 845
-#define _gloffset_GenFragmentShadersATI 846
-#define _gloffset_PassTexCoordATI 847
-#define _gloffset_SampleMapATI 848
-#define _gloffset_SetFragmentShaderConstantATI 849
-#define _gloffset_PointParameteriNV 850
-#define _gloffset_PointParameterivNV 851
-#define _gloffset_ActiveStencilFaceEXT 852
-#define _gloffset_BindVertexArrayAPPLE 853
-#define _gloffset_DeleteVertexArraysAPPLE 854
-#define _gloffset_GenVertexArraysAPPLE 855
-#define _gloffset_IsVertexArrayAPPLE 856
-#define _gloffset_GetProgramNamedParameterdvNV 857
-#define _gloffset_GetProgramNamedParameterfvNV 858
-#define _gloffset_ProgramNamedParameter4dNV 859
-#define _gloffset_ProgramNamedParameter4dvNV 860
-#define _gloffset_ProgramNamedParameter4fNV 861
-#define _gloffset_ProgramNamedParameter4fvNV 862
-#define _gloffset_PrimitiveRestartIndexNV 863
-#define _gloffset_PrimitiveRestartNV 864
-#define _gloffset_DepthBoundsEXT 865
-#define _gloffset_BlendEquationSeparateEXT 866
-#define _gloffset_BindFramebufferEXT 867
-#define _gloffset_BindRenderbufferEXT 868
-#define _gloffset_CheckFramebufferStatusEXT 869
-#define _gloffset_DeleteFramebuffersEXT 870
-#define _gloffset_DeleteRenderbuffersEXT 871
-#define _gloffset_FramebufferRenderbufferEXT 872
-#define _gloffset_FramebufferTexture1DEXT 873
-#define _gloffset_FramebufferTexture2DEXT 874
-#define _gloffset_FramebufferTexture3DEXT 875
-#define _gloffset_GenFramebuffersEXT 876
-#define _gloffset_GenRenderbuffersEXT 877
-#define _gloffset_GenerateMipmapEXT 878
-#define _gloffset_GetFramebufferAttachmentParameterivEXT 879
-#define _gloffset_GetRenderbufferParameterivEXT 880
-#define _gloffset_IsFramebufferEXT 881
-#define _gloffset_IsRenderbufferEXT 882
-#define _gloffset_RenderbufferStorageEXT 883
-#define _gloffset_BlitFramebufferEXT 884
-#define _gloffset_BufferParameteriAPPLE 885
-#define _gloffset_FlushMappedBufferRangeAPPLE 886
-#define _gloffset_BindFragDataLocationEXT 887
-#define _gloffset_GetFragDataLocationEXT 888
-#define _gloffset_GetUniformuivEXT 889
-#define _gloffset_GetVertexAttribIivEXT 890
-#define _gloffset_GetVertexAttribIuivEXT 891
-#define _gloffset_Uniform1uiEXT 892
-#define _gloffset_Uniform1uivEXT 893
-#define _gloffset_Uniform2uiEXT 894
-#define _gloffset_Uniform2uivEXT 895
-#define _gloffset_Uniform3uiEXT 896
-#define _gloffset_Uniform3uivEXT 897
-#define _gloffset_Uniform4uiEXT 898
-#define _gloffset_Uniform4uivEXT 899
-#define _gloffset_VertexAttribI1iEXT 900
-#define _gloffset_VertexAttribI1ivEXT 901
-#define _gloffset_VertexAttribI1uiEXT 902
-#define _gloffset_VertexAttribI1uivEXT 903
-#define _gloffset_VertexAttribI2iEXT 904
-#define _gloffset_VertexAttribI2ivEXT 905
-#define _gloffset_VertexAttribI2uiEXT 906
-#define _gloffset_VertexAttribI2uivEXT 907
-#define _gloffset_VertexAttribI3iEXT 908
-#define _gloffset_VertexAttribI3ivEXT 909
-#define _gloffset_VertexAttribI3uiEXT 910
-#define _gloffset_VertexAttribI3uivEXT 911
-#define _gloffset_VertexAttribI4bvEXT 912
-#define _gloffset_VertexAttribI4iEXT 913
-#define _gloffset_VertexAttribI4ivEXT 914
-#define _gloffset_VertexAttribI4svEXT 915
-#define _gloffset_VertexAttribI4ubvEXT 916
-#define _gloffset_VertexAttribI4uiEXT 917
-#define _gloffset_VertexAttribI4uivEXT 918
-#define _gloffset_VertexAttribI4usvEXT 919
-#define _gloffset_VertexAttribIPointerEXT 920
-#define _gloffset_FramebufferTextureLayerEXT 921
-#define _gloffset_ColorMaskIndexedEXT 922
-#define _gloffset_DisableIndexedEXT 923
-#define _gloffset_EnableIndexedEXT 924
-#define _gloffset_GetBooleanIndexedvEXT 925
-#define _gloffset_GetIntegerIndexedvEXT 926
-#define _gloffset_IsEnabledIndexedEXT 927
-#define _gloffset_ClearColorIiEXT 928
-#define _gloffset_ClearColorIuiEXT 929
-#define _gloffset_GetTexParameterIivEXT 930
-#define _gloffset_GetTexParameterIuivEXT 931
-#define _gloffset_TexParameterIivEXT 932
-#define _gloffset_TexParameterIuivEXT 933
-#define _gloffset_BeginConditionalRenderNV 934
-#define _gloffset_EndConditionalRenderNV 935
-#define _gloffset_BeginTransformFeedbackEXT 936
-#define _gloffset_BindBufferBaseEXT 937
-#define _gloffset_BindBufferOffsetEXT 938
-#define _gloffset_BindBufferRangeEXT 939
-#define _gloffset_EndTransformFeedbackEXT 940
-#define _gloffset_GetTransformFeedbackVaryingEXT 941
-#define _gloffset_TransformFeedbackVaryingsEXT 942
-#define _gloffset_ProvokingVertexEXT 943
-#define _gloffset_GetObjectParameterivAPPLE 944
-#define _gloffset_ObjectPurgeableAPPLE 945
-#define _gloffset_ObjectUnpurgeableAPPLE 946
-#define _gloffset_ActiveProgramEXT 947
-#define _gloffset_CreateShaderProgramEXT 948
-#define _gloffset_UseShaderProgramEXT 949
-#define _gloffset_TextureBarrierNV 950
-#define _gloffset_StencilFuncSeparateATI 951
-#define _gloffset_ProgramEnvParameters4fvEXT 952
-#define _gloffset_ProgramLocalParameters4fvEXT 953
-#define _gloffset_GetQueryObjecti64vEXT 954
-#define _gloffset_GetQueryObjectui64vEXT 955
-#define _gloffset_EGLImageTargetRenderbufferStorageOES 956
-#define _gloffset_EGLImageTargetTexture2DOES 957
+#define _gloffset_BeginQueryIndexed 669
+#define _gloffset_DrawTransformFeedbackStream 670
+#define _gloffset_EndQueryIndexed 671
+#define _gloffset_GetQueryIndexediv 672
+#define _gloffset_ClearDepthf 673
+#define _gloffset_DepthRangef 674
+#define _gloffset_GetShaderPrecisionFormat 675
+#define _gloffset_ReleaseShaderCompiler 676
+#define _gloffset_ShaderBinary 677
+#define _gloffset_DebugMessageCallbackARB 678
+#define _gloffset_DebugMessageControlARB 679
+#define _gloffset_DebugMessageInsertARB 680
+#define _gloffset_GetDebugMessageLogARB 681
+#define _gloffset_GetGraphicsResetStatusARB 682
+#define _gloffset_GetnColorTableARB 683
+#define _gloffset_GetnCompressedTexImageARB 684
+#define _gloffset_GetnConvolutionFilterARB 685
+#define _gloffset_GetnHistogramARB 686
+#define _gloffset_GetnMapdvARB 687
+#define _gloffset_GetnMapfvARB 688
+#define _gloffset_GetnMapivARB 689
+#define _gloffset_GetnMinmaxARB 690
+#define _gloffset_GetnPixelMapfvARB 691
+#define _gloffset_GetnPixelMapuivARB 692
+#define _gloffset_GetnPixelMapusvARB 693
+#define _gloffset_GetnPolygonStippleARB 694
+#define _gloffset_GetnSeparableFilterARB 695
+#define _gloffset_GetnTexImageARB 696
+#define _gloffset_GetnUniformdvARB 697
+#define _gloffset_GetnUniformfvARB 698
+#define _gloffset_GetnUniformivARB 699
+#define _gloffset_GetnUniformuivARB 700
+#define _gloffset_ReadnPixelsARB 701
+#define _gloffset_DrawArraysInstancedBaseInstance 702
+#define _gloffset_DrawElementsInstancedBaseInstance 703
+#define _gloffset_DrawElementsInstancedBaseVertexBaseInstance 704
+#define _gloffset_DrawTransformFeedbackInstanced 705
+#define _gloffset_DrawTransformFeedbackStreamInstanced 706
+#define _gloffset_TexStorage1D 707
+#define _gloffset_TexStorage2D 708
+#define _gloffset_TexStorage3D 709
+#define _gloffset_TextureStorage1DEXT 710
+#define _gloffset_TextureStorage2DEXT 711
+#define _gloffset_TextureStorage3DEXT 712
+#define _gloffset_PolygonOffsetEXT 713
+#define _gloffset_SampleMaskSGIS 714
+#define _gloffset_SamplePatternSGIS 715
+#define _gloffset_ColorPointerEXT 716
+#define _gloffset_EdgeFlagPointerEXT 717
+#define _gloffset_IndexPointerEXT 718
+#define _gloffset_NormalPointerEXT 719
+#define _gloffset_TexCoordPointerEXT 720
+#define _gloffset_VertexPointerEXT 721
+#define _gloffset_PointParameterfEXT 722
+#define _gloffset_PointParameterfvEXT 723
+#define _gloffset_LockArraysEXT 724
+#define _gloffset_UnlockArraysEXT 725
+#define _gloffset_SecondaryColor3bEXT 726
+#define _gloffset_SecondaryColor3bvEXT 727
+#define _gloffset_SecondaryColor3dEXT 728
+#define _gloffset_SecondaryColor3dvEXT 729
+#define _gloffset_SecondaryColor3fEXT 730
+#define _gloffset_SecondaryColor3fvEXT 731
+#define _gloffset_SecondaryColor3iEXT 732
+#define _gloffset_SecondaryColor3ivEXT 733
+#define _gloffset_SecondaryColor3sEXT 734
+#define _gloffset_SecondaryColor3svEXT 735
+#define _gloffset_SecondaryColor3ubEXT 736
+#define _gloffset_SecondaryColor3ubvEXT 737
+#define _gloffset_SecondaryColor3uiEXT 738
+#define _gloffset_SecondaryColor3uivEXT 739
+#define _gloffset_SecondaryColor3usEXT 740
+#define _gloffset_SecondaryColor3usvEXT 741
+#define _gloffset_SecondaryColorPointerEXT 742
+#define _gloffset_MultiDrawArraysEXT 743
+#define _gloffset_MultiDrawElementsEXT 744
+#define _gloffset_FogCoordPointerEXT 745
+#define _gloffset_FogCoorddEXT 746
+#define _gloffset_FogCoorddvEXT 747
+#define _gloffset_FogCoordfEXT 748
+#define _gloffset_FogCoordfvEXT 749
+#define _gloffset_BlendFuncSeparateEXT 750
+#define _gloffset_ResizeBuffersMESA 751
+#define _gloffset_WindowPos2dMESA 752
+#define _gloffset_WindowPos2dvMESA 753
+#define _gloffset_WindowPos2fMESA 754
+#define _gloffset_WindowPos2fvMESA 755
+#define _gloffset_WindowPos2iMESA 756
+#define _gloffset_WindowPos2ivMESA 757
+#define _gloffset_WindowPos2sMESA 758
+#define _gloffset_WindowPos2svMESA 759
+#define _gloffset_WindowPos3dMESA 760
+#define _gloffset_WindowPos3dvMESA 761
+#define _gloffset_WindowPos3fMESA 762
+#define _gloffset_WindowPos3fvMESA 763
+#define _gloffset_WindowPos3iMESA 764
+#define _gloffset_WindowPos3ivMESA 765
+#define _gloffset_WindowPos3sMESA 766
+#define _gloffset_WindowPos3svMESA 767
+#define _gloffset_WindowPos4dMESA 768
+#define _gloffset_WindowPos4dvMESA 769
+#define _gloffset_WindowPos4fMESA 770
+#define _gloffset_WindowPos4fvMESA 771
+#define _gloffset_WindowPos4iMESA 772
+#define _gloffset_WindowPos4ivMESA 773
+#define _gloffset_WindowPos4sMESA 774
+#define _gloffset_WindowPos4svMESA 775
+#define _gloffset_MultiModeDrawArraysIBM 776
+#define _gloffset_MultiModeDrawElementsIBM 777
+#define _gloffset_AreProgramsResidentNV 778
+#define _gloffset_BindProgramNV 779
+#define _gloffset_DeleteProgramsNV 780
+#define _gloffset_ExecuteProgramNV 781
+#define _gloffset_GenProgramsNV 782
+#define _gloffset_GetProgramParameterdvNV 783
+#define _gloffset_GetProgramParameterfvNV 784
+#define _gloffset_GetProgramStringNV 785
+#define _gloffset_GetProgramivNV 786
+#define _gloffset_GetTrackMatrixivNV 787
+#define _gloffset_GetVertexAttribPointervNV 788
+#define _gloffset_GetVertexAttribdvNV 789
+#define _gloffset_GetVertexAttribfvNV 790
+#define _gloffset_GetVertexAttribivNV 791
+#define _gloffset_IsProgramNV 792
+#define _gloffset_LoadProgramNV 793
+#define _gloffset_ProgramParameters4dvNV 794
+#define _gloffset_ProgramParameters4fvNV 795
+#define _gloffset_RequestResidentProgramsNV 796
+#define _gloffset_TrackMatrixNV 797
+#define _gloffset_VertexAttrib1dNV 798
+#define _gloffset_VertexAttrib1dvNV 799
+#define _gloffset_VertexAttrib1fNV 800
+#define _gloffset_VertexAttrib1fvNV 801
+#define _gloffset_VertexAttrib1sNV 802
+#define _gloffset_VertexAttrib1svNV 803
+#define _gloffset_VertexAttrib2dNV 804
+#define _gloffset_VertexAttrib2dvNV 805
+#define _gloffset_VertexAttrib2fNV 806
+#define _gloffset_VertexAttrib2fvNV 807
+#define _gloffset_VertexAttrib2sNV 808
+#define _gloffset_VertexAttrib2svNV 809
+#define _gloffset_VertexAttrib3dNV 810
+#define _gloffset_VertexAttrib3dvNV 811
+#define _gloffset_VertexAttrib3fNV 812
+#define _gloffset_VertexAttrib3fvNV 813
+#define _gloffset_VertexAttrib3sNV 814
+#define _gloffset_VertexAttrib3svNV 815
+#define _gloffset_VertexAttrib4dNV 816
+#define _gloffset_VertexAttrib4dvNV 817
+#define _gloffset_VertexAttrib4fNV 818
+#define _gloffset_VertexAttrib4fvNV 819
+#define _gloffset_VertexAttrib4sNV 820
+#define _gloffset_VertexAttrib4svNV 821
+#define _gloffset_VertexAttrib4ubNV 822
+#define _gloffset_VertexAttrib4ubvNV 823
+#define _gloffset_VertexAttribPointerNV 824
+#define _gloffset_VertexAttribs1dvNV 825
+#define _gloffset_VertexAttribs1fvNV 826
+#define _gloffset_VertexAttribs1svNV 827
+#define _gloffset_VertexAttribs2dvNV 828
+#define _gloffset_VertexAttribs2fvNV 829
+#define _gloffset_VertexAttribs2svNV 830
+#define _gloffset_VertexAttribs3dvNV 831
+#define _gloffset_VertexAttribs3fvNV 832
+#define _gloffset_VertexAttribs3svNV 833
+#define _gloffset_VertexAttribs4dvNV 834
+#define _gloffset_VertexAttribs4fvNV 835
+#define _gloffset_VertexAttribs4svNV 836
+#define _gloffset_VertexAttribs4ubvNV 837
+#define _gloffset_GetTexBumpParameterfvATI 838
+#define _gloffset_GetTexBumpParameterivATI 839
+#define _gloffset_TexBumpParameterfvATI 840
+#define _gloffset_TexBumpParameterivATI 841
+#define _gloffset_AlphaFragmentOp1ATI 842
+#define _gloffset_AlphaFragmentOp2ATI 843
+#define _gloffset_AlphaFragmentOp3ATI 844
+#define _gloffset_BeginFragmentShaderATI 845
+#define _gloffset_BindFragmentShaderATI 846
+#define _gloffset_ColorFragmentOp1ATI 847
+#define _gloffset_ColorFragmentOp2ATI 848
+#define _gloffset_ColorFragmentOp3ATI 849
+#define _gloffset_DeleteFragmentShaderATI 850
+#define _gloffset_EndFragmentShaderATI 851
+#define _gloffset_GenFragmentShadersATI 852
+#define _gloffset_PassTexCoordATI 853
+#define _gloffset_SampleMapATI 854
+#define _gloffset_SetFragmentShaderConstantATI 855
+#define _gloffset_PointParameteriNV 856
+#define _gloffset_PointParameterivNV 857
+#define _gloffset_ActiveStencilFaceEXT 858
+#define _gloffset_BindVertexArrayAPPLE 859
+#define _gloffset_DeleteVertexArraysAPPLE 860
+#define _gloffset_GenVertexArraysAPPLE 861
+#define _gloffset_IsVertexArrayAPPLE 862
+#define _gloffset_GetProgramNamedParameterdvNV 863
+#define _gloffset_GetProgramNamedParameterfvNV 864
+#define _gloffset_ProgramNamedParameter4dNV 865
+#define _gloffset_ProgramNamedParameter4dvNV 866
+#define _gloffset_ProgramNamedParameter4fNV 867
+#define _gloffset_ProgramNamedParameter4fvNV 868
+#define _gloffset_PrimitiveRestartIndexNV 869
+#define _gloffset_PrimitiveRestartNV 870
+#define _gloffset_DepthBoundsEXT 871
+#define _gloffset_BlendEquationSeparateEXT 872
+#define _gloffset_BindFramebufferEXT 873
+#define _gloffset_BindRenderbufferEXT 874
+#define _gloffset_CheckFramebufferStatusEXT 875
+#define _gloffset_DeleteFramebuffersEXT 876
+#define _gloffset_DeleteRenderbuffersEXT 877
+#define _gloffset_FramebufferRenderbufferEXT 878
+#define _gloffset_FramebufferTexture1DEXT 879
+#define _gloffset_FramebufferTexture2DEXT 880
+#define _gloffset_FramebufferTexture3DEXT 881
+#define _gloffset_GenFramebuffersEXT 882
+#define _gloffset_GenRenderbuffersEXT 883
+#define _gloffset_GenerateMipmapEXT 884
+#define _gloffset_GetFramebufferAttachmentParameterivEXT 885
+#define _gloffset_GetRenderbufferParameterivEXT 886
+#define _gloffset_IsFramebufferEXT 887
+#define _gloffset_IsRenderbufferEXT 888
+#define _gloffset_RenderbufferStorageEXT 889
+#define _gloffset_BlitFramebufferEXT 890
+#define _gloffset_BufferParameteriAPPLE 891
+#define _gloffset_FlushMappedBufferRangeAPPLE 892
+#define _gloffset_BindFragDataLocationEXT 893
+#define _gloffset_GetFragDataLocationEXT 894
+#define _gloffset_GetUniformuivEXT 895
+#define _gloffset_GetVertexAttribIivEXT 896
+#define _gloffset_GetVertexAttribIuivEXT 897
+#define _gloffset_Uniform1uiEXT 898
+#define _gloffset_Uniform1uivEXT 899
+#define _gloffset_Uniform2uiEXT 900
+#define _gloffset_Uniform2uivEXT 901
+#define _gloffset_Uniform3uiEXT 902
+#define _gloffset_Uniform3uivEXT 903
+#define _gloffset_Uniform4uiEXT 904
+#define _gloffset_Uniform4uivEXT 905
+#define _gloffset_VertexAttribI1iEXT 906
+#define _gloffset_VertexAttribI1ivEXT 907
+#define _gloffset_VertexAttribI1uiEXT 908
+#define _gloffset_VertexAttribI1uivEXT 909
+#define _gloffset_VertexAttribI2iEXT 910
+#define _gloffset_VertexAttribI2ivEXT 911
+#define _gloffset_VertexAttribI2uiEXT 912
+#define _gloffset_VertexAttribI2uivEXT 913
+#define _gloffset_VertexAttribI3iEXT 914
+#define _gloffset_VertexAttribI3ivEXT 915
+#define _gloffset_VertexAttribI3uiEXT 916
+#define _gloffset_VertexAttribI3uivEXT 917
+#define _gloffset_VertexAttribI4bvEXT 918
+#define _gloffset_VertexAttribI4iEXT 919
+#define _gloffset_VertexAttribI4ivEXT 920
+#define _gloffset_VertexAttribI4svEXT 921
+#define _gloffset_VertexAttribI4ubvEXT 922
+#define _gloffset_VertexAttribI4uiEXT 923
+#define _gloffset_VertexAttribI4uivEXT 924
+#define _gloffset_VertexAttribI4usvEXT 925
+#define _gloffset_VertexAttribIPointerEXT 926
+#define _gloffset_FramebufferTextureLayerEXT 927
+#define _gloffset_ColorMaskIndexedEXT 928
+#define _gloffset_DisableIndexedEXT 929
+#define _gloffset_EnableIndexedEXT 930
+#define _gloffset_GetBooleanIndexedvEXT 931
+#define _gloffset_GetIntegerIndexedvEXT 932
+#define _gloffset_IsEnabledIndexedEXT 933
+#define _gloffset_ClearColorIiEXT 934
+#define _gloffset_ClearColorIuiEXT 935
+#define _gloffset_GetTexParameterIivEXT 936
+#define _gloffset_GetTexParameterIuivEXT 937
+#define _gloffset_TexParameterIivEXT 938
+#define _gloffset_TexParameterIuivEXT 939
+#define _gloffset_BeginConditionalRenderNV 940
+#define _gloffset_EndConditionalRenderNV 941
+#define _gloffset_BeginTransformFeedbackEXT 942
+#define _gloffset_BindBufferBaseEXT 943
+#define _gloffset_BindBufferOffsetEXT 944
+#define _gloffset_BindBufferRangeEXT 945
+#define _gloffset_EndTransformFeedbackEXT 946
+#define _gloffset_GetTransformFeedbackVaryingEXT 947
+#define _gloffset_TransformFeedbackVaryingsEXT 948
+#define _gloffset_ProvokingVertexEXT 949
+#define _gloffset_GetObjectParameterivAPPLE 950
+#define _gloffset_ObjectPurgeableAPPLE 951
+#define _gloffset_ObjectUnpurgeableAPPLE 952
+#define _gloffset_ActiveProgramEXT 953
+#define _gloffset_CreateShaderProgramEXT 954
+#define _gloffset_UseShaderProgramEXT 955
+#define _gloffset_TextureBarrierNV 956
+#define _gloffset_StencilFuncSeparateATI 957
+#define _gloffset_ProgramEnvParameters4fvEXT 958
+#define _gloffset_ProgramLocalParameters4fvEXT 959
+#define _gloffset_GetQueryObjecti64vEXT 960
+#define _gloffset_GetQueryObjectui64vEXT 961
+#define _gloffset_EGLImageTargetRenderbufferStorageOES 962
+#define _gloffset_EGLImageTargetTexture2DOES 963
#else /* !FEATURE_remap_table */
-#define driDispatchRemapTable_size 550
+#define driDispatchRemapTable_size 556
extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
#define AttachShader_remap_index 0
@@ -1299,295 +1305,301 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
#define IsTransformFeedback_remap_index 258
#define PauseTransformFeedback_remap_index 259
#define ResumeTransformFeedback_remap_index 260
-#define ClearDepthf_remap_index 261
-#define DepthRangef_remap_index 262
-#define GetShaderPrecisionFormat_remap_index 263
-#define ReleaseShaderCompiler_remap_index 264
-#define ShaderBinary_remap_index 265
-#define DebugMessageCallbackARB_remap_index 266
-#define DebugMessageControlARB_remap_index 267
-#define DebugMessageInsertARB_remap_index 268
-#define GetDebugMessageLogARB_remap_index 269
-#define GetGraphicsResetStatusARB_remap_index 270
-#define GetnColorTableARB_remap_index 271
-#define GetnCompressedTexImageARB_remap_index 272
-#define GetnConvolutionFilterARB_remap_index 273
-#define GetnHistogramARB_remap_index 274
-#define GetnMapdvARB_remap_index 275
-#define GetnMapfvARB_remap_index 276
-#define GetnMapivARB_remap_index 277
-#define GetnMinmaxARB_remap_index 278
-#define GetnPixelMapfvARB_remap_index 279
-#define GetnPixelMapuivARB_remap_index 280
-#define GetnPixelMapusvARB_remap_index 281
-#define GetnPolygonStippleARB_remap_index 282
-#define GetnSeparableFilterARB_remap_index 283
-#define GetnTexImageARB_remap_index 284
-#define GetnUniformdvARB_remap_index 285
-#define GetnUniformfvARB_remap_index 286
-#define GetnUniformivARB_remap_index 287
-#define GetnUniformuivARB_remap_index 288
-#define ReadnPixelsARB_remap_index 289
-#define DrawArraysInstancedBaseInstance_remap_index 290
-#define DrawElementsInstancedBaseInstance_remap_index 291
-#define DrawElementsInstancedBaseVertexBaseInstance_remap_index 292
-#define TexStorage1D_remap_index 293
-#define TexStorage2D_remap_index 294
-#define TexStorage3D_remap_index 295
-#define TextureStorage1DEXT_remap_index 296
-#define TextureStorage2DEXT_remap_index 297
-#define TextureStorage3DEXT_remap_index 298
-#define PolygonOffsetEXT_remap_index 299
-#define SampleMaskSGIS_remap_index 300
-#define SamplePatternSGIS_remap_index 301
-#define ColorPointerEXT_remap_index 302
-#define EdgeFlagPointerEXT_remap_index 303
-#define IndexPointerEXT_remap_index 304
-#define NormalPointerEXT_remap_index 305
-#define TexCoordPointerEXT_remap_index 306
-#define VertexPointerEXT_remap_index 307
-#define PointParameterfEXT_remap_index 308
-#define PointParameterfvEXT_remap_index 309
-#define LockArraysEXT_remap_index 310
-#define UnlockArraysEXT_remap_index 311
-#define SecondaryColor3bEXT_remap_index 312
-#define SecondaryColor3bvEXT_remap_index 313
-#define SecondaryColor3dEXT_remap_index 314
-#define SecondaryColor3dvEXT_remap_index 315
-#define SecondaryColor3fEXT_remap_index 316
-#define SecondaryColor3fvEXT_remap_index 317
-#define SecondaryColor3iEXT_remap_index 318
-#define SecondaryColor3ivEXT_remap_index 319
-#define SecondaryColor3sEXT_remap_index 320
-#define SecondaryColor3svEXT_remap_index 321
-#define SecondaryColor3ubEXT_remap_index 322
-#define SecondaryColor3ubvEXT_remap_index 323
-#define SecondaryColor3uiEXT_remap_index 324
-#define SecondaryColor3uivEXT_remap_index 325
-#define SecondaryColor3usEXT_remap_index 326
-#define SecondaryColor3usvEXT_remap_index 327
-#define SecondaryColorPointerEXT_remap_index 328
-#define MultiDrawArraysEXT_remap_index 329
-#define MultiDrawElementsEXT_remap_index 330
-#define FogCoordPointerEXT_remap_index 331
-#define FogCoorddEXT_remap_index 332
-#define FogCoorddvEXT_remap_index 333
-#define FogCoordfEXT_remap_index 334
-#define FogCoordfvEXT_remap_index 335
-#define BlendFuncSeparateEXT_remap_index 336
-#define ResizeBuffersMESA_remap_index 337
-#define WindowPos2dMESA_remap_index 338
-#define WindowPos2dvMESA_remap_index 339
-#define WindowPos2fMESA_remap_index 340
-#define WindowPos2fvMESA_remap_index 341
-#define WindowPos2iMESA_remap_index 342
-#define WindowPos2ivMESA_remap_index 343
-#define WindowPos2sMESA_remap_index 344
-#define WindowPos2svMESA_remap_index 345
-#define WindowPos3dMESA_remap_index 346
-#define WindowPos3dvMESA_remap_index 347
-#define WindowPos3fMESA_remap_index 348
-#define WindowPos3fvMESA_remap_index 349
-#define WindowPos3iMESA_remap_index 350
-#define WindowPos3ivMESA_remap_index 351
-#define WindowPos3sMESA_remap_index 352
-#define WindowPos3svMESA_remap_index 353
-#define WindowPos4dMESA_remap_index 354
-#define WindowPos4dvMESA_remap_index 355
-#define WindowPos4fMESA_remap_index 356
-#define WindowPos4fvMESA_remap_index 357
-#define WindowPos4iMESA_remap_index 358
-#define WindowPos4ivMESA_remap_index 359
-#define WindowPos4sMESA_remap_index 360
-#define WindowPos4svMESA_remap_index 361
-#define MultiModeDrawArraysIBM_remap_index 362
-#define MultiModeDrawElementsIBM_remap_index 363
-#define AreProgramsResidentNV_remap_index 364
-#define BindProgramNV_remap_index 365
-#define DeleteProgramsNV_remap_index 366
-#define ExecuteProgramNV_remap_index 367
-#define GenProgramsNV_remap_index 368
-#define GetProgramParameterdvNV_remap_index 369
-#define GetProgramParameterfvNV_remap_index 370
-#define GetProgramStringNV_remap_index 371
-#define GetProgramivNV_remap_index 372
-#define GetTrackMatrixivNV_remap_index 373
-#define GetVertexAttribPointervNV_remap_index 374
-#define GetVertexAttribdvNV_remap_index 375
-#define GetVertexAttribfvNV_remap_index 376
-#define GetVertexAttribivNV_remap_index 377
-#define IsProgramNV_remap_index 378
-#define LoadProgramNV_remap_index 379
-#define ProgramParameters4dvNV_remap_index 380
-#define ProgramParameters4fvNV_remap_index 381
-#define RequestResidentProgramsNV_remap_index 382
-#define TrackMatrixNV_remap_index 383
-#define VertexAttrib1dNV_remap_index 384
-#define VertexAttrib1dvNV_remap_index 385
-#define VertexAttrib1fNV_remap_index 386
-#define VertexAttrib1fvNV_remap_index 387
-#define VertexAttrib1sNV_remap_index 388
-#define VertexAttrib1svNV_remap_index 389
-#define VertexAttrib2dNV_remap_index 390
-#define VertexAttrib2dvNV_remap_index 391
-#define VertexAttrib2fNV_remap_index 392
-#define VertexAttrib2fvNV_remap_index 393
-#define VertexAttrib2sNV_remap_index 394
-#define VertexAttrib2svNV_remap_index 395
-#define VertexAttrib3dNV_remap_index 396
-#define VertexAttrib3dvNV_remap_index 397
-#define VertexAttrib3fNV_remap_index 398
-#define VertexAttrib3fvNV_remap_index 399
-#define VertexAttrib3sNV_remap_index 400
-#define VertexAttrib3svNV_remap_index 401
-#define VertexAttrib4dNV_remap_index 402
-#define VertexAttrib4dvNV_remap_index 403
-#define VertexAttrib4fNV_remap_index 404
-#define VertexAttrib4fvNV_remap_index 405
-#define VertexAttrib4sNV_remap_index 406
-#define VertexAttrib4svNV_remap_index 407
-#define VertexAttrib4ubNV_remap_index 408
-#define VertexAttrib4ubvNV_remap_index 409
-#define VertexAttribPointerNV_remap_index 410
-#define VertexAttribs1dvNV_remap_index 411
-#define VertexAttribs1fvNV_remap_index 412
-#define VertexAttribs1svNV_remap_index 413
-#define VertexAttribs2dvNV_remap_index 414
-#define VertexAttribs2fvNV_remap_index 415
-#define VertexAttribs2svNV_remap_index 416
-#define VertexAttribs3dvNV_remap_index 417
-#define VertexAttribs3fvNV_remap_index 418
-#define VertexAttribs3svNV_remap_index 419
-#define VertexAttribs4dvNV_remap_index 420
-#define VertexAttribs4fvNV_remap_index 421
-#define VertexAttribs4svNV_remap_index 422
-#define VertexAttribs4ubvNV_remap_index 423
-#define GetTexBumpParameterfvATI_remap_index 424
-#define GetTexBumpParameterivATI_remap_index 425
-#define TexBumpParameterfvATI_remap_index 426
-#define TexBumpParameterivATI_remap_index 427
-#define AlphaFragmentOp1ATI_remap_index 428
-#define AlphaFragmentOp2ATI_remap_index 429
-#define AlphaFragmentOp3ATI_remap_index 430
-#define BeginFragmentShaderATI_remap_index 431
-#define BindFragmentShaderATI_remap_index 432
-#define ColorFragmentOp1ATI_remap_index 433
-#define ColorFragmentOp2ATI_remap_index 434
-#define ColorFragmentOp3ATI_remap_index 435
-#define DeleteFragmentShaderATI_remap_index 436
-#define EndFragmentShaderATI_remap_index 437
-#define GenFragmentShadersATI_remap_index 438
-#define PassTexCoordATI_remap_index 439
-#define SampleMapATI_remap_index 440
-#define SetFragmentShaderConstantATI_remap_index 441
-#define PointParameteriNV_remap_index 442
-#define PointParameterivNV_remap_index 443
-#define ActiveStencilFaceEXT_remap_index 444
-#define BindVertexArrayAPPLE_remap_index 445
-#define DeleteVertexArraysAPPLE_remap_index 446
-#define GenVertexArraysAPPLE_remap_index 447
-#define IsVertexArrayAPPLE_remap_index 448
-#define GetProgramNamedParameterdvNV_remap_index 449
-#define GetProgramNamedParameterfvNV_remap_index 450
-#define ProgramNamedParameter4dNV_remap_index 451
-#define ProgramNamedParameter4dvNV_remap_index 452
-#define ProgramNamedParameter4fNV_remap_index 453
-#define ProgramNamedParameter4fvNV_remap_index 454
-#define PrimitiveRestartIndexNV_remap_index 455
-#define PrimitiveRestartNV_remap_index 456
-#define DepthBoundsEXT_remap_index 457
-#define BlendEquationSeparateEXT_remap_index 458
-#define BindFramebufferEXT_remap_index 459
-#define BindRenderbufferEXT_remap_index 460
-#define CheckFramebufferStatusEXT_remap_index 461
-#define DeleteFramebuffersEXT_remap_index 462
-#define DeleteRenderbuffersEXT_remap_index 463
-#define FramebufferRenderbufferEXT_remap_index 464
-#define FramebufferTexture1DEXT_remap_index 465
-#define FramebufferTexture2DEXT_remap_index 466
-#define FramebufferTexture3DEXT_remap_index 467
-#define GenFramebuffersEXT_remap_index 468
-#define GenRenderbuffersEXT_remap_index 469
-#define GenerateMipmapEXT_remap_index 470
-#define GetFramebufferAttachmentParameterivEXT_remap_index 471
-#define GetRenderbufferParameterivEXT_remap_index 472
-#define IsFramebufferEXT_remap_index 473
-#define IsRenderbufferEXT_remap_index 474
-#define RenderbufferStorageEXT_remap_index 475
-#define BlitFramebufferEXT_remap_index 476
-#define BufferParameteriAPPLE_remap_index 477
-#define FlushMappedBufferRangeAPPLE_remap_index 478
-#define BindFragDataLocationEXT_remap_index 479
-#define GetFragDataLocationEXT_remap_index 480
-#define GetUniformuivEXT_remap_index 481
-#define GetVertexAttribIivEXT_remap_index 482
-#define GetVertexAttribIuivEXT_remap_index 483
-#define Uniform1uiEXT_remap_index 484
-#define Uniform1uivEXT_remap_index 485
-#define Uniform2uiEXT_remap_index 486
-#define Uniform2uivEXT_remap_index 487
-#define Uniform3uiEXT_remap_index 488
-#define Uniform3uivEXT_remap_index 489
-#define Uniform4uiEXT_remap_index 490
-#define Uniform4uivEXT_remap_index 491
-#define VertexAttribI1iEXT_remap_index 492
-#define VertexAttribI1ivEXT_remap_index 493
-#define VertexAttribI1uiEXT_remap_index 494
-#define VertexAttribI1uivEXT_remap_index 495
-#define VertexAttribI2iEXT_remap_index 496
-#define VertexAttribI2ivEXT_remap_index 497
-#define VertexAttribI2uiEXT_remap_index 498
-#define VertexAttribI2uivEXT_remap_index 499
-#define VertexAttribI3iEXT_remap_index 500
-#define VertexAttribI3ivEXT_remap_index 501
-#define VertexAttribI3uiEXT_remap_index 502
-#define VertexAttribI3uivEXT_remap_index 503
-#define VertexAttribI4bvEXT_remap_index 504
-#define VertexAttribI4iEXT_remap_index 505
-#define VertexAttribI4ivEXT_remap_index 506
-#define VertexAttribI4svEXT_remap_index 507
-#define VertexAttribI4ubvEXT_remap_index 508
-#define VertexAttribI4uiEXT_remap_index 509
-#define VertexAttribI4uivEXT_remap_index 510
-#define VertexAttribI4usvEXT_remap_index 511
-#define VertexAttribIPointerEXT_remap_index 512
-#define FramebufferTextureLayerEXT_remap_index 513
-#define ColorMaskIndexedEXT_remap_index 514
-#define DisableIndexedEXT_remap_index 515
-#define EnableIndexedEXT_remap_index 516
-#define GetBooleanIndexedvEXT_remap_index 517
-#define GetIntegerIndexedvEXT_remap_index 518
-#define IsEnabledIndexedEXT_remap_index 519
-#define ClearColorIiEXT_remap_index 520
-#define ClearColorIuiEXT_remap_index 521
-#define GetTexParameterIivEXT_remap_index 522
-#define GetTexParameterIuivEXT_remap_index 523
-#define TexParameterIivEXT_remap_index 524
-#define TexParameterIuivEXT_remap_index 525
-#define BeginConditionalRenderNV_remap_index 526
-#define EndConditionalRenderNV_remap_index 527
-#define BeginTransformFeedbackEXT_remap_index 528
-#define BindBufferBaseEXT_remap_index 529
-#define BindBufferOffsetEXT_remap_index 530
-#define BindBufferRangeEXT_remap_index 531
-#define EndTransformFeedbackEXT_remap_index 532
-#define GetTransformFeedbackVaryingEXT_remap_index 533
-#define TransformFeedbackVaryingsEXT_remap_index 534
-#define ProvokingVertexEXT_remap_index 535
-#define GetObjectParameterivAPPLE_remap_index 536
-#define ObjectPurgeableAPPLE_remap_index 537
-#define ObjectUnpurgeableAPPLE_remap_index 538
-#define ActiveProgramEXT_remap_index 539
-#define CreateShaderProgramEXT_remap_index 540
-#define UseShaderProgramEXT_remap_index 541
-#define TextureBarrierNV_remap_index 542
-#define StencilFuncSeparateATI_remap_index 543
-#define ProgramEnvParameters4fvEXT_remap_index 544
-#define ProgramLocalParameters4fvEXT_remap_index 545
-#define GetQueryObjecti64vEXT_remap_index 546
-#define GetQueryObjectui64vEXT_remap_index 547
-#define EGLImageTargetRenderbufferStorageOES_remap_index 548
-#define EGLImageTargetTexture2DOES_remap_index 549
+#define BeginQueryIndexed_remap_index 261
+#define DrawTransformFeedbackStream_remap_index 262
+#define EndQueryIndexed_remap_index 263
+#define GetQueryIndexediv_remap_index 264
+#define ClearDepthf_remap_index 265
+#define DepthRangef_remap_index 266
+#define GetShaderPrecisionFormat_remap_index 267
+#define ReleaseShaderCompiler_remap_index 268
+#define ShaderBinary_remap_index 269
+#define DebugMessageCallbackARB_remap_index 270
+#define DebugMessageControlARB_remap_index 271
+#define DebugMessageInsertARB_remap_index 272
+#define GetDebugMessageLogARB_remap_index 273
+#define GetGraphicsResetStatusARB_remap_index 274
+#define GetnColorTableARB_remap_index 275
+#define GetnCompressedTexImageARB_remap_index 276
+#define GetnConvolutionFilterARB_remap_index 277
+#define GetnHistogramARB_remap_index 278
+#define GetnMapdvARB_remap_index 279
+#define GetnMapfvARB_remap_index 280
+#define GetnMapivARB_remap_index 281
+#define GetnMinmaxARB_remap_index 282
+#define GetnPixelMapfvARB_remap_index 283
+#define GetnPixelMapuivARB_remap_index 284
+#define GetnPixelMapusvARB_remap_index 285
+#define GetnPolygonStippleARB_remap_index 286
+#define GetnSeparableFilterARB_remap_index 287
+#define GetnTexImageARB_remap_index 288
+#define GetnUniformdvARB_remap_index 289
+#define GetnUniformfvARB_remap_index 290
+#define GetnUniformivARB_remap_index 291
+#define GetnUniformuivARB_remap_index 292
+#define ReadnPixelsARB_remap_index 293
+#define DrawArraysInstancedBaseInstance_remap_index 294
+#define DrawElementsInstancedBaseInstance_remap_index 295
+#define DrawElementsInstancedBaseVertexBaseInstance_remap_index 296
+#define DrawTransformFeedbackInstanced_remap_index 297
+#define DrawTransformFeedbackStreamInstanced_remap_index 298
+#define TexStorage1D_remap_index 299
+#define TexStorage2D_remap_index 300
+#define TexStorage3D_remap_index 301
+#define TextureStorage1DEXT_remap_index 302
+#define TextureStorage2DEXT_remap_index 303
+#define TextureStorage3DEXT_remap_index 304
+#define PolygonOffsetEXT_remap_index 305
+#define SampleMaskSGIS_remap_index 306
+#define SamplePatternSGIS_remap_index 307
+#define ColorPointerEXT_remap_index 308
+#define EdgeFlagPointerEXT_remap_index 309
+#define IndexPointerEXT_remap_index 310
+#define NormalPointerEXT_remap_index 311
+#define TexCoordPointerEXT_remap_index 312
+#define VertexPointerEXT_remap_index 313
+#define PointParameterfEXT_remap_index 314
+#define PointParameterfvEXT_remap_index 315
+#define LockArraysEXT_remap_index 316
+#define UnlockArraysEXT_remap_index 317
+#define SecondaryColor3bEXT_remap_index 318
+#define SecondaryColor3bvEXT_remap_index 319
+#define SecondaryColor3dEXT_remap_index 320
+#define SecondaryColor3dvEXT_remap_index 321
+#define SecondaryColor3fEXT_remap_index 322
+#define SecondaryColor3fvEXT_remap_index 323
+#define SecondaryColor3iEXT_remap_index 324
+#define SecondaryColor3ivEXT_remap_index 325
+#define SecondaryColor3sEXT_remap_index 326
+#define SecondaryColor3svEXT_remap_index 327
+#define SecondaryColor3ubEXT_remap_index 328
+#define SecondaryColor3ubvEXT_remap_index 329
+#define SecondaryColor3uiEXT_remap_index 330
+#define SecondaryColor3uivEXT_remap_index 331
+#define SecondaryColor3usEXT_remap_index 332
+#define SecondaryColor3usvEXT_remap_index 333
+#define SecondaryColorPointerEXT_remap_index 334
+#define MultiDrawArraysEXT_remap_index 335
+#define MultiDrawElementsEXT_remap_index 336
+#define FogCoordPointerEXT_remap_index 337
+#define FogCoorddEXT_remap_index 338
+#define FogCoorddvEXT_remap_index 339
+#define FogCoordfEXT_remap_index 340
+#define FogCoordfvEXT_remap_index 341
+#define BlendFuncSeparateEXT_remap_index 342
+#define ResizeBuffersMESA_remap_index 343
+#define WindowPos2dMESA_remap_index 344
+#define WindowPos2dvMESA_remap_index 345
+#define WindowPos2fMESA_remap_index 346
+#define WindowPos2fvMESA_remap_index 347
+#define WindowPos2iMESA_remap_index 348
+#define WindowPos2ivMESA_remap_index 349
+#define WindowPos2sMESA_remap_index 350
+#define WindowPos2svMESA_remap_index 351
+#define WindowPos3dMESA_remap_index 352
+#define WindowPos3dvMESA_remap_index 353
+#define WindowPos3fMESA_remap_index 354
+#define WindowPos3fvMESA_remap_index 355
+#define WindowPos3iMESA_remap_index 356
+#define WindowPos3ivMESA_remap_index 357
+#define WindowPos3sMESA_remap_index 358
+#define WindowPos3svMESA_remap_index 359
+#define WindowPos4dMESA_remap_index 360
+#define WindowPos4dvMESA_remap_index 361
+#define WindowPos4fMESA_remap_index 362
+#define WindowPos4fvMESA_remap_index 363
+#define WindowPos4iMESA_remap_index 364
+#define WindowPos4ivMESA_remap_index 365
+#define WindowPos4sMESA_remap_index 366
+#define WindowPos4svMESA_remap_index 367
+#define MultiModeDrawArraysIBM_remap_index 368
+#define MultiModeDrawElementsIBM_remap_index 369
+#define AreProgramsResidentNV_remap_index 370
+#define BindProgramNV_remap_index 371
+#define DeleteProgramsNV_remap_index 372
+#define ExecuteProgramNV_remap_index 373
+#define GenProgramsNV_remap_index 374
+#define GetProgramParameterdvNV_remap_index 375
+#define GetProgramParameterfvNV_remap_index 376
+#define GetProgramStringNV_remap_index 377
+#define GetProgramivNV_remap_index 378
+#define GetTrackMatrixivNV_remap_index 379
+#define GetVertexAttribPointervNV_remap_index 380
+#define GetVertexAttribdvNV_remap_index 381
+#define GetVertexAttribfvNV_remap_index 382
+#define GetVertexAttribivNV_remap_index 383
+#define IsProgramNV_remap_index 384
+#define LoadProgramNV_remap_index 385
+#define ProgramParameters4dvNV_remap_index 386
+#define ProgramParameters4fvNV_remap_index 387
+#define RequestResidentProgramsNV_remap_index 388
+#define TrackMatrixNV_remap_index 389
+#define VertexAttrib1dNV_remap_index 390
+#define VertexAttrib1dvNV_remap_index 391
+#define VertexAttrib1fNV_remap_index 392
+#define VertexAttrib1fvNV_remap_index 393
+#define VertexAttrib1sNV_remap_index 394
+#define VertexAttrib1svNV_remap_index 395
+#define VertexAttrib2dNV_remap_index 396
+#define VertexAttrib2dvNV_remap_index 397
+#define VertexAttrib2fNV_remap_index 398
+#define VertexAttrib2fvNV_remap_index 399
+#define VertexAttrib2sNV_remap_index 400
+#define VertexAttrib2svNV_remap_index 401
+#define VertexAttrib3dNV_remap_index 402
+#define VertexAttrib3dvNV_remap_index 403
+#define VertexAttrib3fNV_remap_index 404
+#define VertexAttrib3fvNV_remap_index 405
+#define VertexAttrib3sNV_remap_index 406
+#define VertexAttrib3svNV_remap_index 407
+#define VertexAttrib4dNV_remap_index 408
+#define VertexAttrib4dvNV_remap_index 409
+#define VertexAttrib4fNV_remap_index 410
+#define VertexAttrib4fvNV_remap_index 411
+#define VertexAttrib4sNV_remap_index 412
+#define VertexAttrib4svNV_remap_index 413
+#define VertexAttrib4ubNV_remap_index 414
+#define VertexAttrib4ubvNV_remap_index 415
+#define VertexAttribPointerNV_remap_index 416
+#define VertexAttribs1dvNV_remap_index 417
+#define VertexAttribs1fvNV_remap_index 418
+#define VertexAttribs1svNV_remap_index 419
+#define VertexAttribs2dvNV_remap_index 420
+#define VertexAttribs2fvNV_remap_index 421
+#define VertexAttribs2svNV_remap_index 422
+#define VertexAttribs3dvNV_remap_index 423
+#define VertexAttribs3fvNV_remap_index 424
+#define VertexAttribs3svNV_remap_index 425
+#define VertexAttribs4dvNV_remap_index 426
+#define VertexAttribs4fvNV_remap_index 427
+#define VertexAttribs4svNV_remap_index 428
+#define VertexAttribs4ubvNV_remap_index 429
+#define GetTexBumpParameterfvATI_remap_index 430
+#define GetTexBumpParameterivATI_remap_index 431
+#define TexBumpParameterfvATI_remap_index 432
+#define TexBumpParameterivATI_remap_index 433
+#define AlphaFragmentOp1ATI_remap_index 434
+#define AlphaFragmentOp2ATI_remap_index 435
+#define AlphaFragmentOp3ATI_remap_index 436
+#define BeginFragmentShaderATI_remap_index 437
+#define BindFragmentShaderATI_remap_index 438
+#define ColorFragmentOp1ATI_remap_index 439
+#define ColorFragmentOp2ATI_remap_index 440
+#define ColorFragmentOp3ATI_remap_index 441
+#define DeleteFragmentShaderATI_remap_index 442
+#define EndFragmentShaderATI_remap_index 443
+#define GenFragmentShadersATI_remap_index 444
+#define PassTexCoordATI_remap_index 445
+#define SampleMapATI_remap_index 446
+#define SetFragmentShaderConstantATI_remap_index 447
+#define PointParameteriNV_remap_index 448
+#define PointParameterivNV_remap_index 449
+#define ActiveStencilFaceEXT_remap_index 450
+#define BindVertexArrayAPPLE_remap_index 451
+#define DeleteVertexArraysAPPLE_remap_index 452
+#define GenVertexArraysAPPLE_remap_index 453
+#define IsVertexArrayAPPLE_remap_index 454
+#define GetProgramNamedParameterdvNV_remap_index 455
+#define GetProgramNamedParameterfvNV_remap_index 456
+#define ProgramNamedParameter4dNV_remap_index 457
+#define ProgramNamedParameter4dvNV_remap_index 458
+#define ProgramNamedParameter4fNV_remap_index 459
+#define ProgramNamedParameter4fvNV_remap_index 460
+#define PrimitiveRestartIndexNV_remap_index 461
+#define PrimitiveRestartNV_remap_index 462
+#define DepthBoundsEXT_remap_index 463
+#define BlendEquationSeparateEXT_remap_index 464
+#define BindFramebufferEXT_remap_index 465
+#define BindRenderbufferEXT_remap_index 466
+#define CheckFramebufferStatusEXT_remap_index 467
+#define DeleteFramebuffersEXT_remap_index 468
+#define DeleteRenderbuffersEXT_remap_index 469
+#define FramebufferRenderbufferEXT_remap_index 470
+#define FramebufferTexture1DEXT_remap_index 471
+#define FramebufferTexture2DEXT_remap_index 472
+#define FramebufferTexture3DEXT_remap_index 473
+#define GenFramebuffersEXT_remap_index 474
+#define GenRenderbuffersEXT_remap_index 475
+#define GenerateMipmapEXT_remap_index 476
+#define GetFramebufferAttachmentParameterivEXT_remap_index 477
+#define GetRenderbufferParameterivEXT_remap_index 478
+#define IsFramebufferEXT_remap_index 479
+#define IsRenderbufferEXT_remap_index 480
+#define RenderbufferStorageEXT_remap_index 481
+#define BlitFramebufferEXT_remap_index 482
+#define BufferParameteriAPPLE_remap_index 483
+#define FlushMappedBufferRangeAPPLE_remap_index 484
+#define BindFragDataLocationEXT_remap_index 485
+#define GetFragDataLocationEXT_remap_index 486
+#define GetUniformuivEXT_remap_index 487
+#define GetVertexAttribIivEXT_remap_index 488
+#define GetVertexAttribIuivEXT_remap_index 489
+#define Uniform1uiEXT_remap_index 490
+#define Uniform1uivEXT_remap_index 491
+#define Uniform2uiEXT_remap_index 492
+#define Uniform2uivEXT_remap_index 493
+#define Uniform3uiEXT_remap_index 494
+#define Uniform3uivEXT_remap_index 495
+#define Uniform4uiEXT_remap_index 496
+#define Uniform4uivEXT_remap_index 497
+#define VertexAttribI1iEXT_remap_index 498
+#define VertexAttribI1ivEXT_remap_index 499
+#define VertexAttribI1uiEXT_remap_index 500
+#define VertexAttribI1uivEXT_remap_index 501
+#define VertexAttribI2iEXT_remap_index 502
+#define VertexAttribI2ivEXT_remap_index 503
+#define VertexAttribI2uiEXT_remap_index 504
+#define VertexAttribI2uivEXT_remap_index 505
+#define VertexAttribI3iEXT_remap_index 506
+#define VertexAttribI3ivEXT_remap_index 507
+#define VertexAttribI3uiEXT_remap_index 508
+#define VertexAttribI3uivEXT_remap_index 509
+#define VertexAttribI4bvEXT_remap_index 510
+#define VertexAttribI4iEXT_remap_index 511
+#define VertexAttribI4ivEXT_remap_index 512
+#define VertexAttribI4svEXT_remap_index 513
+#define VertexAttribI4ubvEXT_remap_index 514
+#define VertexAttribI4uiEXT_remap_index 515
+#define VertexAttribI4uivEXT_remap_index 516
+#define VertexAttribI4usvEXT_remap_index 517
+#define VertexAttribIPointerEXT_remap_index 518
+#define FramebufferTextureLayerEXT_remap_index 519
+#define ColorMaskIndexedEXT_remap_index 520
+#define DisableIndexedEXT_remap_index 521
+#define EnableIndexedEXT_remap_index 522
+#define GetBooleanIndexedvEXT_remap_index 523
+#define GetIntegerIndexedvEXT_remap_index 524
+#define IsEnabledIndexedEXT_remap_index 525
+#define ClearColorIiEXT_remap_index 526
+#define ClearColorIuiEXT_remap_index 527
+#define GetTexParameterIivEXT_remap_index 528
+#define GetTexParameterIuivEXT_remap_index 529
+#define TexParameterIivEXT_remap_index 530
+#define TexParameterIuivEXT_remap_index 531
+#define BeginConditionalRenderNV_remap_index 532
+#define EndConditionalRenderNV_remap_index 533
+#define BeginTransformFeedbackEXT_remap_index 534
+#define BindBufferBaseEXT_remap_index 535
+#define BindBufferOffsetEXT_remap_index 536
+#define BindBufferRangeEXT_remap_index 537
+#define EndTransformFeedbackEXT_remap_index 538
+#define GetTransformFeedbackVaryingEXT_remap_index 539
+#define TransformFeedbackVaryingsEXT_remap_index 540
+#define ProvokingVertexEXT_remap_index 541
+#define GetObjectParameterivAPPLE_remap_index 542
+#define ObjectPurgeableAPPLE_remap_index 543
+#define ObjectUnpurgeableAPPLE_remap_index 544
+#define ActiveProgramEXT_remap_index 545
+#define CreateShaderProgramEXT_remap_index 546
+#define UseShaderProgramEXT_remap_index 547
+#define TextureBarrierNV_remap_index 548
+#define StencilFuncSeparateATI_remap_index 549
+#define ProgramEnvParameters4fvEXT_remap_index 550
+#define ProgramLocalParameters4fvEXT_remap_index 551
+#define GetQueryObjecti64vEXT_remap_index 552
+#define GetQueryObjectui64vEXT_remap_index 553
+#define EGLImageTargetRenderbufferStorageOES_remap_index 554
+#define EGLImageTargetTexture2DOES_remap_index 555
#define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index]
#define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index]
@@ -1850,6 +1862,10 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
#define _gloffset_IsTransformFeedback driDispatchRemapTable[IsTransformFeedback_remap_index]
#define _gloffset_PauseTransformFeedback driDispatchRemapTable[PauseTransformFeedback_remap_index]
#define _gloffset_ResumeTransformFeedback driDispatchRemapTable[ResumeTransformFeedback_remap_index]
+#define _gloffset_BeginQueryIndexed driDispatchRemapTable[BeginQueryIndexed_remap_index]
+#define _gloffset_DrawTransformFeedbackStream driDispatchRemapTable[DrawTransformFeedbackStream_remap_index]
+#define _gloffset_EndQueryIndexed driDispatchRemapTable[EndQueryIndexed_remap_index]
+#define _gloffset_GetQueryIndexediv driDispatchRemapTable[GetQueryIndexediv_remap_index]
#define _gloffset_ClearDepthf driDispatchRemapTable[ClearDepthf_remap_index]
#define _gloffset_DepthRangef driDispatchRemapTable[DepthRangef_remap_index]
#define _gloffset_GetShaderPrecisionFormat driDispatchRemapTable[GetShaderPrecisionFormat_remap_index]
@@ -1882,6 +1898,8 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
#define _gloffset_DrawArraysInstancedBaseInstance driDispatchRemapTable[DrawArraysInstancedBaseInstance_remap_index]
#define _gloffset_DrawElementsInstancedBaseInstance driDispatchRemapTable[DrawElementsInstancedBaseInstance_remap_index]
#define _gloffset_DrawElementsInstancedBaseVertexBaseInstance driDispatchRemapTable[DrawElementsInstancedBaseVertexBaseInstance_remap_index]
+#define _gloffset_DrawTransformFeedbackInstanced driDispatchRemapTable[DrawTransformFeedbackInstanced_remap_index]
+#define _gloffset_DrawTransformFeedbackStreamInstanced driDispatchRemapTable[DrawTransformFeedbackStreamInstanced_remap_index]
#define _gloffset_TexStorage1D driDispatchRemapTable[TexStorage1D_remap_index]
#define _gloffset_TexStorage2D driDispatchRemapTable[TexStorage2D_remap_index]
#define _gloffset_TexStorage3D driDispatchRemapTable[TexStorage3D_remap_index]
@@ -9501,6 +9519,50 @@ static INLINE void SET_ResumeTransformFeedback(struct _glapi_table *disp, void (
SET_by_offset(disp, _gloffset_ResumeTransformFeedback, fn);
}
+typedef void (GLAPIENTRYP _glptr_BeginQueryIndexed)(GLenum, GLuint, GLuint);
+#define CALL_BeginQueryIndexed(disp, parameters) \
+ (* GET_BeginQueryIndexed(disp)) parameters
+static INLINE _glptr_BeginQueryIndexed GET_BeginQueryIndexed(struct _glapi_table *disp) {
+ return (_glptr_BeginQueryIndexed) (GET_by_offset(disp, _gloffset_BeginQueryIndexed));
+}
+
+static INLINE void SET_BeginQueryIndexed(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_BeginQueryIndexed, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTransformFeedbackStream)(GLenum, GLuint, GLuint);
+#define CALL_DrawTransformFeedbackStream(disp, parameters) \
+ (* GET_DrawTransformFeedbackStream(disp)) parameters
+static INLINE _glptr_DrawTransformFeedbackStream GET_DrawTransformFeedbackStream(struct _glapi_table *disp) {
+ return (_glptr_DrawTransformFeedbackStream) (GET_by_offset(disp, _gloffset_DrawTransformFeedbackStream));
+}
+
+static INLINE void SET_DrawTransformFeedbackStream(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_DrawTransformFeedbackStream, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_EndQueryIndexed)(GLenum, GLuint);
+#define CALL_EndQueryIndexed(disp, parameters) \
+ (* GET_EndQueryIndexed(disp)) parameters
+static INLINE _glptr_EndQueryIndexed GET_EndQueryIndexed(struct _glapi_table *disp) {
+ return (_glptr_EndQueryIndexed) (GET_by_offset(disp, _gloffset_EndQueryIndexed));
+}
+
+static INLINE void SET_EndQueryIndexed(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_EndQueryIndexed, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *);
+#define CALL_GetQueryIndexediv(disp, parameters) \
+ (* GET_GetQueryIndexediv(disp)) parameters
+static INLINE _glptr_GetQueryIndexediv GET_GetQueryIndexediv(struct _glapi_table *disp) {
+ return (_glptr_GetQueryIndexediv) (GET_by_offset(disp, _gloffset_GetQueryIndexediv));
+}
+
+static INLINE void SET_GetQueryIndexediv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetQueryIndexediv, fn);
+}
+
typedef void (GLAPIENTRYP _glptr_ClearDepthf)(GLclampf);
#define CALL_ClearDepthf(disp, parameters) \
(* GET_ClearDepthf(disp)) parameters
@@ -9853,6 +9915,28 @@ static INLINE void SET_DrawElementsInstancedBaseVertexBaseInstance(struct _glapi
SET_by_offset(disp, _gloffset_DrawElementsInstancedBaseVertexBaseInstance, fn);
}
+typedef void (GLAPIENTRYP _glptr_DrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei);
+#define CALL_DrawTransformFeedbackInstanced(disp, parameters) \
+ (* GET_DrawTransformFeedbackInstanced(disp)) parameters
+static INLINE _glptr_DrawTransformFeedbackInstanced GET_DrawTransformFeedbackInstanced(struct _glapi_table *disp) {
+ return (_glptr_DrawTransformFeedbackInstanced) (GET_by_offset(disp, _gloffset_DrawTransformFeedbackInstanced));
+}
+
+static INLINE void SET_DrawTransformFeedbackInstanced(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei)) {
+ SET_by_offset(disp, _gloffset_DrawTransformFeedbackInstanced, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei);
+#define CALL_DrawTransformFeedbackStreamInstanced(disp, parameters) \
+ (* GET_DrawTransformFeedbackStreamInstanced(disp)) parameters
+static INLINE _glptr_DrawTransformFeedbackStreamInstanced GET_DrawTransformFeedbackStreamInstanced(struct _glapi_table *disp) {
+ return (_glptr_DrawTransformFeedbackStreamInstanced) (GET_by_offset(disp, _gloffset_DrawTransformFeedbackStreamInstanced));
+}
+
+static INLINE void SET_DrawTransformFeedbackStreamInstanced(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLsizei)) {
+ SET_by_offset(disp, _gloffset_DrawTransformFeedbackStreamInstanced, fn);
+}
+
typedef void (GLAPIENTRYP _glptr_TexStorage1D)(GLenum, GLsizei, GLenum, GLsizei);
#define CALL_TexStorage1D(disp, parameters) \
(* GET_TexStorage1D(disp)) parameters
diff --git a/xorg-server/glx/glapi_gentable.c b/xorg-server/glx/glapi_gentable.c
index 88392b9f6..5da44ce22 100644
--- a/xorg-server/glx/glapi_gentable.c
+++ b/xorg-server/glx/glapi_gentable.c
@@ -6289,6 +6289,34 @@ _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
}
+ if(!disp->BeginQueryIndexed) {
+ void ** procp = (void **) &disp->BeginQueryIndexed;
+ snprintf(symboln, sizeof(symboln), "%sBeginQueryIndexed", symbol_prefix);
+ *procp = dlsym(handle, symboln);
+ }
+
+
+ if(!disp->DrawTransformFeedbackStream) {
+ void ** procp = (void **) &disp->DrawTransformFeedbackStream;
+ snprintf(symboln, sizeof(symboln), "%sDrawTransformFeedbackStream", symbol_prefix);
+ *procp = dlsym(handle, symboln);
+ }
+
+
+ if(!disp->EndQueryIndexed) {
+ void ** procp = (void **) &disp->EndQueryIndexed;
+ snprintf(symboln, sizeof(symboln), "%sEndQueryIndexed", symbol_prefix);
+ *procp = dlsym(handle, symboln);
+ }
+
+
+ if(!disp->GetQueryIndexediv) {
+ void ** procp = (void **) &disp->GetQueryIndexediv;
+ snprintf(symboln, sizeof(symboln), "%sGetQueryIndexediv", symbol_prefix);
+ *procp = dlsym(handle, symboln);
+ }
+
+
if(!disp->ClearDepthf) {
void ** procp = (void **) &disp->ClearDepthf;
snprintf(symboln, sizeof(symboln), "%sClearDepthf", symbol_prefix);
@@ -6513,6 +6541,20 @@ _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
}
+ if(!disp->DrawTransformFeedbackInstanced) {
+ void ** procp = (void **) &disp->DrawTransformFeedbackInstanced;
+ snprintf(symboln, sizeof(symboln), "%sDrawTransformFeedbackInstanced", symbol_prefix);
+ *procp = dlsym(handle, symboln);
+ }
+
+
+ if(!disp->DrawTransformFeedbackStreamInstanced) {
+ void ** procp = (void **) &disp->DrawTransformFeedbackStreamInstanced;
+ snprintf(symboln, sizeof(symboln), "%sDrawTransformFeedbackStreamInstanced", symbol_prefix);
+ *procp = dlsym(handle, symboln);
+ }
+
+
if(!disp->TexStorage1D) {
void ** procp = (void **) &disp->TexStorage1D;
snprintf(symboln, sizeof(symboln), "%sTexStorage1D", symbol_prefix);
diff --git a/xorg-server/glx/glapitable.h b/xorg-server/glx/glapitable.h
index c5df2393e..0716e5f74 100644
--- a/xorg-server/glx/glapitable.h
+++ b/xorg-server/glx/glapitable.h
@@ -709,295 +709,301 @@ struct _glapi_table
GLboolean (GLAPIENTRYP IsTransformFeedback)(GLuint id); /* 666 */
void (GLAPIENTRYP PauseTransformFeedback)(void); /* 667 */
void (GLAPIENTRYP ResumeTransformFeedback)(void); /* 668 */
- void (GLAPIENTRYP ClearDepthf)(GLclampf depth); /* 669 */
- void (GLAPIENTRYP DepthRangef)(GLclampf zNear, GLclampf zFar); /* 670 */
- void (GLAPIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); /* 671 */
- void (GLAPIENTRYP ReleaseShaderCompiler)(void); /* 672 */
- void (GLAPIENTRYP ShaderBinary)(GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length); /* 673 */
- void (GLAPIENTRYP DebugMessageCallbackARB)(GLDEBUGPROCARB callback, const GLvoid * userParam); /* 674 */
- void (GLAPIENTRYP DebugMessageControlARB)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled); /* 675 */
- void (GLAPIENTRYP DebugMessageInsertARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLcharARB * buf); /* 676 */
- GLuint (GLAPIENTRYP GetDebugMessageLogARB)(GLuint count, GLsizei bufsize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLcharARB * messageLog); /* 677 */
- GLenum (GLAPIENTRYP GetGraphicsResetStatusARB)(void); /* 678 */
- void (GLAPIENTRYP GetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * table); /* 679 */
- void (GLAPIENTRYP GetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, GLvoid * img); /* 680 */
- void (GLAPIENTRYP GetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * image); /* 681 */
- void (GLAPIENTRYP GetnHistogramARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 682 */
- void (GLAPIENTRYP GetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v); /* 683 */
- void (GLAPIENTRYP GetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v); /* 684 */
- void (GLAPIENTRYP GetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint * v); /* 685 */
- void (GLAPIENTRYP GetnMinmaxARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 686 */
- void (GLAPIENTRYP GetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat * values); /* 687 */
- void (GLAPIENTRYP GetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint * values); /* 688 */
- void (GLAPIENTRYP GetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort * values); /* 689 */
- void (GLAPIENTRYP GetnPolygonStippleARB)(GLsizei bufSize, GLubyte * pattern); /* 690 */
- void (GLAPIENTRYP GetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid * row, GLsizei columnBufSize, GLvoid * column, GLvoid * span); /* 691 */
- void (GLAPIENTRYP GetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid * img); /* 692 */
- void (GLAPIENTRYP GetnUniformdvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLdouble * params); /* 693 */
- void (GLAPIENTRYP GetnUniformfvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLfloat * params); /* 694 */
- void (GLAPIENTRYP GetnUniformivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLint * params); /* 695 */
- void (GLAPIENTRYP GetnUniformuivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLuint * params); /* 696 */
- void (GLAPIENTRYP ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data); /* 697 */
- void (GLAPIENTRYP DrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance); /* 698 */
- void (GLAPIENTRYP DrawElementsInstancedBaseInstance)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLuint baseinstance); /* 699 */
- void (GLAPIENTRYP DrawElementsInstancedBaseVertexBaseInstance)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLint basevertex, GLuint baseinstance); /* 700 */
- void (GLAPIENTRYP TexStorage1D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 701 */
- void (GLAPIENTRYP TexStorage2D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 702 */
- void (GLAPIENTRYP TexStorage3D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 703 */
- void (GLAPIENTRYP TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 704 */
- void (GLAPIENTRYP TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 705 */
- void (GLAPIENTRYP TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 706 */
- void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 707 */
- void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 708 */
- void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 709 */
- void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 710 */
- void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 711 */
- void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 712 */
- void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 713 */
- void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 714 */
- void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 715 */
- void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 716 */
- void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 717 */
- void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 718 */
- void (GLAPIENTRYP UnlockArraysEXT)(void); /* 719 */
- void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 720 */
- void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 721 */
- void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 722 */
- void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 723 */
- void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 724 */
- void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 725 */
- void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 726 */
- void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 727 */
- void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 728 */
- void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 729 */
- void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 730 */
- void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 731 */
- void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 732 */
- void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 733 */
- void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 734 */
- void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 735 */
- void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 736 */
- void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 737 */
- void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 738 */
- void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 739 */
- void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 740 */
- void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 741 */
- void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 742 */
- void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 743 */
- void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 744 */
- void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 745 */
- void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 746 */
- void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 747 */
- void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 748 */
- void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 749 */
- void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 750 */
- void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 751 */
- void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 752 */
- void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 753 */
- void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 754 */
- void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 755 */
- void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 756 */
- void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 757 */
- void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 758 */
- void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 759 */
- void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 760 */
- void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 761 */
- void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 762 */
- void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 763 */
- void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 764 */
- void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 765 */
- void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 766 */
- void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 767 */
- void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 768 */
- void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 769 */
- void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 770 */
- void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 771 */
- GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 772 */
- void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 773 */
- void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 774 */
- void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 775 */
- void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 776 */
- void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 777 */
- void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 778 */
- void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 779 */
- void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 780 */
- void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 781 */
- void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 782 */
- void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 783 */
- void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 784 */
- void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 785 */
- GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 786 */
- void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 787 */
- void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 788 */
- void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 789 */
- void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 790 */
- void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 791 */
- void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 792 */
- void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 793 */
- void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 794 */
- void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 795 */
- void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 796 */
- void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 797 */
- void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 798 */
- void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 799 */
- void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 800 */
- void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 801 */
- void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 802 */
- void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 803 */
- void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 804 */
- void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 805 */
- void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 806 */
- void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 807 */
- void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 808 */
- void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 809 */
- void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 810 */
- void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 811 */
- void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 812 */
- void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 813 */
- void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 814 */
- void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 815 */
- void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 816 */
- void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 817 */
- void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 818 */
- void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 819 */
- void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 820 */
- void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 821 */
- void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 822 */
- void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 823 */
- void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 824 */
- void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 825 */
- void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 826 */
- void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 827 */
- void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 828 */
- void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 829 */
- void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 830 */
- void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 831 */
- void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 832 */
- void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 833 */
- void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 834 */
- void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 835 */
- void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 836 */
- void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 837 */
- 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); /* 838 */
- void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 839 */
- void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 840 */
- void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 841 */
- void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 842 */
- 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); /* 843 */
- void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 844 */
- void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 845 */
- GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 846 */
- void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 847 */
- void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 848 */
- void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 849 */
- void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 850 */
- void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 851 */
- void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 852 */
- void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 853 */
- void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 854 */
- void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 855 */
- GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 856 */
- void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 857 */
- void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 858 */
- void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 859 */
- void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 860 */
- void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 861 */
- void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 862 */
- void (GLAPIENTRYP PrimitiveRestartIndexNV)(GLuint index); /* 863 */
- void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 864 */
- void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 865 */
- void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 866 */
- void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 867 */
- void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 868 */
- GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 869 */
- void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 870 */
- void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 871 */
- void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 872 */
- void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 873 */
- void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 874 */
- void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 875 */
- void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 876 */
- void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 877 */
- void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 878 */
- void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 879 */
- void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 880 */
- GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 881 */
- GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 882 */
- void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 883 */
- void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 884 */
- void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 885 */
- void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 886 */
- void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 887 */
- GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 888 */
- void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 889 */
- void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 890 */
- void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 891 */
- void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint x); /* 892 */
- void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 893 */
- void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint x, GLuint y); /* 894 */
- void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 895 */
- void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); /* 896 */
- void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 897 */
- void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 898 */
- void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 899 */
- void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 900 */
- void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 901 */
- void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 902 */
- void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 903 */
- void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 904 */
- void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 905 */
- void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 906 */
- void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 907 */
- void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 908 */
- void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 909 */
- void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 910 */
- void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 911 */
- void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 912 */
- void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 913 */
- void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 914 */
- void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 915 */
- void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 916 */
- void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 917 */
- void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 918 */
- void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 919 */
- void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 920 */
- void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 921 */
- void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 922 */
- void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 923 */
- void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 924 */
- void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 925 */
- void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 926 */
- GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 927 */
- void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 928 */
- void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 929 */
- void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 930 */
- void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 931 */
- void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 932 */
- void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 933 */
- void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 934 */
- void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 935 */
- void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 936 */
- void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 937 */
- void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 938 */
- void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 939 */
- void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 940 */
- void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 941 */
- void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 942 */
- void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 943 */
- void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 944 */
- GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 945 */
- GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 946 */
- void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 947 */
- GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 948 */
- void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 949 */
- void (GLAPIENTRYP TextureBarrierNV)(void); /* 950 */
- void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 951 */
- void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 952 */
- void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 953 */
- void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 954 */
- void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 955 */
- void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 956 */
- void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 957 */
+ void (GLAPIENTRYP BeginQueryIndexed)(GLenum target, GLuint index, GLuint id); /* 669 */
+ void (GLAPIENTRYP DrawTransformFeedbackStream)(GLenum mode, GLuint id, GLuint stream); /* 670 */
+ void (GLAPIENTRYP EndQueryIndexed)(GLenum target, GLuint index); /* 671 */
+ void (GLAPIENTRYP GetQueryIndexediv)(GLenum target, GLuint index, GLenum pname, GLint * params); /* 672 */
+ void (GLAPIENTRYP ClearDepthf)(GLclampf depth); /* 673 */
+ void (GLAPIENTRYP DepthRangef)(GLclampf zNear, GLclampf zFar); /* 674 */
+ void (GLAPIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); /* 675 */
+ void (GLAPIENTRYP ReleaseShaderCompiler)(void); /* 676 */
+ void (GLAPIENTRYP ShaderBinary)(GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length); /* 677 */
+ void (GLAPIENTRYP DebugMessageCallbackARB)(GLDEBUGPROCARB callback, const GLvoid * userParam); /* 678 */
+ void (GLAPIENTRYP DebugMessageControlARB)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled); /* 679 */
+ void (GLAPIENTRYP DebugMessageInsertARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLcharARB * buf); /* 680 */
+ GLuint (GLAPIENTRYP GetDebugMessageLogARB)(GLuint count, GLsizei bufsize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLcharARB * messageLog); /* 681 */
+ GLenum (GLAPIENTRYP GetGraphicsResetStatusARB)(void); /* 682 */
+ void (GLAPIENTRYP GetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * table); /* 683 */
+ void (GLAPIENTRYP GetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, GLvoid * img); /* 684 */
+ void (GLAPIENTRYP GetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * image); /* 685 */
+ void (GLAPIENTRYP GetnHistogramARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 686 */
+ void (GLAPIENTRYP GetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v); /* 687 */
+ void (GLAPIENTRYP GetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v); /* 688 */
+ void (GLAPIENTRYP GetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint * v); /* 689 */
+ void (GLAPIENTRYP GetnMinmaxARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 690 */
+ void (GLAPIENTRYP GetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat * values); /* 691 */
+ void (GLAPIENTRYP GetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint * values); /* 692 */
+ void (GLAPIENTRYP GetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort * values); /* 693 */
+ void (GLAPIENTRYP GetnPolygonStippleARB)(GLsizei bufSize, GLubyte * pattern); /* 694 */
+ void (GLAPIENTRYP GetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid * row, GLsizei columnBufSize, GLvoid * column, GLvoid * span); /* 695 */
+ void (GLAPIENTRYP GetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid * img); /* 696 */
+ void (GLAPIENTRYP GetnUniformdvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLdouble * params); /* 697 */
+ void (GLAPIENTRYP GetnUniformfvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLfloat * params); /* 698 */
+ void (GLAPIENTRYP GetnUniformivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLint * params); /* 699 */
+ void (GLAPIENTRYP GetnUniformuivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLuint * params); /* 700 */
+ void (GLAPIENTRYP ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data); /* 701 */
+ void (GLAPIENTRYP DrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance); /* 702 */
+ void (GLAPIENTRYP DrawElementsInstancedBaseInstance)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLuint baseinstance); /* 703 */
+ void (GLAPIENTRYP DrawElementsInstancedBaseVertexBaseInstance)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLint basevertex, GLuint baseinstance); /* 704 */
+ void (GLAPIENTRYP DrawTransformFeedbackInstanced)(GLenum mode, GLuint id, GLsizei primcount); /* 705 */
+ void (GLAPIENTRYP DrawTransformFeedbackStreamInstanced)(GLenum mode, GLuint id, GLuint stream, GLsizei primcount); /* 706 */
+ void (GLAPIENTRYP TexStorage1D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 707 */
+ void (GLAPIENTRYP TexStorage2D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 708 */
+ void (GLAPIENTRYP TexStorage3D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 709 */
+ void (GLAPIENTRYP TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 710 */
+ void (GLAPIENTRYP TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 711 */
+ void (GLAPIENTRYP TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 712 */
+ void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 713 */
+ void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 714 */
+ void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 715 */
+ void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 716 */
+ void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 717 */
+ void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 718 */
+ void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 719 */
+ void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 720 */
+ void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 721 */
+ void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 722 */
+ void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 723 */
+ void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 724 */
+ void (GLAPIENTRYP UnlockArraysEXT)(void); /* 725 */
+ void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 726 */
+ void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 727 */
+ void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 728 */
+ void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 729 */
+ void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 730 */
+ void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 731 */
+ void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 732 */
+ void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 733 */
+ void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 734 */
+ void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 735 */
+ void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 736 */
+ void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 737 */
+ void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 738 */
+ void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 739 */
+ void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 740 */
+ void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 741 */
+ void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 742 */
+ void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 743 */
+ void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 744 */
+ void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 745 */
+ void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 746 */
+ void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 747 */
+ void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 748 */
+ void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 749 */
+ void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 750 */
+ void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 751 */
+ void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 752 */
+ void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 753 */
+ void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 754 */
+ void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 755 */
+ void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 756 */
+ void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 757 */
+ void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 758 */
+ void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 759 */
+ void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 760 */
+ void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 761 */
+ void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 762 */
+ void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 763 */
+ void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 764 */
+ void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 765 */
+ void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 766 */
+ void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 767 */
+ void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 768 */
+ void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 769 */
+ void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 770 */
+ void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 771 */
+ void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 772 */
+ void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 773 */
+ void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 774 */
+ void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 775 */
+ void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 776 */
+ void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 777 */
+ GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 778 */
+ void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 779 */
+ void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 780 */
+ void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 781 */
+ void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 782 */
+ void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 783 */
+ void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 784 */
+ void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 785 */
+ void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 786 */
+ void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 787 */
+ void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 788 */
+ void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 789 */
+ void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 790 */
+ void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 791 */
+ GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 792 */
+ void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 793 */
+ void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 794 */
+ void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 795 */
+ void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 796 */
+ void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 797 */
+ void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 798 */
+ void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 799 */
+ void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 800 */
+ void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 801 */
+ void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 802 */
+ void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 803 */
+ void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 804 */
+ void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 805 */
+ void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 806 */
+ void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 807 */
+ void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 808 */
+ void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 809 */
+ void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 810 */
+ void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 811 */
+ void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 812 */
+ void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 813 */
+ void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 814 */
+ void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 815 */
+ void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 816 */
+ void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 817 */
+ void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 818 */
+ void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 819 */
+ void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 820 */
+ void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 821 */
+ void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 822 */
+ void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 823 */
+ void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 824 */
+ void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 825 */
+ void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 826 */
+ void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 827 */
+ void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 828 */
+ void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 829 */
+ void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 830 */
+ void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 831 */
+ void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 832 */
+ void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 833 */
+ void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 834 */
+ void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 835 */
+ void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 836 */
+ void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 837 */
+ void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 838 */
+ void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 839 */
+ void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 840 */
+ void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 841 */
+ void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 842 */
+ void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 843 */
+ 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); /* 844 */
+ void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 845 */
+ void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 846 */
+ void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 847 */
+ void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 848 */
+ 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); /* 849 */
+ void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 850 */
+ void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 851 */
+ GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 852 */
+ void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 853 */
+ void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 854 */
+ void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 855 */
+ void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 856 */
+ void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 857 */
+ void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 858 */
+ void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 859 */
+ void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 860 */
+ void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 861 */
+ GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 862 */
+ void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 863 */
+ void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 864 */
+ void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 865 */
+ void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 866 */
+ void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 867 */
+ void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 868 */
+ void (GLAPIENTRYP PrimitiveRestartIndexNV)(GLuint index); /* 869 */
+ void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 870 */
+ void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 871 */
+ void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 872 */
+ void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 873 */
+ void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 874 */
+ GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 875 */
+ void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 876 */
+ void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 877 */
+ void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 878 */
+ void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 879 */
+ void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 880 */
+ void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 881 */
+ void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 882 */
+ void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 883 */
+ void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 884 */
+ void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 885 */
+ void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 886 */
+ GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 887 */
+ GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 888 */
+ void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 889 */
+ void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 890 */
+ void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 891 */
+ void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 892 */
+ void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 893 */
+ GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 894 */
+ void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 895 */
+ void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 896 */
+ void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 897 */
+ void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint x); /* 898 */
+ void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 899 */
+ void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint x, GLuint y); /* 900 */
+ void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 901 */
+ void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); /* 902 */
+ void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 903 */
+ void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 904 */
+ void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 905 */
+ void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 906 */
+ void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 907 */
+ void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 908 */
+ void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 909 */
+ void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 910 */
+ void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 911 */
+ void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 912 */
+ void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 913 */
+ void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 914 */
+ void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 915 */
+ void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 916 */
+ void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 917 */
+ void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 918 */
+ void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 919 */
+ void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 920 */
+ void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 921 */
+ void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 922 */
+ void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 923 */
+ void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 924 */
+ void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 925 */
+ void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 926 */
+ void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 927 */
+ void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 928 */
+ void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 929 */
+ void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 930 */
+ void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 931 */
+ void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 932 */
+ GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 933 */
+ void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 934 */
+ void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 935 */
+ void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 936 */
+ void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 937 */
+ void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 938 */
+ void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 939 */
+ void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 940 */
+ void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 941 */
+ void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 942 */
+ void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 943 */
+ void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 944 */
+ void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 945 */
+ void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 946 */
+ void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 947 */
+ void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 948 */
+ void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 949 */
+ void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 950 */
+ GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 951 */
+ GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 952 */
+ void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 953 */
+ GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 954 */
+ void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 955 */
+ void (GLAPIENTRYP TextureBarrierNV)(void); /* 956 */
+ void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 957 */
+ void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 958 */
+ void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 959 */
+ void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 960 */
+ void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 961 */
+ void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 962 */
+ void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 963 */
};
#endif /* !defined( _GLAPI_TABLE_H_ ) */
diff --git a/xorg-server/glx/glprocs.h b/xorg-server/glx/glprocs.h
index 4a952db93..1af38a9dd 100644
--- a/xorg-server/glx/glprocs.h
+++ b/xorg-server/glx/glprocs.h
@@ -721,6 +721,10 @@ static const char gl_string_table[] =
"glIsTransformFeedback\0"
"glPauseTransformFeedback\0"
"glResumeTransformFeedback\0"
+ "glBeginQueryIndexed\0"
+ "glDrawTransformFeedbackStream\0"
+ "glEndQueryIndexed\0"
+ "glGetQueryIndexediv\0"
"glClearDepthf\0"
"glDepthRangef\0"
"glGetShaderPrecisionFormat\0"
@@ -753,6 +757,8 @@ static const char gl_string_table[] =
"glDrawArraysInstancedBaseInstance\0"
"glDrawElementsInstancedBaseInstance\0"
"glDrawElementsInstancedBaseVertexBaseInstance\0"
+ "glDrawTransformFeedbackInstanced\0"
+ "glDrawTransformFeedbackStreamInstanced\0"
"glTexStorage1D\0"
"glTexStorage2D\0"
"glTexStorage3D\0"
@@ -1395,25 +1401,25 @@ static const char gl_string_table[] =
#define gl_dispatch_stub_365 mgl_dispatch_stub_365
#define gl_dispatch_stub_366 mgl_dispatch_stub_366
#define gl_dispatch_stub_623 mgl_dispatch_stub_623
-#define gl_dispatch_stub_708 mgl_dispatch_stub_708
-#define gl_dispatch_stub_709 mgl_dispatch_stub_709
-#define gl_dispatch_stub_770 mgl_dispatch_stub_770
-#define gl_dispatch_stub_771 mgl_dispatch_stub_771
-#define gl_dispatch_stub_852 mgl_dispatch_stub_852
-#define gl_dispatch_stub_853 mgl_dispatch_stub_853
-#define gl_dispatch_stub_854 mgl_dispatch_stub_854
-#define gl_dispatch_stub_855 mgl_dispatch_stub_855
-#define gl_dispatch_stub_856 mgl_dispatch_stub_856
-#define gl_dispatch_stub_865 mgl_dispatch_stub_865
-#define gl_dispatch_stub_866 mgl_dispatch_stub_866
-#define gl_dispatch_stub_884 mgl_dispatch_stub_884
-#define gl_dispatch_stub_885 mgl_dispatch_stub_885
-#define gl_dispatch_stub_886 mgl_dispatch_stub_886
-#define gl_dispatch_stub_951 mgl_dispatch_stub_951
-#define gl_dispatch_stub_952 mgl_dispatch_stub_952
-#define gl_dispatch_stub_953 mgl_dispatch_stub_953
-#define gl_dispatch_stub_954 mgl_dispatch_stub_954
-#define gl_dispatch_stub_955 mgl_dispatch_stub_955
+#define gl_dispatch_stub_714 mgl_dispatch_stub_714
+#define gl_dispatch_stub_715 mgl_dispatch_stub_715
+#define gl_dispatch_stub_776 mgl_dispatch_stub_776
+#define gl_dispatch_stub_777 mgl_dispatch_stub_777
+#define gl_dispatch_stub_858 mgl_dispatch_stub_858
+#define gl_dispatch_stub_859 mgl_dispatch_stub_859
+#define gl_dispatch_stub_860 mgl_dispatch_stub_860
+#define gl_dispatch_stub_861 mgl_dispatch_stub_861
+#define gl_dispatch_stub_862 mgl_dispatch_stub_862
+#define gl_dispatch_stub_871 mgl_dispatch_stub_871
+#define gl_dispatch_stub_872 mgl_dispatch_stub_872
+#define gl_dispatch_stub_890 mgl_dispatch_stub_890
+#define gl_dispatch_stub_891 mgl_dispatch_stub_891
+#define gl_dispatch_stub_892 mgl_dispatch_stub_892
+#define gl_dispatch_stub_957 mgl_dispatch_stub_957
+#define gl_dispatch_stub_958 mgl_dispatch_stub_958
+#define gl_dispatch_stub_959 mgl_dispatch_stub_959
+#define gl_dispatch_stub_960 mgl_dispatch_stub_960
+#define gl_dispatch_stub_961 mgl_dispatch_stub_961
#endif /* USE_MGL_NAMESPACE */
@@ -1432,25 +1438,25 @@ void GLAPIENTRY gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum form
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_623(GLuint id, GLenum target);
-void GLAPIENTRY gl_dispatch_stub_708(GLclampf value, GLboolean invert);
-void GLAPIENTRY gl_dispatch_stub_709(GLenum pattern);
-void GLAPIENTRY gl_dispatch_stub_770(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride);
-void GLAPIENTRY gl_dispatch_stub_771(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride);
-void GLAPIENTRY gl_dispatch_stub_852(GLenum face);
-void GLAPIENTRY gl_dispatch_stub_853(GLuint array);
-void GLAPIENTRY gl_dispatch_stub_854(GLsizei n, const GLuint * arrays);
-void GLAPIENTRY gl_dispatch_stub_855(GLsizei n, GLuint * arrays);
-GLboolean GLAPIENTRY gl_dispatch_stub_856(GLuint array);
-void GLAPIENTRY gl_dispatch_stub_865(GLclampd zmin, GLclampd zmax);
-void GLAPIENTRY gl_dispatch_stub_866(GLenum modeRGB, GLenum modeA);
-void GLAPIENTRY gl_dispatch_stub_884(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_885(GLenum target, GLenum pname, GLint param);
-void GLAPIENTRY gl_dispatch_stub_886(GLenum target, GLintptr offset, GLsizeiptr size);
-void GLAPIENTRY gl_dispatch_stub_951(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
-void GLAPIENTRY gl_dispatch_stub_952(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
-void GLAPIENTRY gl_dispatch_stub_953(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
-void GLAPIENTRY gl_dispatch_stub_954(GLuint id, GLenum pname, GLint64EXT * params);
-void GLAPIENTRY gl_dispatch_stub_955(GLuint id, GLenum pname, GLuint64EXT * params);
+void GLAPIENTRY gl_dispatch_stub_714(GLclampf value, GLboolean invert);
+void GLAPIENTRY gl_dispatch_stub_715(GLenum pattern);
+void GLAPIENTRY gl_dispatch_stub_776(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride);
+void GLAPIENTRY gl_dispatch_stub_777(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride);
+void GLAPIENTRY gl_dispatch_stub_858(GLenum face);
+void GLAPIENTRY gl_dispatch_stub_859(GLuint array);
+void GLAPIENTRY gl_dispatch_stub_860(GLsizei n, const GLuint * arrays);
+void GLAPIENTRY gl_dispatch_stub_861(GLsizei n, GLuint * arrays);
+GLboolean GLAPIENTRY gl_dispatch_stub_862(GLuint array);
+void GLAPIENTRY gl_dispatch_stub_871(GLclampd zmin, GLclampd zmax);
+void GLAPIENTRY gl_dispatch_stub_872(GLenum modeRGB, GLenum modeA);
+void GLAPIENTRY gl_dispatch_stub_890(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_891(GLenum target, GLenum pname, GLint param);
+void GLAPIENTRY gl_dispatch_stub_892(GLenum target, GLintptr offset, GLsizeiptr size);
+void GLAPIENTRY gl_dispatch_stub_957(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+void GLAPIENTRY gl_dispatch_stub_958(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
+void GLAPIENTRY gl_dispatch_stub_959(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
+void GLAPIENTRY gl_dispatch_stub_960(GLuint id, GLenum pname, GLint64EXT * params);
+void GLAPIENTRY gl_dispatch_stub_961(GLuint id, GLenum pname, GLuint64EXT * params);
#endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */
static const glprocs_table_t static_functions[] = {
@@ -2123,662 +2129,668 @@ static const glprocs_table_t static_functions[] = {
NAME_FUNC_OFFSET(10994, glIsTransformFeedback, glIsTransformFeedback, NULL, 666),
NAME_FUNC_OFFSET(11016, glPauseTransformFeedback, glPauseTransformFeedback, NULL, 667),
NAME_FUNC_OFFSET(11041, glResumeTransformFeedback, glResumeTransformFeedback, NULL, 668),
- NAME_FUNC_OFFSET(11067, glClearDepthf, glClearDepthf, NULL, 669),
- NAME_FUNC_OFFSET(11081, glDepthRangef, glDepthRangef, NULL, 670),
- NAME_FUNC_OFFSET(11095, glGetShaderPrecisionFormat, glGetShaderPrecisionFormat, NULL, 671),
- NAME_FUNC_OFFSET(11122, glReleaseShaderCompiler, glReleaseShaderCompiler, NULL, 672),
- NAME_FUNC_OFFSET(11146, glShaderBinary, glShaderBinary, NULL, 673),
- NAME_FUNC_OFFSET(11161, glDebugMessageCallbackARB, glDebugMessageCallbackARB, NULL, 674),
- NAME_FUNC_OFFSET(11187, glDebugMessageControlARB, glDebugMessageControlARB, NULL, 675),
- NAME_FUNC_OFFSET(11212, glDebugMessageInsertARB, glDebugMessageInsertARB, NULL, 676),
- NAME_FUNC_OFFSET(11236, glGetDebugMessageLogARB, glGetDebugMessageLogARB, NULL, 677),
- NAME_FUNC_OFFSET(11260, glGetGraphicsResetStatusARB, glGetGraphicsResetStatusARB, NULL, 678),
- NAME_FUNC_OFFSET(11288, glGetnColorTableARB, glGetnColorTableARB, NULL, 679),
- NAME_FUNC_OFFSET(11308, glGetnCompressedTexImageARB, glGetnCompressedTexImageARB, NULL, 680),
- NAME_FUNC_OFFSET(11336, glGetnConvolutionFilterARB, glGetnConvolutionFilterARB, NULL, 681),
- NAME_FUNC_OFFSET(11363, glGetnHistogramARB, glGetnHistogramARB, NULL, 682),
- NAME_FUNC_OFFSET(11382, glGetnMapdvARB, glGetnMapdvARB, NULL, 683),
- NAME_FUNC_OFFSET(11397, glGetnMapfvARB, glGetnMapfvARB, NULL, 684),
- NAME_FUNC_OFFSET(11412, glGetnMapivARB, glGetnMapivARB, NULL, 685),
- NAME_FUNC_OFFSET(11427, glGetnMinmaxARB, glGetnMinmaxARB, NULL, 686),
- NAME_FUNC_OFFSET(11443, glGetnPixelMapfvARB, glGetnPixelMapfvARB, NULL, 687),
- NAME_FUNC_OFFSET(11463, glGetnPixelMapuivARB, glGetnPixelMapuivARB, NULL, 688),
- NAME_FUNC_OFFSET(11484, glGetnPixelMapusvARB, glGetnPixelMapusvARB, NULL, 689),
- NAME_FUNC_OFFSET(11505, glGetnPolygonStippleARB, glGetnPolygonStippleARB, NULL, 690),
- NAME_FUNC_OFFSET(11529, glGetnSeparableFilterARB, glGetnSeparableFilterARB, NULL, 691),
- NAME_FUNC_OFFSET(11554, glGetnTexImageARB, glGetnTexImageARB, NULL, 692),
- NAME_FUNC_OFFSET(11572, glGetnUniformdvARB, glGetnUniformdvARB, NULL, 693),
- NAME_FUNC_OFFSET(11591, glGetnUniformfvARB, glGetnUniformfvARB, NULL, 694),
- NAME_FUNC_OFFSET(11610, glGetnUniformivARB, glGetnUniformivARB, NULL, 695),
- NAME_FUNC_OFFSET(11629, glGetnUniformuivARB, glGetnUniformuivARB, NULL, 696),
- NAME_FUNC_OFFSET(11649, glReadnPixelsARB, glReadnPixelsARB, NULL, 697),
- NAME_FUNC_OFFSET(11666, glDrawArraysInstancedBaseInstance, glDrawArraysInstancedBaseInstance, NULL, 698),
- NAME_FUNC_OFFSET(11700, glDrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseInstance, NULL, 699),
- NAME_FUNC_OFFSET(11736, glDrawElementsInstancedBaseVertexBaseInstance, glDrawElementsInstancedBaseVertexBaseInstance, NULL, 700),
- NAME_FUNC_OFFSET(11782, glTexStorage1D, glTexStorage1D, NULL, 701),
- NAME_FUNC_OFFSET(11797, glTexStorage2D, glTexStorage2D, NULL, 702),
- NAME_FUNC_OFFSET(11812, glTexStorage3D, glTexStorage3D, NULL, 703),
- NAME_FUNC_OFFSET(11827, glTextureStorage1DEXT, glTextureStorage1DEXT, NULL, 704),
- NAME_FUNC_OFFSET(11849, glTextureStorage2DEXT, glTextureStorage2DEXT, NULL, 705),
- NAME_FUNC_OFFSET(11871, glTextureStorage3DEXT, glTextureStorage3DEXT, NULL, 706),
- NAME_FUNC_OFFSET(11893, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 707),
- NAME_FUNC_OFFSET(11912, gl_dispatch_stub_708, gl_dispatch_stub_708, NULL, 708),
- NAME_FUNC_OFFSET(11929, gl_dispatch_stub_709, gl_dispatch_stub_709, NULL, 709),
- NAME_FUNC_OFFSET(11949, glColorPointerEXT, glColorPointerEXT, NULL, 710),
- NAME_FUNC_OFFSET(11967, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 711),
- NAME_FUNC_OFFSET(11988, glIndexPointerEXT, glIndexPointerEXT, NULL, 712),
- NAME_FUNC_OFFSET(12006, glNormalPointerEXT, glNormalPointerEXT, NULL, 713),
- NAME_FUNC_OFFSET(12025, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 714),
- NAME_FUNC_OFFSET(12046, glVertexPointerEXT, glVertexPointerEXT, NULL, 715),
- NAME_FUNC_OFFSET(12065, glPointParameterfEXT, glPointParameterfEXT, NULL, 716),
- NAME_FUNC_OFFSET(12086, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 717),
- NAME_FUNC_OFFSET(12108, glLockArraysEXT, glLockArraysEXT, NULL, 718),
- NAME_FUNC_OFFSET(12124, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 719),
- NAME_FUNC_OFFSET(12142, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 720),
- NAME_FUNC_OFFSET(12164, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 721),
- NAME_FUNC_OFFSET(12187, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 722),
- NAME_FUNC_OFFSET(12209, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 723),
- NAME_FUNC_OFFSET(12232, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 724),
- NAME_FUNC_OFFSET(12254, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 725),
- NAME_FUNC_OFFSET(12277, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 726),
- NAME_FUNC_OFFSET(12299, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 727),
- NAME_FUNC_OFFSET(12322, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 728),
- NAME_FUNC_OFFSET(12344, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 729),
- NAME_FUNC_OFFSET(12367, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 730),
- NAME_FUNC_OFFSET(12390, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 731),
- NAME_FUNC_OFFSET(12414, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 732),
- NAME_FUNC_OFFSET(12437, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 733),
- NAME_FUNC_OFFSET(12461, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 734),
- NAME_FUNC_OFFSET(12484, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 735),
- NAME_FUNC_OFFSET(12508, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 736),
- NAME_FUNC_OFFSET(12535, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 737),
- NAME_FUNC_OFFSET(12556, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 738),
- NAME_FUNC_OFFSET(12579, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 739),
- NAME_FUNC_OFFSET(12600, glFogCoorddEXT, glFogCoorddEXT, NULL, 740),
- NAME_FUNC_OFFSET(12615, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 741),
- NAME_FUNC_OFFSET(12631, glFogCoordfEXT, glFogCoordfEXT, NULL, 742),
- NAME_FUNC_OFFSET(12646, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 743),
- NAME_FUNC_OFFSET(12662, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 744),
- NAME_FUNC_OFFSET(12685, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 745),
- NAME_FUNC_OFFSET(12705, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 746),
- NAME_FUNC_OFFSET(12723, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 747),
- NAME_FUNC_OFFSET(12742, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 748),
- NAME_FUNC_OFFSET(12760, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 749),
- NAME_FUNC_OFFSET(12779, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 750),
- NAME_FUNC_OFFSET(12797, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 751),
- NAME_FUNC_OFFSET(12816, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 752),
- NAME_FUNC_OFFSET(12834, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 753),
- NAME_FUNC_OFFSET(12853, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 754),
- NAME_FUNC_OFFSET(12871, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 755),
- NAME_FUNC_OFFSET(12890, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 756),
- NAME_FUNC_OFFSET(12908, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 757),
- NAME_FUNC_OFFSET(12927, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 758),
- NAME_FUNC_OFFSET(12945, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 759),
- NAME_FUNC_OFFSET(12964, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 760),
- NAME_FUNC_OFFSET(12982, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 761),
- NAME_FUNC_OFFSET(13001, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 762),
- NAME_FUNC_OFFSET(13019, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 763),
- NAME_FUNC_OFFSET(13038, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 764),
- NAME_FUNC_OFFSET(13056, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 765),
- NAME_FUNC_OFFSET(13075, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 766),
- NAME_FUNC_OFFSET(13093, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 767),
- NAME_FUNC_OFFSET(13112, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 768),
- NAME_FUNC_OFFSET(13130, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 769),
- NAME_FUNC_OFFSET(13149, gl_dispatch_stub_770, gl_dispatch_stub_770, NULL, 770),
- NAME_FUNC_OFFSET(13174, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, 771),
- NAME_FUNC_OFFSET(13201, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 772),
- NAME_FUNC_OFFSET(13225, glBindProgramNV, glBindProgramNV, NULL, 773),
- NAME_FUNC_OFFSET(13241, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 774),
- NAME_FUNC_OFFSET(13260, glExecuteProgramNV, glExecuteProgramNV, NULL, 775),
- NAME_FUNC_OFFSET(13279, glGenProgramsNV, glGenProgramsNV, NULL, 776),
- NAME_FUNC_OFFSET(13295, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 777),
- NAME_FUNC_OFFSET(13321, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 778),
- NAME_FUNC_OFFSET(13347, glGetProgramStringNV, glGetProgramStringNV, NULL, 779),
- NAME_FUNC_OFFSET(13368, glGetProgramivNV, glGetProgramivNV, NULL, 780),
- NAME_FUNC_OFFSET(13385, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 781),
- NAME_FUNC_OFFSET(13406, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 782),
- NAME_FUNC_OFFSET(13434, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 783),
- NAME_FUNC_OFFSET(13456, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 784),
- NAME_FUNC_OFFSET(13478, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 785),
- NAME_FUNC_OFFSET(13500, glIsProgramNV, glIsProgramNV, NULL, 786),
- NAME_FUNC_OFFSET(13514, glLoadProgramNV, glLoadProgramNV, NULL, 787),
- NAME_FUNC_OFFSET(13530, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 788),
- NAME_FUNC_OFFSET(13555, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 789),
- NAME_FUNC_OFFSET(13580, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 790),
- NAME_FUNC_OFFSET(13608, glTrackMatrixNV, glTrackMatrixNV, NULL, 791),
- NAME_FUNC_OFFSET(13624, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 792),
- NAME_FUNC_OFFSET(13643, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 793),
- NAME_FUNC_OFFSET(13663, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 794),
- NAME_FUNC_OFFSET(13682, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 795),
- NAME_FUNC_OFFSET(13702, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 796),
- NAME_FUNC_OFFSET(13721, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 797),
- NAME_FUNC_OFFSET(13741, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 798),
- NAME_FUNC_OFFSET(13760, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 799),
- NAME_FUNC_OFFSET(13780, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 800),
- NAME_FUNC_OFFSET(13799, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 801),
- NAME_FUNC_OFFSET(13819, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 802),
- NAME_FUNC_OFFSET(13838, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 803),
- NAME_FUNC_OFFSET(13858, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 804),
- NAME_FUNC_OFFSET(13877, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 805),
- NAME_FUNC_OFFSET(13897, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 806),
- NAME_FUNC_OFFSET(13916, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 807),
- NAME_FUNC_OFFSET(13936, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 808),
- NAME_FUNC_OFFSET(13955, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 809),
- NAME_FUNC_OFFSET(13975, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 810),
- NAME_FUNC_OFFSET(13994, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 811),
- NAME_FUNC_OFFSET(14014, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 812),
- NAME_FUNC_OFFSET(14033, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 813),
- NAME_FUNC_OFFSET(14053, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 814),
- NAME_FUNC_OFFSET(14072, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 815),
- NAME_FUNC_OFFSET(14092, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 816),
- NAME_FUNC_OFFSET(14112, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 817),
- NAME_FUNC_OFFSET(14133, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 818),
- NAME_FUNC_OFFSET(14157, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 819),
- NAME_FUNC_OFFSET(14178, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 820),
- NAME_FUNC_OFFSET(14199, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 821),
- NAME_FUNC_OFFSET(14220, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 822),
- NAME_FUNC_OFFSET(14241, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 823),
- NAME_FUNC_OFFSET(14262, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 824),
- NAME_FUNC_OFFSET(14283, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 825),
- NAME_FUNC_OFFSET(14304, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 826),
- NAME_FUNC_OFFSET(14325, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 827),
- NAME_FUNC_OFFSET(14346, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 828),
- NAME_FUNC_OFFSET(14367, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 829),
- NAME_FUNC_OFFSET(14388, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 830),
- NAME_FUNC_OFFSET(14409, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 831),
- NAME_FUNC_OFFSET(14431, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 832),
- NAME_FUNC_OFFSET(14458, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 833),
- NAME_FUNC_OFFSET(14485, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 834),
- NAME_FUNC_OFFSET(14509, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 835),
- NAME_FUNC_OFFSET(14533, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 836),
- NAME_FUNC_OFFSET(14555, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 837),
- NAME_FUNC_OFFSET(14577, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 838),
- NAME_FUNC_OFFSET(14599, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 839),
- NAME_FUNC_OFFSET(14624, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 840),
- NAME_FUNC_OFFSET(14648, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 841),
- NAME_FUNC_OFFSET(14670, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 842),
- NAME_FUNC_OFFSET(14692, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 843),
- NAME_FUNC_OFFSET(14714, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 844),
- NAME_FUNC_OFFSET(14740, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 845),
- NAME_FUNC_OFFSET(14763, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 846),
- NAME_FUNC_OFFSET(14787, glPassTexCoordATI, glPassTexCoordATI, NULL, 847),
- NAME_FUNC_OFFSET(14805, glSampleMapATI, glSampleMapATI, NULL, 848),
- NAME_FUNC_OFFSET(14820, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 849),
- NAME_FUNC_OFFSET(14851, glPointParameteriNV, glPointParameteriNV, NULL, 850),
- NAME_FUNC_OFFSET(14871, glPointParameterivNV, glPointParameterivNV, NULL, 851),
- NAME_FUNC_OFFSET(14892, gl_dispatch_stub_852, gl_dispatch_stub_852, NULL, 852),
- NAME_FUNC_OFFSET(14915, gl_dispatch_stub_853, gl_dispatch_stub_853, NULL, 853),
- NAME_FUNC_OFFSET(14938, gl_dispatch_stub_854, gl_dispatch_stub_854, NULL, 854),
- NAME_FUNC_OFFSET(14964, gl_dispatch_stub_855, gl_dispatch_stub_855, NULL, 855),
- NAME_FUNC_OFFSET(14987, gl_dispatch_stub_856, gl_dispatch_stub_856, NULL, 856),
- NAME_FUNC_OFFSET(15008, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 857),
- NAME_FUNC_OFFSET(15039, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 858),
- NAME_FUNC_OFFSET(15070, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 859),
- NAME_FUNC_OFFSET(15098, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 860),
- NAME_FUNC_OFFSET(15127, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 861),
- NAME_FUNC_OFFSET(15155, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 862),
- NAME_FUNC_OFFSET(15184, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 863),
- NAME_FUNC_OFFSET(15210, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 864),
- NAME_FUNC_OFFSET(15231, gl_dispatch_stub_865, gl_dispatch_stub_865, NULL, 865),
- NAME_FUNC_OFFSET(15248, gl_dispatch_stub_866, gl_dispatch_stub_866, NULL, 866),
- NAME_FUNC_OFFSET(15275, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 867),
- NAME_FUNC_OFFSET(15296, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 868),
- NAME_FUNC_OFFSET(15318, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 869),
- NAME_FUNC_OFFSET(15346, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 870),
- NAME_FUNC_OFFSET(15370, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 871),
- NAME_FUNC_OFFSET(15395, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 872),
- NAME_FUNC_OFFSET(15424, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 873),
- NAME_FUNC_OFFSET(15450, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 874),
- NAME_FUNC_OFFSET(15476, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 875),
- NAME_FUNC_OFFSET(15502, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 876),
- NAME_FUNC_OFFSET(15523, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 877),
- NAME_FUNC_OFFSET(15545, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 878),
- NAME_FUNC_OFFSET(15565, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 879),
- NAME_FUNC_OFFSET(15606, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 880),
- NAME_FUNC_OFFSET(15638, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 881),
- NAME_FUNC_OFFSET(15657, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 882),
- NAME_FUNC_OFFSET(15677, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 883),
- NAME_FUNC_OFFSET(15702, gl_dispatch_stub_884, gl_dispatch_stub_884, NULL, 884),
- NAME_FUNC_OFFSET(15723, gl_dispatch_stub_885, gl_dispatch_stub_885, NULL, 885),
- NAME_FUNC_OFFSET(15747, gl_dispatch_stub_886, gl_dispatch_stub_886, NULL, 886),
- NAME_FUNC_OFFSET(15777, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 887),
- NAME_FUNC_OFFSET(15803, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 888),
- NAME_FUNC_OFFSET(15828, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 889),
- NAME_FUNC_OFFSET(15847, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 890),
- NAME_FUNC_OFFSET(15871, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 891),
- NAME_FUNC_OFFSET(15896, glUniform1uiEXT, glUniform1uiEXT, NULL, 892),
- NAME_FUNC_OFFSET(15912, glUniform1uivEXT, glUniform1uivEXT, NULL, 893),
- NAME_FUNC_OFFSET(15929, glUniform2uiEXT, glUniform2uiEXT, NULL, 894),
- NAME_FUNC_OFFSET(15945, glUniform2uivEXT, glUniform2uivEXT, NULL, 895),
- NAME_FUNC_OFFSET(15962, glUniform3uiEXT, glUniform3uiEXT, NULL, 896),
- NAME_FUNC_OFFSET(15978, glUniform3uivEXT, glUniform3uivEXT, NULL, 897),
- NAME_FUNC_OFFSET(15995, glUniform4uiEXT, glUniform4uiEXT, NULL, 898),
- NAME_FUNC_OFFSET(16011, glUniform4uivEXT, glUniform4uivEXT, NULL, 899),
- NAME_FUNC_OFFSET(16028, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 900),
- NAME_FUNC_OFFSET(16049, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 901),
- NAME_FUNC_OFFSET(16071, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 902),
- NAME_FUNC_OFFSET(16093, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 903),
- NAME_FUNC_OFFSET(16116, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 904),
- NAME_FUNC_OFFSET(16137, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 905),
- NAME_FUNC_OFFSET(16159, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 906),
- NAME_FUNC_OFFSET(16181, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 907),
- NAME_FUNC_OFFSET(16204, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 908),
- NAME_FUNC_OFFSET(16225, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 909),
- NAME_FUNC_OFFSET(16247, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 910),
- NAME_FUNC_OFFSET(16269, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 911),
- NAME_FUNC_OFFSET(16292, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 912),
- NAME_FUNC_OFFSET(16314, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 913),
- NAME_FUNC_OFFSET(16335, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 914),
- NAME_FUNC_OFFSET(16357, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 915),
- NAME_FUNC_OFFSET(16379, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 916),
- NAME_FUNC_OFFSET(16402, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 917),
- NAME_FUNC_OFFSET(16424, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 918),
- NAME_FUNC_OFFSET(16447, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 919),
- NAME_FUNC_OFFSET(16470, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 920),
- NAME_FUNC_OFFSET(16496, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 921),
- NAME_FUNC_OFFSET(16525, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 922),
- NAME_FUNC_OFFSET(16547, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 923),
- NAME_FUNC_OFFSET(16567, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 924),
- NAME_FUNC_OFFSET(16586, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 925),
- NAME_FUNC_OFFSET(16610, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 926),
- NAME_FUNC_OFFSET(16634, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 927),
- NAME_FUNC_OFFSET(16656, glClearColorIiEXT, glClearColorIiEXT, NULL, 928),
- NAME_FUNC_OFFSET(16674, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 929),
- NAME_FUNC_OFFSET(16693, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 930),
- NAME_FUNC_OFFSET(16717, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 931),
- NAME_FUNC_OFFSET(16742, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 932),
- NAME_FUNC_OFFSET(16763, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 933),
- NAME_FUNC_OFFSET(16785, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 934),
- NAME_FUNC_OFFSET(16812, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 935),
- NAME_FUNC_OFFSET(16837, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 936),
- NAME_FUNC_OFFSET(16865, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 937),
- NAME_FUNC_OFFSET(16885, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 938),
- NAME_FUNC_OFFSET(16907, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 939),
- NAME_FUNC_OFFSET(16928, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 940),
- NAME_FUNC_OFFSET(16954, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 941),
- NAME_FUNC_OFFSET(16987, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 942),
- NAME_FUNC_OFFSET(17018, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 943),
- NAME_FUNC_OFFSET(17039, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 944),
- NAME_FUNC_OFFSET(17067, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 945),
- NAME_FUNC_OFFSET(17090, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 946),
- NAME_FUNC_OFFSET(17115, glActiveProgramEXT, glActiveProgramEXT, NULL, 947),
- NAME_FUNC_OFFSET(17134, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 948),
- NAME_FUNC_OFFSET(17159, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 949),
- NAME_FUNC_OFFSET(17181, glTextureBarrierNV, glTextureBarrierNV, NULL, 950),
- NAME_FUNC_OFFSET(17200, gl_dispatch_stub_951, gl_dispatch_stub_951, NULL, 951),
- NAME_FUNC_OFFSET(17225, gl_dispatch_stub_952, gl_dispatch_stub_952, NULL, 952),
- NAME_FUNC_OFFSET(17254, gl_dispatch_stub_953, gl_dispatch_stub_953, NULL, 953),
- NAME_FUNC_OFFSET(17285, gl_dispatch_stub_954, gl_dispatch_stub_954, NULL, 954),
- NAME_FUNC_OFFSET(17309, gl_dispatch_stub_955, gl_dispatch_stub_955, NULL, 955),
- NAME_FUNC_OFFSET(17334, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 956),
- NAME_FUNC_OFFSET(17373, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 957),
- NAME_FUNC_OFFSET(17402, glArrayElement, glArrayElement, NULL, 306),
- NAME_FUNC_OFFSET(17420, glBindTexture, glBindTexture, NULL, 307),
- NAME_FUNC_OFFSET(17437, glDrawArrays, glDrawArrays, NULL, 310),
- NAME_FUNC_OFFSET(17453, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322),
- NAME_FUNC_OFFSET(17478, glCopyTexImage1D, glCopyTexImage1D, NULL, 323),
- NAME_FUNC_OFFSET(17498, glCopyTexImage2D, glCopyTexImage2D, NULL, 324),
- NAME_FUNC_OFFSET(17518, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325),
- NAME_FUNC_OFFSET(17541, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326),
- NAME_FUNC_OFFSET(17564, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327),
- NAME_FUNC_OFFSET(17584, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328),
- NAME_FUNC_OFFSET(17601, glGetPointerv, glGetPointerv, NULL, 329),
- NAME_FUNC_OFFSET(17618, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330),
- NAME_FUNC_OFFSET(17633, glPrioritizeTextures, glPrioritizeTextures, NULL, 331),
- NAME_FUNC_OFFSET(17657, glTexSubImage1D, glTexSubImage1D, NULL, 332),
- NAME_FUNC_OFFSET(17676, glTexSubImage2D, glTexSubImage2D, NULL, 333),
- NAME_FUNC_OFFSET(17695, glBlendColor, glBlendColor, NULL, 336),
- NAME_FUNC_OFFSET(17711, glBlendEquation, glBlendEquation, NULL, 337),
- NAME_FUNC_OFFSET(17730, glDrawRangeElements, glDrawRangeElements, NULL, 338),
- NAME_FUNC_OFFSET(17753, glColorTable, glColorTable, NULL, 339),
- NAME_FUNC_OFFSET(17769, glColorTable, glColorTable, NULL, 339),
- NAME_FUNC_OFFSET(17785, glColorTableParameterfv, glColorTableParameterfv, NULL, 340),
- NAME_FUNC_OFFSET(17812, glColorTableParameteriv, glColorTableParameteriv, NULL, 341),
- NAME_FUNC_OFFSET(17839, glCopyColorTable, glCopyColorTable, NULL, 342),
- NAME_FUNC_OFFSET(17859, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343),
- NAME_FUNC_OFFSET(17878, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343),
- NAME_FUNC_OFFSET(17897, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344),
- NAME_FUNC_OFFSET(17927, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344),
- NAME_FUNC_OFFSET(17957, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345),
- NAME_FUNC_OFFSET(17987, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345),
- NAME_FUNC_OFFSET(18017, glColorSubTable, glColorSubTable, NULL, 346),
- NAME_FUNC_OFFSET(18036, glCopyColorSubTable, glCopyColorSubTable, NULL, 347),
- NAME_FUNC_OFFSET(18059, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348),
- NAME_FUNC_OFFSET(18084, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349),
- NAME_FUNC_OFFSET(18109, glConvolutionParameterf, glConvolutionParameterf, NULL, 350),
- NAME_FUNC_OFFSET(18136, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351),
- NAME_FUNC_OFFSET(18164, glConvolutionParameteri, glConvolutionParameteri, NULL, 352),
- NAME_FUNC_OFFSET(18191, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353),
- NAME_FUNC_OFFSET(18219, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354),
- NAME_FUNC_OFFSET(18248, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355),
- NAME_FUNC_OFFSET(18277, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356),
- NAME_FUNC_OFFSET(18303, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357),
- NAME_FUNC_OFFSET(18334, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358),
- NAME_FUNC_OFFSET(18365, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359),
- NAME_FUNC_OFFSET(18389, glSeparableFilter2D, glSeparableFilter2D, NULL, 360),
- NAME_FUNC_OFFSET(18412, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361),
- NAME_FUNC_OFFSET(18430, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362),
- NAME_FUNC_OFFSET(18459, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363),
- NAME_FUNC_OFFSET(18488, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364),
- NAME_FUNC_OFFSET(18503, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365),
- NAME_FUNC_OFFSET(18529, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366),
- NAME_FUNC_OFFSET(18555, glHistogram, glHistogram, NULL, 367),
- NAME_FUNC_OFFSET(18570, glMinmax, glMinmax, NULL, 368),
- NAME_FUNC_OFFSET(18582, glResetHistogram, glResetHistogram, NULL, 369),
- NAME_FUNC_OFFSET(18602, glResetMinmax, glResetMinmax, NULL, 370),
- NAME_FUNC_OFFSET(18619, glTexImage3D, glTexImage3D, NULL, 371),
- NAME_FUNC_OFFSET(18635, glTexSubImage3D, glTexSubImage3D, NULL, 372),
- NAME_FUNC_OFFSET(18654, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373),
- NAME_FUNC_OFFSET(18677, glActiveTextureARB, glActiveTextureARB, NULL, 374),
- NAME_FUNC_OFFSET(18693, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375),
- NAME_FUNC_OFFSET(18715, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376),
- NAME_FUNC_OFFSET(18733, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377),
- NAME_FUNC_OFFSET(18752, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378),
- NAME_FUNC_OFFSET(18770, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379),
- NAME_FUNC_OFFSET(18789, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380),
- NAME_FUNC_OFFSET(18807, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381),
- NAME_FUNC_OFFSET(18826, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382),
- NAME_FUNC_OFFSET(18844, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383),
- NAME_FUNC_OFFSET(18863, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384),
- NAME_FUNC_OFFSET(18881, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385),
- NAME_FUNC_OFFSET(18900, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386),
- NAME_FUNC_OFFSET(18918, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387),
- NAME_FUNC_OFFSET(18937, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388),
- NAME_FUNC_OFFSET(18955, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389),
- NAME_FUNC_OFFSET(18974, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390),
- NAME_FUNC_OFFSET(18992, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391),
- NAME_FUNC_OFFSET(19011, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392),
- NAME_FUNC_OFFSET(19029, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393),
- NAME_FUNC_OFFSET(19048, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394),
- NAME_FUNC_OFFSET(19066, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395),
- NAME_FUNC_OFFSET(19085, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396),
- NAME_FUNC_OFFSET(19103, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397),
- NAME_FUNC_OFFSET(19122, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398),
- NAME_FUNC_OFFSET(19140, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399),
- NAME_FUNC_OFFSET(19159, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400),
- NAME_FUNC_OFFSET(19177, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401),
- NAME_FUNC_OFFSET(19196, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402),
- NAME_FUNC_OFFSET(19214, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403),
- NAME_FUNC_OFFSET(19233, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404),
- NAME_FUNC_OFFSET(19251, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405),
- NAME_FUNC_OFFSET(19270, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406),
- NAME_FUNC_OFFSET(19288, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407),
- NAME_FUNC_OFFSET(19307, glStencilOpSeparate, glStencilOpSeparate, NULL, 423),
- NAME_FUNC_OFFSET(19330, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 440),
- NAME_FUNC_OFFSET(19353, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 441),
- NAME_FUNC_OFFSET(19376, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 442),
- NAME_FUNC_OFFSET(19399, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 443),
- NAME_FUNC_OFFSET(19422, glSampleCoverageARB, glSampleCoverageARB, NULL, 444),
- NAME_FUNC_OFFSET(19439, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 445),
- NAME_FUNC_OFFSET(19462, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 446),
- NAME_FUNC_OFFSET(19485, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 447),
- NAME_FUNC_OFFSET(19508, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 448),
- NAME_FUNC_OFFSET(19534, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 449),
- NAME_FUNC_OFFSET(19560, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 450),
- NAME_FUNC_OFFSET(19586, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 451),
- NAME_FUNC_OFFSET(19610, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 452),
- NAME_FUNC_OFFSET(19637, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 453),
- NAME_FUNC_OFFSET(19663, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 460),
- NAME_FUNC_OFFSET(19683, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 461),
- NAME_FUNC_OFFSET(19703, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 462),
- NAME_FUNC_OFFSET(19723, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 463),
- NAME_FUNC_OFFSET(19746, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 464),
- NAME_FUNC_OFFSET(19770, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 465),
- NAME_FUNC_OFFSET(19793, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 466),
- NAME_FUNC_OFFSET(19817, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 472),
- NAME_FUNC_OFFSET(19834, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 473),
- NAME_FUNC_OFFSET(19852, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 474),
- NAME_FUNC_OFFSET(19869, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 475),
- NAME_FUNC_OFFSET(19887, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 476),
- NAME_FUNC_OFFSET(19904, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 477),
- NAME_FUNC_OFFSET(19922, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 478),
- NAME_FUNC_OFFSET(19939, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 479),
- NAME_FUNC_OFFSET(19957, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 480),
- NAME_FUNC_OFFSET(19974, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 481),
- NAME_FUNC_OFFSET(19992, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 482),
- NAME_FUNC_OFFSET(20009, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 483),
- NAME_FUNC_OFFSET(20027, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 484),
- NAME_FUNC_OFFSET(20044, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 485),
- NAME_FUNC_OFFSET(20062, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 486),
- NAME_FUNC_OFFSET(20079, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 487),
- NAME_FUNC_OFFSET(20097, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 488),
- NAME_FUNC_OFFSET(20114, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 489),
- NAME_FUNC_OFFSET(20132, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 490),
- NAME_FUNC_OFFSET(20151, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 491),
- NAME_FUNC_OFFSET(20170, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 492),
- NAME_FUNC_OFFSET(20189, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 493),
- NAME_FUNC_OFFSET(20208, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 494),
- NAME_FUNC_OFFSET(20228, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 495),
- NAME_FUNC_OFFSET(20248, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 496),
- NAME_FUNC_OFFSET(20268, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 497),
- NAME_FUNC_OFFSET(20286, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 498),
- NAME_FUNC_OFFSET(20303, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 499),
- NAME_FUNC_OFFSET(20321, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 500),
- NAME_FUNC_OFFSET(20338, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 501),
- NAME_FUNC_OFFSET(20356, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 502),
- NAME_FUNC_OFFSET(20374, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 503),
- NAME_FUNC_OFFSET(20391, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 504),
- NAME_FUNC_OFFSET(20409, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 505),
- NAME_FUNC_OFFSET(20428, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 506),
- NAME_FUNC_OFFSET(20447, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 507),
- NAME_FUNC_OFFSET(20466, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 508),
- NAME_FUNC_OFFSET(20488, glBindBufferARB, glBindBufferARB, NULL, 509),
- NAME_FUNC_OFFSET(20501, glBufferDataARB, glBufferDataARB, NULL, 510),
- NAME_FUNC_OFFSET(20514, glBufferSubDataARB, glBufferSubDataARB, NULL, 511),
- NAME_FUNC_OFFSET(20530, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 512),
- NAME_FUNC_OFFSET(20546, glGenBuffersARB, glGenBuffersARB, NULL, 513),
- NAME_FUNC_OFFSET(20559, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 514),
- NAME_FUNC_OFFSET(20582, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 515),
- NAME_FUNC_OFFSET(20602, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 516),
- NAME_FUNC_OFFSET(20621, glIsBufferARB, glIsBufferARB, NULL, 517),
- NAME_FUNC_OFFSET(20632, glMapBufferARB, glMapBufferARB, NULL, 518),
- NAME_FUNC_OFFSET(20644, glUnmapBufferARB, glUnmapBufferARB, NULL, 519),
- NAME_FUNC_OFFSET(20658, glBeginQueryARB, glBeginQueryARB, NULL, 520),
- NAME_FUNC_OFFSET(20671, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 521),
- NAME_FUNC_OFFSET(20687, glEndQueryARB, glEndQueryARB, NULL, 522),
- NAME_FUNC_OFFSET(20698, glGenQueriesARB, glGenQueriesARB, NULL, 523),
- NAME_FUNC_OFFSET(20711, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 524),
- NAME_FUNC_OFFSET(20730, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 525),
- NAME_FUNC_OFFSET(20750, glGetQueryivARB, glGetQueryivARB, NULL, 526),
- NAME_FUNC_OFFSET(20763, glIsQueryARB, glIsQueryARB, NULL, 527),
- NAME_FUNC_OFFSET(20773, glCompileShaderARB, glCompileShaderARB, NULL, 529),
- NAME_FUNC_OFFSET(20789, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 534),
- NAME_FUNC_OFFSET(20808, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 540),
- NAME_FUNC_OFFSET(20826, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 541),
- NAME_FUNC_OFFSET(20847, glGetUniformfvARB, glGetUniformfvARB, NULL, 542),
- NAME_FUNC_OFFSET(20862, glGetUniformivARB, glGetUniformivARB, NULL, 543),
- NAME_FUNC_OFFSET(20877, glLinkProgramARB, glLinkProgramARB, NULL, 544),
- NAME_FUNC_OFFSET(20891, glShaderSourceARB, glShaderSourceARB, NULL, 545),
- NAME_FUNC_OFFSET(20906, glUniform1fARB, glUniform1fARB, NULL, 546),
- NAME_FUNC_OFFSET(20918, glUniform1fvARB, glUniform1fvARB, NULL, 547),
- NAME_FUNC_OFFSET(20931, glUniform1iARB, glUniform1iARB, NULL, 548),
- NAME_FUNC_OFFSET(20943, glUniform1ivARB, glUniform1ivARB, NULL, 549),
- NAME_FUNC_OFFSET(20956, glUniform2fARB, glUniform2fARB, NULL, 550),
- NAME_FUNC_OFFSET(20968, glUniform2fvARB, glUniform2fvARB, NULL, 551),
- NAME_FUNC_OFFSET(20981, glUniform2iARB, glUniform2iARB, NULL, 552),
- NAME_FUNC_OFFSET(20993, glUniform2ivARB, glUniform2ivARB, NULL, 553),
- NAME_FUNC_OFFSET(21006, glUniform3fARB, glUniform3fARB, NULL, 554),
- NAME_FUNC_OFFSET(21018, glUniform3fvARB, glUniform3fvARB, NULL, 555),
- NAME_FUNC_OFFSET(21031, glUniform3iARB, glUniform3iARB, NULL, 556),
- NAME_FUNC_OFFSET(21043, glUniform3ivARB, glUniform3ivARB, NULL, 557),
- NAME_FUNC_OFFSET(21056, glUniform4fARB, glUniform4fARB, NULL, 558),
- NAME_FUNC_OFFSET(21068, glUniform4fvARB, glUniform4fvARB, NULL, 559),
- NAME_FUNC_OFFSET(21081, glUniform4iARB, glUniform4iARB, NULL, 560),
- NAME_FUNC_OFFSET(21093, glUniform4ivARB, glUniform4ivARB, NULL, 561),
- NAME_FUNC_OFFSET(21106, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 562),
- NAME_FUNC_OFFSET(21125, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 563),
- NAME_FUNC_OFFSET(21144, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 564),
- NAME_FUNC_OFFSET(21163, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 565),
- NAME_FUNC_OFFSET(21176, glValidateProgramARB, glValidateProgramARB, NULL, 566),
- NAME_FUNC_OFFSET(21194, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 567),
- NAME_FUNC_OFFSET(21215, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 568),
- NAME_FUNC_OFFSET(21233, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 569),
- NAME_FUNC_OFFSET(21253, glDrawBuffersARB, glDrawBuffersARB, NULL, 570),
- NAME_FUNC_OFFSET(21267, glDrawBuffersARB, glDrawBuffersARB, NULL, 570),
- NAME_FUNC_OFFSET(21284, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 572),
- NAME_FUNC_OFFSET(21309, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 572),
- NAME_FUNC_OFFSET(21331, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 573),
- NAME_FUNC_OFFSET(21358, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 573),
- NAME_FUNC_OFFSET(21382, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 574),
- NAME_FUNC_OFFSET(21418, glTexBufferARB, glTexBufferARB, NULL, 581),
- NAME_FUNC_OFFSET(21430, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 603),
- NAME_FUNC_OFFSET(21464, glBlendEquationiARB, glBlendEquationiARB, NULL, 604),
- NAME_FUNC_OFFSET(21490, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 605),
- NAME_FUNC_OFFSET(21520, glBlendFunciARB, glBlendFunciARB, NULL, 606),
- NAME_FUNC_OFFSET(21542, gl_dispatch_stub_708, gl_dispatch_stub_708, NULL, 708),
- NAME_FUNC_OFFSET(21558, gl_dispatch_stub_709, gl_dispatch_stub_709, NULL, 709),
- NAME_FUNC_OFFSET(21577, glPointParameterfEXT, glPointParameterfEXT, NULL, 716),
- NAME_FUNC_OFFSET(21595, glPointParameterfEXT, glPointParameterfEXT, NULL, 716),
- NAME_FUNC_OFFSET(21616, glPointParameterfEXT, glPointParameterfEXT, NULL, 716),
- NAME_FUNC_OFFSET(21638, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 717),
- NAME_FUNC_OFFSET(21657, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 717),
- NAME_FUNC_OFFSET(21679, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 717),
- NAME_FUNC_OFFSET(21702, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 720),
- NAME_FUNC_OFFSET(21721, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 721),
- NAME_FUNC_OFFSET(21741, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 722),
- NAME_FUNC_OFFSET(21760, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 723),
- NAME_FUNC_OFFSET(21780, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 724),
- NAME_FUNC_OFFSET(21799, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 725),
- NAME_FUNC_OFFSET(21819, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 726),
- NAME_FUNC_OFFSET(21838, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 727),
- NAME_FUNC_OFFSET(21858, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 728),
- NAME_FUNC_OFFSET(21877, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 729),
- NAME_FUNC_OFFSET(21897, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 730),
- NAME_FUNC_OFFSET(21917, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 731),
- NAME_FUNC_OFFSET(21938, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 732),
- NAME_FUNC_OFFSET(21958, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 733),
- NAME_FUNC_OFFSET(21979, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 734),
- NAME_FUNC_OFFSET(21999, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 735),
- NAME_FUNC_OFFSET(22020, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 736),
- NAME_FUNC_OFFSET(22044, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 737),
- NAME_FUNC_OFFSET(22062, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 738),
- NAME_FUNC_OFFSET(22082, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 739),
- NAME_FUNC_OFFSET(22100, glFogCoorddEXT, glFogCoorddEXT, NULL, 740),
- NAME_FUNC_OFFSET(22112, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 741),
- NAME_FUNC_OFFSET(22125, glFogCoordfEXT, glFogCoordfEXT, NULL, 742),
- NAME_FUNC_OFFSET(22137, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 743),
- NAME_FUNC_OFFSET(22150, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 744),
- NAME_FUNC_OFFSET(22170, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 744),
- NAME_FUNC_OFFSET(22194, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 746),
- NAME_FUNC_OFFSET(22208, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 746),
- NAME_FUNC_OFFSET(22225, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 747),
- NAME_FUNC_OFFSET(22240, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 747),
- NAME_FUNC_OFFSET(22258, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 748),
- NAME_FUNC_OFFSET(22272, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 748),
- NAME_FUNC_OFFSET(22289, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 749),
- NAME_FUNC_OFFSET(22304, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 749),
- NAME_FUNC_OFFSET(22322, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 750),
- NAME_FUNC_OFFSET(22336, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 750),
- NAME_FUNC_OFFSET(22353, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 751),
- NAME_FUNC_OFFSET(22368, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 751),
- NAME_FUNC_OFFSET(22386, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 752),
- NAME_FUNC_OFFSET(22400, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 752),
- NAME_FUNC_OFFSET(22417, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 753),
- NAME_FUNC_OFFSET(22432, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 753),
- NAME_FUNC_OFFSET(22450, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 754),
- NAME_FUNC_OFFSET(22464, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 754),
- NAME_FUNC_OFFSET(22481, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 755),
- NAME_FUNC_OFFSET(22496, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 755),
- NAME_FUNC_OFFSET(22514, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 756),
- NAME_FUNC_OFFSET(22528, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 756),
- NAME_FUNC_OFFSET(22545, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 757),
- NAME_FUNC_OFFSET(22560, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 757),
- NAME_FUNC_OFFSET(22578, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 758),
- NAME_FUNC_OFFSET(22592, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 758),
- NAME_FUNC_OFFSET(22609, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 759),
- NAME_FUNC_OFFSET(22624, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 759),
- NAME_FUNC_OFFSET(22642, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 760),
- NAME_FUNC_OFFSET(22656, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 760),
- NAME_FUNC_OFFSET(22673, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 761),
- NAME_FUNC_OFFSET(22688, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 761),
- NAME_FUNC_OFFSET(22706, glBindProgramNV, glBindProgramNV, NULL, 773),
- NAME_FUNC_OFFSET(22723, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 774),
- NAME_FUNC_OFFSET(22743, glGenProgramsNV, glGenProgramsNV, NULL, 776),
- NAME_FUNC_OFFSET(22760, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 782),
- NAME_FUNC_OFFSET(22786, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 782),
- NAME_FUNC_OFFSET(22815, glIsProgramNV, glIsProgramNV, NULL, 786),
- NAME_FUNC_OFFSET(22830, glPointParameteriNV, glPointParameteriNV, NULL, 850),
- NAME_FUNC_OFFSET(22848, glPointParameterivNV, glPointParameterivNV, NULL, 851),
- NAME_FUNC_OFFSET(22867, gl_dispatch_stub_854, gl_dispatch_stub_854, NULL, 854),
- NAME_FUNC_OFFSET(22888, gl_dispatch_stub_856, gl_dispatch_stub_856, NULL, 856),
- NAME_FUNC_OFFSET(22904, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 863),
- NAME_FUNC_OFFSET(22928, gl_dispatch_stub_866, gl_dispatch_stub_866, NULL, 866),
- NAME_FUNC_OFFSET(22952, gl_dispatch_stub_866, gl_dispatch_stub_866, NULL, 866),
- NAME_FUNC_OFFSET(22979, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 867),
- NAME_FUNC_OFFSET(22997, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 868),
- NAME_FUNC_OFFSET(23016, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 869),
- NAME_FUNC_OFFSET(23041, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 870),
- NAME_FUNC_OFFSET(23062, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 871),
- NAME_FUNC_OFFSET(23084, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 872),
- NAME_FUNC_OFFSET(23110, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 873),
- NAME_FUNC_OFFSET(23133, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 874),
- NAME_FUNC_OFFSET(23156, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 875),
- NAME_FUNC_OFFSET(23179, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 876),
- NAME_FUNC_OFFSET(23197, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 877),
- NAME_FUNC_OFFSET(23216, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 878),
- NAME_FUNC_OFFSET(23233, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 879),
- NAME_FUNC_OFFSET(23271, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 880),
- NAME_FUNC_OFFSET(23300, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 881),
- NAME_FUNC_OFFSET(23316, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 882),
- NAME_FUNC_OFFSET(23333, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 883),
- NAME_FUNC_OFFSET(23355, gl_dispatch_stub_884, gl_dispatch_stub_884, NULL, 884),
- NAME_FUNC_OFFSET(23373, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 887),
- NAME_FUNC_OFFSET(23396, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 888),
- NAME_FUNC_OFFSET(23418, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 889),
- NAME_FUNC_OFFSET(23434, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 890),
- NAME_FUNC_OFFSET(23455, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 891),
- NAME_FUNC_OFFSET(23477, glUniform1uiEXT, glUniform1uiEXT, NULL, 892),
- NAME_FUNC_OFFSET(23490, glUniform1uivEXT, glUniform1uivEXT, NULL, 893),
- NAME_FUNC_OFFSET(23504, glUniform2uiEXT, glUniform2uiEXT, NULL, 894),
- NAME_FUNC_OFFSET(23517, glUniform2uivEXT, glUniform2uivEXT, NULL, 895),
- NAME_FUNC_OFFSET(23531, glUniform3uiEXT, glUniform3uiEXT, NULL, 896),
- NAME_FUNC_OFFSET(23544, glUniform3uivEXT, glUniform3uivEXT, NULL, 897),
- NAME_FUNC_OFFSET(23558, glUniform4uiEXT, glUniform4uiEXT, NULL, 898),
- NAME_FUNC_OFFSET(23571, glUniform4uivEXT, glUniform4uivEXT, NULL, 899),
- NAME_FUNC_OFFSET(23585, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 900),
- NAME_FUNC_OFFSET(23603, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 901),
- NAME_FUNC_OFFSET(23622, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 902),
- NAME_FUNC_OFFSET(23641, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 903),
- NAME_FUNC_OFFSET(23661, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 904),
- NAME_FUNC_OFFSET(23679, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 905),
- NAME_FUNC_OFFSET(23698, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 906),
- NAME_FUNC_OFFSET(23717, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 907),
- NAME_FUNC_OFFSET(23737, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 908),
- NAME_FUNC_OFFSET(23755, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 909),
- NAME_FUNC_OFFSET(23774, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 910),
- NAME_FUNC_OFFSET(23793, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 911),
- NAME_FUNC_OFFSET(23813, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 912),
- NAME_FUNC_OFFSET(23832, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 913),
- NAME_FUNC_OFFSET(23850, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 914),
- NAME_FUNC_OFFSET(23869, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 915),
- NAME_FUNC_OFFSET(23888, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 916),
- NAME_FUNC_OFFSET(23908, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 917),
- NAME_FUNC_OFFSET(23927, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 918),
- NAME_FUNC_OFFSET(23947, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 919),
- NAME_FUNC_OFFSET(23967, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 920),
- NAME_FUNC_OFFSET(23990, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 921),
- NAME_FUNC_OFFSET(24016, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 921),
- NAME_FUNC_OFFSET(24045, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 922),
- NAME_FUNC_OFFSET(24058, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 923),
- NAME_FUNC_OFFSET(24069, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 924),
- NAME_FUNC_OFFSET(24079, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 925),
- NAME_FUNC_OFFSET(24095, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 926),
- NAME_FUNC_OFFSET(24111, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 927),
- NAME_FUNC_OFFSET(24124, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 930),
- NAME_FUNC_OFFSET(24145, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 931),
- NAME_FUNC_OFFSET(24167, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 932),
- NAME_FUNC_OFFSET(24185, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 933),
- NAME_FUNC_OFFSET(24204, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 934),
- NAME_FUNC_OFFSET(24229, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 935),
- NAME_FUNC_OFFSET(24252, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 936),
- NAME_FUNC_OFFSET(24277, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 937),
- NAME_FUNC_OFFSET(24294, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 939),
- NAME_FUNC_OFFSET(24312, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 940),
- NAME_FUNC_OFFSET(24335, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 941),
- NAME_FUNC_OFFSET(24365, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 942),
- NAME_FUNC_OFFSET(24393, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 943),
- NAME_FUNC_OFFSET(24411, gl_dispatch_stub_954, gl_dispatch_stub_954, NULL, 954),
- NAME_FUNC_OFFSET(24432, gl_dispatch_stub_955, gl_dispatch_stub_955, NULL, 955),
+ NAME_FUNC_OFFSET(11067, glBeginQueryIndexed, glBeginQueryIndexed, NULL, 669),
+ NAME_FUNC_OFFSET(11087, glDrawTransformFeedbackStream, glDrawTransformFeedbackStream, NULL, 670),
+ NAME_FUNC_OFFSET(11117, glEndQueryIndexed, glEndQueryIndexed, NULL, 671),
+ NAME_FUNC_OFFSET(11135, glGetQueryIndexediv, glGetQueryIndexediv, NULL, 672),
+ NAME_FUNC_OFFSET(11155, glClearDepthf, glClearDepthf, NULL, 673),
+ NAME_FUNC_OFFSET(11169, glDepthRangef, glDepthRangef, NULL, 674),
+ NAME_FUNC_OFFSET(11183, glGetShaderPrecisionFormat, glGetShaderPrecisionFormat, NULL, 675),
+ NAME_FUNC_OFFSET(11210, glReleaseShaderCompiler, glReleaseShaderCompiler, NULL, 676),
+ NAME_FUNC_OFFSET(11234, glShaderBinary, glShaderBinary, NULL, 677),
+ NAME_FUNC_OFFSET(11249, glDebugMessageCallbackARB, glDebugMessageCallbackARB, NULL, 678),
+ NAME_FUNC_OFFSET(11275, glDebugMessageControlARB, glDebugMessageControlARB, NULL, 679),
+ NAME_FUNC_OFFSET(11300, glDebugMessageInsertARB, glDebugMessageInsertARB, NULL, 680),
+ NAME_FUNC_OFFSET(11324, glGetDebugMessageLogARB, glGetDebugMessageLogARB, NULL, 681),
+ NAME_FUNC_OFFSET(11348, glGetGraphicsResetStatusARB, glGetGraphicsResetStatusARB, NULL, 682),
+ NAME_FUNC_OFFSET(11376, glGetnColorTableARB, glGetnColorTableARB, NULL, 683),
+ NAME_FUNC_OFFSET(11396, glGetnCompressedTexImageARB, glGetnCompressedTexImageARB, NULL, 684),
+ NAME_FUNC_OFFSET(11424, glGetnConvolutionFilterARB, glGetnConvolutionFilterARB, NULL, 685),
+ NAME_FUNC_OFFSET(11451, glGetnHistogramARB, glGetnHistogramARB, NULL, 686),
+ NAME_FUNC_OFFSET(11470, glGetnMapdvARB, glGetnMapdvARB, NULL, 687),
+ NAME_FUNC_OFFSET(11485, glGetnMapfvARB, glGetnMapfvARB, NULL, 688),
+ NAME_FUNC_OFFSET(11500, glGetnMapivARB, glGetnMapivARB, NULL, 689),
+ NAME_FUNC_OFFSET(11515, glGetnMinmaxARB, glGetnMinmaxARB, NULL, 690),
+ NAME_FUNC_OFFSET(11531, glGetnPixelMapfvARB, glGetnPixelMapfvARB, NULL, 691),
+ NAME_FUNC_OFFSET(11551, glGetnPixelMapuivARB, glGetnPixelMapuivARB, NULL, 692),
+ NAME_FUNC_OFFSET(11572, glGetnPixelMapusvARB, glGetnPixelMapusvARB, NULL, 693),
+ NAME_FUNC_OFFSET(11593, glGetnPolygonStippleARB, glGetnPolygonStippleARB, NULL, 694),
+ NAME_FUNC_OFFSET(11617, glGetnSeparableFilterARB, glGetnSeparableFilterARB, NULL, 695),
+ NAME_FUNC_OFFSET(11642, glGetnTexImageARB, glGetnTexImageARB, NULL, 696),
+ NAME_FUNC_OFFSET(11660, glGetnUniformdvARB, glGetnUniformdvARB, NULL, 697),
+ NAME_FUNC_OFFSET(11679, glGetnUniformfvARB, glGetnUniformfvARB, NULL, 698),
+ NAME_FUNC_OFFSET(11698, glGetnUniformivARB, glGetnUniformivARB, NULL, 699),
+ NAME_FUNC_OFFSET(11717, glGetnUniformuivARB, glGetnUniformuivARB, NULL, 700),
+ NAME_FUNC_OFFSET(11737, glReadnPixelsARB, glReadnPixelsARB, NULL, 701),
+ NAME_FUNC_OFFSET(11754, glDrawArraysInstancedBaseInstance, glDrawArraysInstancedBaseInstance, NULL, 702),
+ NAME_FUNC_OFFSET(11788, glDrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseInstance, NULL, 703),
+ NAME_FUNC_OFFSET(11824, glDrawElementsInstancedBaseVertexBaseInstance, glDrawElementsInstancedBaseVertexBaseInstance, NULL, 704),
+ NAME_FUNC_OFFSET(11870, glDrawTransformFeedbackInstanced, glDrawTransformFeedbackInstanced, NULL, 705),
+ NAME_FUNC_OFFSET(11903, glDrawTransformFeedbackStreamInstanced, glDrawTransformFeedbackStreamInstanced, NULL, 706),
+ NAME_FUNC_OFFSET(11942, glTexStorage1D, glTexStorage1D, NULL, 707),
+ NAME_FUNC_OFFSET(11957, glTexStorage2D, glTexStorage2D, NULL, 708),
+ NAME_FUNC_OFFSET(11972, glTexStorage3D, glTexStorage3D, NULL, 709),
+ NAME_FUNC_OFFSET(11987, glTextureStorage1DEXT, glTextureStorage1DEXT, NULL, 710),
+ NAME_FUNC_OFFSET(12009, glTextureStorage2DEXT, glTextureStorage2DEXT, NULL, 711),
+ NAME_FUNC_OFFSET(12031, glTextureStorage3DEXT, glTextureStorage3DEXT, NULL, 712),
+ NAME_FUNC_OFFSET(12053, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 713),
+ NAME_FUNC_OFFSET(12072, gl_dispatch_stub_714, gl_dispatch_stub_714, NULL, 714),
+ NAME_FUNC_OFFSET(12089, gl_dispatch_stub_715, gl_dispatch_stub_715, NULL, 715),
+ NAME_FUNC_OFFSET(12109, glColorPointerEXT, glColorPointerEXT, NULL, 716),
+ NAME_FUNC_OFFSET(12127, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 717),
+ NAME_FUNC_OFFSET(12148, glIndexPointerEXT, glIndexPointerEXT, NULL, 718),
+ NAME_FUNC_OFFSET(12166, glNormalPointerEXT, glNormalPointerEXT, NULL, 719),
+ NAME_FUNC_OFFSET(12185, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 720),
+ NAME_FUNC_OFFSET(12206, glVertexPointerEXT, glVertexPointerEXT, NULL, 721),
+ NAME_FUNC_OFFSET(12225, glPointParameterfEXT, glPointParameterfEXT, NULL, 722),
+ NAME_FUNC_OFFSET(12246, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 723),
+ NAME_FUNC_OFFSET(12268, glLockArraysEXT, glLockArraysEXT, NULL, 724),
+ NAME_FUNC_OFFSET(12284, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 725),
+ NAME_FUNC_OFFSET(12302, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 726),
+ NAME_FUNC_OFFSET(12324, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 727),
+ NAME_FUNC_OFFSET(12347, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 728),
+ NAME_FUNC_OFFSET(12369, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 729),
+ NAME_FUNC_OFFSET(12392, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 730),
+ NAME_FUNC_OFFSET(12414, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 731),
+ NAME_FUNC_OFFSET(12437, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 732),
+ NAME_FUNC_OFFSET(12459, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 733),
+ NAME_FUNC_OFFSET(12482, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 734),
+ NAME_FUNC_OFFSET(12504, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 735),
+ NAME_FUNC_OFFSET(12527, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 736),
+ NAME_FUNC_OFFSET(12550, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 737),
+ NAME_FUNC_OFFSET(12574, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 738),
+ NAME_FUNC_OFFSET(12597, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 739),
+ NAME_FUNC_OFFSET(12621, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 740),
+ NAME_FUNC_OFFSET(12644, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 741),
+ NAME_FUNC_OFFSET(12668, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 742),
+ NAME_FUNC_OFFSET(12695, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 743),
+ NAME_FUNC_OFFSET(12716, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 744),
+ NAME_FUNC_OFFSET(12739, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 745),
+ NAME_FUNC_OFFSET(12760, glFogCoorddEXT, glFogCoorddEXT, NULL, 746),
+ NAME_FUNC_OFFSET(12775, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 747),
+ NAME_FUNC_OFFSET(12791, glFogCoordfEXT, glFogCoordfEXT, NULL, 748),
+ NAME_FUNC_OFFSET(12806, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 749),
+ NAME_FUNC_OFFSET(12822, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 750),
+ NAME_FUNC_OFFSET(12845, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 751),
+ NAME_FUNC_OFFSET(12865, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752),
+ NAME_FUNC_OFFSET(12883, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753),
+ NAME_FUNC_OFFSET(12902, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754),
+ NAME_FUNC_OFFSET(12920, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755),
+ NAME_FUNC_OFFSET(12939, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756),
+ NAME_FUNC_OFFSET(12957, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757),
+ NAME_FUNC_OFFSET(12976, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758),
+ NAME_FUNC_OFFSET(12994, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759),
+ NAME_FUNC_OFFSET(13013, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760),
+ NAME_FUNC_OFFSET(13031, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761),
+ NAME_FUNC_OFFSET(13050, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762),
+ NAME_FUNC_OFFSET(13068, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763),
+ NAME_FUNC_OFFSET(13087, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764),
+ NAME_FUNC_OFFSET(13105, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765),
+ NAME_FUNC_OFFSET(13124, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766),
+ NAME_FUNC_OFFSET(13142, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767),
+ NAME_FUNC_OFFSET(13161, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 768),
+ NAME_FUNC_OFFSET(13179, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 769),
+ NAME_FUNC_OFFSET(13198, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 770),
+ NAME_FUNC_OFFSET(13216, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 771),
+ NAME_FUNC_OFFSET(13235, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 772),
+ NAME_FUNC_OFFSET(13253, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 773),
+ NAME_FUNC_OFFSET(13272, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 774),
+ NAME_FUNC_OFFSET(13290, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 775),
+ NAME_FUNC_OFFSET(13309, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, 776),
+ NAME_FUNC_OFFSET(13334, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, 777),
+ NAME_FUNC_OFFSET(13361, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 778),
+ NAME_FUNC_OFFSET(13385, glBindProgramNV, glBindProgramNV, NULL, 779),
+ NAME_FUNC_OFFSET(13401, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 780),
+ NAME_FUNC_OFFSET(13420, glExecuteProgramNV, glExecuteProgramNV, NULL, 781),
+ NAME_FUNC_OFFSET(13439, glGenProgramsNV, glGenProgramsNV, NULL, 782),
+ NAME_FUNC_OFFSET(13455, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 783),
+ NAME_FUNC_OFFSET(13481, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 784),
+ NAME_FUNC_OFFSET(13507, glGetProgramStringNV, glGetProgramStringNV, NULL, 785),
+ NAME_FUNC_OFFSET(13528, glGetProgramivNV, glGetProgramivNV, NULL, 786),
+ NAME_FUNC_OFFSET(13545, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 787),
+ NAME_FUNC_OFFSET(13566, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 788),
+ NAME_FUNC_OFFSET(13594, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 789),
+ NAME_FUNC_OFFSET(13616, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 790),
+ NAME_FUNC_OFFSET(13638, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 791),
+ NAME_FUNC_OFFSET(13660, glIsProgramNV, glIsProgramNV, NULL, 792),
+ NAME_FUNC_OFFSET(13674, glLoadProgramNV, glLoadProgramNV, NULL, 793),
+ NAME_FUNC_OFFSET(13690, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 794),
+ NAME_FUNC_OFFSET(13715, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 795),
+ NAME_FUNC_OFFSET(13740, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 796),
+ NAME_FUNC_OFFSET(13768, glTrackMatrixNV, glTrackMatrixNV, NULL, 797),
+ NAME_FUNC_OFFSET(13784, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 798),
+ NAME_FUNC_OFFSET(13803, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 799),
+ NAME_FUNC_OFFSET(13823, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 800),
+ NAME_FUNC_OFFSET(13842, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 801),
+ NAME_FUNC_OFFSET(13862, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 802),
+ NAME_FUNC_OFFSET(13881, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 803),
+ NAME_FUNC_OFFSET(13901, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 804),
+ NAME_FUNC_OFFSET(13920, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 805),
+ NAME_FUNC_OFFSET(13940, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 806),
+ NAME_FUNC_OFFSET(13959, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 807),
+ NAME_FUNC_OFFSET(13979, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 808),
+ NAME_FUNC_OFFSET(13998, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 809),
+ NAME_FUNC_OFFSET(14018, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 810),
+ NAME_FUNC_OFFSET(14037, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 811),
+ NAME_FUNC_OFFSET(14057, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 812),
+ NAME_FUNC_OFFSET(14076, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 813),
+ NAME_FUNC_OFFSET(14096, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 814),
+ NAME_FUNC_OFFSET(14115, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 815),
+ NAME_FUNC_OFFSET(14135, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 816),
+ NAME_FUNC_OFFSET(14154, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 817),
+ NAME_FUNC_OFFSET(14174, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 818),
+ NAME_FUNC_OFFSET(14193, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 819),
+ NAME_FUNC_OFFSET(14213, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 820),
+ NAME_FUNC_OFFSET(14232, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 821),
+ NAME_FUNC_OFFSET(14252, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 822),
+ NAME_FUNC_OFFSET(14272, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 823),
+ NAME_FUNC_OFFSET(14293, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 824),
+ NAME_FUNC_OFFSET(14317, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 825),
+ NAME_FUNC_OFFSET(14338, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 826),
+ NAME_FUNC_OFFSET(14359, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 827),
+ NAME_FUNC_OFFSET(14380, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 828),
+ NAME_FUNC_OFFSET(14401, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 829),
+ NAME_FUNC_OFFSET(14422, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 830),
+ NAME_FUNC_OFFSET(14443, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 831),
+ NAME_FUNC_OFFSET(14464, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 832),
+ NAME_FUNC_OFFSET(14485, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 833),
+ NAME_FUNC_OFFSET(14506, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 834),
+ NAME_FUNC_OFFSET(14527, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 835),
+ NAME_FUNC_OFFSET(14548, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 836),
+ NAME_FUNC_OFFSET(14569, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 837),
+ NAME_FUNC_OFFSET(14591, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 838),
+ NAME_FUNC_OFFSET(14618, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 839),
+ NAME_FUNC_OFFSET(14645, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 840),
+ NAME_FUNC_OFFSET(14669, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 841),
+ NAME_FUNC_OFFSET(14693, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 842),
+ NAME_FUNC_OFFSET(14715, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 843),
+ NAME_FUNC_OFFSET(14737, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 844),
+ NAME_FUNC_OFFSET(14759, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 845),
+ NAME_FUNC_OFFSET(14784, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 846),
+ NAME_FUNC_OFFSET(14808, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 847),
+ NAME_FUNC_OFFSET(14830, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 848),
+ NAME_FUNC_OFFSET(14852, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 849),
+ NAME_FUNC_OFFSET(14874, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 850),
+ NAME_FUNC_OFFSET(14900, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 851),
+ NAME_FUNC_OFFSET(14923, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 852),
+ NAME_FUNC_OFFSET(14947, glPassTexCoordATI, glPassTexCoordATI, NULL, 853),
+ NAME_FUNC_OFFSET(14965, glSampleMapATI, glSampleMapATI, NULL, 854),
+ NAME_FUNC_OFFSET(14980, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 855),
+ NAME_FUNC_OFFSET(15011, glPointParameteriNV, glPointParameteriNV, NULL, 856),
+ NAME_FUNC_OFFSET(15031, glPointParameterivNV, glPointParameterivNV, NULL, 857),
+ NAME_FUNC_OFFSET(15052, gl_dispatch_stub_858, gl_dispatch_stub_858, NULL, 858),
+ NAME_FUNC_OFFSET(15075, gl_dispatch_stub_859, gl_dispatch_stub_859, NULL, 859),
+ NAME_FUNC_OFFSET(15098, gl_dispatch_stub_860, gl_dispatch_stub_860, NULL, 860),
+ NAME_FUNC_OFFSET(15124, gl_dispatch_stub_861, gl_dispatch_stub_861, NULL, 861),
+ NAME_FUNC_OFFSET(15147, gl_dispatch_stub_862, gl_dispatch_stub_862, NULL, 862),
+ NAME_FUNC_OFFSET(15168, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 863),
+ NAME_FUNC_OFFSET(15199, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 864),
+ NAME_FUNC_OFFSET(15230, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 865),
+ NAME_FUNC_OFFSET(15258, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 866),
+ NAME_FUNC_OFFSET(15287, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 867),
+ NAME_FUNC_OFFSET(15315, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 868),
+ NAME_FUNC_OFFSET(15344, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 869),
+ NAME_FUNC_OFFSET(15370, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 870),
+ NAME_FUNC_OFFSET(15391, gl_dispatch_stub_871, gl_dispatch_stub_871, NULL, 871),
+ NAME_FUNC_OFFSET(15408, gl_dispatch_stub_872, gl_dispatch_stub_872, NULL, 872),
+ NAME_FUNC_OFFSET(15435, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 873),
+ NAME_FUNC_OFFSET(15456, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 874),
+ NAME_FUNC_OFFSET(15478, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 875),
+ NAME_FUNC_OFFSET(15506, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 876),
+ NAME_FUNC_OFFSET(15530, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 877),
+ NAME_FUNC_OFFSET(15555, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 878),
+ NAME_FUNC_OFFSET(15584, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 879),
+ NAME_FUNC_OFFSET(15610, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 880),
+ NAME_FUNC_OFFSET(15636, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 881),
+ NAME_FUNC_OFFSET(15662, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 882),
+ NAME_FUNC_OFFSET(15683, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 883),
+ NAME_FUNC_OFFSET(15705, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 884),
+ NAME_FUNC_OFFSET(15725, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 885),
+ NAME_FUNC_OFFSET(15766, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 886),
+ NAME_FUNC_OFFSET(15798, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 887),
+ NAME_FUNC_OFFSET(15817, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 888),
+ NAME_FUNC_OFFSET(15837, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 889),
+ NAME_FUNC_OFFSET(15862, gl_dispatch_stub_890, gl_dispatch_stub_890, NULL, 890),
+ NAME_FUNC_OFFSET(15883, gl_dispatch_stub_891, gl_dispatch_stub_891, NULL, 891),
+ NAME_FUNC_OFFSET(15907, gl_dispatch_stub_892, gl_dispatch_stub_892, NULL, 892),
+ NAME_FUNC_OFFSET(15937, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 893),
+ NAME_FUNC_OFFSET(15963, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 894),
+ NAME_FUNC_OFFSET(15988, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 895),
+ NAME_FUNC_OFFSET(16007, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 896),
+ NAME_FUNC_OFFSET(16031, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 897),
+ NAME_FUNC_OFFSET(16056, glUniform1uiEXT, glUniform1uiEXT, NULL, 898),
+ NAME_FUNC_OFFSET(16072, glUniform1uivEXT, glUniform1uivEXT, NULL, 899),
+ NAME_FUNC_OFFSET(16089, glUniform2uiEXT, glUniform2uiEXT, NULL, 900),
+ NAME_FUNC_OFFSET(16105, glUniform2uivEXT, glUniform2uivEXT, NULL, 901),
+ NAME_FUNC_OFFSET(16122, glUniform3uiEXT, glUniform3uiEXT, NULL, 902),
+ NAME_FUNC_OFFSET(16138, glUniform3uivEXT, glUniform3uivEXT, NULL, 903),
+ NAME_FUNC_OFFSET(16155, glUniform4uiEXT, glUniform4uiEXT, NULL, 904),
+ NAME_FUNC_OFFSET(16171, glUniform4uivEXT, glUniform4uivEXT, NULL, 905),
+ NAME_FUNC_OFFSET(16188, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 906),
+ NAME_FUNC_OFFSET(16209, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 907),
+ NAME_FUNC_OFFSET(16231, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 908),
+ NAME_FUNC_OFFSET(16253, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 909),
+ NAME_FUNC_OFFSET(16276, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 910),
+ NAME_FUNC_OFFSET(16297, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 911),
+ NAME_FUNC_OFFSET(16319, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 912),
+ NAME_FUNC_OFFSET(16341, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 913),
+ NAME_FUNC_OFFSET(16364, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 914),
+ NAME_FUNC_OFFSET(16385, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 915),
+ NAME_FUNC_OFFSET(16407, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 916),
+ NAME_FUNC_OFFSET(16429, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 917),
+ NAME_FUNC_OFFSET(16452, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 918),
+ NAME_FUNC_OFFSET(16474, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 919),
+ NAME_FUNC_OFFSET(16495, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 920),
+ NAME_FUNC_OFFSET(16517, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 921),
+ NAME_FUNC_OFFSET(16539, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 922),
+ NAME_FUNC_OFFSET(16562, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 923),
+ NAME_FUNC_OFFSET(16584, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 924),
+ NAME_FUNC_OFFSET(16607, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 925),
+ NAME_FUNC_OFFSET(16630, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 926),
+ NAME_FUNC_OFFSET(16656, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 927),
+ NAME_FUNC_OFFSET(16685, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 928),
+ NAME_FUNC_OFFSET(16707, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 929),
+ NAME_FUNC_OFFSET(16727, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 930),
+ NAME_FUNC_OFFSET(16746, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 931),
+ NAME_FUNC_OFFSET(16770, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 932),
+ NAME_FUNC_OFFSET(16794, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 933),
+ NAME_FUNC_OFFSET(16816, glClearColorIiEXT, glClearColorIiEXT, NULL, 934),
+ NAME_FUNC_OFFSET(16834, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 935),
+ NAME_FUNC_OFFSET(16853, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 936),
+ NAME_FUNC_OFFSET(16877, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 937),
+ NAME_FUNC_OFFSET(16902, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 938),
+ NAME_FUNC_OFFSET(16923, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 939),
+ NAME_FUNC_OFFSET(16945, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 940),
+ NAME_FUNC_OFFSET(16972, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 941),
+ NAME_FUNC_OFFSET(16997, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 942),
+ NAME_FUNC_OFFSET(17025, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 943),
+ NAME_FUNC_OFFSET(17045, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 944),
+ NAME_FUNC_OFFSET(17067, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 945),
+ NAME_FUNC_OFFSET(17088, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 946),
+ NAME_FUNC_OFFSET(17114, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 947),
+ NAME_FUNC_OFFSET(17147, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 948),
+ NAME_FUNC_OFFSET(17178, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 949),
+ NAME_FUNC_OFFSET(17199, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 950),
+ NAME_FUNC_OFFSET(17227, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 951),
+ NAME_FUNC_OFFSET(17250, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 952),
+ NAME_FUNC_OFFSET(17275, glActiveProgramEXT, glActiveProgramEXT, NULL, 953),
+ NAME_FUNC_OFFSET(17294, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 954),
+ NAME_FUNC_OFFSET(17319, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 955),
+ NAME_FUNC_OFFSET(17341, glTextureBarrierNV, glTextureBarrierNV, NULL, 956),
+ NAME_FUNC_OFFSET(17360, gl_dispatch_stub_957, gl_dispatch_stub_957, NULL, 957),
+ NAME_FUNC_OFFSET(17385, gl_dispatch_stub_958, gl_dispatch_stub_958, NULL, 958),
+ NAME_FUNC_OFFSET(17414, gl_dispatch_stub_959, gl_dispatch_stub_959, NULL, 959),
+ NAME_FUNC_OFFSET(17445, gl_dispatch_stub_960, gl_dispatch_stub_960, NULL, 960),
+ NAME_FUNC_OFFSET(17469, gl_dispatch_stub_961, gl_dispatch_stub_961, NULL, 961),
+ NAME_FUNC_OFFSET(17494, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 962),
+ NAME_FUNC_OFFSET(17533, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 963),
+ NAME_FUNC_OFFSET(17562, glArrayElement, glArrayElement, NULL, 306),
+ NAME_FUNC_OFFSET(17580, glBindTexture, glBindTexture, NULL, 307),
+ NAME_FUNC_OFFSET(17597, glDrawArrays, glDrawArrays, NULL, 310),
+ NAME_FUNC_OFFSET(17613, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322),
+ NAME_FUNC_OFFSET(17638, glCopyTexImage1D, glCopyTexImage1D, NULL, 323),
+ NAME_FUNC_OFFSET(17658, glCopyTexImage2D, glCopyTexImage2D, NULL, 324),
+ NAME_FUNC_OFFSET(17678, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325),
+ NAME_FUNC_OFFSET(17701, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326),
+ NAME_FUNC_OFFSET(17724, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327),
+ NAME_FUNC_OFFSET(17744, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328),
+ NAME_FUNC_OFFSET(17761, glGetPointerv, glGetPointerv, NULL, 329),
+ NAME_FUNC_OFFSET(17778, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330),
+ NAME_FUNC_OFFSET(17793, glPrioritizeTextures, glPrioritizeTextures, NULL, 331),
+ NAME_FUNC_OFFSET(17817, glTexSubImage1D, glTexSubImage1D, NULL, 332),
+ NAME_FUNC_OFFSET(17836, glTexSubImage2D, glTexSubImage2D, NULL, 333),
+ NAME_FUNC_OFFSET(17855, glBlendColor, glBlendColor, NULL, 336),
+ NAME_FUNC_OFFSET(17871, glBlendEquation, glBlendEquation, NULL, 337),
+ NAME_FUNC_OFFSET(17890, glDrawRangeElements, glDrawRangeElements, NULL, 338),
+ NAME_FUNC_OFFSET(17913, glColorTable, glColorTable, NULL, 339),
+ NAME_FUNC_OFFSET(17929, glColorTable, glColorTable, NULL, 339),
+ NAME_FUNC_OFFSET(17945, glColorTableParameterfv, glColorTableParameterfv, NULL, 340),
+ NAME_FUNC_OFFSET(17972, glColorTableParameteriv, glColorTableParameteriv, NULL, 341),
+ NAME_FUNC_OFFSET(17999, glCopyColorTable, glCopyColorTable, NULL, 342),
+ NAME_FUNC_OFFSET(18019, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343),
+ NAME_FUNC_OFFSET(18038, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343),
+ NAME_FUNC_OFFSET(18057, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344),
+ NAME_FUNC_OFFSET(18087, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344),
+ NAME_FUNC_OFFSET(18117, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345),
+ NAME_FUNC_OFFSET(18147, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345),
+ NAME_FUNC_OFFSET(18177, glColorSubTable, glColorSubTable, NULL, 346),
+ NAME_FUNC_OFFSET(18196, glCopyColorSubTable, glCopyColorSubTable, NULL, 347),
+ NAME_FUNC_OFFSET(18219, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348),
+ NAME_FUNC_OFFSET(18244, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349),
+ NAME_FUNC_OFFSET(18269, glConvolutionParameterf, glConvolutionParameterf, NULL, 350),
+ NAME_FUNC_OFFSET(18296, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351),
+ NAME_FUNC_OFFSET(18324, glConvolutionParameteri, glConvolutionParameteri, NULL, 352),
+ NAME_FUNC_OFFSET(18351, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353),
+ NAME_FUNC_OFFSET(18379, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354),
+ NAME_FUNC_OFFSET(18408, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355),
+ NAME_FUNC_OFFSET(18437, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356),
+ NAME_FUNC_OFFSET(18463, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357),
+ NAME_FUNC_OFFSET(18494, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358),
+ NAME_FUNC_OFFSET(18525, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359),
+ NAME_FUNC_OFFSET(18549, glSeparableFilter2D, glSeparableFilter2D, NULL, 360),
+ NAME_FUNC_OFFSET(18572, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361),
+ NAME_FUNC_OFFSET(18590, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362),
+ NAME_FUNC_OFFSET(18619, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363),
+ NAME_FUNC_OFFSET(18648, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364),
+ NAME_FUNC_OFFSET(18663, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365),
+ NAME_FUNC_OFFSET(18689, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366),
+ NAME_FUNC_OFFSET(18715, glHistogram, glHistogram, NULL, 367),
+ NAME_FUNC_OFFSET(18730, glMinmax, glMinmax, NULL, 368),
+ NAME_FUNC_OFFSET(18742, glResetHistogram, glResetHistogram, NULL, 369),
+ NAME_FUNC_OFFSET(18762, glResetMinmax, glResetMinmax, NULL, 370),
+ NAME_FUNC_OFFSET(18779, glTexImage3D, glTexImage3D, NULL, 371),
+ NAME_FUNC_OFFSET(18795, glTexSubImage3D, glTexSubImage3D, NULL, 372),
+ NAME_FUNC_OFFSET(18814, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373),
+ NAME_FUNC_OFFSET(18837, glActiveTextureARB, glActiveTextureARB, NULL, 374),
+ NAME_FUNC_OFFSET(18853, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375),
+ NAME_FUNC_OFFSET(18875, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376),
+ NAME_FUNC_OFFSET(18893, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377),
+ NAME_FUNC_OFFSET(18912, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378),
+ NAME_FUNC_OFFSET(18930, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379),
+ NAME_FUNC_OFFSET(18949, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380),
+ NAME_FUNC_OFFSET(18967, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381),
+ NAME_FUNC_OFFSET(18986, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382),
+ NAME_FUNC_OFFSET(19004, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383),
+ NAME_FUNC_OFFSET(19023, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384),
+ NAME_FUNC_OFFSET(19041, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385),
+ NAME_FUNC_OFFSET(19060, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386),
+ NAME_FUNC_OFFSET(19078, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387),
+ NAME_FUNC_OFFSET(19097, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388),
+ NAME_FUNC_OFFSET(19115, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389),
+ NAME_FUNC_OFFSET(19134, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390),
+ NAME_FUNC_OFFSET(19152, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391),
+ NAME_FUNC_OFFSET(19171, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392),
+ NAME_FUNC_OFFSET(19189, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393),
+ NAME_FUNC_OFFSET(19208, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394),
+ NAME_FUNC_OFFSET(19226, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395),
+ NAME_FUNC_OFFSET(19245, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396),
+ NAME_FUNC_OFFSET(19263, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397),
+ NAME_FUNC_OFFSET(19282, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398),
+ NAME_FUNC_OFFSET(19300, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399),
+ NAME_FUNC_OFFSET(19319, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400),
+ NAME_FUNC_OFFSET(19337, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401),
+ NAME_FUNC_OFFSET(19356, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402),
+ NAME_FUNC_OFFSET(19374, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403),
+ NAME_FUNC_OFFSET(19393, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404),
+ NAME_FUNC_OFFSET(19411, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405),
+ NAME_FUNC_OFFSET(19430, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406),
+ NAME_FUNC_OFFSET(19448, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407),
+ NAME_FUNC_OFFSET(19467, glStencilOpSeparate, glStencilOpSeparate, NULL, 423),
+ NAME_FUNC_OFFSET(19490, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 440),
+ NAME_FUNC_OFFSET(19513, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 441),
+ NAME_FUNC_OFFSET(19536, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 442),
+ NAME_FUNC_OFFSET(19559, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 443),
+ NAME_FUNC_OFFSET(19582, glSampleCoverageARB, glSampleCoverageARB, NULL, 444),
+ NAME_FUNC_OFFSET(19599, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 445),
+ NAME_FUNC_OFFSET(19622, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 446),
+ NAME_FUNC_OFFSET(19645, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 447),
+ NAME_FUNC_OFFSET(19668, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 448),
+ NAME_FUNC_OFFSET(19694, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 449),
+ NAME_FUNC_OFFSET(19720, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 450),
+ NAME_FUNC_OFFSET(19746, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 451),
+ NAME_FUNC_OFFSET(19770, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 452),
+ NAME_FUNC_OFFSET(19797, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 453),
+ NAME_FUNC_OFFSET(19823, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 460),
+ NAME_FUNC_OFFSET(19843, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 461),
+ NAME_FUNC_OFFSET(19863, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 462),
+ NAME_FUNC_OFFSET(19883, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 463),
+ NAME_FUNC_OFFSET(19906, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 464),
+ NAME_FUNC_OFFSET(19930, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 465),
+ NAME_FUNC_OFFSET(19953, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 466),
+ NAME_FUNC_OFFSET(19977, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 472),
+ NAME_FUNC_OFFSET(19994, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 473),
+ NAME_FUNC_OFFSET(20012, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 474),
+ NAME_FUNC_OFFSET(20029, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 475),
+ NAME_FUNC_OFFSET(20047, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 476),
+ NAME_FUNC_OFFSET(20064, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 477),
+ NAME_FUNC_OFFSET(20082, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 478),
+ NAME_FUNC_OFFSET(20099, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 479),
+ NAME_FUNC_OFFSET(20117, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 480),
+ NAME_FUNC_OFFSET(20134, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 481),
+ NAME_FUNC_OFFSET(20152, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 482),
+ NAME_FUNC_OFFSET(20169, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 483),
+ NAME_FUNC_OFFSET(20187, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 484),
+ NAME_FUNC_OFFSET(20204, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 485),
+ NAME_FUNC_OFFSET(20222, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 486),
+ NAME_FUNC_OFFSET(20239, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 487),
+ NAME_FUNC_OFFSET(20257, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 488),
+ NAME_FUNC_OFFSET(20274, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 489),
+ NAME_FUNC_OFFSET(20292, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 490),
+ NAME_FUNC_OFFSET(20311, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 491),
+ NAME_FUNC_OFFSET(20330, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 492),
+ NAME_FUNC_OFFSET(20349, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 493),
+ NAME_FUNC_OFFSET(20368, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 494),
+ NAME_FUNC_OFFSET(20388, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 495),
+ NAME_FUNC_OFFSET(20408, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 496),
+ NAME_FUNC_OFFSET(20428, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 497),
+ NAME_FUNC_OFFSET(20446, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 498),
+ NAME_FUNC_OFFSET(20463, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 499),
+ NAME_FUNC_OFFSET(20481, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 500),
+ NAME_FUNC_OFFSET(20498, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 501),
+ NAME_FUNC_OFFSET(20516, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 502),
+ NAME_FUNC_OFFSET(20534, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 503),
+ NAME_FUNC_OFFSET(20551, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 504),
+ NAME_FUNC_OFFSET(20569, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 505),
+ NAME_FUNC_OFFSET(20588, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 506),
+ NAME_FUNC_OFFSET(20607, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 507),
+ NAME_FUNC_OFFSET(20626, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 508),
+ NAME_FUNC_OFFSET(20648, glBindBufferARB, glBindBufferARB, NULL, 509),
+ NAME_FUNC_OFFSET(20661, glBufferDataARB, glBufferDataARB, NULL, 510),
+ NAME_FUNC_OFFSET(20674, glBufferSubDataARB, glBufferSubDataARB, NULL, 511),
+ NAME_FUNC_OFFSET(20690, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 512),
+ NAME_FUNC_OFFSET(20706, glGenBuffersARB, glGenBuffersARB, NULL, 513),
+ NAME_FUNC_OFFSET(20719, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 514),
+ NAME_FUNC_OFFSET(20742, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 515),
+ NAME_FUNC_OFFSET(20762, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 516),
+ NAME_FUNC_OFFSET(20781, glIsBufferARB, glIsBufferARB, NULL, 517),
+ NAME_FUNC_OFFSET(20792, glMapBufferARB, glMapBufferARB, NULL, 518),
+ NAME_FUNC_OFFSET(20804, glUnmapBufferARB, glUnmapBufferARB, NULL, 519),
+ NAME_FUNC_OFFSET(20818, glBeginQueryARB, glBeginQueryARB, NULL, 520),
+ NAME_FUNC_OFFSET(20831, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 521),
+ NAME_FUNC_OFFSET(20847, glEndQueryARB, glEndQueryARB, NULL, 522),
+ NAME_FUNC_OFFSET(20858, glGenQueriesARB, glGenQueriesARB, NULL, 523),
+ NAME_FUNC_OFFSET(20871, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 524),
+ NAME_FUNC_OFFSET(20890, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 525),
+ NAME_FUNC_OFFSET(20910, glGetQueryivARB, glGetQueryivARB, NULL, 526),
+ NAME_FUNC_OFFSET(20923, glIsQueryARB, glIsQueryARB, NULL, 527),
+ NAME_FUNC_OFFSET(20933, glCompileShaderARB, glCompileShaderARB, NULL, 529),
+ NAME_FUNC_OFFSET(20949, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 534),
+ NAME_FUNC_OFFSET(20968, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 540),
+ NAME_FUNC_OFFSET(20986, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 541),
+ NAME_FUNC_OFFSET(21007, glGetUniformfvARB, glGetUniformfvARB, NULL, 542),
+ NAME_FUNC_OFFSET(21022, glGetUniformivARB, glGetUniformivARB, NULL, 543),
+ NAME_FUNC_OFFSET(21037, glLinkProgramARB, glLinkProgramARB, NULL, 544),
+ NAME_FUNC_OFFSET(21051, glShaderSourceARB, glShaderSourceARB, NULL, 545),
+ NAME_FUNC_OFFSET(21066, glUniform1fARB, glUniform1fARB, NULL, 546),
+ NAME_FUNC_OFFSET(21078, glUniform1fvARB, glUniform1fvARB, NULL, 547),
+ NAME_FUNC_OFFSET(21091, glUniform1iARB, glUniform1iARB, NULL, 548),
+ NAME_FUNC_OFFSET(21103, glUniform1ivARB, glUniform1ivARB, NULL, 549),
+ NAME_FUNC_OFFSET(21116, glUniform2fARB, glUniform2fARB, NULL, 550),
+ NAME_FUNC_OFFSET(21128, glUniform2fvARB, glUniform2fvARB, NULL, 551),
+ NAME_FUNC_OFFSET(21141, glUniform2iARB, glUniform2iARB, NULL, 552),
+ NAME_FUNC_OFFSET(21153, glUniform2ivARB, glUniform2ivARB, NULL, 553),
+ NAME_FUNC_OFFSET(21166, glUniform3fARB, glUniform3fARB, NULL, 554),
+ NAME_FUNC_OFFSET(21178, glUniform3fvARB, glUniform3fvARB, NULL, 555),
+ NAME_FUNC_OFFSET(21191, glUniform3iARB, glUniform3iARB, NULL, 556),
+ NAME_FUNC_OFFSET(21203, glUniform3ivARB, glUniform3ivARB, NULL, 557),
+ NAME_FUNC_OFFSET(21216, glUniform4fARB, glUniform4fARB, NULL, 558),
+ NAME_FUNC_OFFSET(21228, glUniform4fvARB, glUniform4fvARB, NULL, 559),
+ NAME_FUNC_OFFSET(21241, glUniform4iARB, glUniform4iARB, NULL, 560),
+ NAME_FUNC_OFFSET(21253, glUniform4ivARB, glUniform4ivARB, NULL, 561),
+ NAME_FUNC_OFFSET(21266, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 562),
+ NAME_FUNC_OFFSET(21285, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 563),
+ NAME_FUNC_OFFSET(21304, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 564),
+ NAME_FUNC_OFFSET(21323, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 565),
+ NAME_FUNC_OFFSET(21336, glValidateProgramARB, glValidateProgramARB, NULL, 566),
+ NAME_FUNC_OFFSET(21354, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 567),
+ NAME_FUNC_OFFSET(21375, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 568),
+ NAME_FUNC_OFFSET(21393, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 569),
+ NAME_FUNC_OFFSET(21413, glDrawBuffersARB, glDrawBuffersARB, NULL, 570),
+ NAME_FUNC_OFFSET(21427, glDrawBuffersARB, glDrawBuffersARB, NULL, 570),
+ NAME_FUNC_OFFSET(21444, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 572),
+ NAME_FUNC_OFFSET(21469, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 572),
+ NAME_FUNC_OFFSET(21491, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 573),
+ NAME_FUNC_OFFSET(21518, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 573),
+ NAME_FUNC_OFFSET(21542, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 574),
+ NAME_FUNC_OFFSET(21578, glTexBufferARB, glTexBufferARB, NULL, 581),
+ NAME_FUNC_OFFSET(21590, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 603),
+ NAME_FUNC_OFFSET(21624, glBlendEquationiARB, glBlendEquationiARB, NULL, 604),
+ NAME_FUNC_OFFSET(21650, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 605),
+ NAME_FUNC_OFFSET(21680, glBlendFunciARB, glBlendFunciARB, NULL, 606),
+ NAME_FUNC_OFFSET(21702, gl_dispatch_stub_714, gl_dispatch_stub_714, NULL, 714),
+ NAME_FUNC_OFFSET(21718, gl_dispatch_stub_715, gl_dispatch_stub_715, NULL, 715),
+ NAME_FUNC_OFFSET(21737, glPointParameterfEXT, glPointParameterfEXT, NULL, 722),
+ NAME_FUNC_OFFSET(21755, glPointParameterfEXT, glPointParameterfEXT, NULL, 722),
+ NAME_FUNC_OFFSET(21776, glPointParameterfEXT, glPointParameterfEXT, NULL, 722),
+ NAME_FUNC_OFFSET(21798, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 723),
+ NAME_FUNC_OFFSET(21817, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 723),
+ NAME_FUNC_OFFSET(21839, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 723),
+ NAME_FUNC_OFFSET(21862, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 726),
+ NAME_FUNC_OFFSET(21881, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 727),
+ NAME_FUNC_OFFSET(21901, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 728),
+ NAME_FUNC_OFFSET(21920, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 729),
+ NAME_FUNC_OFFSET(21940, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 730),
+ NAME_FUNC_OFFSET(21959, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 731),
+ NAME_FUNC_OFFSET(21979, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 732),
+ NAME_FUNC_OFFSET(21998, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 733),
+ NAME_FUNC_OFFSET(22018, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 734),
+ NAME_FUNC_OFFSET(22037, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 735),
+ NAME_FUNC_OFFSET(22057, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 736),
+ NAME_FUNC_OFFSET(22077, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 737),
+ NAME_FUNC_OFFSET(22098, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 738),
+ NAME_FUNC_OFFSET(22118, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 739),
+ NAME_FUNC_OFFSET(22139, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 740),
+ NAME_FUNC_OFFSET(22159, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 741),
+ NAME_FUNC_OFFSET(22180, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 742),
+ NAME_FUNC_OFFSET(22204, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 743),
+ NAME_FUNC_OFFSET(22222, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 744),
+ NAME_FUNC_OFFSET(22242, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 745),
+ NAME_FUNC_OFFSET(22260, glFogCoorddEXT, glFogCoorddEXT, NULL, 746),
+ NAME_FUNC_OFFSET(22272, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 747),
+ NAME_FUNC_OFFSET(22285, glFogCoordfEXT, glFogCoordfEXT, NULL, 748),
+ NAME_FUNC_OFFSET(22297, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 749),
+ NAME_FUNC_OFFSET(22310, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 750),
+ NAME_FUNC_OFFSET(22330, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 750),
+ NAME_FUNC_OFFSET(22354, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752),
+ NAME_FUNC_OFFSET(22368, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752),
+ NAME_FUNC_OFFSET(22385, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753),
+ NAME_FUNC_OFFSET(22400, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753),
+ NAME_FUNC_OFFSET(22418, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754),
+ NAME_FUNC_OFFSET(22432, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754),
+ NAME_FUNC_OFFSET(22449, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755),
+ NAME_FUNC_OFFSET(22464, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755),
+ NAME_FUNC_OFFSET(22482, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756),
+ NAME_FUNC_OFFSET(22496, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756),
+ NAME_FUNC_OFFSET(22513, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757),
+ NAME_FUNC_OFFSET(22528, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757),
+ NAME_FUNC_OFFSET(22546, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758),
+ NAME_FUNC_OFFSET(22560, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758),
+ NAME_FUNC_OFFSET(22577, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759),
+ NAME_FUNC_OFFSET(22592, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759),
+ NAME_FUNC_OFFSET(22610, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760),
+ NAME_FUNC_OFFSET(22624, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760),
+ NAME_FUNC_OFFSET(22641, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761),
+ NAME_FUNC_OFFSET(22656, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761),
+ NAME_FUNC_OFFSET(22674, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762),
+ NAME_FUNC_OFFSET(22688, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762),
+ NAME_FUNC_OFFSET(22705, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763),
+ NAME_FUNC_OFFSET(22720, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763),
+ NAME_FUNC_OFFSET(22738, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764),
+ NAME_FUNC_OFFSET(22752, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764),
+ NAME_FUNC_OFFSET(22769, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765),
+ NAME_FUNC_OFFSET(22784, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765),
+ NAME_FUNC_OFFSET(22802, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766),
+ NAME_FUNC_OFFSET(22816, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766),
+ NAME_FUNC_OFFSET(22833, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767),
+ NAME_FUNC_OFFSET(22848, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767),
+ NAME_FUNC_OFFSET(22866, glBindProgramNV, glBindProgramNV, NULL, 779),
+ NAME_FUNC_OFFSET(22883, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 780),
+ NAME_FUNC_OFFSET(22903, glGenProgramsNV, glGenProgramsNV, NULL, 782),
+ NAME_FUNC_OFFSET(22920, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 788),
+ NAME_FUNC_OFFSET(22946, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 788),
+ NAME_FUNC_OFFSET(22975, glIsProgramNV, glIsProgramNV, NULL, 792),
+ NAME_FUNC_OFFSET(22990, glPointParameteriNV, glPointParameteriNV, NULL, 856),
+ NAME_FUNC_OFFSET(23008, glPointParameterivNV, glPointParameterivNV, NULL, 857),
+ NAME_FUNC_OFFSET(23027, gl_dispatch_stub_860, gl_dispatch_stub_860, NULL, 860),
+ NAME_FUNC_OFFSET(23048, gl_dispatch_stub_862, gl_dispatch_stub_862, NULL, 862),
+ NAME_FUNC_OFFSET(23064, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 869),
+ NAME_FUNC_OFFSET(23088, gl_dispatch_stub_872, gl_dispatch_stub_872, NULL, 872),
+ NAME_FUNC_OFFSET(23112, gl_dispatch_stub_872, gl_dispatch_stub_872, NULL, 872),
+ NAME_FUNC_OFFSET(23139, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 873),
+ NAME_FUNC_OFFSET(23157, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 874),
+ NAME_FUNC_OFFSET(23176, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 875),
+ NAME_FUNC_OFFSET(23201, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 876),
+ NAME_FUNC_OFFSET(23222, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 877),
+ NAME_FUNC_OFFSET(23244, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 878),
+ NAME_FUNC_OFFSET(23270, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 879),
+ NAME_FUNC_OFFSET(23293, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 880),
+ NAME_FUNC_OFFSET(23316, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 881),
+ NAME_FUNC_OFFSET(23339, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 882),
+ NAME_FUNC_OFFSET(23357, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 883),
+ NAME_FUNC_OFFSET(23376, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 884),
+ NAME_FUNC_OFFSET(23393, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 885),
+ NAME_FUNC_OFFSET(23431, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 886),
+ NAME_FUNC_OFFSET(23460, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 887),
+ NAME_FUNC_OFFSET(23476, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 888),
+ NAME_FUNC_OFFSET(23493, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 889),
+ NAME_FUNC_OFFSET(23515, gl_dispatch_stub_890, gl_dispatch_stub_890, NULL, 890),
+ NAME_FUNC_OFFSET(23533, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 893),
+ NAME_FUNC_OFFSET(23556, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 894),
+ NAME_FUNC_OFFSET(23578, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 895),
+ NAME_FUNC_OFFSET(23594, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 896),
+ NAME_FUNC_OFFSET(23615, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 897),
+ NAME_FUNC_OFFSET(23637, glUniform1uiEXT, glUniform1uiEXT, NULL, 898),
+ NAME_FUNC_OFFSET(23650, glUniform1uivEXT, glUniform1uivEXT, NULL, 899),
+ NAME_FUNC_OFFSET(23664, glUniform2uiEXT, glUniform2uiEXT, NULL, 900),
+ NAME_FUNC_OFFSET(23677, glUniform2uivEXT, glUniform2uivEXT, NULL, 901),
+ NAME_FUNC_OFFSET(23691, glUniform3uiEXT, glUniform3uiEXT, NULL, 902),
+ NAME_FUNC_OFFSET(23704, glUniform3uivEXT, glUniform3uivEXT, NULL, 903),
+ NAME_FUNC_OFFSET(23718, glUniform4uiEXT, glUniform4uiEXT, NULL, 904),
+ NAME_FUNC_OFFSET(23731, glUniform4uivEXT, glUniform4uivEXT, NULL, 905),
+ NAME_FUNC_OFFSET(23745, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 906),
+ NAME_FUNC_OFFSET(23763, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 907),
+ NAME_FUNC_OFFSET(23782, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 908),
+ NAME_FUNC_OFFSET(23801, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 909),
+ NAME_FUNC_OFFSET(23821, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 910),
+ NAME_FUNC_OFFSET(23839, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 911),
+ NAME_FUNC_OFFSET(23858, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 912),
+ NAME_FUNC_OFFSET(23877, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 913),
+ NAME_FUNC_OFFSET(23897, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 914),
+ NAME_FUNC_OFFSET(23915, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 915),
+ NAME_FUNC_OFFSET(23934, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 916),
+ NAME_FUNC_OFFSET(23953, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 917),
+ NAME_FUNC_OFFSET(23973, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 918),
+ NAME_FUNC_OFFSET(23992, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 919),
+ NAME_FUNC_OFFSET(24010, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 920),
+ NAME_FUNC_OFFSET(24029, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 921),
+ NAME_FUNC_OFFSET(24048, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 922),
+ NAME_FUNC_OFFSET(24068, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 923),
+ NAME_FUNC_OFFSET(24087, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 924),
+ NAME_FUNC_OFFSET(24107, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 925),
+ NAME_FUNC_OFFSET(24127, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 926),
+ NAME_FUNC_OFFSET(24150, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 927),
+ NAME_FUNC_OFFSET(24176, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 927),
+ NAME_FUNC_OFFSET(24205, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 928),
+ NAME_FUNC_OFFSET(24218, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 929),
+ NAME_FUNC_OFFSET(24229, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 930),
+ NAME_FUNC_OFFSET(24239, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 931),
+ NAME_FUNC_OFFSET(24255, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 932),
+ NAME_FUNC_OFFSET(24271, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 933),
+ NAME_FUNC_OFFSET(24284, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 936),
+ NAME_FUNC_OFFSET(24305, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 937),
+ NAME_FUNC_OFFSET(24327, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 938),
+ NAME_FUNC_OFFSET(24345, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 939),
+ NAME_FUNC_OFFSET(24364, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 940),
+ NAME_FUNC_OFFSET(24389, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 941),
+ NAME_FUNC_OFFSET(24412, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 942),
+ NAME_FUNC_OFFSET(24437, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 943),
+ NAME_FUNC_OFFSET(24454, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 945),
+ NAME_FUNC_OFFSET(24472, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 946),
+ NAME_FUNC_OFFSET(24495, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 947),
+ NAME_FUNC_OFFSET(24525, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 948),
+ NAME_FUNC_OFFSET(24553, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 949),
+ NAME_FUNC_OFFSET(24571, gl_dispatch_stub_960, gl_dispatch_stub_960, NULL, 960),
+ NAME_FUNC_OFFSET(24592, gl_dispatch_stub_961, gl_dispatch_stub_961, NULL, 961),
NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0)
};
diff --git a/xorg-server/glx/glxcmds.c b/xorg-server/glx/glxcmds.c
index 36be33404..684533127 100644
--- a/xorg-server/glx/glxcmds.c
+++ b/xorg-server/glx/glxcmds.c
@@ -667,17 +667,17 @@ DoMakeCurrent(__GLXclientState * cl,
StopUsingContext(prevglxc);
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.contextTag = 0;
+
+
if (glxc) {
StartUsingContext(cl, glxc);
reply.contextTag = glxc->id;
}
- else {
- reply.contextTag = 0;
- }
-
- reply.length = 0;
- reply.type = X_Reply;
- reply.sequenceNumber = client->sequence;
if (client->swapped) {
__glXSwapMakeCurrentReply(client, &reply);
@@ -738,11 +738,13 @@ __glXDisp_IsDirect(__GLXclientState * cl, GLbyte * pc)
if (!validGlxContext(cl->client, req->context, DixReadAccess, &glxc, &err))
return err;
+
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.length = 0;
reply.isDirect = glxc->isDirect;
+
if (client->swapped) {
__glXSwapIsDirectReply(client, &reply);
}
@@ -773,12 +775,14 @@ __glXDisp_QueryVersion(__GLXclientState * cl, GLbyte * pc)
** client if it wants to work with older clients; however, in this
** implementation the server just returns its version number.
*/
+
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.length = 0;
reply.majorVersion = glxMajorVersion;
reply.minorVersion = glxMinorVersion;
+
if (client->swapped) {
__glXSwapQueryVersionReply(client, &reply);
}
@@ -951,6 +955,7 @@ __glXDisp_GetVisualConfigs(__GLXclientState * cl, GLbyte * pc)
if (!validGlxScreen(cl->client, req->screen, &pGlxScreen, &err))
return err;
+
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.length = (pGlxScreen->numVisuals *
@@ -958,6 +963,7 @@ __glXDisp_GetVisualConfigs(__GLXclientState * cl, GLbyte * pc)
reply.numVisuals = pGlxScreen->numVisuals;
reply.numProps = GLX_VIS_CONFIG_TOTAL;
+
if (client->swapped) {
__GLX_SWAP_SHORT(&reply.sequenceNumber);
__GLX_SWAP_INT(&reply.length);
@@ -1055,12 +1061,14 @@ DoGetFBConfigs(__GLXclientState * cl, unsigned screen)
if (!validGlxScreen(cl->client, screen, &pGlxScreen, &err))
return err;
+
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
- reply.length = (__GLX_FBCONFIG_ATTRIBS_LENGTH * pGlxScreen->numFBConfigs);
+ reply.length = __GLX_FBCONFIG_ATTRIBS_LENGTH * pGlxScreen->numFBConfigs;
reply.numFBConfigs = pGlxScreen->numFBConfigs;
reply.numAttribs = __GLX_TOTAL_FBCONFIG_ATTRIBS;
+
if (client->swapped) {
__GLX_SWAP_SHORT(&reply.sequenceNumber);
__GLX_SWAP_INT(&reply.length);
@@ -1679,11 +1687,13 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId)
return err;
nProps = 3;
+
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.length = nProps << 1;
reply.n = nProps;
+
nReplyBytes = reply.length << 2;
sendBuf = (int *) malloc((size_t) nReplyBytes);
if (sendBuf == NULL) {
@@ -1886,11 +1896,13 @@ DoGetDrawableAttributes(__GLXclientState * cl, XID drawId)
return error;
numAttribs = 3;
+
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.length = numAttribs << 1;
reply.numAttribs = numAttribs;
+
attributes[0] = GLX_TEXTURE_TARGET_EXT;
attributes[1] = pGlxDraw->target == GL_TEXTURE_2D ? GLX_TEXTURE_2D_EXT :
GLX_TEXTURE_RECTANGLE_EXT;
@@ -2325,11 +2337,13 @@ __glXDisp_QueryExtensionsString(__GLXclientState * cl, GLbyte * pc)
n = strlen(pGlxScreen->GLXextensions) + 1;
length = __GLX_PAD(n) >> 2;
+
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.length = length;
reply.n = n;
+
/* Allocate buffer to make sure it's a multiple of 4 bytes big. */
buf = calloc(length, 4);
if (buf == NULL)
@@ -2386,11 +2400,13 @@ __glXDisp_QueryServerString(__GLXclientState * cl, GLbyte * pc)
n = strlen(ptr) + 1;
length = __GLX_PAD(n) >> 2;
+
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.length = length;
reply.n = n;
+
buf = calloc(length, 4);
if (buf == NULL) {
return BadAlloc;
diff --git a/xorg-server/glx/glxdri2.c b/xorg-server/glx/glxdri2.c
index 909de706a..bce1bfa4b 100644
--- a/xorg-server/glx/glxdri2.c
+++ b/xorg-server/glx/glxdri2.c
@@ -106,6 +106,7 @@ struct __GLXDRIdrawable {
int height;
__DRIbuffer buffers[MAX_DRAWABLE_BUFFERS];
int count;
+ XID dri2_id;
};
static void
@@ -114,6 +115,8 @@ __glXDRIdrawableDestroy(__GLXdrawable * drawable)
__GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable;
const __DRIcoreExtension *core = private->screen->core;
+ FreeResource(private->dri2_id, FALSE);
+
(*core->destroyDrawable) (private->driDrawable);
__glXDrawableRelease(drawable);
@@ -390,7 +393,8 @@ __glXDRIscreenDestroy(__GLXscreen * baseScreen)
}
static Bool
-dri2_convert_glx_attribs(unsigned num_attribs, const uint32_t *attribs,
+dri2_convert_glx_attribs(__GLXDRIscreen *screen, unsigned num_attribs,
+ const uint32_t *attribs,
unsigned *major_ver, unsigned *minor_ver,
uint32_t *flags, int *api, int *reset, unsigned *error)
{
@@ -482,8 +486,8 @@ dri2_convert_glx_attribs(unsigned num_attribs, const uint32_t *attribs,
* don't support OpenGL 3.2 may fail the request for a core profile.
*/
if (*api == __DRI_API_OPENGL_CORE
- && (*major_ver < 3 || (*major_ver < 3 && *minor_ver < 2))) {
- *api == __DRI_API_OPENGL;
+ && (*major_ver < 3 || (*major_ver == 3 && *minor_ver < 2))) {
+ *api = __DRI_API_OPENGL;
}
*error = Success;
@@ -513,11 +517,11 @@ create_driver_context(__GLXDRIcontext * context,
int api;
if (num_attribs != 0) {
- if (!dri2_convert_glx_attribs(num_attribs, attribs,
+ if (!dri2_convert_glx_attribs(screen, num_attribs, attribs,
&major_ver, &minor_ver,
&flags, &api, &reset,
(unsigned *) error))
- return NULL;
+ return;
ctx_attribs[num_ctx_attribs++] = __DRI_CTX_ATTRIB_MAJOR_VERSION;
ctx_attribs[num_ctx_attribs++] = major_ver;
@@ -534,9 +538,9 @@ create_driver_context(__GLXDRIcontext * context,
}
#ifdef __DRI2_ROBUSTNESS
- if (reset != __DRI_CTX_NO_RESET_NOTIFICATION) {
+ if (reset != __DRI_CTX_RESET_NO_NOTIFICATION) {
ctx_attribs[num_ctx_attribs++] =
- __DRI_CTX_ATTRIB_RESET_NOTIFICATION;
+ __DRI_CTX_ATTRIB_RESET_STRATEGY;
ctx_attribs[num_ctx_attribs++] = reset;
}
#endif
@@ -670,8 +674,9 @@ __glXDRIscreenCreateDrawable(ClientPtr client,
private->base.waitGL = __glXDRIdrawableWaitGL;
private->base.waitX = __glXDRIdrawableWaitX;
- if (DRI2CreateDrawable(client, pDraw, drawId,
- __glXDRIinvalidateBuffers, private)) {
+ if (DRI2CreateDrawable2(client, pDraw, drawId,
+ __glXDRIinvalidateBuffers, private,
+ &private->dri2_id)) {
free(private);
return NULL;
}
diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c
index 83b85e7c0..0436e2cff 100644
--- a/xorg-server/glx/glxext.c
+++ b/xorg-server/glx/glxext.c
@@ -332,9 +332,15 @@ GlxExtensionInit(void)
ExtensionEntry *extEntry;
ScreenPtr pScreen;
int i;
- __GLXprovider *p;
+ __GLXprovider *p, **stack;
Bool glx_provided = False;
+ if (serverGeneration == 1) {
+ for (stack = &__glXProviderStack; *stack; stack = &(*stack)->next)
+ ;
+ *stack = &__glXDRISWRastProvider;
+ }
+
__glXContextRes = CreateNewResourceType((DeleteType) ContextGone,
"GLXContext");
__glXDrawableRes = CreateNewResourceType((DeleteType) DrawableGone,
@@ -342,12 +348,6 @@ GlxExtensionInit(void)
if (!__glXContextRes || !__glXDrawableRes)
return;
- if (serverGeneration == 1)
- {
- GlxPushProvider(&__glXDRISWRastProvider);
- glxWinPushNativeProvider();
- }
-
if (!dixRegisterPrivateKey
(&glxClientPrivateKeyRec, PRIVATE_CLIENT, sizeof(__GLXclientState)))
return;
diff --git a/xorg-server/glx/indirect_dispatch.h b/xorg-server/glx/indirect_dispatch.h
index 214177251..458ff6f0d 100644
--- a/xorg-server/glx/indirect_dispatch.h
+++ b/xorg-server/glx/indirect_dispatch.h
@@ -146,6 +146,8 @@ extern _X_HIDDEN void __glXDisp_CopyTexSubImage2D(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_CopyTexSubImage2D(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_DepthRange(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_DepthRange(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetProgramParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetProgramParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_ResetHistogram(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ResetHistogram(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_GetProgramNamedParameterfvNV(struct __GLXclientStateRec *, GLbyte *);
@@ -710,8 +712,6 @@ extern _X_HIDDEN int __glXDisp_GetTexLevelParameterfv(struct __GLXclientStateRec
extern _X_HIDDEN int __glXDispSwap_GetTexLevelParameterfv(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN int __glXDisp_GenFramebuffersEXT(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN int __glXDispSwap_GenFramebuffersEXT(struct __GLXclientStateRec *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetProgramParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetProgramParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_Vertex2sv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Vertex2sv(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_GetIntegerv(struct __GLXclientStateRec *, GLbyte *);
diff --git a/xorg-server/hw/xfree86/common/xf86AutoConfig.c b/xorg-server/hw/xfree86/common/xf86AutoConfig.c
index 271ce86b6..95d58fe43 100644
--- a/xorg-server/hw/xfree86/common/xf86AutoConfig.c
+++ b/xorg-server/hw/xfree86/common/xf86AutoConfig.c
@@ -39,6 +39,7 @@
#include "xf86Config.h"
#include "xf86Priv.h"
#include "xf86_OSlib.h"
+#include "xf86platformBus.h"
#include "xf86pciBus.h"
#ifdef __sparc__
#include "xf86sbusBus.h"
diff --git a/xorg-server/hw/xfree86/dri2/dri2.c b/xorg-server/hw/xfree86/dri2/dri2.c
index 2ea0c331e..63feed51a 100644
--- a/xorg-server/hw/xfree86/dri2/dri2.c
+++ b/xorg-server/hw/xfree86/dri2/dri2.c
@@ -333,8 +333,9 @@ DRI2AddDrawableRef(DRI2DrawablePtr pPriv, XID id, XID dri2_id,
}
int
-DRI2CreateDrawable(ClientPtr client, DrawablePtr pDraw, XID id,
- DRI2InvalidateProcPtr invalidate, void *priv)
+DRI2CreateDrawable2(ClientPtr client, DrawablePtr pDraw, XID id,
+ DRI2InvalidateProcPtr invalidate, void *priv,
+ XID *dri2_id_out)
{
DRI2DrawablePtr pPriv;
DRI2ClientPtr dri2_client = dri2ClientPrivate(client);
@@ -354,9 +355,19 @@ DRI2CreateDrawable(ClientPtr client, DrawablePtr pDraw, XID id,
if (rc != Success)
return rc;
+ if (dri2_id_out)
+ *dri2_id_out = dri2_id;
+
return Success;
}
+int
+DRI2CreateDrawable(ClientPtr client, DrawablePtr pDraw, XID id,
+ DRI2InvalidateProcPtr invalidate, void *priv)
+{
+ return DRI2CreateDrawable2(client, pDraw, id, invalidate, priv, NULL);
+}
+
static int
DRI2DrawableGone(pointer p, XID id)
{
diff --git a/xorg-server/hw/xfree86/dri2/dri2.h b/xorg-server/hw/xfree86/dri2/dri2.h
index da7825e09..1e7afddbd 100644
--- a/xorg-server/hw/xfree86/dri2/dri2.h
+++ b/xorg-server/hw/xfree86/dri2/dri2.h
@@ -274,6 +274,13 @@ extern _X_EXPORT int DRI2CreateDrawable(ClientPtr client,
DRI2InvalidateProcPtr invalidate,
void *priv);
+extern _X_EXPORT int DRI2CreateDrawable2(ClientPtr client,
+ DrawablePtr pDraw,
+ XID id,
+ DRI2InvalidateProcPtr invalidate,
+ void *priv,
+ XID *dri2_id_out);
+
extern _X_EXPORT DRI2BufferPtr *DRI2GetBuffers(DrawablePtr pDraw,
int *width,
int *height,
diff --git a/xorg-server/hw/xfree86/sdksyms.sh b/xorg-server/hw/xfree86/sdksyms.sh
index c0398da18..07372ad1c 100644
--- a/xorg-server/hw/xfree86/sdksyms.sh
+++ b/xorg-server/hw/xfree86/sdksyms.sh
@@ -46,8 +46,10 @@ cat > sdksyms.c << EOF
#include "misyncstr.h"
/* Xext/Makefile.am -- half is module, half is builtin */
+#ifdef XV
#include "xvdix.h"
#include "xvmcext.h"
+#endif
#include "geext.h"
#include "geint.h"
#ifdef MITSHM
diff --git a/xorg-server/hw/xquartz/pseudoramiX.c b/xorg-server/hw/xquartz/pseudoramiX.c
index 3e1050047..c650dd723 100644
--- a/xorg-server/hw/xquartz/pseudoramiX.c
+++ b/xorg-server/hw/xquartz/pseudoramiX.c
@@ -126,7 +126,7 @@ PseudoramiXAddScreen(int x, int y, int w, int h)
// Initialize PseudoramiX.
// Copied from PanoramiXExtensionInit
void
-PseudoramiXExtensionInit(int argc, char *argv[])
+PseudoramiXExtensionInit(void)
{
Bool success = FALSE;
ExtensionEntry *extEntry;
@@ -257,7 +257,7 @@ ProcPseudoramiXGetScreenSize(ClientPtr client)
REQUEST(xPanoramiXGetScreenSizeReq);
WindowPtr pWin;
xPanoramiXGetScreenSizeReply rep;
- register int n, rc;
+ register int rc;
TRACE();
diff --git a/xorg-server/hw/xquartz/xpr/dri.h b/xorg-server/hw/xquartz/xpr/dri.h
index 7d1c4f212..8717a5186 100644
--- a/xorg-server/hw/xquartz/xpr/dri.h
+++ b/xorg-server/hw/xquartz/xpr/dri.h
@@ -72,6 +72,9 @@ DRIFinishScreenInit(ScreenPtr pScreen);
extern void
DRICloseScreen(ScreenPtr pScreen);
+extern Bool
+DRIExtensionInit(void);
+
extern void
DRIReset(void);
diff --git a/xorg-server/hw/xwin/InitOutput.c b/xorg-server/hw/xwin/InitOutput.c
index ceb71ff07..98dcd6909 100644
--- a/xorg-server/hw/xwin/InitOutput.c
+++ b/xorg-server/hw/xwin/InitOutput.c
@@ -144,6 +144,31 @@ winClipboardShutdown(void)
}
#endif
+static const ExtensionModule xwinExtensions[] = {
+#ifdef GLXEXT
+ { GlxExtensionInit, "GLX", &noGlxExtension },
+#endif
+};
+
+/*
+ * XwinExtensionInit
+ * Initialises Xwin-specific extensions.
+ */
+static
+void XwinExtensionInit(void)
+{
+ int i;
+
+#ifdef XWIN_GLX_WINDOWS
+ if ((g_fNativeGl) && (serverGeneration == 1)) {
+ /* install the native GL provider */
+ glxWinPushNativeProvider();
+ }
+#endif
+
+ for (i = 0; i < ARRAY_SIZE(xwinExtensions); i++)
+ LoadExtension(&xwinExtensions[i], TRUE);
+}
#if defined(DDXBEFORERESET)
/*
@@ -681,7 +706,6 @@ OsVendorInit(void)
}
}
-
static void
winUseMsg(void)
{
@@ -895,6 +919,8 @@ InitOutput(ScreenInfo * screenInfo, int argc, char *argv[])
{
int i;
+ XwinExtensionInit();
+
/* Log the command line */
winLogCommandLine(argc, argv);
diff --git a/xorg-server/include/extension.h b/xorg-server/include/extension.h
index 0f55d9038..acc6addb7 100644
--- a/xorg-server/include/extension.h
+++ b/xorg-server/include/extension.h
@@ -97,6 +97,6 @@ extern _X_EXPORT void InitExtensions(int argc, char **argv);
extern _X_EXPORT void CloseDownExtensions(void);
-extern _X_EXPORT void LoadExtension(ExtensionModule *ext, Bool external);
+extern _X_EXPORT void LoadExtension(const ExtensionModule *ext, Bool external);
#endif /* EXTENSION_H */
diff --git a/xorg-server/mi/miinitext.c b/xorg-server/mi/miinitext.c
index d95d0210f..ba593526c 100644
--- a/xorg-server/mi/miinitext.c
+++ b/xorg-server/mi/miinitext.c
@@ -112,13 +112,6 @@ SOFTWARE.
#include "micmap.h"
#include "globals.h"
-#ifdef GLXEXT
-typedef struct __GLXprovider __GLXprovider;
-extern __GLXprovider __glXDRISWRastProvider;
-extern void GlxPushProvider(__GLXprovider * impl);
-extern void GlxExtensionInit(INITARGS);
-#endif
-
/* The following is only a small first step towards run-time
* configurable extensions.
*/
@@ -241,7 +234,7 @@ EnableDisableExtensionError(const char *name, Bool enable)
}
/* List of built-in (statically linked) extensions */
-static ExtensionModule staticExtensions[] = {
+static const ExtensionModule staticExtensions[] = {
{GEExtensionInit, "Generic Event Extension", &noGEExtension},
{ShapeExtensionInit, "SHAPE", NULL},
#ifdef MITSHM
@@ -335,11 +328,6 @@ InitExtensions(int argc, char *argv[])
(ext->initFunc) ();
}
}
-#ifdef GLXEXT
- if (!noGlxExtension)
- GlxExtensionInit();
-
-#endif
}
static ExtensionModule *
@@ -371,7 +359,7 @@ NewExtensionModule(void)
}
void
-LoadExtension(ExtensionModule * e, Bool builtin)
+LoadExtension(const ExtensionModule * e, Bool builtin)
{
ExtensionModule *newext;
diff --git a/xorg-server/os/utils.c b/xorg-server/os/utils.c
index b1bd5ce94..909c1f73e 100644
--- a/xorg-server/os/utils.c
+++ b/xorg-server/os/utils.c
@@ -1266,8 +1266,10 @@ OsBlockSIGIO(void)
ret = sigismember(&old, SIGIO);
return ret;
} else
- return 1;
#endif
+ return 1;
+#else
+ return 1;
#endif
}
diff --git a/xorg-server/test/xtest.c b/xorg-server/test/xtest.c
index 402d9ceba..e5e5241b7 100644
--- a/xorg-server/test/xtest.c
+++ b/xorg-server/test/xtest.c
@@ -30,6 +30,7 @@
#include "inputstr.h"
#include "scrnintstr.h"
#include "exevents.h"
+#include "extinit.h"
#include "xkbsrv.h"
#include "xserver-properties.h"
#include "syncsrv.h"