Use GLX protocol code generated by glX_proto_send.py.
authorIan Romanick <idr@us.ibm.com>
Mon, 20 Dec 2004 04:53:00 +0000 (04:53 +0000)
committerIan Romanick <idr@us.ibm.com>
Mon, 20 Dec 2004 04:53:00 +0000 (04:53 +0000)
12 files changed:
src/glx/x11/Makefile
src/glx/x11/g_render.c [deleted file]
src/glx/x11/g_single.c [deleted file]
src/glx/x11/g_vendpriv.c [deleted file]
src/glx/x11/glxext.c
src/glx/x11/indirect.c [new file with mode: 0644]
src/glx/x11/indirect.h
src/glx/x11/indirect_size.c
src/glx/x11/packvendpriv.h [deleted file]
src/glx/x11/render2.c
src/glx/x11/single2.c
src/mesa/glapi/Makefile

index a8fe53a62c2a44f0d37fc57543485b051833fe25..37d55c783a7584f097210e7d6d8d5e6eb9a482ba 100644 (file)
@@ -24,12 +24,10 @@ C_SOURCES = \
          compsize.c \
          dispatch.c \
          eval.c \
-         g_render.c \
-         g_single.c \
-         g_vendpriv.c \
          glxcmds.c \
          glxext.c \
          glxextensions.c \
+         indirect.c \
          indirect_init.c \
          indirect_size.c \
          indirect_window_pos.c \
diff --git a/src/glx/x11/g_render.c b/src/glx/x11/g_render.c
deleted file mode 100644 (file)
index ad37cc8..0000000
+++ /dev/null
@@ -1,750 +0,0 @@
-/* $XFree86: xc/lib/GL/glx/g_render.c,v 1.8 2004/01/28 18:11:38 alanh Exp $ */
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#include "packrender.h"
-#include "size.h"
-#include "indirect.h"
-
-#define GLdouble_SIZE   8
-#define GLclampd_SIZE   8
-#define GLfloat_SIZE    4
-#define GLclampf_SIZE   4
-#define GLint_SIZE      4
-#define GLuint_SIZE     4
-#define GLenum_SIZE     4
-#define GLbitfield_SIZE 4
-#define GLshort_SIZE    2
-#define GLushort_SIZE   2
-#define GLbyte_SIZE     1
-#define GLubyte_SIZE    1
-#define GLboolean_SIZE  1
-
-#define __GLX_PUT_GLdouble(offset,value)   __GLX_PUT_DOUBLE(offset,value)
-#define __GLX_PUT_GLclampd(offset,value)   __GLX_PUT_DOUBLE(offset,value)
-#define __GLX_PUT_GLfloat(offset,value)    __GLX_PUT_FLOAT(offset,value)
-#define __GLX_PUT_GLclampf(offset,value)   __GLX_PUT_FLOAT(offset,value)
-#define __GLX_PUT_GLint(offset,value)      __GLX_PUT_LONG(offset,value)
-#define __GLX_PUT_GLuint(offset,value)     __GLX_PUT_LONG(offset,value)
-#define __GLX_PUT_GLenum(offset,value)     __GLX_PUT_LONG(offset,value)
-#define __GLX_PUT_GLbitfield(offset,value) __GLX_PUT_LONG(offset,value)
-#define __GLX_PUT_GLshort(offset,value)    __GLX_PUT_SHORT(offset,value)
-#define __GLX_PUT_GLushort(offset,value)   __GLX_PUT_SHORT(offset,value)
-#define __GLX_PUT_GLbyte(offset,value)     __GLX_PUT_CHAR(offset,value)
-#define __GLX_PUT_GLubyte(offset,value)    __GLX_PUT_CHAR(offset,value)
-#define __GLX_PUT_GLboolean(offset,value)  __GLX_PUT_CHAR(offset,value)
-
-#define __GLX_PUT_GLdouble_ARRAY(offset,ptr,count)   __GLX_PUT_DOUBLE_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLclampd_ARRAY(offset,ptr,count)   __GLX_PUT_DOUBLE_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLfloat_ARRAY(offset,ptr,count)    __GLX_PUT_FLOAT_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLclampf_ARRAY(offset,ptr,count)   __GLX_PUT_FLOAT_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLint_ARRAY(offset,ptr,count)      __GLX_PUT_LONG_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLuint_ARRAY(offset,ptr,count)     __GLX_PUT_LONG_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLenum_ARRAY(offset,ptr,count)     __GLX_PUT_LONG_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLshort_ARRAY(offset,ptr,count)    __GLX_PUT_SHORT_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLushort_ARRAY(offset,ptr,count)   __GLX_PUT_SHORT_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLbyte_ARRAY(offset,ptr,count)     __GLX_PUT_CHAR_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLubyte_ARRAY(offset,ptr,count)    __GLX_PUT_CHAR_ARRAY(offset,ptr,count)
-#define __GLX_PUT_GLboolean_ARRAY(offset,ptr,count)  __GLX_PUT_CHAR_ARRAY(offset,ptr,count)
-
-#define RENDER_SIZE(t,c)  (__GLX_PAD(4 + (t ## _SIZE * c)))
-
-/* GLX protocol templates are named in the following manner.  All templates
- * begin with the string 'glxproto_'.  Following is an optional list of
- * scalar parameters.  The scalars are listed as type and number.  The most
- * common being \c enum1 (one scalar enum) and \c enum2 (two scalar enums).
- *
- * The final part of the name describes the number of named-type parameters
- * and how they are passed.
- * - One or more digits followed by the letter s means
- *   that the specified number of parameters are passed as scalars.  The macro
- *   \c glxproto_3s generates a function that takes 3 scalars, such as
- *   \c glVertex3f.
- * - A capital C follwed by a lower-case v means that a constant
- *   sized vector is passed.  Macros of this type take an extra parameter,
- *   which is the size of the vector.  The invocation
- *   'glxproto_Cv(Vertex3fv, X_GLrop_Vertexfv, GLfloat, 3)' would generate the
- *   correct protocol for the \c glVertex3fv function.
- * - A capital V followed by a lower-case v means that a variable sized
- *   vector is passed.  The function generated by these macros will call
- *   a co-function to determine the size of the vector.  The name of the
- *   co-function is generated by prepending \c __gl and appending \c _size
- *   to the base name of the function.  The invocation
- *   'glxproto_enum1_Vv(Fogiv, X_GLrop_Fogiv, GLint)' would generate the
- *   correct protocol for the \c glFogiv function.
- * - One or more digits without a following letter means that a function
- *   taking the specified number of scalar parameters and a function with a
- *   vector parameter of the specified size should be generated.  The letter
- *   v is automatically appended to the name of the vector-based function in
- *   this case.  The invocation
- *   'glxproto_3(Vertex3f, X_GLrop_Vertex3fv, GLfloat)' would generate the
- *   correct protocol for both \c glVertex3f and \c glVertex3fv.
- *
- * glxproto_void is a special case for functions that take no parameters
- * (i.e., glEnd).
- *
- * An addition form is 'glxvendr_'.  This is identical to the other forms
- * with the exception of taking an additional parameter (to the macro) which
- * is a vendor string to append to the function name.  The invocation
- * 'glxproto_3(Foo3f, X_GLrop_Foo3fv, GLfloat)' would generate the functions
- * 'glFoo3fv' and 'glFoo3f', and the invocation
- * 'glxvendr_3(Foo3f, X_GLrop_Foo3fv, GLfloat, EXT)' would generate the
- * functions 'glFoo3fvEXT' and 'glFoo3fEXT'.
- */
-
-#define glxproto_void(name, rop) \
-   void __indirect_gl ## name (void) \
-   { \
-       __GLX_DECLARE_VARIABLES(); \
-       __GLX_LOAD_VARIABLES(); \
-       __GLX_BEGIN(rop, 4); \
-       __GLX_END(4); \
-   }
-
-#define glxproto_Cv(name, rop, type, count) \
-   void __indirect_gl ## name (const type * v) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = RENDER_SIZE(type, count); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (count <= 4) { \
-                         __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v[0]); \
-        if (count > 1) { __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v[1]); } \
-        if (count > 2) { __GLX_PUT_ ## type (4 + (2 * type ## _SIZE), v[2]); } \
-        if (count > 3) { __GLX_PUT_ ## type (4 + (3 * type ## _SIZE), v[3]); } \
-      } else { \
-        __GLX_PUT_ ## type ## _ARRAY(4, v, count); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_Cv_transpose(name, rop, type, w) \
-   void __indirect_gl ## name (const type * v) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      type t[ w * w ]; unsigned i, j; \
-      for (i = 0; i < w; i++) { \
-        for (j = 0; j < w; j++) { \
-           t[i*w+j] = v[j*w+i]; \
-        } \
-      } \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = RENDER_SIZE(type, (w * w)); \
-      __GLX_BEGIN(rop, cmdlen); \
-      __GLX_PUT_ ## type ## _ARRAY(4, t, (w * w)); \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_1s(name, rop, type) \
-   void __indirect_gl ## name (type v1) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = RENDER_SIZE(type, 1); \
-      __GLX_BEGIN(rop, cmdlen); \
-      __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_2s(name, rop, type) \
-   void __indirect_gl ## name (type v1, type v2) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = RENDER_SIZE(type, 2); \
-      __GLX_BEGIN(rop, cmdlen); \
-      __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-      __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v2); \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_3s(name, rop, type) \
-   void __indirect_gl ## name (type v1, type v2, type v3) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = RENDER_SIZE(type, 3); \
-      __GLX_BEGIN(rop, cmdlen); \
-      __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-      __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v2); \
-      __GLX_PUT_ ## type (4 + (2 * type ## _SIZE), v3); \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_4s(name, rop, type) \
-   void __indirect_gl ## name (type v1, type v2, type v3, type v4) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = RENDER_SIZE(type, 4); \
-      __GLX_BEGIN(rop, cmdlen); \
-      __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-      __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v2); \
-      __GLX_PUT_ ## type (4 + (2 * type ## _SIZE), v3); \
-      __GLX_PUT_ ## type (4 + (3 * type ## _SIZE), v4); \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_6s(name, rop, type) \
-   void __indirect_gl ## name (type v1, type v2, type v3, type v4, type v5, type v6) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = RENDER_SIZE(type, 6); \
-      __GLX_BEGIN(rop, cmdlen); \
-      __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-      __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v2); \
-      __GLX_PUT_ ## type (4 + (2 * type ## _SIZE), v3); \
-      __GLX_PUT_ ## type (4 + (3 * type ## _SIZE), v4); \
-      __GLX_PUT_ ## type (4 + (4 * type ## _SIZE), v5); \
-      __GLX_PUT_ ## type (4 + (5 * type ## _SIZE), v6); \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_1s(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, type v1) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 4 + RENDER_SIZE(type, 1); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-        __GLX_PUT_LONG     (4 + (1 * type ## _SIZE), e); \
-      } else { \
-        __GLX_PUT_LONG(4, e); \
-        __GLX_PUT_ ## type (8 + (0 * type ## _SIZE), v1); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_1v(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, const type * v) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 4 + RENDER_SIZE(type, 1); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v[0]); \
-        __GLX_PUT_LONG     (4 + (1 * type ## _SIZE), e); \
-      } else { \
-        __GLX_PUT_LONG(4, e); \
-        __GLX_PUT_ ## type (8 + (0 * type ## _SIZE), v[0]); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_2s(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, type v1, type v2) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 4 + RENDER_SIZE(type, 2); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-        __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v2); \
-        __GLX_PUT_LONG     (4 + (2 * type ## _SIZE), e); \
-      } else { \
-        __GLX_PUT_LONG(4, e); \
-        __GLX_PUT_ ## type (8 + (0 * type ## _SIZE), v1); \
-        __GLX_PUT_ ## type (8 + (1 * type ## _SIZE), v2); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_2v(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, const type * v) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 4 + RENDER_SIZE(type, 2); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v[0]); \
-        __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v[1]); \
-        __GLX_PUT_LONG     (4 + (2 * type ## _SIZE), e); \
-      } else { \
-        __GLX_PUT_LONG(4, e); \
-        __GLX_PUT_ ## type (8 + (0 * type ## _SIZE), v[0]); \
-        __GLX_PUT_ ## type (8 + (1 * type ## _SIZE), v[1]); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_3s(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, type v1, type v2, type v3) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 4 + RENDER_SIZE(type, 3); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-        __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v2); \
-        __GLX_PUT_ ## type (4 + (2 * type ## _SIZE), v3); \
-        __GLX_PUT_LONG     (4 + (3 * type ## _SIZE), e); \
-      } else { \
-        __GLX_PUT_LONG(4, e); \
-        __GLX_PUT_ ## type (8 + (0 * type ## _SIZE), v1); \
-        __GLX_PUT_ ## type (8 + (1 * type ## _SIZE), v2); \
-        __GLX_PUT_ ## type (8 + (2 * type ## _SIZE), v3); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_3v(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, const type * v) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 4 + RENDER_SIZE(type, 3); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v[0]); \
-        __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v[1]); \
-        __GLX_PUT_ ## type (4 + (2 * type ## _SIZE), v[2]); \
-        __GLX_PUT_LONG     (4 + (3 * type ## _SIZE), e); \
-      } else { \
-        __GLX_PUT_LONG(4, e); \
-        __GLX_PUT_ ## type (8 + (0 * type ## _SIZE), v[0]); \
-        __GLX_PUT_ ## type (8 + (1 * type ## _SIZE), v[1]); \
-        __GLX_PUT_ ## type (8 + (2 * type ## _SIZE), v[2]); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_4s(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, type v1, type v2, type v3, type v4) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 4 + RENDER_SIZE(type, 4); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-        __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v2); \
-        __GLX_PUT_ ## type (4 + (2 * type ## _SIZE), v3); \
-        __GLX_PUT_ ## type (4 + (3 * type ## _SIZE), v4); \
-        __GLX_PUT_LONG     (4 + (4 * type ## _SIZE), e); \
-      } else { \
-        __GLX_PUT_LONG(4, e); \
-        __GLX_PUT_ ## type (8 + (0 * type ## _SIZE), v1); \
-        __GLX_PUT_ ## type (8 + (1 * type ## _SIZE), v2); \
-        __GLX_PUT_ ## type (8 + (2 * type ## _SIZE), v3); \
-        __GLX_PUT_ ## type (8 + (3 * type ## _SIZE), v4); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_4v(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, const type * v) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 4 + RENDER_SIZE(type, 4); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v[0]); \
-        __GLX_PUT_ ## type (4 + (1 * type ## _SIZE), v[1]); \
-        __GLX_PUT_ ## type (4 + (2 * type ## _SIZE), v[2]); \
-        __GLX_PUT_ ## type (4 + (3 * type ## _SIZE), v[3]); \
-        __GLX_PUT_LONG     (4 + (4 * type ## _SIZE), e); \
-      } else { \
-        __GLX_PUT_LONG(4, e); \
-        __GLX_PUT_ ## type (8 + (0 * type ## _SIZE), v[0]); \
-        __GLX_PUT_ ## type (8 + (1 * type ## _SIZE), v[1]); \
-        __GLX_PUT_ ## type (8 + (2 * type ## _SIZE), v[2]); \
-        __GLX_PUT_ ## type (8 + (3 * type ## _SIZE), v[3]); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum1_Vv(name, rop, type) \
-   void __indirect_gl ## name (GLenum pname, const type * v) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      compsize = __gl ## name ## _size(pname); \
-      cmdlen = 4 + RENDER_SIZE(type, compsize); \
-      __GLX_BEGIN(rop, cmdlen); \
-      __GLX_PUT_LONG(4, pname); \
-      __GLX_PUT_ ## type ## _ARRAY(8, v, compsize); \
-      __GLX_END(cmdlen); \
-   }
-    
-#define glxproto_enum2_1s(name, rop, type) \
-   void __indirect_gl ## name (GLenum target, GLenum pname, type v1) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      cmdlen = 8 + RENDER_SIZE(type, 1); \
-      __GLX_BEGIN(rop, cmdlen); \
-      if (type ## _SIZE == 8) { \
-        __GLX_PUT_ ## type (4 + (0 * type ## _SIZE), v1); \
-        __GLX_PUT_LONG     (4 + (1 * type ## _SIZE), target); \
-        __GLX_PUT_LONG     (8 + (1 * type ## _SIZE), pname); \
-      } else { \
-        __GLX_PUT_LONG(4, target); \
-        __GLX_PUT_LONG(8, pname); \
-        __GLX_PUT_ ## type (12 + (0 * type ## _SIZE), v1); \
-      } \
-      __GLX_END(cmdlen); \
-   }
-
-#define glxproto_enum2_Vv(name, rop, type) \
-   void __indirect_gl ## name (GLenum target, GLenum pname, const type * v) \
-   { \
-      __GLX_DECLARE_VARIABLES(); \
-      __GLX_LOAD_VARIABLES(); \
-      compsize = __gl ## name ## _size(pname); \
-      cmdlen =  8 + RENDER_SIZE(type, compsize); \
-      __GLX_BEGIN(rop, cmdlen); \
-      __GLX_PUT_LONG(4, target); \
-      __GLX_PUT_LONG(8, pname); \
-      __GLX_PUT_ ## type ## _ARRAY(12, v, compsize); \
-      __GLX_END(cmdlen); \
-   }
-
-#define GENERATE_GLX_PROTOCOL_FUNCTIONS
-#include "indirect.h"
-
-void __indirect_glRectdv(const GLdouble *v1, const GLdouble *v2)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_Rectdv,36);
-       __GLX_PUT_DOUBLE(4,v1[0]);
-       __GLX_PUT_DOUBLE(12,v1[1]);
-       __GLX_PUT_DOUBLE(20,v2[0]);
-       __GLX_PUT_DOUBLE(28,v2[1]);
-       __GLX_END(36);
-}
-
-void __indirect_glRectfv(const GLfloat *v1, const GLfloat *v2)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_Rectfv,20);
-       __GLX_PUT_FLOAT(4,v1[0]);
-       __GLX_PUT_FLOAT(8,v1[1]);
-       __GLX_PUT_FLOAT(12,v2[0]);
-       __GLX_PUT_FLOAT(16,v2[1]);
-       __GLX_END(20);
-}
-
-void __indirect_glRectiv(const GLint *v1, const GLint *v2)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_Rectiv,20);
-       __GLX_PUT_LONG(4,v1[0]);
-       __GLX_PUT_LONG(8,v1[1]);
-       __GLX_PUT_LONG(12,v2[0]);
-       __GLX_PUT_LONG(16,v2[1]);
-       __GLX_END(20);
-}
-
-void __indirect_glRectsv(const GLshort *v1, const GLshort *v2)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_Rectsv,12);
-       __GLX_PUT_SHORT(4,v1[0]);
-       __GLX_PUT_SHORT(6,v1[1]);
-       __GLX_PUT_SHORT(8,v2[0]);
-       __GLX_PUT_SHORT(10,v2[1]);
-       __GLX_END(12);
-}
-
-void __indirect_glLineStipple(GLint factor, GLushort pattern)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_LineStipple,12);
-       __GLX_PUT_LONG(4,factor);
-       __GLX_PUT_SHORT(8,pattern);
-       __GLX_END(12);
-}
-
-void __indirect_glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_Scissor,20);
-       __GLX_PUT_LONG(4,x);
-       __GLX_PUT_LONG(8,y);
-       __GLX_PUT_LONG(12,width);
-       __GLX_PUT_LONG(16,height);
-       __GLX_END(20);
-}
-
-void __indirect_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_MapGrid1d,24);
-       __GLX_PUT_DOUBLE(4,u1);
-       __GLX_PUT_DOUBLE(12,u2);
-       __GLX_PUT_LONG(20,un);
-       __GLX_END(24);
-}
-
-void __indirect_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_MapGrid1f,16);
-       __GLX_PUT_LONG(4,un);
-       __GLX_PUT_FLOAT(8,u1);
-       __GLX_PUT_FLOAT(12,u2);
-       __GLX_END(16);
-}
-
-void __indirect_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_MapGrid2d,44);
-       __GLX_PUT_DOUBLE(4,u1);
-       __GLX_PUT_DOUBLE(12,u2);
-       __GLX_PUT_DOUBLE(20,v1);
-       __GLX_PUT_DOUBLE(28,v2);
-       __GLX_PUT_LONG(36,un);
-       __GLX_PUT_LONG(40,vn);
-       __GLX_END(44);
-}
-
-void __indirect_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_MapGrid2f,28);
-       __GLX_PUT_LONG(4,un);
-       __GLX_PUT_FLOAT(8,u1);
-       __GLX_PUT_FLOAT(12,u2);
-       __GLX_PUT_LONG(16,vn);
-       __GLX_PUT_FLOAT(20,v1);
-       __GLX_PUT_FLOAT(24,v2);
-       __GLX_END(28);
-}
-
-void __indirect_glStencilFunc(GLenum func, GLint ref, GLuint mask)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_StencilFunc,16);
-       __GLX_PUT_LONG(4,func);
-       __GLX_PUT_LONG(8,ref);
-       __GLX_PUT_LONG(12,mask);
-       __GLX_END(16);
-}
-
-void __indirect_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyPixels,24);
-       __GLX_PUT_LONG(4,x);
-       __GLX_PUT_LONG(8,y);
-       __GLX_PUT_LONG(12,width);
-       __GLX_PUT_LONG(16,height);
-       __GLX_PUT_LONG(20,type);
-       __GLX_END(24);
-}
-
-void __indirect_glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_Viewport,20);
-       __GLX_PUT_LONG(4,x);
-       __GLX_PUT_LONG(8,y);
-       __GLX_PUT_LONG(12,width);
-       __GLX_PUT_LONG(16,height);
-       __GLX_END(20);
-}
-
-void __indirect_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyTexImage1D,32);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,level);
-       __GLX_PUT_LONG(12,internalformat);
-       __GLX_PUT_LONG(16,x);
-       __GLX_PUT_LONG(20,y);
-       __GLX_PUT_LONG(24,width);
-       __GLX_PUT_LONG(28,border);
-       __GLX_END(32);
-}
-
-void __indirect_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyTexImage2D,36);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,level);
-       __GLX_PUT_LONG(12,internalformat);
-       __GLX_PUT_LONG(16,x);
-       __GLX_PUT_LONG(20,y);
-       __GLX_PUT_LONG(24,width);
-       __GLX_PUT_LONG(28,height);
-       __GLX_PUT_LONG(32,border);
-       __GLX_END(36);
-}
-
-void __indirect_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyTexSubImage1D,28);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,level);
-       __GLX_PUT_LONG(12,xoffset);
-       __GLX_PUT_LONG(16,x);
-       __GLX_PUT_LONG(20,y);
-       __GLX_PUT_LONG(24,width);
-       __GLX_END(28);
-}
-
-void __indirect_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyTexSubImage2D,36);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,level);
-       __GLX_PUT_LONG(12,xoffset);
-       __GLX_PUT_LONG(16,yoffset);
-       __GLX_PUT_LONG(20,x);
-       __GLX_PUT_LONG(24,y);
-       __GLX_PUT_LONG(28,width);
-       __GLX_PUT_LONG(32,height);
-       __GLX_END(36);
-}
-
-void __indirect_glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       if (n < 0) return;
-       cmdlen = 8+n*4+n*4;
-       __GLX_BEGIN(X_GLrop_PrioritizeTextures,cmdlen);
-       __GLX_PUT_LONG(4,n);
-       __GLX_PUT_LONG_ARRAY(8,textures,n);
-       __GLX_PUT_FLOAT_ARRAY(8+n*4,priorities,n);
-       __GLX_END(cmdlen);
-}
-
-void __indirect_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyColorTable,24);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,internalformat);
-       __GLX_PUT_LONG(12,x);
-       __GLX_PUT_LONG(16,y);
-       __GLX_PUT_LONG(20,width);
-       __GLX_END(24);
-}
-
-void __indirect_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyColorSubTable,24);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,start);
-       __GLX_PUT_LONG(12,x);
-       __GLX_PUT_LONG(16,y);
-       __GLX_PUT_LONG(20,width);
-       __GLX_END(24);
-}
-
-void __indirect_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyConvolutionFilter1D,24);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,internalformat);
-       __GLX_PUT_LONG(12,x);
-       __GLX_PUT_LONG(16,y);
-       __GLX_PUT_LONG(20,width);
-       __GLX_END(24);
-}
-
-void __indirect_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyConvolutionFilter2D,28);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,internalformat);
-       __GLX_PUT_LONG(12,x);
-       __GLX_PUT_LONG(16,y);
-       __GLX_PUT_LONG(20,width);
-       __GLX_PUT_LONG(24,height);
-       __GLX_END(28);
-}
-
-void __indirect_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_Histogram,20);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,width);
-       __GLX_PUT_LONG(12,internalformat);
-       __GLX_PUT_CHAR(16,sink);
-       __GLX_END(20);
-}
-
-void __indirect_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-       __GLX_DECLARE_VARIABLES();
-       __GLX_LOAD_VARIABLES();
-       __GLX_BEGIN(X_GLrop_CopyTexSubImage3D,40);
-       __GLX_PUT_LONG(4,target);
-       __GLX_PUT_LONG(8,level);
-       __GLX_PUT_LONG(12,xoffset);
-       __GLX_PUT_LONG(16,yoffset);
-       __GLX_PUT_LONG(20,zoffset);
-       __GLX_PUT_LONG(24,x);
-       __GLX_PUT_LONG(28,y);
-       __GLX_PUT_LONG(32,width);
-       __GLX_PUT_LONG(36,height);
-       __GLX_END(40);
-}
diff --git a/src/glx/x11/g_single.c b/src/glx/x11/g_single.c
deleted file mode 100644 (file)
index 0eacd2b..0000000
+++ /dev/null
@@ -1,664 +0,0 @@
-/* $XFree86$ */
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#include "packsingle.h"
-#include "indirect.h"
-
-void __indirect_glNewList(GLuint list, GLenum mode)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_NewList,8);
-       __GLX_SINGLE_PUT_LONG(0,list);
-       __GLX_SINGLE_PUT_LONG(4,mode);
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glEndList(void)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_EndList,0);
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glDeleteLists(GLuint list, GLsizei range)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_DeleteLists,8);
-       __GLX_SINGLE_PUT_LONG(0,list);
-       __GLX_SINGLE_PUT_LONG(4,range);
-       __GLX_SINGLE_END();
-}
-
-GLuint __indirect_glGenLists(GLsizei range)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       GLuint    retval = 0;
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GenLists,4);
-       __GLX_SINGLE_PUT_LONG(0,range);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_RETVAL(retval, GLuint);
-       __GLX_SINGLE_END();
-       return retval;
-}
-
-void __indirect_glGetLightfv(GLenum light, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetLightfv,8);
-       __GLX_SINGLE_PUT_LONG(0,light);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetLightiv(GLenum light, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetLightiv,8);
-       __GLX_SINGLE_PUT_LONG(0,light);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetMapdv(GLenum target, GLenum query, GLdouble *v)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetMapdv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,query);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_DOUBLE(v);
-       } else {
-           __GLX_SINGLE_GET_DOUBLE_ARRAY(v,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetMapfv(GLenum target, GLenum query, GLfloat *v)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetMapfv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,query);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(v);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(v,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetMapiv(GLenum target, GLenum query, GLint *v)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetMapiv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,query);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(v);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(v,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetMaterialfv,8);
-       __GLX_SINGLE_PUT_LONG(0,face);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetMaterialiv(GLenum face, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetMaterialiv,8);
-       __GLX_SINGLE_PUT_LONG(0,face);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetPixelMapfv(GLenum map, GLfloat *values)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetPixelMapfv,4);
-       __GLX_SINGLE_PUT_LONG(0,map);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(values);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(values,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetPixelMapuiv(GLenum map, GLuint *values)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetPixelMapuiv,4);
-       __GLX_SINGLE_PUT_LONG(0,map);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(values);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(values,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetPixelMapusv(GLenum map, GLushort *values)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetPixelMapusv,4);
-       __GLX_SINGLE_PUT_LONG(0,map);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_SHORT(values);
-       } else {
-           __GLX_SINGLE_GET_SHORT_ARRAY(values,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexEnvfv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexEnviv(GLenum target, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexEnviv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexGendv,8);
-       __GLX_SINGLE_PUT_LONG(0,coord);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_DOUBLE(params);
-       } else {
-           __GLX_SINGLE_GET_DOUBLE_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexGenfv,8);
-       __GLX_SINGLE_PUT_LONG(0,coord);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexGeniv(GLenum coord, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexGeniv,8);
-       __GLX_SINGLE_PUT_LONG(0,coord);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexParameterfv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexParameteriv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexLevelParameterfv,12);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,level);
-       __GLX_SINGLE_PUT_LONG(8,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetTexLevelParameteriv,12);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,level);
-       __GLX_SINGLE_PUT_LONG(8,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-GLboolean __indirect_glIsList(GLuint list)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       GLboolean    retval = 0;
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_IsList,4);
-       __GLX_SINGLE_PUT_LONG(0,list);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_RETVAL(retval, GLboolean);
-       __GLX_SINGLE_END();
-       return retval;
-}
-
-/*
- * Somewhere between GLX 1.2 and 1.3 (in SGI's code anyway) the
- * protocol for glAreTexturesResident, glDeleteTextures, glGenTextures,
- * and glIsTexture() was changed.  Before, calls to these functions
- * generated protocol for the old GL_EXT_texture_object versions of those
- * calls.  In the newer code, this is actually corrected; calls to the
- * 1.1 functions generate 1.1 protocol and calls to the EXT functions
- * generate EXT protocol.
- * Unfortunately, this correction causes an incompatibility.  Specifically,
- * an updated libGL.so will send protocol requests that the server won't
- * be able to handle.  For example, calling glGenTextures will generate a
- * BadRequest error.
- * For now, we'll keep generating EXT protocol from libGL.  We'll update
- * the server to understand both the 1.1 and EXT protocol ASAP.  At some point
- * in the future we'll correct libGL.so as well.  That should be a smoother
- * transition path.
- */
-
-GLboolean __indirect_glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences)
-{
-#if 0 /* see comments above */
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       GLboolean    retval = 0;
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       if (n < 0) return retval;
-       cmdlen = 4+n*4;
-       __GLX_SINGLE_BEGIN(X_GLsop_AreTexturesResident,cmdlen);
-       __GLX_SINGLE_PUT_LONG(0,n);
-       __GLX_PUT_LONG_ARRAY(4,textures,n);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_RETVAL(retval, GLboolean);
-       __GLX_SINGLE_GET_CHAR_ARRAY(residences,n);
-       __GLX_SINGLE_END();
-       return retval;
-#else
-        return __indirect_glAreTexturesResidentEXT(n, textures, residences);
-#endif
-}
-
-void __indirect_glDeleteTextures(GLsizei n, const GLuint *textures)
-{
-#if 0 /* see comments above */
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       __GLX_SINGLE_LOAD_VARIABLES();
-       if (n < 0) return;
-       cmdlen = 4+n*4;
-       __GLX_SINGLE_BEGIN(X_GLsop_DeleteTextures,cmdlen);
-       __GLX_SINGLE_PUT_LONG(0,n);
-       __GLX_PUT_LONG_ARRAY(4,textures,n);
-       __GLX_SINGLE_END();
-#else
-        __indirect_glDeleteTexturesEXT(n, textures);
-#endif
-}
-
-void __indirect_glGenTextures(GLsizei n, GLuint *textures)
-{
-#if 0 /* see comments above */
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GenTextures,4);
-       __GLX_SINGLE_PUT_LONG(0,n);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_LONG_ARRAY(textures,n);
-       __GLX_SINGLE_END();
-#else
-        __indirect_glGenTexturesEXT(n, textures);
-#endif
-}
-
-GLboolean __indirect_glIsTexture(GLuint texture)
-{
-#if 0 /* see comments above */
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       GLboolean    retval = 0;
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_IsTexture,4);
-       __GLX_SINGLE_PUT_LONG(0,texture);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_RETVAL(retval, GLboolean);
-       __GLX_SINGLE_END();
-       return retval;
-#else
-        return __indirect_glIsTextureEXT(texture);
-#endif
-}
-
-void __indirect_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetColorTableParameterfv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetColorTableParameteriv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetConvolutionParameterfv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetConvolutionParameteriv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetHistogramParameterfv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetHistogramParameteriv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetMinmaxParameterfv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_FLOAT(params);
-       } else {
-           __GLX_SINGLE_GET_FLOAT_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
-void __indirect_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params)
-{
-       __GLX_SINGLE_DECLARE_VARIABLES();
-       xGLXSingleReply reply;
-       __GLX_SINGLE_LOAD_VARIABLES();
-       __GLX_SINGLE_BEGIN(X_GLsop_GetMinmaxParameteriv,8);
-       __GLX_SINGLE_PUT_LONG(0,target);
-       __GLX_SINGLE_PUT_LONG(4,pname);
-       __GLX_SINGLE_READ_XREPLY();
-       __GLX_SINGLE_GET_SIZE(compsize);
-       if (compsize == 1) {
-           __GLX_SINGLE_GET_LONG(params);
-       } else {
-           __GLX_SINGLE_GET_LONG_ARRAY(params,compsize);
-       }
-       __GLX_SINGLE_END();
-}
-
diff --git a/src/glx/x11/g_vendpriv.c b/src/glx/x11/g_vendpriv.c
deleted file mode 100644 (file)
index b6df2fb..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/* $XFree86$ */
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#include "packvendpriv.h"
-
-GLboolean __indirect_glAreTexturesResidentEXT(GLsizei n, const GLuint *textures, GLboolean *residences)
-{
-       __GLX_VENDPRIV_DECLARE_VARIABLES();
-       GLboolean    retval = 0;
-       xGLXVendorPrivReply reply;
-       __GLX_VENDPRIV_LOAD_VARIABLES();
-       if (n < 0) return retval;
-       cmdlen = 4+n*4;
-       __GLX_VENDPRIV_BEGIN(X_GLXVendorPrivateWithReply,X_GLvop_AreTexturesResidentEXT,cmdlen);
-       __GLX_VENDPRIV_PUT_LONG(0,n);
-       __GLX_PUT_LONG_ARRAY(4,textures,n);
-       __GLX_VENDPRIV_READ_XREPLY();
-       __GLX_VENDPRIV_GET_RETVAL(retval, GLboolean);
-       __GLX_VENDPRIV_GET_CHAR_ARRAY(residences,n);
-       __GLX_VENDPRIV_END();
-       return retval;
-}
-
-void __indirect_glDeleteTexturesEXT(GLsizei n, const GLuint *textures)
-{
-       __GLX_VENDPRIV_DECLARE_VARIABLES();
-       __GLX_VENDPRIV_LOAD_VARIABLES();
-       if (n < 0) return;
-       cmdlen = 4+n*4;
-       __GLX_VENDPRIV_BEGIN(X_GLXVendorPrivate,X_GLvop_DeleteTexturesEXT,cmdlen);
-       __GLX_VENDPRIV_PUT_LONG(0,n);
-       __GLX_PUT_LONG_ARRAY(4,textures,n);
-       __GLX_VENDPRIV_END();
-}
-
-void __indirect_glGenTexturesEXT(GLsizei n, GLuint *textures)
-{
-       __GLX_VENDPRIV_DECLARE_VARIABLES();
-       xGLXVendorPrivReply reply;
-       __GLX_VENDPRIV_LOAD_VARIABLES();
-       __GLX_VENDPRIV_BEGIN(X_GLXVendorPrivateWithReply,X_GLvop_GenTexturesEXT,4);
-       __GLX_VENDPRIV_PUT_LONG(0,n);
-       __GLX_VENDPRIV_READ_XREPLY();
-       __GLX_VENDPRIV_GET_LONG_ARRAY(textures,n);
-       __GLX_VENDPRIV_END();
-}
-
-GLboolean __indirect_glIsTextureEXT(GLuint texture)
-{
-       __GLX_VENDPRIV_DECLARE_VARIABLES();
-       GLboolean    retval = 0;
-       xGLXVendorPrivReply reply;
-       __GLX_VENDPRIV_LOAD_VARIABLES();
-       __GLX_VENDPRIV_BEGIN(X_GLXVendorPrivateWithReply,X_GLvop_IsTextureEXT,4);
-       __GLX_VENDPRIV_PUT_LONG(0,texture);
-       __GLX_VENDPRIV_READ_XREPLY();
-       __GLX_VENDPRIV_GET_RETVAL(retval, GLboolean);
-       __GLX_VENDPRIV_END();
-       return retval;
-}
-
index e0de3716ff814aef3d786c955c2d47b6dfe6c597..c24e22ff4f81c52a4653d3d7095561dfa65ebbbe 100644 (file)
@@ -44,7 +44,7 @@
  * \author Kevin E. Martin <kevin@precisioninsight.com>
  */     
 
-#include "packrender.h"
+#include "glxclient.h"
 #include <stdio.h>
 #include <Xext.h>
 #include <extutil.h>
diff --git a/src/glx/x11/indirect.c b/src/glx/x11/indirect.c
new file mode 100644 (file)
index 0000000..48739bb
--- /dev/null
@@ -0,0 +1,5696 @@
+/* DO NOT EDIT - This file generated automatically by glX_proto_send.py (from Mesa) script */
+
+/*
+ * (C) Copyright IBM Corporation 2004
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sub license,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * IBM,
+ * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+
+#include <GL/gl.h>
+#include "indirect.h"
+#include "glxclient.h"
+#include "size.h"
+#include <GL/glxproto.h>
+
+#define __GLX_PAD(n) (((n) + 3) & ~3)
+
+#  if defined(__i386__) && defined(__GNUC__)
+#    define FASTCALL __attribute__((fastcall))
+#  else
+#    define FASTCALL
+#  endif
+#  if defined(__GNUC__)
+#    define NOINLINE __attribute__((noinline))
+#  else
+#    define NOINLINE
+#  endif
+
+/* If the size and opcode values are known at compile-time, this will, on
+ * x86 at least, emit them with a single instruction.
+ */
+#define emit_header(dest, op, size)            \
+    do { union { short s[2]; int i; } temp;    \
+         temp.s[0] = (size); temp.s[1] = (op); \
+         *((int *)(dest)) = temp.i; } while(0)
+
+static NOINLINE CARD32
+read_reply( Display *dpy, size_t size, void * dest, GLboolean reply_is_always_array )
+{
+    xGLXSingleReply reply;
+    
+    (void) _XReply(dpy, (xReply *) & reply, 0, False);
+    if (size != 0) {
+       if ((reply.size >= 1) || reply_is_always_array) {
+           const GLint bytes = (reply_is_always_array) 
+             ? (4 * reply.length) : (reply.size * size);
+           const GLint extra = 4 - (bytes & 3);
+
+           _XRead(dpy, dest, bytes);
+           if ( extra != 0 ) {
+               _XEatData(dpy, extra);
+           }
+       }
+       else {
+           (void) memcpy( dest, &(reply.pad3), size);
+       }
+    }
+
+    return reply.retval;
+}
+
+#define X_GLXSingle 0
+
+static NOINLINE GLubyte *
+setup_single_request( __GLXcontext * gc, GLint sop, GLint cmdlen )
+{
+    xGLXSingleReq * req;
+    Display * const dpy = gc->currentDpy;
+
+    (void) __glXFlushRenderBuffer(gc, gc->pc);
+    LockDisplay(dpy);
+    GetReqExtra(GLXSingle, cmdlen, req);
+    req->reqType = gc->majorOpcode;
+    req->contextTag = gc->currentContextTag;
+    req->glxCode = sop;
+    return (GLubyte *)(req) + sz_xGLXSingleReq;
+}
+
+static NOINLINE GLubyte *
+setup_vendor_request( __GLXcontext * gc, GLint code, GLint vop, GLint cmdlen )
+{
+    xGLXVendorPrivateReq * req;
+    Display * const dpy = gc->currentDpy;
+
+    (void) __glXFlushRenderBuffer(gc, gc->pc);
+    LockDisplay(dpy);
+    GetReqExtra(GLXVendorPrivate, cmdlen, req);
+    req->reqType = gc->majorOpcode;
+    req->glxCode = code;
+    req->vendorCode = vop;
+    req->contextTag = gc->currentContextTag;
+    return (GLubyte *)(req) + sz_xGLXVendorPrivateReq;
+}
+
+static FASTCALL NOINLINE void
+generic_3_byte( GLint rop, const void * ptr )
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    const GLuint cmdlen = 7;
+
+    emit_header(gc->pc, rop, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), ptr, 3);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+static FASTCALL NOINLINE void
+generic_4_byte( GLint rop, const void * ptr )
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    const GLuint cmdlen = 8;
+
+    emit_header(gc->pc, rop, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), ptr, 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+static FASTCALL NOINLINE void
+generic_6_byte( GLint rop, const void * ptr )
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    const GLuint cmdlen = 10;
+
+    emit_header(gc->pc, rop, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), ptr, 6);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+static FASTCALL NOINLINE void
+generic_8_byte( GLint rop, const void * ptr )
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    const GLuint cmdlen = 12;
+
+    emit_header(gc->pc, rop, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), ptr, 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+static FASTCALL NOINLINE void
+generic_12_byte( GLint rop, const void * ptr )
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    const GLuint cmdlen = 16;
+
+    emit_header(gc->pc, rop, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), ptr, 12);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+static FASTCALL NOINLINE void
+generic_16_byte( GLint rop, const void * ptr )
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    const GLuint cmdlen = 20;
+
+    emit_header(gc->pc, rop, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), ptr, 16);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+static FASTCALL NOINLINE void
+generic_24_byte( GLint rop, const void * ptr )
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    const GLuint cmdlen = 28;
+
+    emit_header(gc->pc, rop, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), ptr, 24);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+static FASTCALL NOINLINE void
+generic_32_byte( GLint rop, const void * ptr )
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    const GLuint cmdlen = 36;
+
+    emit_header(gc->pc, rop, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), ptr, 32);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLsop_NewList 101
+void
+__indirect_glNewList(GLuint list, GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_NewList, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&list), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&mode), 4);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_EndList 102
+void
+__indirect_glEndList(void)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 0;
+    (void) dpy;
+    if (dpy != NULL) {
+        (void) setup_single_request(gc, X_GLsop_EndList, cmdlen);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLrop_CallList 1
+void
+__indirect_glCallList(GLuint list)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CallList, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&list), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CallLists 2
+void
+__indirect_glCallLists(GLsizei n, GLenum type, const GLvoid * lists)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glCallLists_size(type);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * n));
+    if (dpy == NULL) return;
+    if ( ((gc->pc + cmdlen) > gc->bufEnd)
+         || (cmdlen > gc->maxSmallRenderCommandSize)) {
+        (void) __glXFlushRenderBuffer(gc, gc->pc);
+    }
+    if (cmdlen <= gc->maxSmallRenderCommandSize) {
+        emit_header(gc->pc, X_GLrop_CallLists, cmdlen);
+        (void) memcpy((void *)(gc->pc + 4), (void *)(&n), 4);
+        (void) memcpy((void *)(gc->pc + 8), (void *)(&type), 4);
+        (void) memcpy((void *)(gc->pc + 12), (void *)(lists), (compsize * n));
+        gc->pc += cmdlen;
+        if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+    }
+    else {
+        const GLint op = X_GLrop_CallLists;
+        const GLuint cmdlenLarge = cmdlen + 4;
+        (void) memcpy((void *)(gc->pc + 0), (void *)(&op), 4);
+        (void) memcpy((void *)(gc->pc + 4), (void *)(&cmdlenLarge), 4);
+        (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4);
+        (void) memcpy((void *)(gc->pc + 12), (void *)(&type), 4);
+        __glXSendLargeCommand(gc, gc->pc, 16, lists, (compsize * n));
+    }
+}
+
+#define X_GLsop_DeleteLists 103
+void
+__indirect_glDeleteLists(GLuint list, GLsizei range)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_DeleteLists, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&list), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&range), 4);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GenLists 104
+GLuint
+__indirect_glGenLists(GLsizei range)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    GLuint retval = (GLuint) 0;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GenLists, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&range), 4);
+        retval = (GLuint) read_reply(gc->currentDpy, 0, NULL, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return retval;
+}
+
+#define X_GLrop_ListBase 3
+void
+__indirect_glListBase(GLuint base)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ListBase, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&base), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Begin 4
+void
+__indirect_glBegin(GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Begin, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3bv 6
+void
+__indirect_glColor3b(GLbyte red, GLbyte green, GLbyte blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color3bv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1);
+    (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3bv 6
+void
+__indirect_glColor3bv(const GLbyte * v)
+{
+    generic_3_byte( X_GLrop_Color3bv, v );
+}
+
+#define X_GLrop_Color3dv 7
+void
+__indirect_glColor3d(GLdouble red, GLdouble green, GLdouble blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color3dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&green), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&blue), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3dv 7
+void
+__indirect_glColor3dv(const GLdouble * v)
+{
+    generic_24_byte( X_GLrop_Color3dv, v );
+}
+
+#define X_GLrop_Color3fv 8
+void
+__indirect_glColor3f(GLfloat red, GLfloat green, GLfloat blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color3fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3fv 8
+void
+__indirect_glColor3fv(const GLfloat * v)
+{
+    generic_12_byte( X_GLrop_Color3fv, v );
+}
+
+#define X_GLrop_Color3iv 9
+void
+__indirect_glColor3i(GLint red, GLint green, GLint blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color3iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3iv 9
+void
+__indirect_glColor3iv(const GLint * v)
+{
+    generic_12_byte( X_GLrop_Color3iv, v );
+}
+
+#define X_GLrop_Color3sv 10
+void
+__indirect_glColor3s(GLshort red, GLshort green, GLshort blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color3sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3sv 10
+void
+__indirect_glColor3sv(const GLshort * v)
+{
+    generic_6_byte( X_GLrop_Color3sv, v );
+}
+
+#define X_GLrop_Color3ubv 11
+void
+__indirect_glColor3ub(GLubyte red, GLubyte green, GLubyte blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color3ubv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1);
+    (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3ubv 11
+void
+__indirect_glColor3ubv(const GLubyte * v)
+{
+    generic_3_byte( X_GLrop_Color3ubv, v );
+}
+
+#define X_GLrop_Color3uiv 12
+void
+__indirect_glColor3ui(GLuint red, GLuint green, GLuint blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color3uiv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3uiv 12
+void
+__indirect_glColor3uiv(const GLuint * v)
+{
+    generic_12_byte( X_GLrop_Color3uiv, v );
+}
+
+#define X_GLrop_Color3usv 13
+void
+__indirect_glColor3us(GLushort red, GLushort green, GLushort blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color3usv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color3usv 13
+void
+__indirect_glColor3usv(const GLushort * v)
+{
+    generic_6_byte( X_GLrop_Color3usv, v );
+}
+
+#define X_GLrop_Color4bv 14
+void
+__indirect_glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color4bv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1);
+    (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1);
+    (void) memcpy((void *)(gc->pc + 7), (void *)(&alpha), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color4bv 14
+void
+__indirect_glColor4bv(const GLbyte * v)
+{
+    generic_4_byte( X_GLrop_Color4bv, v );
+}
+
+#define X_GLrop_Color4dv 15
+void
+__indirect_glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color4dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&green), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&blue), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&alpha), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color4dv 15
+void
+__indirect_glColor4dv(const GLdouble * v)
+{
+    generic_32_byte( X_GLrop_Color4dv, v );
+}
+
+#define X_GLrop_Color4fv 16
+void
+__indirect_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color4fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color4fv 16
+void
+__indirect_glColor4fv(const GLfloat * v)
+{
+    generic_16_byte( X_GLrop_Color4fv, v );
+}
+
+#define X_GLrop_Color4iv 17
+void
+__indirect_glColor4i(GLint red, GLint green, GLint blue, GLint alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color4iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color4iv 17
+void
+__indirect_glColor4iv(const GLint * v)
+{
+    generic_16_byte( X_GLrop_Color4iv, v );
+}
+
+#define X_GLrop_Color4sv 18
+void
+__indirect_glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color4sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&alpha), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color4sv 18
+void
+__indirect_glColor4sv(const GLshort * v)
+{
+    generic_8_byte( X_GLrop_Color4sv, v );
+}
+
+#define X_GLrop_Color4ubv 19
+void
+__indirect_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color4ubv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1);
+    (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1);
+    (void) memcpy((void *)(gc->pc + 7), (void *)(&alpha), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color4ubv 19
+void
+__indirect_glColor4ubv(const GLubyte * v)
+{
+    generic_4_byte( X_GLrop_Color4ubv, v );
+}
+
+#define X_GLrop_Color4uiv 20
+void
+__indirect_glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color4uiv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color4uiv 20
+void
+__indirect_glColor4uiv(const GLuint * v)
+{
+    generic_16_byte( X_GLrop_Color4uiv, v );
+}
+
+#define X_GLrop_Color4usv 21
+void
+__indirect_glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Color4usv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&alpha), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Color4usv 21
+void
+__indirect_glColor4usv(const GLushort * v)
+{
+    generic_8_byte( X_GLrop_Color4usv, v );
+}
+
+#define X_GLrop_EdgeFlagv 22
+void
+__indirect_glEdgeFlag(GLboolean flag)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EdgeFlagv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&flag), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EdgeFlagv 22
+void
+__indirect_glEdgeFlagv(const GLboolean * flag)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EdgeFlagv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(flag), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_End 23
+void
+__indirect_glEnd(void)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_End, cmdlen);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Indexdv 24
+void
+__indirect_glIndexd(GLdouble c)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Indexdv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Indexdv 24
+void
+__indirect_glIndexdv(const GLdouble * c)
+{
+    generic_8_byte( X_GLrop_Indexdv, c );
+}
+
+#define X_GLrop_Indexfv 25
+void
+__indirect_glIndexf(GLfloat c)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Indexfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Indexfv 25
+void
+__indirect_glIndexfv(const GLfloat * c)
+{
+    generic_4_byte( X_GLrop_Indexfv, c );
+}
+
+#define X_GLrop_Indexiv 26
+void
+__indirect_glIndexi(GLint c)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Indexiv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Indexiv 26
+void
+__indirect_glIndexiv(const GLint * c)
+{
+    generic_4_byte( X_GLrop_Indexiv, c );
+}
+
+#define X_GLrop_Indexsv 27
+void
+__indirect_glIndexs(GLshort c)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Indexsv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Indexsv 27
+void
+__indirect_glIndexsv(const GLshort * c)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Indexsv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(c), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Normal3bv 28
+void
+__indirect_glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Normal3bv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 1);
+    (void) memcpy((void *)(gc->pc + 5), (void *)(&ny), 1);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&nz), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Normal3bv 28
+void
+__indirect_glNormal3bv(const GLbyte * v)
+{
+    generic_3_byte( X_GLrop_Normal3bv, v );
+}
+
+#define X_GLrop_Normal3dv 29
+void
+__indirect_glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Normal3dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&ny), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&nz), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Normal3dv 29
+void
+__indirect_glNormal3dv(const GLdouble * v)
+{
+    generic_24_byte( X_GLrop_Normal3dv, v );
+}
+
+#define X_GLrop_Normal3fv 30
+void
+__indirect_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Normal3fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&ny), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&nz), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Normal3fv 30
+void
+__indirect_glNormal3fv(const GLfloat * v)
+{
+    generic_12_byte( X_GLrop_Normal3fv, v );
+}
+
+#define X_GLrop_Normal3iv 31
+void
+__indirect_glNormal3i(GLint nx, GLint ny, GLint nz)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Normal3iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&ny), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&nz), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Normal3iv 31
+void
+__indirect_glNormal3iv(const GLint * v)
+{
+    generic_12_byte( X_GLrop_Normal3iv, v );
+}
+
+#define X_GLrop_Normal3sv 32
+void
+__indirect_glNormal3s(GLshort nx, GLshort ny, GLshort nz)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Normal3sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&ny), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&nz), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Normal3sv 32
+void
+__indirect_glNormal3sv(const GLshort * v)
+{
+    generic_6_byte( X_GLrop_Normal3sv, v );
+}
+
+#define X_GLrop_RasterPos2dv 33
+void
+__indirect_glRasterPos2d(GLdouble x, GLdouble y)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos2dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos2dv 33
+void
+__indirect_glRasterPos2dv(const GLdouble * v)
+{
+    generic_16_byte( X_GLrop_RasterPos2dv, v );
+}
+
+#define X_GLrop_RasterPos2fv 34
+void
+__indirect_glRasterPos2f(GLfloat x, GLfloat y)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos2fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos2fv 34
+void
+__indirect_glRasterPos2fv(const GLfloat * v)
+{
+    generic_8_byte( X_GLrop_RasterPos2fv, v );
+}
+
+#define X_GLrop_RasterPos2iv 35
+void
+__indirect_glRasterPos2i(GLint x, GLint y)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos2iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos2iv 35
+void
+__indirect_glRasterPos2iv(const GLint * v)
+{
+    generic_8_byte( X_GLrop_RasterPos2iv, v );
+}
+
+#define X_GLrop_RasterPos2sv 36
+void
+__indirect_glRasterPos2s(GLshort x, GLshort y)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos2sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos2sv 36
+void
+__indirect_glRasterPos2sv(const GLshort * v)
+{
+    generic_4_byte( X_GLrop_RasterPos2sv, v );
+}
+
+#define X_GLrop_RasterPos3dv 37
+void
+__indirect_glRasterPos3d(GLdouble x, GLdouble y, GLdouble z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos3dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos3dv 37
+void
+__indirect_glRasterPos3dv(const GLdouble * v)
+{
+    generic_24_byte( X_GLrop_RasterPos3dv, v );
+}
+
+#define X_GLrop_RasterPos3fv 38
+void
+__indirect_glRasterPos3f(GLfloat x, GLfloat y, GLfloat z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos3fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos3fv 38
+void
+__indirect_glRasterPos3fv(const GLfloat * v)
+{
+    generic_12_byte( X_GLrop_RasterPos3fv, v );
+}
+
+#define X_GLrop_RasterPos3iv 39
+void
+__indirect_glRasterPos3i(GLint x, GLint y, GLint z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos3iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos3iv 39
+void
+__indirect_glRasterPos3iv(const GLint * v)
+{
+    generic_12_byte( X_GLrop_RasterPos3iv, v );
+}
+
+#define X_GLrop_RasterPos3sv 40
+void
+__indirect_glRasterPos3s(GLshort x, GLshort y, GLshort z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos3sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&z), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos3sv 40
+void
+__indirect_glRasterPos3sv(const GLshort * v)
+{
+    generic_6_byte( X_GLrop_RasterPos3sv, v );
+}
+
+#define X_GLrop_RasterPos4dv 41
+void
+__indirect_glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos4dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&w), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos4dv 41
+void
+__indirect_glRasterPos4dv(const GLdouble * v)
+{
+    generic_32_byte( X_GLrop_RasterPos4dv, v );
+}
+
+#define X_GLrop_RasterPos4fv 42
+void
+__indirect_glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos4fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&w), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos4fv 42
+void
+__indirect_glRasterPos4fv(const GLfloat * v)
+{
+    generic_16_byte( X_GLrop_RasterPos4fv, v );
+}
+
+#define X_GLrop_RasterPos4iv 43
+void
+__indirect_glRasterPos4i(GLint x, GLint y, GLint z, GLint w)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos4iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&w), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos4iv 43
+void
+__indirect_glRasterPos4iv(const GLint * v)
+{
+    generic_16_byte( X_GLrop_RasterPos4iv, v );
+}
+
+#define X_GLrop_RasterPos4sv 44
+void
+__indirect_glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_RasterPos4sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&z), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&w), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_RasterPos4sv 44
+void
+__indirect_glRasterPos4sv(const GLshort * v)
+{
+    generic_8_byte( X_GLrop_RasterPos4sv, v );
+}
+
+#define X_GLrop_Rectdv 45
+void
+__indirect_glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rectdv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x1), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y1), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&x2), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&y2), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rectdv 45
+void
+__indirect_glRectdv(const GLdouble * v1, const GLdouble * v2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rectdv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v1), 16);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(v2), 16);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rectfv 46
+void
+__indirect_glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rectfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x1), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y1), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&x2), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y2), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rectfv 46
+void
+__indirect_glRectfv(const GLfloat * v1, const GLfloat * v2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rectfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v1), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(v2), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rectiv 47
+void
+__indirect_glRecti(GLint x1, GLint y1, GLint x2, GLint y2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rectiv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x1), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y1), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&x2), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y2), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rectiv 47
+void
+__indirect_glRectiv(const GLint * v1, const GLint * v2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rectiv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v1), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(v2), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rectsv 48
+void
+__indirect_glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rectsv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x1), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&y1), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&x2), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&y2), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rectsv 48
+void
+__indirect_glRectsv(const GLshort * v1, const GLshort * v2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rectsv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v1), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v2), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord1dv 49
+void
+__indirect_glTexCoord1d(GLdouble s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord1dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord1dv 49
+void
+__indirect_glTexCoord1dv(const GLdouble * v)
+{
+    generic_8_byte( X_GLrop_TexCoord1dv, v );
+}
+
+#define X_GLrop_TexCoord1fv 50
+void
+__indirect_glTexCoord1f(GLfloat s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord1fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord1fv 50
+void
+__indirect_glTexCoord1fv(const GLfloat * v)
+{
+    generic_4_byte( X_GLrop_TexCoord1fv, v );
+}
+
+#define X_GLrop_TexCoord1iv 51
+void
+__indirect_glTexCoord1i(GLint s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord1iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord1iv 51
+void
+__indirect_glTexCoord1iv(const GLint * v)
+{
+    generic_4_byte( X_GLrop_TexCoord1iv, v );
+}
+
+#define X_GLrop_TexCoord1sv 52
+void
+__indirect_glTexCoord1s(GLshort s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord1sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord1sv 52
+void
+__indirect_glTexCoord1sv(const GLshort * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord1sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord2dv 53
+void
+__indirect_glTexCoord2d(GLdouble s, GLdouble t)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord2dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord2dv 53
+void
+__indirect_glTexCoord2dv(const GLdouble * v)
+{
+    generic_16_byte( X_GLrop_TexCoord2dv, v );
+}
+
+#define X_GLrop_TexCoord2fv 54
+void
+__indirect_glTexCoord2f(GLfloat s, GLfloat t)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord2fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord2fv 54
+void
+__indirect_glTexCoord2fv(const GLfloat * v)
+{
+    generic_8_byte( X_GLrop_TexCoord2fv, v );
+}
+
+#define X_GLrop_TexCoord2iv 55
+void
+__indirect_glTexCoord2i(GLint s, GLint t)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord2iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord2iv 55
+void
+__indirect_glTexCoord2iv(const GLint * v)
+{
+    generic_8_byte( X_GLrop_TexCoord2iv, v );
+}
+
+#define X_GLrop_TexCoord2sv 56
+void
+__indirect_glTexCoord2s(GLshort s, GLshort t)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord2sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&t), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord2sv 56
+void
+__indirect_glTexCoord2sv(const GLshort * v)
+{
+    generic_4_byte( X_GLrop_TexCoord2sv, v );
+}
+
+#define X_GLrop_TexCoord3dv 57
+void
+__indirect_glTexCoord3d(GLdouble s, GLdouble t, GLdouble r)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord3dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&r), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord3dv 57
+void
+__indirect_glTexCoord3dv(const GLdouble * v)
+{
+    generic_24_byte( X_GLrop_TexCoord3dv, v );
+}
+
+#define X_GLrop_TexCoord3fv 58
+void
+__indirect_glTexCoord3f(GLfloat s, GLfloat t, GLfloat r)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord3fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord3fv 58
+void
+__indirect_glTexCoord3fv(const GLfloat * v)
+{
+    generic_12_byte( X_GLrop_TexCoord3fv, v );
+}
+
+#define X_GLrop_TexCoord3iv 59
+void
+__indirect_glTexCoord3i(GLint s, GLint t, GLint r)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord3iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord3iv 59
+void
+__indirect_glTexCoord3iv(const GLint * v)
+{
+    generic_12_byte( X_GLrop_TexCoord3iv, v );
+}
+
+#define X_GLrop_TexCoord3sv 60
+void
+__indirect_glTexCoord3s(GLshort s, GLshort t, GLshort r)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord3sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&t), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&r), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord3sv 60
+void
+__indirect_glTexCoord3sv(const GLshort * v)
+{
+    generic_6_byte( X_GLrop_TexCoord3sv, v );
+}
+
+#define X_GLrop_TexCoord4dv 61
+void
+__indirect_glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord4dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&r), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&q), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord4dv 61
+void
+__indirect_glTexCoord4dv(const GLdouble * v)
+{
+    generic_32_byte( X_GLrop_TexCoord4dv, v );
+}
+
+#define X_GLrop_TexCoord4fv 62
+void
+__indirect_glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord4fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&q), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord4fv 62
+void
+__indirect_glTexCoord4fv(const GLfloat * v)
+{
+    generic_16_byte( X_GLrop_TexCoord4fv, v );
+}
+
+#define X_GLrop_TexCoord4iv 63
+void
+__indirect_glTexCoord4i(GLint s, GLint t, GLint r, GLint q)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord4iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&q), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord4iv 63
+void
+__indirect_glTexCoord4iv(const GLint * v)
+{
+    generic_16_byte( X_GLrop_TexCoord4iv, v );
+}
+
+#define X_GLrop_TexCoord4sv 64
+void
+__indirect_glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexCoord4sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&t), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&r), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&q), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexCoord4sv 64
+void
+__indirect_glTexCoord4sv(const GLshort * v)
+{
+    generic_8_byte( X_GLrop_TexCoord4sv, v );
+}
+
+#define X_GLrop_Vertex2dv 65
+void
+__indirect_glVertex2d(GLdouble x, GLdouble y)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex2dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex2dv 65
+void
+__indirect_glVertex2dv(const GLdouble * v)
+{
+    generic_16_byte( X_GLrop_Vertex2dv, v );
+}
+
+#define X_GLrop_Vertex2fv 66
+void
+__indirect_glVertex2f(GLfloat x, GLfloat y)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex2fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex2fv 66
+void
+__indirect_glVertex2fv(const GLfloat * v)
+{
+    generic_8_byte( X_GLrop_Vertex2fv, v );
+}
+
+#define X_GLrop_Vertex2iv 67
+void
+__indirect_glVertex2i(GLint x, GLint y)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex2iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex2iv 67
+void
+__indirect_glVertex2iv(const GLint * v)
+{
+    generic_8_byte( X_GLrop_Vertex2iv, v );
+}
+
+#define X_GLrop_Vertex2sv 68
+void
+__indirect_glVertex2s(GLshort x, GLshort y)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex2sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex2sv 68
+void
+__indirect_glVertex2sv(const GLshort * v)
+{
+    generic_4_byte( X_GLrop_Vertex2sv, v );
+}
+
+#define X_GLrop_Vertex3dv 69
+void
+__indirect_glVertex3d(GLdouble x, GLdouble y, GLdouble z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex3dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex3dv 69
+void
+__indirect_glVertex3dv(const GLdouble * v)
+{
+    generic_24_byte( X_GLrop_Vertex3dv, v );
+}
+
+#define X_GLrop_Vertex3fv 70
+void
+__indirect_glVertex3f(GLfloat x, GLfloat y, GLfloat z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex3fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex3fv 70
+void
+__indirect_glVertex3fv(const GLfloat * v)
+{
+    generic_12_byte( X_GLrop_Vertex3fv, v );
+}
+
+#define X_GLrop_Vertex3iv 71
+void
+__indirect_glVertex3i(GLint x, GLint y, GLint z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex3iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex3iv 71
+void
+__indirect_glVertex3iv(const GLint * v)
+{
+    generic_12_byte( X_GLrop_Vertex3iv, v );
+}
+
+#define X_GLrop_Vertex3sv 72
+void
+__indirect_glVertex3s(GLshort x, GLshort y, GLshort z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex3sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&z), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex3sv 72
+void
+__indirect_glVertex3sv(const GLshort * v)
+{
+    generic_6_byte( X_GLrop_Vertex3sv, v );
+}
+
+#define X_GLrop_Vertex4dv 73
+void
+__indirect_glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex4dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&w), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex4dv 73
+void
+__indirect_glVertex4dv(const GLdouble * v)
+{
+    generic_32_byte( X_GLrop_Vertex4dv, v );
+}
+
+#define X_GLrop_Vertex4fv 74
+void
+__indirect_glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex4fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&w), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex4fv 74
+void
+__indirect_glVertex4fv(const GLfloat * v)
+{
+    generic_16_byte( X_GLrop_Vertex4fv, v );
+}
+
+#define X_GLrop_Vertex4iv 75
+void
+__indirect_glVertex4i(GLint x, GLint y, GLint z, GLint w)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex4iv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&w), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex4iv 75
+void
+__indirect_glVertex4iv(const GLint * v)
+{
+    generic_16_byte( X_GLrop_Vertex4iv, v );
+}
+
+#define X_GLrop_Vertex4sv 76
+void
+__indirect_glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Vertex4sv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&z), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&w), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Vertex4sv 76
+void
+__indirect_glVertex4sv(const GLshort * v)
+{
+    generic_8_byte( X_GLrop_Vertex4sv, v );
+}
+
+#define X_GLrop_ClipPlane 77
+void
+__indirect_glClipPlane(GLenum plane, const GLdouble * equation)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 40;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ClipPlane, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(equation), 32);
+    (void) memcpy((void *)(gc->pc + 36), (void *)(&plane), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ColorMaterial 78
+void
+__indirect_glColorMaterial(GLenum face, GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ColorMaterial, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CullFace 79
+void
+__indirect_glCullFace(GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CullFace, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Fogf 80
+void
+__indirect_glFogf(GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Fogf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Fogfv 81
+void
+__indirect_glFogfv(GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glFogfv_size(pname);
+    const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Fogfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Fogi 82
+void
+__indirect_glFogi(GLenum pname, GLint param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Fogi, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Fogiv 83
+void
+__indirect_glFogiv(GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glFogiv_size(pname);
+    const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Fogiv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_FrontFace 84
+void
+__indirect_glFrontFace(GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_FrontFace, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Hint 85
+void
+__indirect_glHint(GLenum target, GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Hint, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Lightf 86
+void
+__indirect_glLightf(GLenum light, GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Lightf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&light), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Lightfv 87
+void
+__indirect_glLightfv(GLenum light, GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glLightfv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Lightfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&light), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Lighti 88
+void
+__indirect_glLighti(GLenum light, GLenum pname, GLint param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Lighti, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&light), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Lightiv 89
+void
+__indirect_glLightiv(GLenum light, GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glLightiv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Lightiv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&light), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LightModelf 90
+void
+__indirect_glLightModelf(GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LightModelf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LightModelfv 91
+void
+__indirect_glLightModelfv(GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glLightModelfv_size(pname);
+    const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LightModelfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LightModeli 92
+void
+__indirect_glLightModeli(GLenum pname, GLint param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LightModeli, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LightModeliv 93
+void
+__indirect_glLightModeliv(GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glLightModeliv_size(pname);
+    const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LightModeliv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LineStipple 94
+void
+__indirect_glLineStipple(GLint factor, GLushort pattern)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LineStipple, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&factor), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pattern), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LineWidth 95
+void
+__indirect_glLineWidth(GLfloat width)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LineWidth, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&width), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Materialf 96
+void
+__indirect_glMaterialf(GLenum face, GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Materialf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Materialfv 97
+void
+__indirect_glMaterialfv(GLenum face, GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glMaterialfv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Materialfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Materiali 98
+void
+__indirect_glMateriali(GLenum face, GLenum pname, GLint param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Materiali, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Materialiv 99
+void
+__indirect_glMaterialiv(GLenum face, GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glMaterialiv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Materialiv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PointSize 100
+void
+__indirect_glPointSize(GLfloat size)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PointSize, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&size), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PolygonMode 101
+void
+__indirect_glPolygonMode(GLenum face, GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PolygonMode, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Scissor 103
+void
+__indirect_glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Scissor, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&height), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ShadeModel 104
+void
+__indirect_glShadeModel(GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ShadeModel, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexParameterf 105
+void
+__indirect_glTexParameterf(GLenum target, GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexParameterf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexParameterfv 106
+void
+__indirect_glTexParameterfv(GLenum target, GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glTexParameterfv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexParameterfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexParameteri 107
+void
+__indirect_glTexParameteri(GLenum target, GLenum pname, GLint param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexParameteri, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexParameteriv 108
+void
+__indirect_glTexParameteriv(GLenum target, GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glTexParameteriv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexParameteriv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexEnvf 111
+void
+__indirect_glTexEnvf(GLenum target, GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexEnvf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexEnvfv 112
+void
+__indirect_glTexEnvfv(GLenum target, GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glTexEnvfv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexEnvfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexEnvi 113
+void
+__indirect_glTexEnvi(GLenum target, GLenum pname, GLint param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexEnvi, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexEnviv 114
+void
+__indirect_glTexEnviv(GLenum target, GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glTexEnviv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexEnviv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexGend 115
+void
+__indirect_glTexGend(GLenum coord, GLenum pname, GLdouble param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexGend, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&param), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&coord), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&pname), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexGendv 116
+void
+__indirect_glTexGendv(GLenum coord, GLenum pname, const GLdouble * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glTexGendv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 8));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexGendv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 8));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexGenf 117
+void
+__indirect_glTexGenf(GLenum coord, GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexGenf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexGenfv 118
+void
+__indirect_glTexGenfv(GLenum coord, GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glTexGenfv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexGenfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexGeni 119
+void
+__indirect_glTexGeni(GLenum coord, GLenum pname, GLint param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexGeni, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_TexGeniv 120
+void
+__indirect_glTexGeniv(GLenum coord, GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glTexGeniv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_TexGeniv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_InitNames 121
+void
+__indirect_glInitNames(void)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_InitNames, cmdlen);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LoadName 122
+void
+__indirect_glLoadName(GLuint name)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LoadName, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&name), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PassThrough 123
+void
+__indirect_glPassThrough(GLfloat token)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PassThrough, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&token), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PopName 124
+void
+__indirect_glPopName(void)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PopName, cmdlen);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PushName 125
+void
+__indirect_glPushName(GLuint name)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PushName, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&name), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_DrawBuffer 126
+void
+__indirect_glDrawBuffer(GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_DrawBuffer, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Clear 127
+void
+__indirect_glClear(GLbitfield mask)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Clear, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mask), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ClearAccum 128
+void
+__indirect_glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ClearAccum, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ClearIndex 129
+void
+__indirect_glClearIndex(GLfloat c)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ClearIndex, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ClearColor 130
+void
+__indirect_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ClearColor, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ClearStencil 131
+void
+__indirect_glClearStencil(GLint s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ClearStencil, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ClearDepth 132
+void
+__indirect_glClearDepth(GLclampd depth)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ClearDepth, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&depth), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_StencilMask 133
+void
+__indirect_glStencilMask(GLuint mask)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_StencilMask, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mask), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ColorMask 134
+void
+__indirect_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ColorMask, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1);
+    (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1);
+    (void) memcpy((void *)(gc->pc + 7), (void *)(&alpha), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_DepthMask 135
+void
+__indirect_glDepthMask(GLboolean flag)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_DepthMask, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&flag), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_IndexMask 136
+void
+__indirect_glIndexMask(GLuint mask)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_IndexMask, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mask), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Accum 137
+void
+__indirect_glAccum(GLenum op, GLfloat value)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Accum, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&op), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&value), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PopAttrib 141
+void
+__indirect_glPopAttrib(void)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PopAttrib, cmdlen);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PushAttrib 142
+void
+__indirect_glPushAttrib(GLbitfield mask)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PushAttrib, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mask), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MapGrid1d 147
+void
+__indirect_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MapGrid1d, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&u1), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&u2), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&un), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MapGrid1f 148
+void
+__indirect_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MapGrid1f, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&un), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&u1), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&u2), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MapGrid2d 149
+void
+__indirect_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 44;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MapGrid2d, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&u1), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&u2), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&v1), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&v2), 8);
+    (void) memcpy((void *)(gc->pc + 36), (void *)(&un), 4);
+    (void) memcpy((void *)(gc->pc + 40), (void *)(&vn), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MapGrid2f 150
+void
+__indirect_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MapGrid2f, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&un), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&u1), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&u2), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&vn), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&v1), 4);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&v2), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EvalCoord1dv 151
+void
+__indirect_glEvalCoord1d(GLdouble u)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EvalCoord1dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&u), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EvalCoord1dv 151
+void
+__indirect_glEvalCoord1dv(const GLdouble * u)
+{
+    generic_8_byte( X_GLrop_EvalCoord1dv, u );
+}
+
+#define X_GLrop_EvalCoord1fv 152
+void
+__indirect_glEvalCoord1f(GLfloat u)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EvalCoord1fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&u), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EvalCoord1fv 152
+void
+__indirect_glEvalCoord1fv(const GLfloat * u)
+{
+    generic_4_byte( X_GLrop_EvalCoord1fv, u );
+}
+
+#define X_GLrop_EvalCoord2dv 153
+void
+__indirect_glEvalCoord2d(GLdouble u, GLdouble v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EvalCoord2dv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&u), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&v), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EvalCoord2dv 153
+void
+__indirect_glEvalCoord2dv(const GLdouble * u)
+{
+    generic_16_byte( X_GLrop_EvalCoord2dv, u );
+}
+
+#define X_GLrop_EvalCoord2fv 154
+void
+__indirect_glEvalCoord2f(GLfloat u, GLfloat v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EvalCoord2fv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&u), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&v), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EvalCoord2fv 154
+void
+__indirect_glEvalCoord2fv(const GLfloat * u)
+{
+    generic_8_byte( X_GLrop_EvalCoord2fv, u );
+}
+
+#define X_GLrop_EvalMesh1 155
+void
+__indirect_glEvalMesh1(GLenum mode, GLint i1, GLint i2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EvalMesh1, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&i1), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&i2), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EvalPoint1 156
+void
+__indirect_glEvalPoint1(GLint i)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EvalPoint1, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&i), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EvalMesh2 157
+void
+__indirect_glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EvalMesh2, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&i1), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&i2), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&j1), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&j2), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_EvalPoint2 158
+void
+__indirect_glEvalPoint2(GLint i, GLint j)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_EvalPoint2, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&i), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&j), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_AlphaFunc 159
+void
+__indirect_glAlphaFunc(GLenum func, GLclampf ref)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_AlphaFunc, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&func), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&ref), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_BlendFunc 160
+void
+__indirect_glBlendFunc(GLenum sfactor, GLenum dfactor)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_BlendFunc, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&sfactor), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&dfactor), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LogicOp 161
+void
+__indirect_glLogicOp(GLenum opcode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LogicOp, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&opcode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_StencilFunc 162
+void
+__indirect_glStencilFunc(GLenum func, GLint ref, GLuint mask)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_StencilFunc, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&func), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&ref), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&mask), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_StencilOp 163
+void
+__indirect_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_StencilOp, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&fail), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&zfail), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&zpass), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_DepthFunc 164
+void
+__indirect_glDepthFunc(GLenum func)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_DepthFunc, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&func), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PixelZoom 165
+void
+__indirect_glPixelZoom(GLfloat xfactor, GLfloat yfactor)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PixelZoom, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&xfactor), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&yfactor), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PixelTransferf 166
+void
+__indirect_glPixelTransferf(GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PixelTransferf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PixelTransferi 167
+void
+__indirect_glPixelTransferi(GLenum pname, GLint param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PixelTransferi, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PixelMapfv 168
+void
+__indirect_glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat * values)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12 + __GLX_PAD((mapsize * 4));
+    if (mapsize < 0) return;
+    if (dpy == NULL) return;
+    if ( ((gc->pc + cmdlen) > gc->bufEnd)
+         || (cmdlen > gc->maxSmallRenderCommandSize)) {
+        (void) __glXFlushRenderBuffer(gc, gc->pc);
+    }
+    if (cmdlen <= gc->maxSmallRenderCommandSize) {
+        emit_header(gc->pc, X_GLrop_PixelMapfv, cmdlen);
+        (void) memcpy((void *)(gc->pc + 4), (void *)(&map), 4);
+        (void) memcpy((void *)(gc->pc + 8), (void *)(&mapsize), 4);
+        (void) memcpy((void *)(gc->pc + 12), (void *)(values), (mapsize * 4));
+        gc->pc += cmdlen;
+        if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+    }
+    else {
+        const GLint op = X_GLrop_PixelMapfv;
+        const GLuint cmdlenLarge = cmdlen + 4;
+        (void) memcpy((void *)(gc->pc + 0), (void *)(&op), 4);
+        (void) memcpy((void *)(gc->pc + 4), (void *)(&cmdlenLarge), 4);
+        (void) memcpy((void *)(gc->pc + 8), (void *)(&map), 4);
+        (void) memcpy((void *)(gc->pc + 12), (void *)(&mapsize), 4);
+        __glXSendLargeCommand(gc, gc->pc, 16, values, (mapsize * 4));
+    }
+}
+
+#define X_GLrop_PixelMapuiv 169
+void
+__indirect_glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint * values)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12 + __GLX_PAD((mapsize * 4));
+    if (mapsize < 0) return;
+    if (dpy == NULL) return;
+    if ( ((gc->pc + cmdlen) > gc->bufEnd)
+         || (cmdlen > gc->maxSmallRenderCommandSize)) {
+        (void) __glXFlushRenderBuffer(gc, gc->pc);
+    }
+    if (cmdlen <= gc->maxSmallRenderCommandSize) {
+        emit_header(gc->pc, X_GLrop_PixelMapuiv, cmdlen);
+        (void) memcpy((void *)(gc->pc + 4), (void *)(&map), 4);
+        (void) memcpy((void *)(gc->pc + 8), (void *)(&mapsize), 4);
+        (void) memcpy((void *)(gc->pc + 12), (void *)(values), (mapsize * 4));
+        gc->pc += cmdlen;
+        if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+    }
+    else {
+        const GLint op = X_GLrop_PixelMapuiv;
+        const GLuint cmdlenLarge = cmdlen + 4;
+        (void) memcpy((void *)(gc->pc + 0), (void *)(&op), 4);
+        (void) memcpy((void *)(gc->pc + 4), (void *)(&cmdlenLarge), 4);
+        (void) memcpy((void *)(gc->pc + 8), (void *)(&map), 4);
+        (void) memcpy((void *)(gc->pc + 12), (void *)(&mapsize), 4);
+        __glXSendLargeCommand(gc, gc->pc, 16, values, (mapsize * 4));
+    }
+}
+
+#define X_GLrop_PixelMapusv 170
+void
+__indirect_glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort * values)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12 + __GLX_PAD((mapsize * 2));
+    if (mapsize < 0) return;
+    if (dpy == NULL) return;
+    if ( ((gc->pc + cmdlen) > gc->bufEnd)
+         || (cmdlen > gc->maxSmallRenderCommandSize)) {
+        (void) __glXFlushRenderBuffer(gc, gc->pc);
+    }
+    if (cmdlen <= gc->maxSmallRenderCommandSize) {
+        emit_header(gc->pc, X_GLrop_PixelMapusv, cmdlen);
+        (void) memcpy((void *)(gc->pc + 4), (void *)(&map), 4);
+        (void) memcpy((void *)(gc->pc + 8), (void *)(&mapsize), 4);
+        (void) memcpy((void *)(gc->pc + 12), (void *)(values), (mapsize * 2));
+        gc->pc += cmdlen;
+        if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+    }
+    else {
+        const GLint op = X_GLrop_PixelMapusv;
+        const GLuint cmdlenLarge = cmdlen + 4;
+        (void) memcpy((void *)(gc->pc + 0), (void *)(&op), 4);
+        (void) memcpy((void *)(gc->pc + 4), (void *)(&cmdlenLarge), 4);
+        (void) memcpy((void *)(gc->pc + 8), (void *)(&map), 4);
+        (void) memcpy((void *)(gc->pc + 12), (void *)(&mapsize), 4);
+        __glXSendLargeCommand(gc, gc->pc, 16, values, (mapsize * 2));
+    }
+}
+
+#define X_GLrop_ReadBuffer 171
+void
+__indirect_glReadBuffer(GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ReadBuffer, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CopyPixels 172
+void
+__indirect_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyPixels, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&height), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&type), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLsop_GetClipPlane 113
+void
+__indirect_glGetClipPlane(GLenum plane, GLdouble * equation)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetClipPlane, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&plane), 4);
+        (void) read_reply(gc->currentDpy, 8, equation, GL_TRUE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetLightfv 118
+void
+__indirect_glGetLightfv(GLenum light, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetLightfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&light), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetLightiv 119
+void
+__indirect_glGetLightiv(GLenum light, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetLightiv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&light), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetMapdv 120
+void
+__indirect_glGetMapdv(GLenum target, GLenum query, GLdouble * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetMapdv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&query), 4);
+        (void) read_reply(gc->currentDpy, 8, v, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetMapfv 121
+void
+__indirect_glGetMapfv(GLenum target, GLenum query, GLfloat * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetMapfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&query), 4);
+        (void) read_reply(gc->currentDpy, 4, v, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetMapiv 122
+void
+__indirect_glGetMapiv(GLenum target, GLenum query, GLint * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetMapiv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&query), 4);
+        (void) read_reply(gc->currentDpy, 4, v, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetMaterialfv 123
+void
+__indirect_glGetMaterialfv(GLenum face, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetMaterialfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&face), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetMaterialiv 124
+void
+__indirect_glGetMaterialiv(GLenum face, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetMaterialiv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&face), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetPixelMapfv 125
+void
+__indirect_glGetPixelMapfv(GLenum map, GLfloat * values)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetPixelMapfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&map), 4);
+        (void) read_reply(gc->currentDpy, 4, values, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetPixelMapuiv 126
+void
+__indirect_glGetPixelMapuiv(GLenum map, GLuint * values)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetPixelMapuiv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&map), 4);
+        (void) read_reply(gc->currentDpy, 4, values, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetPixelMapusv 127
+void
+__indirect_glGetPixelMapusv(GLenum map, GLushort * values)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetPixelMapusv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&map), 4);
+        (void) read_reply(gc->currentDpy, 2, values, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexEnvfv 130
+void
+__indirect_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexEnvfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexEnviv 131
+void
+__indirect_glGetTexEnviv(GLenum target, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexEnviv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexGendv 132
+void
+__indirect_glGetTexGendv(GLenum coord, GLenum pname, GLdouble * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexGendv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&coord), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 8, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexGenfv 133
+void
+__indirect_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexGenfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&coord), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexGeniv 134
+void
+__indirect_glGetTexGeniv(GLenum coord, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexGeniv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&coord), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexParameterfv 136
+void
+__indirect_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexParameterfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexParameteriv 137
+void
+__indirect_glGetTexParameteriv(GLenum target, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexParameteriv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexLevelParameterfv 138
+void
+__indirect_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexLevelParameterfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&level), 4);
+        (void) memcpy((void *)(pc + 8), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetTexLevelParameteriv 139
+void
+__indirect_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetTexLevelParameteriv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&level), 4);
+        (void) memcpy((void *)(pc + 8), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_IsList 141
+GLboolean
+__indirect_glIsList(GLuint list)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    GLboolean retval = (GLboolean) 0;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_IsList, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&list), 4);
+        retval = (GLboolean) read_reply(gc->currentDpy, 0, NULL, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return retval;
+}
+
+#define X_GLrop_DepthRange 174
+void
+__indirect_glDepthRange(GLclampd zNear, GLclampd zFar)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_DepthRange, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&zNear), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&zFar), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Frustum 175
+void
+__indirect_glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 52;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Frustum, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&left), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&right), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&bottom), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&top), 8);
+    (void) memcpy((void *)(gc->pc + 36), (void *)(&zNear), 8);
+    (void) memcpy((void *)(gc->pc + 44), (void *)(&zFar), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LoadIdentity 176
+void
+__indirect_glLoadIdentity(void)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LoadIdentity, cmdlen);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LoadMatrixf 177
+void
+__indirect_glLoadMatrixf(const GLfloat * m)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 68;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LoadMatrixf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(m), 64);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_LoadMatrixd 178
+void
+__indirect_glLoadMatrixd(const GLdouble * m)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 132;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_LoadMatrixd, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(m), 128);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MatrixMode 179
+void
+__indirect_glMatrixMode(GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MatrixMode, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultMatrixf 180
+void
+__indirect_glMultMatrixf(const GLfloat * m)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 68;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultMatrixf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(m), 64);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultMatrixd 181
+void
+__indirect_glMultMatrixd(const GLdouble * m)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 132;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultMatrixd, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(m), 128);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Ortho 182
+void
+__indirect_glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 52;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Ortho, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&left), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&right), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&bottom), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&top), 8);
+    (void) memcpy((void *)(gc->pc + 36), (void *)(&zNear), 8);
+    (void) memcpy((void *)(gc->pc + 44), (void *)(&zFar), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PopMatrix 183
+void
+__indirect_glPopMatrix(void)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PopMatrix, cmdlen);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PushMatrix 184
+void
+__indirect_glPushMatrix(void)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PushMatrix, cmdlen);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rotated 185
+void
+__indirect_glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rotated, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&angle), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&z), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Rotatef 186
+void
+__indirect_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Rotatef, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&angle), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&z), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Scaled 187
+void
+__indirect_glScaled(GLdouble x, GLdouble y, GLdouble z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Scaled, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Scalef 188
+void
+__indirect_glScalef(GLfloat x, GLfloat y, GLfloat z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Scalef, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Translated 189
+void
+__indirect_glTranslated(GLdouble x, GLdouble y, GLdouble z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Translated, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Translatef 190
+void
+__indirect_glTranslatef(GLfloat x, GLfloat y, GLfloat z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Translatef, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Viewport 191
+void
+__indirect_glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Viewport, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&height), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_BindTexture 4117
+void
+__indirect_glBindTexture(GLenum target, GLuint texture)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_BindTexture, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&texture), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Indexubv 194
+void
+__indirect_glIndexub(GLubyte c)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Indexubv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Indexubv 194
+void
+__indirect_glIndexubv(const GLubyte * c)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Indexubv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(c), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PolygonOffset 192
+void
+__indirect_glPolygonOffset(GLfloat factor, GLfloat units)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PolygonOffset, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&factor), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&units), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLsop_AreTexturesResident 143
+GLboolean
+__indirect_glAreTexturesResident(GLsizei n, const GLuint * textures, GLboolean * residences)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    GLboolean retval = (GLboolean) 0;
+    const GLuint cmdlen = 4 + __GLX_PAD((n * 4));
+    if (n < 0) return retval;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_AreTexturesResident, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&n), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(textures), (n * 4));
+        retval = (GLboolean) read_reply(gc->currentDpy, 1, residences, GL_TRUE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return retval;
+}
+
+#define X_GLrop_CopyTexImage1D 4119
+void
+__indirect_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 32;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyTexImage1D, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&internalformat), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&border), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CopyTexImage2D 4120
+void
+__indirect_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyTexImage2D, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&internalformat), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&height), 4);
+    (void) memcpy((void *)(gc->pc + 32), (void *)(&border), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CopyTexSubImage1D 4121
+void
+__indirect_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyTexSubImage1D, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&xoffset), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&width), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CopyTexSubImage2D 4122
+void
+__indirect_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 36;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyTexSubImage2D, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&xoffset), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&yoffset), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 32), (void *)(&height), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLsop_DeleteTextures 144
+void
+__indirect_glDeleteTextures(GLsizei n, const GLuint * textures)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4 + __GLX_PAD((n * 4));
+    if (n < 0) return;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_DeleteTextures, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&n), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(textures), (n * 4));
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GenTextures 145
+void
+__indirect_glGenTextures(GLsizei n, GLuint * textures)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GenTextures, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&n), 4);
+        (void) read_reply(gc->currentDpy, 4, textures, GL_TRUE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_IsTexture 146
+GLboolean
+__indirect_glIsTexture(GLuint texture)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    GLboolean retval = (GLboolean) 0;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_IsTexture, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&texture), 4);
+        retval = (GLboolean) read_reply(gc->currentDpy, 0, NULL, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return retval;
+}
+
+#define X_GLrop_PrioritizeTextures 4118
+void
+__indirect_glPrioritizeTextures(GLsizei n, const GLuint * textures, const GLclampf * priorities)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8 + __GLX_PAD((n * 4)) + __GLX_PAD((n * 4));
+    if (n < 0) return;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PrioritizeTextures, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&n), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(textures), (n * 4));
+    (void) memcpy((void *)(gc->pc + 8), (void *)(priorities), (n * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_BlendColor 4096
+void
+__indirect_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_BlendColor, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_BlendEquation 4097
+void
+__indirect_glBlendEquation(GLenum mode)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_BlendEquation, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ColorTableParameterfv 2054
+void
+__indirect_glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glColorTableParameterfv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ColorTableParameterfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ColorTableParameteriv 2055
+void
+__indirect_glColorTableParameteriv(GLenum target, GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glColorTableParameteriv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ColorTableParameteriv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CopyColorTable 2056
+void
+__indirect_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyColorTable, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&width), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLsop_GetColorTableParameterfv 148
+void
+__indirect_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetColorTableParameterfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetColorTableParameteriv 149
+void
+__indirect_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetColorTableParameteriv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLrop_CopyColorSubTable 196
+void
+__indirect_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyColorSubTable, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&start), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&width), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ConvolutionParameterf 4103
+void
+__indirect_glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ConvolutionParameterf, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&params), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ConvolutionParameterfv 4104
+void
+__indirect_glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glConvolutionParameterfv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ConvolutionParameterfv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ConvolutionParameteri 4105
+void
+__indirect_glConvolutionParameteri(GLenum target, GLenum pname, GLint params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ConvolutionParameteri, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&params), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ConvolutionParameteriv 4106
+void
+__indirect_glConvolutionParameteriv(GLenum target, GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glConvolutionParameteriv_size(pname);
+    const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ConvolutionParameteriv, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CopyConvolutionFilter1D 4107
+void
+__indirect_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyConvolutionFilter1D, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&width), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CopyConvolutionFilter2D 4108
+void
+__indirect_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyConvolutionFilter2D, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&height), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLsop_GetConvolutionParameterfv 151
+void
+__indirect_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetConvolutionParameterfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetConvolutionParameteriv 152
+void
+__indirect_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetConvolutionParameteriv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetHistogramParameterfv 155
+void
+__indirect_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetHistogramParameterfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetHistogramParameteriv 156
+void
+__indirect_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetHistogramParameteriv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetMinmaxParameterfv 158
+void
+__indirect_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetMinmaxParameterfv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLsop_GetMinmaxParameteriv 159
+void
+__indirect_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_single_request(gc, X_GLsop_GetMinmaxParameteriv, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&target), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(&pname), 4);
+        (void) read_reply(gc->currentDpy, 4, params, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLrop_Histogram 4110
+void
+__indirect_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Histogram, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&internalformat), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&sink), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_Minmax 4111
+void
+__indirect_glMinmax(GLenum target, GLenum internalformat, GLboolean sink)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_Minmax, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&sink), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ResetHistogram 4112
+void
+__indirect_glResetHistogram(GLenum target)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ResetHistogram, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ResetMinmax 4113
+void
+__indirect_glResetMinmax(GLenum target)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ResetMinmax, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_CopyTexSubImage3D 4123
+void
+__indirect_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 40;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_CopyTexSubImage3D, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&xoffset), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&yoffset), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&zoffset), 4);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 32), (void *)(&width), 4);
+    (void) memcpy((void *)(gc->pc + 36), (void *)(&height), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ActiveTextureARB 197
+void
+__indirect_glActiveTextureARB(GLenum texture)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ActiveTextureARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&texture), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord1dvARB 198
+void
+__indirect_glMultiTexCoord1dARB(GLenum target, GLdouble s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord1dvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord1dvARB 198
+void
+__indirect_glMultiTexCoord1dvARB(GLenum target, const GLdouble * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord1dvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord1fvARB 199
+void
+__indirect_glMultiTexCoord1fARB(GLenum target, GLfloat s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord1fvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord1fvARB 199
+void
+__indirect_glMultiTexCoord1fvARB(GLenum target, const GLfloat * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord1fvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord1ivARB 200
+void
+__indirect_glMultiTexCoord1iARB(GLenum target, GLint s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord1ivARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord1ivARB 200
+void
+__indirect_glMultiTexCoord1ivARB(GLenum target, const GLint * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord1ivARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord1svARB 201
+void
+__indirect_glMultiTexCoord1sARB(GLenum target, GLshort s)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord1svARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord1svARB 201
+void
+__indirect_glMultiTexCoord1svARB(GLenum target, const GLshort * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord1svARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord2dvARB 202
+void
+__indirect_glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord2dvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord2dvARB 202
+void
+__indirect_glMultiTexCoord2dvARB(GLenum target, const GLdouble * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord2dvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 16);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord2fvARB 203
+void
+__indirect_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord2fvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord2fvARB 203
+void
+__indirect_glMultiTexCoord2fvARB(GLenum target, const GLfloat * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord2fvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord2ivARB 204
+void
+__indirect_glMultiTexCoord2iARB(GLenum target, GLint s, GLint t)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord2ivARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord2ivARB 204
+void
+__indirect_glMultiTexCoord2ivARB(GLenum target, const GLint * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord2ivARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord2svARB 205
+void
+__indirect_glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord2svARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&t), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord2svARB 205
+void
+__indirect_glMultiTexCoord2svARB(GLenum target, const GLshort * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord2svARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord3dvARB 206
+void
+__indirect_glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 32;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord3dvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&r), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord3dvARB 206
+void
+__indirect_glMultiTexCoord3dvARB(GLenum target, const GLdouble * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 32;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord3dvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 24);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord3fvARB 207
+void
+__indirect_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord3fvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&r), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord3fvARB 207
+void
+__indirect_glMultiTexCoord3fvARB(GLenum target, const GLfloat * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord3fvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 12);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord3ivARB 208
+void
+__indirect_glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord3ivARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&r), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord3ivARB 208
+void
+__indirect_glMultiTexCoord3ivARB(GLenum target, const GLint * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord3ivARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 12);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord3svARB 209
+void
+__indirect_glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord3svARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&t), 2);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord3svARB 209
+void
+__indirect_glMultiTexCoord3svARB(GLenum target, const GLshort * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord3svARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 6);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord4dvARB 210
+void
+__indirect_glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 40;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord4dvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&r), 8);
+    (void) memcpy((void *)(gc->pc + 28), (void *)(&q), 8);
+    (void) memcpy((void *)(gc->pc + 36), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord4dvARB 210
+void
+__indirect_glMultiTexCoord4dvARB(GLenum target, const GLdouble * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 40;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord4dvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 32);
+    (void) memcpy((void *)(gc->pc + 36), (void *)(&target), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord4fvARB 211
+void
+__indirect_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord4fvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&r), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&q), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord4fvARB 211
+void
+__indirect_glMultiTexCoord4fvARB(GLenum target, const GLfloat * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord4fvARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord4ivARB 212
+void
+__indirect_glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord4ivARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&r), 4);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&q), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord4ivARB 212
+void
+__indirect_glMultiTexCoord4ivARB(GLenum target, const GLint * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 24;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord4ivARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord4svARB 213
+void
+__indirect_glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord4svARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 2);
+    (void) memcpy((void *)(gc->pc + 10), (void *)(&t), 2);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 2);
+    (void) memcpy((void *)(gc->pc + 14), (void *)(&q), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_MultiTexCoord4svARB 213
+void
+__indirect_glMultiTexCoord4svARB(GLenum target, const GLshort * v)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_MultiTexCoord4svARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SampleCoverageARB 229
+void
+__indirect_glSampleCoverageARB(GLclampf value, GLboolean invert)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SampleCoverageARB, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&value), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&invert), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLvop_AreTexturesResidentEXT 11
+GLboolean
+__indirect_glAreTexturesResidentEXT(GLsizei n, const GLuint * textures, GLboolean * residences)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    GLboolean retval = (GLboolean) 0;
+    const GLuint cmdlen = 4 + __GLX_PAD((n * 4));
+    if (n < 0) return retval;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_vendor_request(gc, X_GLXVendorPrivateWithReply, X_GLvop_AreTexturesResidentEXT, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&n), 4);
+        (void) memcpy((void *)(pc + 4), (void *)(textures), (n * 4));
+        retval = (GLboolean) read_reply(gc->currentDpy, 1, residences, GL_TRUE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return retval;
+}
+
+#define X_GLvop_GenTexturesEXT 13
+void
+__indirect_glGenTexturesEXT(GLsizei n, GLuint * textures)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_vendor_request(gc, X_GLXVendorPrivateWithReply, X_GLvop_GenTexturesEXT, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&n), 4);
+        (void) read_reply(gc->currentDpy, 4, textures, GL_TRUE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return;
+}
+
+#define X_GLvop_IsTextureEXT 14
+GLboolean
+__indirect_glIsTextureEXT(GLuint texture)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    GLboolean retval = (GLboolean) 0;
+    const GLuint cmdlen = 4;
+    (void) dpy;
+    if (dpy != NULL) {
+        GLubyte const * pc = setup_vendor_request(gc, X_GLXVendorPrivateWithReply, X_GLvop_IsTextureEXT, cmdlen);
+        (void) memcpy((void *)(pc + 0), (void *)(&texture), 4);
+        retval = (GLboolean) read_reply(gc->currentDpy, 0, NULL, GL_FALSE);
+        UnlockDisplay(gc->currentDpy); SyncHandle();
+    }
+    return retval;
+}
+
+#define X_GLrop_SampleMaskSGIS 2048
+void
+__indirect_glSampleMaskSGIS(GLclampf value, GLboolean invert)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SampleMaskSGIS, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&value), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&invert), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SamplePatternSGIS 2049
+void
+__indirect_glSamplePatternSGIS(GLenum pattern)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SamplePatternSGIS, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pattern), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PointParameterfEXT 2065
+void
+__indirect_glPointParameterfEXT(GLenum pname, GLfloat param)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PointParameterfEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&param), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PointParameterfvEXT 2066
+void
+__indirect_glPointParameterfvEXT(GLenum pname, const GLfloat * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glPointParameterfvEXT_size(pname);
+    const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PointParameterfvEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_WindowPos3fvMESA 230
+void
+__indirect_glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_WindowPos3fvMESA, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_WindowPos3fvMESA 230
+void
+__indirect_glWindowPos3fvMESA(const GLfloat * v)
+{
+    generic_12_byte( X_GLrop_WindowPos3fvMESA, v );
+}
+
+#define X_GLrop_BlendFuncSeparateEXT 4134
+void
+__indirect_glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 20;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_BlendFuncSeparateEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&sfactorRGB), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&dfactorRGB), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&sfactorAlpha), 4);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&dfactorAlpha), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_FogCoordfvEXT 4124
+void
+__indirect_glFogCoordfEXT(GLfloat coord)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_FogCoordfvEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_FogCoordfvEXT 4124
+void
+__indirect_glFogCoordfvEXT(const GLfloat * coord)
+{
+    generic_4_byte( X_GLrop_FogCoordfvEXT, coord );
+}
+
+#define X_GLrop_FogCoorddvEXT 4125
+void
+__indirect_glFogCoorddEXT(GLdouble coord)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_FogCoorddvEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_FogCoorddvEXT 4125
+void
+__indirect_glFogCoorddvEXT(const GLdouble * coord)
+{
+    generic_8_byte( X_GLrop_FogCoorddvEXT, coord );
+}
+
+#define X_GLrop_SecondaryColor3bvEXT 4126
+void
+__indirect_glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SecondaryColor3bvEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1);
+    (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SecondaryColor3bvEXT 4126
+void
+__indirect_glSecondaryColor3bvEXT(const GLbyte * v)
+{
+    generic_3_byte( X_GLrop_SecondaryColor3bvEXT, v );
+}
+
+#define X_GLrop_SecondaryColor3dvEXT 4130
+void
+__indirect_glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 28;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SecondaryColor3dvEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 8);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&green), 8);
+    (void) memcpy((void *)(gc->pc + 20), (void *)(&blue), 8);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SecondaryColor3dvEXT 4130
+void
+__indirect_glSecondaryColor3dvEXT(const GLdouble * v)
+{
+    generic_24_byte( X_GLrop_SecondaryColor3dvEXT, v );
+}
+
+#define X_GLrop_SecondaryColor3fvEXT 4129
+void
+__indirect_glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SecondaryColor3fvEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SecondaryColor3fvEXT 4129
+void
+__indirect_glSecondaryColor3fvEXT(const GLfloat * v)
+{
+    generic_12_byte( X_GLrop_SecondaryColor3fvEXT, v );
+}
+
+#define X_GLrop_SecondaryColor3ivEXT 4128
+void
+__indirect_glSecondaryColor3iEXT(GLint red, GLint green, GLint blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SecondaryColor3ivEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SecondaryColor3ivEXT 4128
+void
+__indirect_glSecondaryColor3ivEXT(const GLint * v)
+{
+    generic_12_byte( X_GLrop_SecondaryColor3ivEXT, v );
+}
+
+#define X_GLrop_SecondaryColor3svEXT 4128
+void
+__indirect_glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SecondaryColor3svEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SecondaryColor3svEXT 4128
+void
+__indirect_glSecondaryColor3svEXT(const GLshort * v)
+{
+    generic_6_byte( X_GLrop_SecondaryColor3svEXT, v );
+}
+
+#define X_GLrop_SecondaryColor3ubvEXT 4131
+void
+__indirect_glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SecondaryColor3ubvEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1);
+    (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SecondaryColor3ubvEXT 4131
+void
+__indirect_glSecondaryColor3ubvEXT(const GLubyte * v)
+{
+    generic_3_byte( X_GLrop_SecondaryColor3ubvEXT, v );
+}
+
+#define X_GLrop_SecondaryColor3uivEXT 4133
+void
+__indirect_glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 16;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SecondaryColor3uivEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4);
+    (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SecondaryColor3uivEXT 4133
+void
+__indirect_glSecondaryColor3uivEXT(const GLuint * v)
+{
+    generic_12_byte( X_GLrop_SecondaryColor3uivEXT, v );
+}
+
+#define X_GLrop_SecondaryColor3usvEXT 4132
+void
+__indirect_glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_SecondaryColor3usvEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2);
+    (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_SecondaryColor3usvEXT 4132
+void
+__indirect_glSecondaryColor3usvEXT(const GLushort * v)
+{
+    generic_6_byte( X_GLrop_SecondaryColor3usvEXT, v );
+}
+
+#define X_GLrop_PointParameteriNV 4221
+void
+__indirect_glPointParameteriNV(GLenum pname, GLint params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 12;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PointParameteriNV, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&params), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_PointParameterivNV 4222
+void
+__indirect_glPointParameterivNV(GLenum pname, const GLint * params)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint compsize = __glPointParameterivNV_size(pname);
+    const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4));
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_PointParameterivNV, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4));
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
+#define X_GLrop_ActiveStencilFaceEXT 4220
+void
+__indirect_glActiveStencilFaceEXT(GLenum face)
+{
+    __GLXcontext * const gc = __glXGetCurrentContext();
+    Display * const dpy = gc->currentDpy;
+    const GLuint cmdlen = 8;
+    (void) dpy;
+    emit_header(gc->pc, X_GLrop_ActiveStencilFaceEXT, cmdlen);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4);
+    gc->pc += cmdlen;
+    if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
index a313ecf9591c6d388eb95bbe6a097f5bba8b624c..f5ffe1c483bacfafe07ef0f173fc0b89dc6a6839 100644 (file)
-/* $XFree86: xc/lib/GL/glx/indirect.h,v 1.5 2003/09/28 20:15:03 alanh Exp $ */
-/**************************************************************************
-
-Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sub license, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial portions
-of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
-ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-**************************************************************************/
+/* DO NOT EDIT - This file generated automatically by glX_proto_send.py (from Mesa) script */
 
 /*
- * Authors:
- *   Kevin E. Martin <kevin@precisioninsight.com>
- *
+ * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+ * (C) Copyright IBM Corporation 2004
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sub license,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * PRECISION INSIGHT, IBM,
+ * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
  */
 
-#if !defined( _INDIRECT_H_ ) || defined( GENERATE_GLX_PROTOCOL_FUNCTIONS )
 
-# if !defined( _INDIRECT_H_ ) 
-#  if defined( GENERATE_GLX_PROTOCOL_FUNCTIONS )
-#   error "indirect.h must be included once without GENERATE_GLX_PROTOCOL_FUNCTIONS defined!"
-#  endif
+/**
+ * \file
+ * Prototypes for indirect rendering functions.
+ *
+ * \author Kevin E. Martin <kevin@precisioninsight.com>
+ * \author Ian Romanick <idr@us.ibm.com>
+ */
 
+#if !defined( _INDIRECT_H_ )
 #  define _INDIRECT_H_
 
-#  define glxproto_void(name, rop) \
-   extern void __indirect_gl ## name ( void );
-#  define glxproto_Cv(name, rop, type, count) \
-   extern void __indirect_gl ## name (const type * v);
-#  define glxproto_Cv_transpose(name, rop, type, w) \
-   extern void __indirect_gl ## name (const type * v);
-#  define glxproto_1s(name, rop, type) \
-   extern void __indirect_gl ## name (type v1);
-#  define glxproto_2s(name, rop, type) \
-   extern void __indirect_gl ## name (type v1, type v2);
-#  define glxproto_3s(name, rop, type) \
-   extern void __indirect_gl ## name (type v1, type v2, type v3);
-#  define glxproto_4s(name, rop, type) \
-   extern void __indirect_gl ## name (type v1, type v2, type v3, type v4);
-#  define glxproto_6s(name, rop, type) \
-   void __indirect_gl ## name (type v1, type v2, type v3, type v4, type v5, type v6);
-#  define glxproto_enum1_1s(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, type v1);
-#  define glxproto_enum1_1v(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, const type * v);
-#  define glxproto_enum1_2s(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, type v1, type v2);
-#  define glxproto_enum1_2v(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, const type * v);
-#  define glxproto_enum1_3s(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, type v1, type v2, type v3);
-#  define glxproto_enum1_3v(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, const type * v);
-#  define glxproto_enum1_4s(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, type v1, type v2, type v3, type v4);
-#  define glxproto_enum1_4v(name, rop, type) \
-   void __indirect_gl ## name (GLenum e, const type * v);
-#  define glxproto_enum1_Vv(name, rop, type) \
-   void __indirect_gl ## name (GLenum pname, const type * v);
-#  define glxproto_enum2_1s(name, rop, type) \
-   void __indirect_gl ## name (GLenum target, GLenum pname, type v1);
-#define glxproto_enum2_Vv(name, rop, type) \
-   void __indirect_gl ## name (GLenum target, GLenum pname, const type * v);
-
-# endif /* !defined( _INDIRECT_H_ ) */
-
-#define glxproto_1(name, rop, type) \
-   glxproto_1s(name,      rop, type) \
-   glxproto_Cv(name ## v, rop, type, 1)
-
-#define glxvendr_1(name, rop, type, VEN) \
-   glxproto_1s(name ## VEN,      rop, type) \
-   glxproto_Cv(name ## v ## VEN, rop, type, 1)
-
-#define glxproto_2(name, rop, type) \
-   glxproto_2s(name,      rop, type) \
-   glxproto_Cv(name ## v, rop, type, 2)
-
-#define glxvendr_2(name, rop, type, VEN) \
-   glxproto_2s(name ## VEN,      rop, type) \
-   glxproto_Cv(name ## v ## VEN, rop, type, 2)
-
-#define glxproto_3(name, rop, type) \
-   glxproto_3s(name,      rop, type) \
-   glxproto_Cv(name ## v, rop, type, 3)
-
-#define glxvendr_3(name, rop, type, VEN) \
-   glxproto_3s(name ## VEN,      rop, type) \
-   glxproto_Cv(name ## v ## VEN, rop, type, 3)
-
-#define glxproto_4(name, rop, type) \
-   glxproto_4s(name,      rop, type) \
-   glxproto_Cv(name ## v, rop, type, 4)
-
-#define glxproto_enum1_1(name, rop, type) \
-   glxproto_enum1_1s(name,      rop, type) \
-   glxproto_enum1_1v(name ## v, rop, type)
-
-#define glxvendr_enum1_1(name, rop, type, VEN) \
-   glxproto_enum1_1s(name ## VEN,      rop, type) \
-   glxproto_enum1_1v(name ## v ## VEN, rop, type)
-
-#define glxproto_enum1_2(name, rop, type) \
-   glxproto_enum1_2s(name,      rop, type) \
-   glxproto_enum1_2v(name ## v, rop, type)
-
-#define glxvendr_enum1_2(name, rop, type, VEN) \
-   glxproto_enum1_2s(name ## VEN,      rop, type) \
-   glxproto_enum1_2v(name ## v ## VEN, rop, type)
-
-#define glxproto_enum1_3(name, rop, type) \
-   glxproto_enum1_3s(name,      rop, type) \
-   glxproto_enum1_3v(name ## v, rop, type)
-
-#define glxvendr_enum1_3(name, rop, type, VEN) \
-   glxproto_enum1_3s(name ## VEN,      rop, type) \
-   glxproto_enum1_3v(name ## v ## VEN, rop, type)
-
-#define glxproto_enum1_4(name, rop, type) \
-   glxproto_enum1_4s(name,      rop, type) \
-   glxproto_enum1_4v(name ## v, rop, type)
-
-#define glxvendr_enum1_4(name, rop, type, VEN) \
-   glxproto_enum1_4s(name ## VEN,      rop, type) \
-   glxproto_enum1_4v(name ## v ## VEN, rop, type)
-
-#define glxproto_enum1_V(name, rop, type) \
-   glxproto_enum1_1s(name,      rop,      type) \
-   glxproto_enum1_Vv(name ## v, rop ## v, type)
-
-#define glxvendr_enum1_V(name, rop, type, VEN) \
-   glxproto_enum1_1s(name ## VEN,      rop ## VEN,      type) \
-   glxproto_enum1_Vv(name ## v ## VEN, rop ## v ## VEN, type)
-
-#define glxproto_enum2_V(name, rop, type) \
-   glxproto_enum2_1s(name,      rop,      type) \
-   glxproto_enum2_Vv(name ## v, rop ## v, type)
-
-#define glxvendr_enum2_V(name, rop, type, VEN) \
-   glxproto_enum2_1s(name ## VEN,      rop ## VEN,      type) \
-   glxproto_enum2_Vv(name ## v ## VEN, rop ## v ## VEN, type)
-
-glxproto_1s(CallList, X_GLrop_CallList, GLuint)
-glxproto_1s(ListBase, X_GLrop_ListBase, GLuint)
-glxproto_1s(Begin,    X_GLrop_Begin,    GLenum)
-
-glxproto_3(Color3b,  X_GLrop_Color3bv,  GLbyte)
-glxproto_3(Color3s,  X_GLrop_Color3sv,  GLshort)
-glxproto_3(Color3i,  X_GLrop_Color3iv,  GLint)
-glxproto_3(Color3ub, X_GLrop_Color3ubv, GLubyte)
-glxproto_3(Color3us, X_GLrop_Color3usv, GLushort)
-glxproto_3(Color3ui, X_GLrop_Color3uiv, GLuint)
-glxproto_3(Color3f,  X_GLrop_Color3fv,  GLfloat)
-glxproto_3(Color3d,  X_GLrop_Color3dv,  GLdouble)
-
-glxproto_4(Color4b,  X_GLrop_Color4bv,  GLbyte)
-glxproto_4(Color4s,  X_GLrop_Color4sv,  GLshort)
-glxproto_4(Color4i,  X_GLrop_Color4iv,  GLint)
-glxproto_4(Color4ub, X_GLrop_Color4ubv, GLubyte)
-glxproto_4(Color4us, X_GLrop_Color4usv, GLushort)
-glxproto_4(Color4ui, X_GLrop_Color4uiv, GLuint)
-glxproto_4(Color4f,  X_GLrop_Color4fv,  GLfloat)
-glxproto_4(Color4d,  X_GLrop_Color4dv,  GLdouble)
-
-glxvendr_1(FogCoordf, X_GLrop_FogCoordfv, GLfloat,  EXT)
-glxvendr_1(FogCoordd, X_GLrop_FogCoorddv, GLdouble, EXT)
-
-glxvendr_3(SecondaryColor3b,  X_GLrop_SecondaryColor3bv,  GLbyte,   EXT)
-glxvendr_3(SecondaryColor3s,  X_GLrop_SecondaryColor3sv,  GLshort,  EXT)
-glxvendr_3(SecondaryColor3i,  X_GLrop_SecondaryColor3iv,  GLint,    EXT)
-glxvendr_3(SecondaryColor3ub, X_GLrop_SecondaryColor3ubv, GLubyte,  EXT)
-glxvendr_3(SecondaryColor3us, X_GLrop_SecondaryColor3usv, GLushort, EXT)
-glxvendr_3(SecondaryColor3ui, X_GLrop_SecondaryColor3uiv, GLuint,   EXT)
-glxvendr_3(SecondaryColor3f,  X_GLrop_SecondaryColor3fv,  GLfloat,  EXT)
-glxvendr_3(SecondaryColor3d,  X_GLrop_SecondaryColor3dv,  GLdouble, EXT)
-
-glxproto_1(EdgeFlag, X_GLrop_EdgeFlagv, GLboolean)
-
-glxproto_1(Indexd,  X_GLrop_Indexdv,  GLdouble)
-glxproto_1(Indexf,  X_GLrop_Indexfv,  GLfloat)
-glxproto_1(Indexi,  X_GLrop_Indexiv,  GLint)
-glxproto_1(Indexs,  X_GLrop_Indexsv,  GLshort)
-glxproto_1(Indexub, X_GLrop_Indexubv, GLubyte)
-
-glxproto_void(End, X_GLrop_End)
-
-glxproto_3(Normal3b, X_GLrop_Normal3bv, GLbyte)
-glxproto_3(Normal3s, X_GLrop_Normal3sv, GLshort)
-glxproto_3(Normal3i, X_GLrop_Normal3iv, GLint)
-glxproto_3(Normal3f, X_GLrop_Normal3fv, GLfloat)
-glxproto_3(Normal3d, X_GLrop_Normal3dv, GLdouble)
-
-glxproto_2(RasterPos2s, X_GLrop_RasterPos2sv, GLshort)
-glxproto_2(RasterPos2i, X_GLrop_RasterPos2iv, GLint)
-glxproto_2(RasterPos2f, X_GLrop_RasterPos2fv, GLfloat)
-glxproto_2(RasterPos2d, X_GLrop_RasterPos2dv, GLdouble)
-glxproto_3(RasterPos3s, X_GLrop_RasterPos3sv, GLshort)
-glxproto_3(RasterPos3i, X_GLrop_RasterPos3iv, GLint)
-glxproto_3(RasterPos3f, X_GLrop_RasterPos3fv, GLfloat)
-glxproto_3(RasterPos3d, X_GLrop_RasterPos3dv, GLdouble)
-glxproto_4(RasterPos4s, X_GLrop_RasterPos4sv, GLshort)
-glxproto_4(RasterPos4i, X_GLrop_RasterPos4iv, GLint)
-glxproto_4(RasterPos4f, X_GLrop_RasterPos4fv, GLfloat)
-glxproto_4(RasterPos4d, X_GLrop_RasterPos4dv, GLdouble)
-
-glxproto_1(TexCoord1s, X_GLrop_TexCoord1sv, GLshort)
-glxproto_1(TexCoord1i, X_GLrop_TexCoord1iv, GLint)
-glxproto_1(TexCoord1f, X_GLrop_TexCoord1fv, GLfloat)
-glxproto_1(TexCoord1d, X_GLrop_TexCoord1dv, GLdouble)
-glxproto_2(TexCoord2s, X_GLrop_TexCoord2sv, GLshort)
-glxproto_2(TexCoord2i, X_GLrop_TexCoord2iv, GLint)
-glxproto_2(TexCoord2f, X_GLrop_TexCoord2fv, GLfloat)
-glxproto_2(TexCoord2d, X_GLrop_TexCoord2dv, GLdouble)
-glxproto_3(TexCoord3s, X_GLrop_TexCoord3sv, GLshort)
-glxproto_3(TexCoord3i, X_GLrop_TexCoord3iv, GLint)
-glxproto_3(TexCoord3f, X_GLrop_TexCoord3fv, GLfloat)
-glxproto_3(TexCoord3d, X_GLrop_TexCoord3dv, GLdouble)
-glxproto_4(TexCoord4s, X_GLrop_TexCoord4sv, GLshort)
-glxproto_4(TexCoord4i, X_GLrop_TexCoord4iv, GLint)
-glxproto_4(TexCoord4f, X_GLrop_TexCoord4fv, GLfloat)
-glxproto_4(TexCoord4d, X_GLrop_TexCoord4dv, GLdouble)
-
-glxproto_2(Vertex2s, X_GLrop_Vertex2sv, GLshort)
-glxproto_2(Vertex2i, X_GLrop_Vertex2iv, GLint)
-glxproto_2(Vertex2f, X_GLrop_Vertex2fv, GLfloat)
-glxproto_2(Vertex2d, X_GLrop_Vertex2dv, GLdouble)
-glxproto_3(Vertex3s, X_GLrop_Vertex3sv, GLshort)
-glxproto_3(Vertex3i, X_GLrop_Vertex3iv, GLint)
-glxproto_3(Vertex3f, X_GLrop_Vertex3fv, GLfloat)
-glxproto_3(Vertex3d, X_GLrop_Vertex3dv, GLdouble)
-glxproto_4(Vertex4s, X_GLrop_Vertex4sv, GLshort)
-glxproto_4(Vertex4i, X_GLrop_Vertex4iv, GLint)
-glxproto_4(Vertex4f, X_GLrop_Vertex4fv, GLfloat)
-glxproto_4(Vertex4d, X_GLrop_Vertex4dv, GLdouble)
-
-glxproto_enum1_4v(ClipPlane, X_GLrop_ClipPlane, GLdouble)
-
-glxproto_2s(ColorMaterial, X_GLrop_ColorMaterial, GLenum)
-
-glxproto_1s(CullFace, X_GLrop_CullFace, GLenum)
-
-glxproto_enum1_V(Fogi, X_GLrop_Fogi, GLint)
-glxproto_enum1_V(Fogf, X_GLrop_Fogf, GLfloat)
-
-glxproto_1s(FrontFace, X_GLrop_FrontFace, GLenum)
-glxproto_2s(Hint,      X_GLrop_Hint,      GLenum)
-
-glxproto_enum2_V(Lighti,      X_GLrop_Lighti,      GLint)
-glxproto_enum2_V(Lightf,      X_GLrop_Lightf,      GLfloat)
-
-glxproto_enum1_V(LightModeli, X_GLrop_LightModeli, GLint)
-glxproto_enum1_V(LightModelf, X_GLrop_LightModelf, GLfloat)
-
-glxproto_1s(LineWidth, X_GLrop_LineWidth, GLfloat)
-
-glxproto_enum2_V(Materiali, X_GLrop_Materiali, GLint)
-glxproto_enum2_V(Materialf, X_GLrop_Materialf, GLfloat)
-
-glxproto_1s(PointSize, X_GLrop_PointSize, GLfloat)
-
-glxproto_2s(PolygonMode, X_GLrop_PolygonMode, GLenum)
-
-glxproto_1s(ShadeModel, X_GLrop_ShadeModel, GLenum)
 
-glxproto_enum2_V(TexParameteri, X_GLrop_TexParameteri, GLint)
-glxproto_enum2_V(TexParameterf, X_GLrop_TexParameterf, GLfloat)
-
-glxproto_enum2_V(TexEnvi, X_GLrop_TexEnvi, GLint)
-glxproto_enum2_V(TexEnvf, X_GLrop_TexEnvf, GLfloat)
-glxproto_enum2_V(TexGeni, X_GLrop_TexGeni, GLint)
-glxproto_enum2_V(TexGenf, X_GLrop_TexGenf, GLfloat)
-glxproto_enum2_V(TexGend, X_GLrop_TexGend, GLdouble)
-
-glxproto_void(InitNames, X_GLrop_InitNames)
-glxproto_1s(LoadName, X_GLrop_LoadName, GLuint)
-glxproto_1s(PassThrough, X_GLrop_PassThrough, GLfloat)
-glxproto_void(PopName, X_GLrop_PopName)
-glxproto_1s(PushName, X_GLrop_PushName, GLuint)
-
-glxproto_1s(DrawBuffer, X_GLrop_DrawBuffer, GLenum)
-glxproto_1s(Clear, X_GLrop_Clear, GLbitfield)
-
-glxproto_4s(ClearAccum,   X_GLrop_ClearAccum,   GLfloat)
-glxproto_1s(ClearIndex,   X_GLrop_ClearIndex,   GLfloat)
-glxproto_4s(ClearColor,   X_GLrop_ClearColor,   GLclampf)
-glxproto_1s(ClearStencil, X_GLrop_ClearStencil, GLint)
-glxproto_1s(ClearDepth,   X_GLrop_ClearDepth,   GLclampd)
-
-glxproto_1s(StencilMask,  X_GLrop_StencilMask,  GLuint)
-glxproto_4s(ColorMask,    X_GLrop_ColorMask,    GLboolean)
-glxproto_1s(DepthMask,    X_GLrop_DepthMask,    GLboolean)
-glxproto_1s(IndexMask,    X_GLrop_IndexMask,    GLuint)
-
-glxproto_enum1_1s(Accum, X_GLrop_Accum, GLfloat)
-
-glxproto_void(PopAttrib, X_GLrop_PopAttrib)
-glxproto_1s(PushAttrib,  X_GLrop_PushAttrib, GLbitfield)
-
-glxproto_1(EvalCoord1f, X_GLrop_EvalCoord1fv, GLfloat)
-glxproto_1(EvalCoord1d, X_GLrop_EvalCoord1dv, GLdouble)
-glxproto_2(EvalCoord2f, X_GLrop_EvalCoord2fv, GLfloat)
-glxproto_2(EvalCoord2d, X_GLrop_EvalCoord2dv, GLdouble)
-glxproto_enum1_2s(EvalMesh1, X_GLrop_EvalMesh1, GLint)
-glxproto_enum1_4s(EvalMesh2, X_GLrop_EvalMesh2, GLint)
-glxproto_1s(EvalPoint1, X_GLrop_EvalPoint1, GLint)
-glxproto_2s(EvalPoint2, X_GLrop_EvalPoint2, GLint)
-
-glxproto_enum1_1s(AlphaFunc, X_GLrop_AlphaFunc, GLclampf)
-
-glxproto_2s(BlendFunc,         X_GLrop_BlendFunc,         GLenum)
-
-#define X_GLrop_BlendFuncSeparateEXT 4134
-glxproto_4s(BlendFuncSeparateEXT, X_GLrop_BlendFuncSeparateEXT, GLenum)
-
-glxproto_1s(LogicOp, X_GLrop_LogicOp, GLenum)
-
-glxproto_3s(StencilOp, X_GLrop_StencilOp, GLenum)
-glxproto_1s(DepthFunc, X_GLrop_DepthFunc, GLenum)
-
-glxproto_2s(PixelZoom, X_GLrop_PixelZoom, GLfloat)
-
-glxproto_enum1_1s(PixelTransferf, X_GLrop_PixelTransferf, GLfloat)
-glxproto_enum1_1s(PixelTransferi, X_GLrop_PixelTransferi, GLint)
-
-glxproto_1s(ReadBuffer, X_GLrop_ReadBuffer, GLenum)
-
-glxproto_2s(DepthRange, X_GLrop_DepthRange, GLclampd)
-
-glxproto_6s(Frustum, X_GLrop_Frustum, GLdouble)
-
-glxproto_void(LoadIdentity, X_GLrop_LoadIdentity)
-glxproto_1s(MatrixMode, X_GLrop_MatrixMode, GLenum)
-glxproto_Cv(LoadMatrixf, X_GLrop_LoadMatrixf, GLfloat, 16)
-glxproto_Cv(MultMatrixf, X_GLrop_MultMatrixf, GLfloat, 16)
-glxproto_Cv(LoadMatrixd, X_GLrop_LoadMatrixd, GLdouble, 16)
-glxproto_Cv(MultMatrixd, X_GLrop_MultMatrixd, GLdouble, 16)
-
-void __indirect_glLoadTransposeMatrixdARB( const GLdouble * m );
-void __indirect_glLoadTransposeMatrixfARB( const GLfloat * m );
-void __indirect_glMultTransposeMatrixdARB( const GLdouble * m );
-void __indirect_glMultTransposeMatrixfARB( const GLfloat * m );
-
-glxproto_6s(Ortho, X_GLrop_Ortho, GLdouble)
-
-glxproto_void(PushMatrix, X_GLrop_PushMatrix)
-glxproto_void(PopMatrix,  X_GLrop_PopMatrix)
-
-glxproto_4s(Rotatef,    X_GLrop_Rotatef,    GLfloat)
-glxproto_3s(Scalef,     X_GLrop_Scalef,     GLfloat)
-glxproto_3s(Translatef, X_GLrop_Translatef, GLfloat)
-glxproto_4s(Rotated,    X_GLrop_Rotated,    GLdouble)
-glxproto_3s(Scaled,     X_GLrop_Scaled,     GLdouble)
-glxproto_3s(Translated, X_GLrop_Translated, GLdouble)
-
-glxproto_2s(PolygonOffset, X_GLrop_PolygonOffset, GLfloat)
-
-glxproto_enum1_1s(BindTexture, X_GLrop_BindTexture, GLuint)
-
-glxproto_4s(BlendColor,    X_GLrop_BlendColor,    GLclampf)
-glxproto_1s(BlendEquation, X_GLrop_BlendEquation, GLenum)
-
-glxproto_enum2_Vv(ColorTableParameteriv, X_GLrop_ColorTableParameteriv, GLint)
-glxproto_enum2_Vv(ColorTableParameterfv, X_GLrop_ColorTableParameterfv, GLfloat)
-
-glxproto_enum2_V(ConvolutionParameteri, X_GLrop_ConvolutionParameteri, GLint)
-glxproto_enum2_V(ConvolutionParameterf, X_GLrop_ConvolutionParameterf, GLfloat)
-
-glxproto_enum2_1s(Minmax, X_GLrop_Minmax, GLboolean)
-
-glxproto_1s(ResetHistogram, X_GLrop_ResetHistogram, GLenum)
-glxproto_1s(ResetMinmax,    X_GLrop_ResetMinmax,    GLenum)
-
-glxproto_1s(     ActiveTextureARB, X_GLrop_ActiveTextureARB,    GLenum)
-glxvendr_enum1_1(MultiTexCoord1s,  X_GLrop_MultiTexCoord1svARB, GLshort,  ARB)
-glxvendr_enum1_1(MultiTexCoord1i,  X_GLrop_MultiTexCoord1ivARB, GLint,    ARB)
-glxvendr_enum1_1(MultiTexCoord1f,  X_GLrop_MultiTexCoord1fvARB, GLfloat,  ARB)
-glxvendr_enum1_1(MultiTexCoord1d,  X_GLrop_MultiTexCoord1dvARB, GLdouble, ARB)
-glxvendr_enum1_2(MultiTexCoord2s,  X_GLrop_MultiTexCoord2svARB, GLshort,  ARB)
-glxvendr_enum1_2(MultiTexCoord2i,  X_GLrop_MultiTexCoord2ivARB, GLint,    ARB)
-glxvendr_enum1_2(MultiTexCoord2f,  X_GLrop_MultiTexCoord2fvARB, GLfloat,  ARB)
-glxvendr_enum1_2(MultiTexCoord2d,  X_GLrop_MultiTexCoord2dvARB, GLdouble, ARB)
-glxvendr_enum1_3(MultiTexCoord3s,  X_GLrop_MultiTexCoord3svARB, GLshort,  ARB)
-glxvendr_enum1_3(MultiTexCoord3i,  X_GLrop_MultiTexCoord3ivARB, GLint,    ARB)
-glxvendr_enum1_3(MultiTexCoord3f,  X_GLrop_MultiTexCoord3fvARB, GLfloat,  ARB)
-glxvendr_enum1_3(MultiTexCoord3d,  X_GLrop_MultiTexCoord3dvARB, GLdouble, ARB)
-glxvendr_enum1_4(MultiTexCoord4s,  X_GLrop_MultiTexCoord4svARB, GLshort,  ARB)
-glxvendr_enum1_4(MultiTexCoord4i,  X_GLrop_MultiTexCoord4ivARB, GLint,    ARB)
-glxvendr_enum1_4(MultiTexCoord4f,  X_GLrop_MultiTexCoord4fvARB, GLfloat,  ARB)
-glxvendr_enum1_4(MultiTexCoord4d,  X_GLrop_MultiTexCoord4dvARB, GLdouble, ARB)
-
-#define X_GLrop_PointParameterfEXT  2065
-#define X_GLrop_PointParameterfvEXT 2066
-#define X_GLrop_PointParameteriNV   4221
-#define X_GLrop_PointParameterivNV  4222
-
-glxvendr_enum1_V(PointParameterf, X_GLrop_PointParameterf, GLfloat, EXT)
-glxvendr_enum1_V(PointParameteri, X_GLrop_PointParameteri, GLint,   NV)
-
-glxvendr_3(WindowPos3f, X_GLrop_WindowPos3fARB, GLfloat, MESA)
-
-glxproto_1s(ActiveStencilFaceEXT, X_GLrop_ActiveStencilFaceEXT, GLenum)
-
-glxproto_4s(Rects, X_GLrop_Rectsv, GLshort)
-glxproto_4s(Recti, X_GLrop_Rectiv, GLint)
-glxproto_4s(Rectf, X_GLrop_Rectfv, GLfloat)
-glxproto_4s(Rectd, X_GLrop_Rectdv, GLdouble)
-
-#if !defined( GENERATE_GLX_PROTOCOL_FUNCTIONS )
-GLboolean __indirect_glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);
-GLboolean __indirect_glAreTexturesResidentEXT(GLsizei n, const GLuint *textures, GLboolean *residences);
-void __indirect_glArrayElement(GLint i);
-void __indirect_glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
-void __indirect_glCallLists(GLsizei n, GLenum type, const GLvoid *lists);
-void __indirect_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-void __indirect_glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
-void __indirect_glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-void __indirect_glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-void __indirect_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-void __indirect_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-void __indirect_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-void __indirect_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
-void __indirect_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
-void __indirect_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-void __indirect_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-void __indirect_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-void __indirect_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-void __indirect_glDeleteLists(GLuint list, GLsizei range);
-void __indirect_glDeleteTextures(GLsizei n, const GLuint *textures);
-void __indirect_glDeleteTexturesEXT(GLsizei n, const GLuint *textures);
-void __indirect_glDisable(GLenum cap);
-void __indirect_glDisableClientState(GLenum array);
-void __indirect_glDrawArrays(GLenum mode, GLint first, GLsizei count);
-void __indirect_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
-void __indirect_glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-void __indirect_glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);
-void __indirect_glEnable(GLenum cap);
-void __indirect_glEnableClientState(GLenum array);
-void __indirect_glEndList(void);
-void __indirect_glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);
-void __indirect_glFinish(void);
-void __indirect_glFlush(void);
-GLuint __indirect_glGenLists(GLsizei range);
-void __indirect_glGenTextures(GLsizei n, GLuint *textures);
-void __indirect_glGenTexturesEXT(GLsizei n, GLuint *textures);
-void __indirect_glGetBooleanv(GLenum val, GLboolean *b);
-void __indirect_glGetClipPlane(GLenum plane, GLdouble *equation);
-void __indirect_glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);
-void __indirect_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);
-void __indirect_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);
-void __indirect_glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);
-void __indirect_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
-void __indirect_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
-void __indirect_glGetDoublev(GLenum val, GLdouble *d);
-GLenum __indirect_glGetError(void);
-void __indirect_glGetFloatv(GLenum val, GLfloat *f);
-void __indirect_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-void __indirect_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
-void __indirect_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
-void __indirect_glGetIntegerv(GLenum val, GLint *i);
-void __indirect_glGetLightfv(GLenum light, GLenum pname, GLfloat *params);
-void __indirect_glGetLightiv(GLenum light, GLenum pname, GLint *params);
-void __indirect_glGetMapdv(GLenum target, GLenum query, GLdouble *v);
-void __indirect_glGetMapfv(GLenum target, GLenum query, GLfloat *v);
-void __indirect_glGetMapiv(GLenum target, GLenum query, GLint *v);
-void __indirect_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);
-void __indirect_glGetMaterialiv(GLenum face, GLenum pname, GLint *params);
-void __indirect_glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-void __indirect_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
-void __indirect_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
-void __indirect_glGetPixelMapfv(GLenum map, GLfloat *values);
-void __indirect_glGetPixelMapuiv(GLenum map, GLuint *values);
-void __indirect_glGetPixelMapusv(GLenum map, GLushort *values);
-void __indirect_glGetPointerv(GLenum pname, void **params);
-void __indirect_glGetPolygonStipple(GLubyte *mask);
-const GLubyte *__indirect_glGetString(GLenum name);
-void __indirect_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
-void __indirect_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);
-void __indirect_glGetTexEnviv(GLenum target, GLenum pname, GLint *params);
-void __indirect_glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);
-void __indirect_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);
-void __indirect_glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);
-void __indirect_glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *texels);
-void __indirect_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
-void __indirect_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
-void __indirect_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
-void __indirect_glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
-void __indirect_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-void __indirect_glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
-void __indirect_glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
-GLboolean __indirect_glIsEnabled(GLenum cap);
-GLboolean __indirect_glIsList(GLuint list);
-GLboolean __indirect_glIsTexture(GLuint texture);
-GLboolean __indirect_glIsTextureEXT(GLuint texture);
-void __indirect_glLineStipple(GLint factor, GLushort pattern);
-void __indirect_glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *pnts);
-void __indirect_glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *pnts);
-void __indirect_glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustr, GLint uord, GLdouble v1, GLdouble v2, GLint vstr, GLint vord, const GLdouble *pnts);
-void __indirect_glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustr, GLint uord, GLfloat v1, GLfloat v2, GLint vstr, GLint vord, const GLfloat *pnts);
-void __indirect_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);
-void __indirect_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);
-void __indirect_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
-void __indirect_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
-void __indirect_glNewList(GLuint list, GLenum mode);
-void __indirect_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
-void __indirect_glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values);
-void __indirect_glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values);
-void __indirect_glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values);
-void __indirect_glPixelStoref(GLenum pname, GLfloat param);
-void __indirect_glPixelStorei(GLenum pname, GLint param);
-void __indirect_glPolygonStipple(const GLubyte *mask);
-void __indirect_glPopClientAttrib(void);
-void __indirect_glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities);
-void __indirect_glPushClientAttrib(GLuint mask);
-void __indirect_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
-void __indirect_glRectdv(const GLdouble *v1, const GLdouble *v2);
-void __indirect_glRectfv(const GLfloat *v1, const GLfloat *v2);
-void __indirect_glRectiv(const GLint *v1, const GLint *v2);
-void __indirect_glRectsv(const GLshort *v1, const GLshort *v2);
-GLint __indirect_glRenderMode(GLenum mode);
-void __indirect_glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
-void __indirect_glSelectBuffer(GLsizei numnames, GLuint *buffer);
-void __indirect_glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
-void __indirect_glStencilFunc(GLenum func, GLint ref, GLuint mask);
-void __indirect_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-void __indirect_glTexImage1D(GLenum target, GLint level, GLint components, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glTexImage2D(GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *image);
-void __indirect_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-void __indirect_glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
-
-void __indirect_glClientActiveTextureARB(GLenum texture);
-
-void __indirect_glSampleCoverageARB( GLfloat value, GLboolean invert );
-
-void __indirect_glWindowPos2dMESA(GLdouble x, GLdouble y);
-void __indirect_glWindowPos2iMESA(GLint x, GLint y);
-void __indirect_glWindowPos2fMESA(GLfloat x, GLfloat y);
-void __indirect_glWindowPos2sMESA(GLshort x, GLshort y);
-void __indirect_glWindowPos2dvMESA(const GLdouble * p);
-void __indirect_glWindowPos2fvMESA(const GLfloat * p);
-void __indirect_glWindowPos2ivMESA(const GLint * p);
-void __indirect_glWindowPos2svMESA(const GLshort * p);
-void __indirect_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);
-void __indirect_glWindowPos3iMESA(GLint x, GLint y, GLint z);
-void __indirect_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z);
-void __indirect_glWindowPos3dvMESA(const GLdouble * p);
-void __indirect_glWindowPos3ivMESA(const GLint * p);
-void __indirect_glWindowPos3svMESA(const GLshort * p);
-
-void __indirect_glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
-void __indirect_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid ** indices, GLsizei primcount);
-
-void __indirect_glSampleMaskSGIS( GLfloat value, GLboolean invert );
-void __indirect_glSamplePatternSGIS( GLenum pass );
-
-/* ARB 12. GL_ARB_texture_compression / GL 1.3 */
-
-void __indirect_glGetCompressedTexImageARB( GLenum target, GLint level,
-    GLvoid * img );
-void __indirect_glCompressedTexImage1DARB( GLenum target, GLint level,
-    GLenum internalformat, GLsizei width,
-    GLint border, GLsizei image_size, const GLvoid *data );
-void __indirect_glCompressedTexImage2DARB( GLenum target, GLint level,
-    GLenum internalformat, GLsizei width, GLsizei height,
-    GLint border, GLsizei image_size, const GLvoid *data );
-void __indirect_glCompressedTexImage3DARB( GLenum target, GLint level,
-    GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,
-    GLint border, GLsizei image_size, const GLvoid *data );
-void __indirect_glCompressedTexSubImage1DARB( GLenum target, GLint level,
-    GLint xoffset,
-    GLsizei width,
-    GLenum format, GLsizei image_size, const GLvoid *data );
-void __indirect_glCompressedTexSubImage2DARB( GLenum target, GLint level,
-    GLint xoffset, GLint yoffset,
-    GLsizei width, GLsizei height,
-    GLenum format, GLsizei image_size, const GLvoid *data );
-void __indirect_glCompressedTexSubImage3DARB( GLenum target, GLint level,
-    GLint xoffset, GLint yoffset, GLint zoffset,
-    GLsizei width, GLsizei height, GLsizei depth,
-    GLenum format, GLsizei image_size, const GLvoid *data );
-
-void __indirect_glColorPointerEXT(GLint size, GLenum type, GLsizei stride,
-    GLsizei count, const GLvoid * pointer );
-void __indirect_glEdgeFlagPointerEXT(GLsizei stride,
-    GLsizei count, const GLboolean * pointer );
-void __indirect_glIndexPointerEXT(GLenum type, GLsizei stride,
-    GLsizei count, const GLvoid * pointer );
-void __indirect_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count,
-    const GLvoid * pointer );
-void __indirect_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
-    GLsizei count, const GLvoid * pointer );
-void __indirect_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride,
-    GLsizei count, const GLvoid * pointer );
-
-/* 145. GL_EXT_secondary_color / GL 1.4 */
-
-void __indirect_glSecondaryColorPointerEXT (GLint, GLenum, GLsizei, const GLvoid *);
-
-/* 149. GL_EXT_fog_coord / GL 1.4 */
-
-void __indirect_glFogCoordPointerEXT (GLenum, GLsizei, const GLvoid *);
-
-# undef glxproto_void
-# undef glxproto_Cv
-# undef glxproto_Cv_transpose
-# undef glxproto_1s
-# undef glxproto_2s
-# undef glxproto_3s
-# undef glxproto_4s
-# undef glxproto_6s
-# undef glxproto_enum1_1s
-# undef glxproto_enum1_1v
-# undef glxproto_enum1_2s
-# undef glxproto_enum1_2v
-# undef glxproto_enum1_3s
-# undef glxproto_enum1_3v
-# undef glxproto_enum1_4s
-# undef glxproto_enum1_4v
-# undef glxproto_enum1_Vv
-# undef glxproto_enum2_1s
-# undef glxproto_enum2_Vv
-# undef glxproto_1
-# undef glxvendr_1
-# undef glxproto_2
-# undef glxvendr_2
-# undef glxproto_3
-# undef glxvendr_3
-# undef glxproto_4
-# undef glxproto_enum1_1
-# undef glxvendr_enum1_1
-# undef glxproto_enum1_2
-# undef glxvendr_enum1_2
-# undef glxproto_enum1_3
-# undef glxvendr_enum1_3
-# undef glxproto_enum1_4
-# undef glxvendr_enum1_4
-# undef glxproto_enum1_V
-# undef glxvendr_enum1_V
-# undef glxproto_enum2_V
-# undef glxvendr_enum2_V
-#endif /* !defined( GENERATE_GLX_PROTOCOL_FUNCTIONS ) */
-
-#endif /* _INDIRECT_H_ */
+#  if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
+#    define HIDDEN  __attribute__((visibility("hidden")))
+#  else
+#    define HIDDEN
+#  endif
+extern HIDDEN void __indirect_glNewList(GLuint list, GLenum mode);
+extern HIDDEN void __indirect_glEndList(void);
+extern HIDDEN void __indirect_glCallList(GLuint list);
+extern HIDDEN void __indirect_glCallLists(GLsizei n, GLenum type, const GLvoid * lists);
+extern HIDDEN void __indirect_glDeleteLists(GLuint list, GLsizei range);
+extern HIDDEN GLuint __indirect_glGenLists(GLsizei range);
+extern HIDDEN void __indirect_glListBase(GLuint base);
+extern HIDDEN void __indirect_glBegin(GLenum mode);
+extern HIDDEN void __indirect_glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap);
+extern HIDDEN void __indirect_glColor3b(GLbyte red, GLbyte green, GLbyte blue);
+extern HIDDEN void __indirect_glColor3bv(const GLbyte * v);
+extern HIDDEN void __indirect_glColor3d(GLdouble red, GLdouble green, GLdouble blue);
+extern HIDDEN void __indirect_glColor3dv(const GLdouble * v);
+extern HIDDEN void __indirect_glColor3f(GLfloat red, GLfloat green, GLfloat blue);
+extern HIDDEN void __indirect_glColor3fv(const GLfloat * v);
+extern HIDDEN void __indirect_glColor3i(GLint red, GLint green, GLint blue);
+extern HIDDEN void __indirect_glColor3iv(const GLint * v);
+extern HIDDEN void __indirect_glColor3s(GLshort red, GLshort green, GLshort blue);
+extern HIDDEN void __indirect_glColor3sv(const GLshort * v);
+extern HIDDEN void __indirect_glColor3ub(GLubyte red, GLubyte green, GLubyte blue);
+extern HIDDEN void __indirect_glColor3ubv(const GLubyte * v);
+extern HIDDEN void __indirect_glColor3ui(GLuint red, GLuint green, GLuint blue);
+extern HIDDEN void __indirect_glColor3uiv(const GLuint * v);
+extern HIDDEN void __indirect_glColor3us(GLushort red, GLushort green, GLushort blue);
+extern HIDDEN void __indirect_glColor3usv(const GLushort * v);
+extern HIDDEN void __indirect_glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
+extern HIDDEN void __indirect_glColor4bv(const GLbyte * v);
+extern HIDDEN void __indirect_glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
+extern HIDDEN void __indirect_glColor4dv(const GLdouble * v);
+extern HIDDEN void __indirect_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+extern HIDDEN void __indirect_glColor4fv(const GLfloat * v);
+extern HIDDEN void __indirect_glColor4i(GLint red, GLint green, GLint blue, GLint alpha);
+extern HIDDEN void __indirect_glColor4iv(const GLint * v);
+extern HIDDEN void __indirect_glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);
+extern HIDDEN void __indirect_glColor4sv(const GLshort * v);
+extern HIDDEN void __indirect_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
+extern HIDDEN void __indirect_glColor4ubv(const GLubyte * v);
+extern HIDDEN void __indirect_glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);
+extern HIDDEN void __indirect_glColor4uiv(const GLuint * v);
+extern HIDDEN void __indirect_glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);
+extern HIDDEN void __indirect_glColor4usv(const GLushort * v);
+extern HIDDEN void __indirect_glEdgeFlag(GLboolean flag);
+extern HIDDEN void __indirect_glEdgeFlagv(const GLboolean * flag);
+extern HIDDEN void __indirect_glEnd(void);
+extern HIDDEN void __indirect_glIndexd(GLdouble c);
+extern HIDDEN void __indirect_glIndexdv(const GLdouble * c);
+extern HIDDEN void __indirect_glIndexf(GLfloat c);
+extern HIDDEN void __indirect_glIndexfv(const GLfloat * c);
+extern HIDDEN void __indirect_glIndexi(GLint c);
+extern HIDDEN void __indirect_glIndexiv(const GLint * c);
+extern HIDDEN void __indirect_glIndexs(GLshort c);
+extern HIDDEN void __indirect_glIndexsv(const GLshort * c);
+extern HIDDEN void __indirect_glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);
+extern HIDDEN void __indirect_glNormal3bv(const GLbyte * v);
+extern HIDDEN void __indirect_glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);
+extern HIDDEN void __indirect_glNormal3dv(const GLdouble * v);
+extern HIDDEN void __indirect_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
+extern HIDDEN void __indirect_glNormal3fv(const GLfloat * v);
+extern HIDDEN void __indirect_glNormal3i(GLint nx, GLint ny, GLint nz);
+extern HIDDEN void __indirect_glNormal3iv(const GLint * v);
+extern HIDDEN void __indirect_glNormal3s(GLshort nx, GLshort ny, GLshort nz);
+extern HIDDEN void __indirect_glNormal3sv(const GLshort * v);
+extern HIDDEN void __indirect_glRasterPos2d(GLdouble x, GLdouble y);
+extern HIDDEN void __indirect_glRasterPos2dv(const GLdouble * v);
+extern HIDDEN void __indirect_glRasterPos2f(GLfloat x, GLfloat y);
+extern HIDDEN void __indirect_glRasterPos2fv(const GLfloat * v);
+extern HIDDEN void __indirect_glRasterPos2i(GLint x, GLint y);
+extern HIDDEN void __indirect_glRasterPos2iv(const GLint * v);
+extern HIDDEN void __indirect_glRasterPos2s(GLshort x, GLshort y);
+extern HIDDEN void __indirect_glRasterPos2sv(const GLshort * v);
+extern HIDDEN void __indirect_glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);
+extern HIDDEN void __indirect_glRasterPos3dv(const GLdouble * v);
+extern HIDDEN void __indirect_glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);
+extern HIDDEN void __indirect_glRasterPos3fv(const GLfloat * v);
+extern HIDDEN void __indirect_glRasterPos3i(GLint x, GLint y, GLint z);
+extern HIDDEN void __indirect_glRasterPos3iv(const GLint * v);
+extern HIDDEN void __indirect_glRasterPos3s(GLshort x, GLshort y, GLshort z);
+extern HIDDEN void __indirect_glRasterPos3sv(const GLshort * v);
+extern HIDDEN void __indirect_glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+extern HIDDEN void __indirect_glRasterPos4dv(const GLdouble * v);
+extern HIDDEN void __indirect_glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+extern HIDDEN void __indirect_glRasterPos4fv(const GLfloat * v);
+extern HIDDEN void __indirect_glRasterPos4i(GLint x, GLint y, GLint z, GLint w);
+extern HIDDEN void __indirect_glRasterPos4iv(const GLint * v);
+extern HIDDEN void __indirect_glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
+extern HIDDEN void __indirect_glRasterPos4sv(const GLshort * v);
+extern HIDDEN void __indirect_glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
+extern HIDDEN void __indirect_glRectdv(const GLdouble * v1, const GLdouble * v2);
+extern HIDDEN void __indirect_glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
+extern HIDDEN void __indirect_glRectfv(const GLfloat * v1, const GLfloat * v2);
+extern HIDDEN void __indirect_glRecti(GLint x1, GLint y1, GLint x2, GLint y2);
+extern HIDDEN void __indirect_glRectiv(const GLint * v1, const GLint * v2);
+extern HIDDEN void __indirect_glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
+extern HIDDEN void __indirect_glRectsv(const GLshort * v1, const GLshort * v2);
+extern HIDDEN void __indirect_glTexCoord1d(GLdouble s);
+extern HIDDEN void __indirect_glTexCoord1dv(const GLdouble * v);
+extern HIDDEN void __indirect_glTexCoord1f(GLfloat s);
+extern HIDDEN void __indirect_glTexCoord1fv(const GLfloat * v);
+extern HIDDEN void __indirect_glTexCoord1i(GLint s);
+extern HIDDEN void __indirect_glTexCoord1iv(const GLint * v);
+extern HIDDEN void __indirect_glTexCoord1s(GLshort s);
+extern HIDDEN void __indirect_glTexCoord1sv(const GLshort * v);
+extern HIDDEN void __indirect_glTexCoord2d(GLdouble s, GLdouble t);
+extern HIDDEN void __indirect_glTexCoord2dv(const GLdouble * v);
+extern HIDDEN void __indirect_glTexCoord2f(GLfloat s, GLfloat t);
+extern HIDDEN void __indirect_glTexCoord2fv(const GLfloat * v);
+extern HIDDEN void __indirect_glTexCoord2i(GLint s, GLint t);
+extern HIDDEN void __indirect_glTexCoord2iv(const GLint * v);
+extern HIDDEN void __indirect_glTexCoord2s(GLshort s, GLshort t);
+extern HIDDEN void __indirect_glTexCoord2sv(const GLshort * v);
+extern HIDDEN void __indirect_glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);
+extern HIDDEN void __indirect_glTexCoord3dv(const GLdouble * v);
+extern HIDDEN void __indirect_glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);
+extern HIDDEN void __indirect_glTexCoord3fv(const GLfloat * v);
+extern HIDDEN void __indirect_glTexCoord3i(GLint s, GLint t, GLint r);
+extern HIDDEN void __indirect_glTexCoord3iv(const GLint * v);
+extern HIDDEN void __indirect_glTexCoord3s(GLshort s, GLshort t, GLshort r);
+extern HIDDEN void __indirect_glTexCoord3sv(const GLshort * v);
+extern HIDDEN void __indirect_glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+extern HIDDEN void __indirect_glTexCoord4dv(const GLdouble * v);
+extern HIDDEN void __indirect_glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+extern HIDDEN void __indirect_glTexCoord4fv(const GLfloat * v);
+extern HIDDEN void __indirect_glTexCoord4i(GLint s, GLint t, GLint r, GLint q);
+extern HIDDEN void __indirect_glTexCoord4iv(const GLint * v);
+extern HIDDEN void __indirect_glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);
+extern HIDDEN void __indirect_glTexCoord4sv(const GLshort * v);
+extern HIDDEN void __indirect_glVertex2d(GLdouble x, GLdouble y);
+extern HIDDEN void __indirect_glVertex2dv(const GLdouble * v);
+extern HIDDEN void __indirect_glVertex2f(GLfloat x, GLfloat y);
+extern HIDDEN void __indirect_glVertex2fv(const GLfloat * v);
+extern HIDDEN void __indirect_glVertex2i(GLint x, GLint y);
+extern HIDDEN void __indirect_glVertex2iv(const GLint * v);
+extern HIDDEN void __indirect_glVertex2s(GLshort x, GLshort y);
+extern HIDDEN void __indirect_glVertex2sv(const GLshort * v);
+extern HIDDEN void __indirect_glVertex3d(GLdouble x, GLdouble y, GLdouble z);
+extern HIDDEN void __indirect_glVertex3dv(const GLdouble * v);
+extern HIDDEN void __indirect_glVertex3f(GLfloat x, GLfloat y, GLfloat z);
+extern HIDDEN void __indirect_glVertex3fv(const GLfloat * v);
+extern HIDDEN void __indirect_glVertex3i(GLint x, GLint y, GLint z);
+extern HIDDEN void __indirect_glVertex3iv(const GLint * v);
+extern HIDDEN void __indirect_glVertex3s(GLshort x, GLshort y, GLshort z);
+extern HIDDEN void __indirect_glVertex3sv(const GLshort * v);
+extern HIDDEN void __indirect_glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+extern HIDDEN void __indirect_glVertex4dv(const GLdouble * v);
+extern HIDDEN void __indirect_glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+extern HIDDEN void __indirect_glVertex4fv(const GLfloat * v);
+extern HIDDEN void __indirect_glVertex4i(GLint x, GLint y, GLint z, GLint w);
+extern HIDDEN void __indirect_glVertex4iv(const GLint * v);
+extern HIDDEN void __indirect_glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);
+extern HIDDEN void __indirect_glVertex4sv(const GLshort * v);
+extern HIDDEN void __indirect_glClipPlane(GLenum plane, const GLdouble * equation);
+extern HIDDEN void __indirect_glColorMaterial(GLenum face, GLenum mode);
+extern HIDDEN void __indirect_glCullFace(GLenum mode);
+extern HIDDEN void __indirect_glFogf(GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glFogfv(GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glFogi(GLenum pname, GLint param);
+extern HIDDEN void __indirect_glFogiv(GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glFrontFace(GLenum mode);
+extern HIDDEN void __indirect_glHint(GLenum target, GLenum mode);
+extern HIDDEN void __indirect_glLightf(GLenum light, GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glLightfv(GLenum light, GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glLighti(GLenum light, GLenum pname, GLint param);
+extern HIDDEN void __indirect_glLightiv(GLenum light, GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glLightModelf(GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glLightModelfv(GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glLightModeli(GLenum pname, GLint param);
+extern HIDDEN void __indirect_glLightModeliv(GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glLineStipple(GLint factor, GLushort pattern);
+extern HIDDEN void __indirect_glLineWidth(GLfloat width);
+extern HIDDEN void __indirect_glMaterialf(GLenum face, GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glMaterialfv(GLenum face, GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glMateriali(GLenum face, GLenum pname, GLint param);
+extern HIDDEN void __indirect_glMaterialiv(GLenum face, GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glPointSize(GLfloat size);
+extern HIDDEN void __indirect_glPolygonMode(GLenum face, GLenum mode);
+extern HIDDEN void __indirect_glPolygonStipple(const GLubyte * mask);
+extern HIDDEN void __indirect_glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
+extern HIDDEN void __indirect_glShadeModel(GLenum mode);
+extern HIDDEN void __indirect_glTexParameterf(GLenum target, GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glTexParameterfv(GLenum target, GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glTexParameteri(GLenum target, GLenum pname, GLint param);
+extern HIDDEN void __indirect_glTexParameteriv(GLenum target, GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
+extern HIDDEN void __indirect_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
+extern HIDDEN void __indirect_glTexEnvf(GLenum target, GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glTexEnvfv(GLenum target, GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glTexEnvi(GLenum target, GLenum pname, GLint param);
+extern HIDDEN void __indirect_glTexEnviv(GLenum target, GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glTexGend(GLenum coord, GLenum pname, GLdouble param);
+extern HIDDEN void __indirect_glTexGendv(GLenum coord, GLenum pname, const GLdouble * params);
+extern HIDDEN void __indirect_glTexGenf(GLenum coord, GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glTexGenfv(GLenum coord, GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glTexGeni(GLenum coord, GLenum pname, GLint param);
+extern HIDDEN void __indirect_glTexGeniv(GLenum coord, GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glFeedbackBuffer(GLsizei size, GLenum type, GLfloat * buffer);
+extern HIDDEN void __indirect_glSelectBuffer(GLsizei size, GLuint * buffer);
+extern HIDDEN GLint __indirect_glRenderMode(GLenum mode);
+extern HIDDEN void __indirect_glInitNames(void);
+extern HIDDEN void __indirect_glLoadName(GLuint name);
+extern HIDDEN void __indirect_glPassThrough(GLfloat token);
+extern HIDDEN void __indirect_glPopName(void);
+extern HIDDEN void __indirect_glPushName(GLuint name);
+extern HIDDEN void __indirect_glDrawBuffer(GLenum mode);
+extern HIDDEN void __indirect_glClear(GLbitfield mask);
+extern HIDDEN void __indirect_glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+extern HIDDEN void __indirect_glClearIndex(GLfloat c);
+extern HIDDEN void __indirect_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+extern HIDDEN void __indirect_glClearStencil(GLint s);
+extern HIDDEN void __indirect_glClearDepth(GLclampd depth);
+extern HIDDEN void __indirect_glStencilMask(GLuint mask);
+extern HIDDEN void __indirect_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+extern HIDDEN void __indirect_glDepthMask(GLboolean flag);
+extern HIDDEN void __indirect_glIndexMask(GLuint mask);
+extern HIDDEN void __indirect_glAccum(GLenum op, GLfloat value);
+extern HIDDEN void __indirect_glDisable(GLenum cap);
+extern HIDDEN void __indirect_glEnable(GLenum cap);
+extern HIDDEN void __indirect_glFinish(void);
+extern HIDDEN void __indirect_glFlush(void);
+extern HIDDEN void __indirect_glPopAttrib(void);
+extern HIDDEN void __indirect_glPushAttrib(GLbitfield mask);
+extern HIDDEN void __indirect_glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points);
+extern HIDDEN void __indirect_glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points);
+extern HIDDEN void __indirect_glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points);
+extern HIDDEN void __indirect_glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points);
+extern HIDDEN void __indirect_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);
+extern HIDDEN void __indirect_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);
+extern HIDDEN void __indirect_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
+extern HIDDEN void __indirect_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
+extern HIDDEN void __indirect_glEvalCoord1d(GLdouble u);
+extern HIDDEN void __indirect_glEvalCoord1dv(const GLdouble * u);
+extern HIDDEN void __indirect_glEvalCoord1f(GLfloat u);
+extern HIDDEN void __indirect_glEvalCoord1fv(const GLfloat * u);
+extern HIDDEN void __indirect_glEvalCoord2d(GLdouble u, GLdouble v);
+extern HIDDEN void __indirect_glEvalCoord2dv(const GLdouble * u);
+extern HIDDEN void __indirect_glEvalCoord2f(GLfloat u, GLfloat v);
+extern HIDDEN void __indirect_glEvalCoord2fv(const GLfloat * u);
+extern HIDDEN void __indirect_glEvalMesh1(GLenum mode, GLint i1, GLint i2);
+extern HIDDEN void __indirect_glEvalPoint1(GLint i);
+extern HIDDEN void __indirect_glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
+extern HIDDEN void __indirect_glEvalPoint2(GLint i, GLint j);
+extern HIDDEN void __indirect_glAlphaFunc(GLenum func, GLclampf ref);
+extern HIDDEN void __indirect_glBlendFunc(GLenum sfactor, GLenum dfactor);
+extern HIDDEN void __indirect_glLogicOp(GLenum opcode);
+extern HIDDEN void __indirect_glStencilFunc(GLenum func, GLint ref, GLuint mask);
+extern HIDDEN void __indirect_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
+extern HIDDEN void __indirect_glDepthFunc(GLenum func);
+extern HIDDEN void __indirect_glPixelZoom(GLfloat xfactor, GLfloat yfactor);
+extern HIDDEN void __indirect_glPixelTransferf(GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glPixelTransferi(GLenum pname, GLint param);
+extern HIDDEN void __indirect_glPixelStoref(GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glPixelStorei(GLenum pname, GLint param);
+extern HIDDEN void __indirect_glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat * values);
+extern HIDDEN void __indirect_glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint * values);
+extern HIDDEN void __indirect_glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort * values);
+extern HIDDEN void __indirect_glReadBuffer(GLenum mode);
+extern HIDDEN void __indirect_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
+extern HIDDEN void __indirect_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels);
+extern HIDDEN void __indirect_glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels);
+extern HIDDEN void __indirect_glGetBooleanv(GLenum pname, GLboolean * params);
+extern HIDDEN void __indirect_glGetClipPlane(GLenum plane, GLdouble * equation);
+extern HIDDEN void __indirect_glGetDoublev(GLenum pname, GLdouble * params);
+extern HIDDEN GLenum __indirect_glGetError(void);
+extern HIDDEN void __indirect_glGetFloatv(GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetIntegerv(GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glGetLightfv(GLenum light, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetLightiv(GLenum light, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glGetMapdv(GLenum target, GLenum query, GLdouble * v);
+extern HIDDEN void __indirect_glGetMapfv(GLenum target, GLenum query, GLfloat * v);
+extern HIDDEN void __indirect_glGetMapiv(GLenum target, GLenum query, GLint * v);
+extern HIDDEN void __indirect_glGetMaterialfv(GLenum face, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetMaterialiv(GLenum face, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glGetPixelMapfv(GLenum map, GLfloat * values);
+extern HIDDEN void __indirect_glGetPixelMapuiv(GLenum map, GLuint * values);
+extern HIDDEN void __indirect_glGetPixelMapusv(GLenum map, GLushort * values);
+extern HIDDEN void __indirect_glGetPolygonStipple(GLubyte * mask);
+extern HIDDEN const GLubyte * __indirect_glGetString(GLenum name);
+extern HIDDEN void __indirect_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetTexEnviv(GLenum target, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glGetTexGendv(GLenum coord, GLenum pname, GLdouble * params);
+extern HIDDEN void __indirect_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetTexGeniv(GLenum coord, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels);
+extern HIDDEN void __indirect_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetTexParameteriv(GLenum target, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params);
+extern HIDDEN GLboolean __indirect_glIsEnabled(GLenum cap);
+extern HIDDEN GLboolean __indirect_glIsList(GLuint list);
+extern HIDDEN void __indirect_glDepthRange(GLclampd zNear, GLclampd zFar);
+extern HIDDEN void __indirect_glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+extern HIDDEN void __indirect_glLoadIdentity(void);
+extern HIDDEN void __indirect_glLoadMatrixf(const GLfloat * m);
+extern HIDDEN void __indirect_glLoadMatrixd(const GLdouble * m);
+extern HIDDEN void __indirect_glMatrixMode(GLenum mode);
+extern HIDDEN void __indirect_glMultMatrixf(const GLfloat * m);
+extern HIDDEN void __indirect_glMultMatrixd(const GLdouble * m);
+extern HIDDEN void __indirect_glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+extern HIDDEN void __indirect_glPopMatrix(void);
+extern HIDDEN void __indirect_glPushMatrix(void);
+extern HIDDEN void __indirect_glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+extern HIDDEN void __indirect_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+extern HIDDEN void __indirect_glScaled(GLdouble x, GLdouble y, GLdouble z);
+extern HIDDEN void __indirect_glScalef(GLfloat x, GLfloat y, GLfloat z);
+extern HIDDEN void __indirect_glTranslated(GLdouble x, GLdouble y, GLdouble z);
+extern HIDDEN void __indirect_glTranslatef(GLfloat x, GLfloat y, GLfloat z);
+extern HIDDEN void __indirect_glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
+extern HIDDEN void __indirect_glArrayElement(GLint i);
+extern HIDDEN void __indirect_glBindTexture(GLenum target, GLuint texture);
+extern HIDDEN void __indirect_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
+extern HIDDEN void __indirect_glDisableClientState(GLenum array);
+extern HIDDEN void __indirect_glDrawArrays(GLenum mode, GLint first, GLsizei count);
+extern HIDDEN void __indirect_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices);
+extern HIDDEN void __indirect_glEdgeFlagPointer(GLsizei stride, const GLvoid * pointer);
+extern HIDDEN void __indirect_glEnableClientState(GLenum array);
+extern HIDDEN void __indirect_glIndexPointer(GLenum type, GLsizei stride, const GLvoid * pointer);
+extern HIDDEN void __indirect_glIndexub(GLubyte c);
+extern HIDDEN void __indirect_glIndexubv(const GLubyte * c);
+extern HIDDEN void __indirect_glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid * pointer);
+extern HIDDEN void __indirect_glNormalPointer(GLenum type, GLsizei stride, const GLvoid * pointer);
+extern HIDDEN void __indirect_glPolygonOffset(GLfloat factor, GLfloat units);
+extern HIDDEN void __indirect_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
+extern HIDDEN void __indirect_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
+extern HIDDEN GLboolean __indirect_glAreTexturesResident(GLsizei n, const GLuint * textures, GLboolean * residences);
+extern HIDDEN void __indirect_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+extern HIDDEN void __indirect_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+extern HIDDEN void __indirect_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+extern HIDDEN void __indirect_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+extern HIDDEN void __indirect_glDeleteTextures(GLsizei n, const GLuint * textures);
+extern HIDDEN void __indirect_glGenTextures(GLsizei n, GLuint * textures);
+extern HIDDEN void __indirect_glGetPointerv(GLenum pname, GLvoid ** params);
+extern HIDDEN GLboolean __indirect_glIsTexture(GLuint texture);
+extern HIDDEN void __indirect_glPrioritizeTextures(GLsizei n, const GLuint * textures, const GLclampf * priorities);
+extern HIDDEN void __indirect_glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels);
+extern HIDDEN void __indirect_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels);
+extern HIDDEN void __indirect_glPopClientAttrib(void);
+extern HIDDEN void __indirect_glPushClientAttrib(GLbitfield mask);
+extern HIDDEN void __indirect_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+extern HIDDEN void __indirect_glBlendEquation(GLenum mode);
+extern HIDDEN void __indirect_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices);
+extern HIDDEN void __indirect_glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table);
+extern HIDDEN void __indirect_glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glColorTableParameteriv(GLenum target, GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+extern HIDDEN void __indirect_glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid * table);
+extern HIDDEN void __indirect_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data);
+extern HIDDEN void __indirect_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+extern HIDDEN void __indirect_glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image);
+extern HIDDEN void __indirect_glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image);
+extern HIDDEN void __indirect_glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
+extern HIDDEN void __indirect_glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glConvolutionParameteri(GLenum target, GLenum pname, GLint params);
+extern HIDDEN void __indirect_glConvolutionParameteriv(GLenum target, GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+extern HIDDEN void __indirect_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+extern HIDDEN void __indirect_glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid * image);
+extern HIDDEN void __indirect_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span);
+extern HIDDEN void __indirect_glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column);
+extern HIDDEN void __indirect_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values);
+extern HIDDEN void __indirect_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values);
+extern HIDDEN void __indirect_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat * params);
+extern HIDDEN void __indirect_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint * params);
+extern HIDDEN void __indirect_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+extern HIDDEN void __indirect_glMinmax(GLenum target, GLenum internalformat, GLboolean sink);
+extern HIDDEN void __indirect_glResetHistogram(GLenum target);
+extern HIDDEN void __indirect_glResetMinmax(GLenum target);
+extern HIDDEN void __indirect_glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
+extern HIDDEN void __indirect_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels);
+extern HIDDEN void __indirect_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+extern HIDDEN void __indirect_glActiveTextureARB(GLenum texture);
+extern HIDDEN void __indirect_glClientActiveTextureARB(GLenum texture);
+extern HIDDEN void __indirect_glMultiTexCoord1dARB(GLenum target, GLdouble s);
+extern HIDDEN void __indirect_glMultiTexCoord1dvARB(GLenum target, const GLdouble * v);
+extern HIDDEN void __indirect_glMultiTexCoord1fARB(GLenum target, GLfloat s);
+extern HIDDEN void __indirect_glMultiTexCoord1fvARB(GLenum target, const GLfloat * v);
+extern HIDDEN void __indirect_glMultiTexCoord1iARB(GLenum target, GLint s);
+extern HIDDEN void __indirect_glMultiTexCoord1ivARB(GLenum target, const GLint * v);
+extern HIDDEN void __indirect_glMultiTexCoord1sARB(GLenum target, GLshort s);
+extern HIDDEN void __indirect_glMultiTexCoord1svARB(GLenum target, const GLshort * v);
+extern HIDDEN void __indirect_glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
+extern HIDDEN void __indirect_glMultiTexCoord2dvARB(GLenum target, const GLdouble * v);
+extern HIDDEN void __indirect_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
+extern HIDDEN void __indirect_glMultiTexCoord2fvARB(GLenum target, const GLfloat * v);
+extern HIDDEN void __indirect_glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
+extern HIDDEN void __indirect_glMultiTexCoord2ivARB(GLenum target, const GLint * v);
+extern HIDDEN void __indirect_glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
+extern HIDDEN void __indirect_glMultiTexCoord2svARB(GLenum target, const GLshort * v);
+extern HIDDEN void __indirect_glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
+extern HIDDEN void __indirect_glMultiTexCoord3dvARB(GLenum target, const GLdouble * v);
+extern HIDDEN void __indirect_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);
+extern HIDDEN void __indirect_glMultiTexCoord3fvARB(GLenum target, const GLfloat * v);
+extern HIDDEN void __indirect_glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
+extern HIDDEN void __indirect_glMultiTexCoord3ivARB(GLenum target, const GLint * v);
+extern HIDDEN void __indirect_glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
+extern HIDDEN void __indirect_glMultiTexCoord3svARB(GLenum target, const GLshort * v);
+extern HIDDEN void __indirect_glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+extern HIDDEN void __indirect_glMultiTexCoord4dvARB(GLenum target, const GLdouble * v);
+extern HIDDEN void __indirect_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+extern HIDDEN void __indirect_glMultiTexCoord4fvARB(GLenum target, const GLfloat * v);
+extern HIDDEN void __indirect_glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
+extern HIDDEN void __indirect_glMultiTexCoord4ivARB(GLenum target, const GLint * v);
+extern HIDDEN void __indirect_glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+extern HIDDEN void __indirect_glMultiTexCoord4svARB(GLenum target, const GLshort * v);
+extern HIDDEN void __indirect_glLoadTransposeMatrixfARB(const GLfloat * m);
+extern HIDDEN void __indirect_glLoadTransposeMatrixdARB(const GLdouble * m);
+extern HIDDEN void __indirect_glMultTransposeMatrixfARB(const GLfloat * m);
+extern HIDDEN void __indirect_glMultTransposeMatrixdARB(const GLdouble * m);
+extern HIDDEN void __indirect_glSampleCoverageARB(GLclampf value, GLboolean invert);
+extern HIDDEN GLboolean __indirect_glAreTexturesResidentEXT(GLsizei n, const GLuint * textures, GLboolean * residences);
+extern HIDDEN void __indirect_glGenTexturesEXT(GLsizei n, GLuint * textures);
+extern HIDDEN GLboolean __indirect_glIsTextureEXT(GLuint texture);
+extern HIDDEN void __indirect_glSampleMaskSGIS(GLclampf value, GLboolean invert);
+extern HIDDEN void __indirect_glSamplePatternSGIS(GLenum pattern);
+extern HIDDEN void __indirect_glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
+extern HIDDEN void __indirect_glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean * pointer);
+extern HIDDEN void __indirect_glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
+extern HIDDEN void __indirect_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
+extern HIDDEN void __indirect_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
+extern HIDDEN void __indirect_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
+extern HIDDEN void __indirect_glPointParameterfEXT(GLenum pname, GLfloat param);
+extern HIDDEN void __indirect_glPointParameterfvEXT(GLenum pname, const GLfloat * params);
+extern HIDDEN void __indirect_glWindowPos2dMESA(GLdouble x, GLdouble y);
+extern HIDDEN void __indirect_glWindowPos2dvMESA(const GLdouble * v);
+extern HIDDEN void __indirect_glWindowPos2fMESA(GLfloat x, GLfloat y);
+extern HIDDEN void __indirect_glWindowPos2fvMESA(const GLfloat * v);
+extern HIDDEN void __indirect_glWindowPos2iMESA(GLint x, GLint y);
+extern HIDDEN void __indirect_glWindowPos2ivMESA(const GLint * v);
+extern HIDDEN void __indirect_glWindowPos2sMESA(GLshort x, GLshort y);
+extern HIDDEN void __indirect_glWindowPos2svMESA(const GLshort * v);
+extern HIDDEN void __indirect_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);
+extern HIDDEN void __indirect_glWindowPos3dvMESA(const GLdouble * v);
+extern HIDDEN void __indirect_glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z);
+extern HIDDEN void __indirect_glWindowPos3fvMESA(const GLfloat * v);
+extern HIDDEN void __indirect_glWindowPos3iMESA(GLint x, GLint y, GLint z);
+extern HIDDEN void __indirect_glWindowPos3ivMESA(const GLint * v);
+extern HIDDEN void __indirect_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z);
+extern HIDDEN void __indirect_glWindowPos3svMESA(const GLshort * v);
+extern HIDDEN void __indirect_glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+extern HIDDEN void __indirect_glFogCoordfEXT(GLfloat coord);
+extern HIDDEN void __indirect_glFogCoordfvEXT(const GLfloat * coord);
+extern HIDDEN void __indirect_glFogCoorddEXT(GLdouble coord);
+extern HIDDEN void __indirect_glFogCoorddvEXT(const GLdouble * coord);
+extern HIDDEN void __indirect_glFogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid * pointer);
+extern HIDDEN void __indirect_glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data);
+extern HIDDEN void __indirect_glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data);
+extern HIDDEN void __indirect_glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data);
+extern HIDDEN void __indirect_glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data);
+extern HIDDEN void __indirect_glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data);
+extern HIDDEN void __indirect_glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data);
+extern HIDDEN void __indirect_glGetCompressedTexImageARB(GLenum target, GLint level, GLvoid * img);
+extern HIDDEN void __indirect_glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue);
+extern HIDDEN void __indirect_glSecondaryColor3bvEXT(const GLbyte * v);
+extern HIDDEN void __indirect_glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue);
+extern HIDDEN void __indirect_glSecondaryColor3dvEXT(const GLdouble * v);
+extern HIDDEN void __indirect_glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue);
+extern HIDDEN void __indirect_glSecondaryColor3fvEXT(const GLfloat * v);
+extern HIDDEN void __indirect_glSecondaryColor3iEXT(GLint red, GLint green, GLint blue);
+extern HIDDEN void __indirect_glSecondaryColor3ivEXT(const GLint * v);
+extern HIDDEN void __indirect_glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue);
+extern HIDDEN void __indirect_glSecondaryColor3svEXT(const GLshort * v);
+extern HIDDEN void __indirect_glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue);
+extern HIDDEN void __indirect_glSecondaryColor3ubvEXT(const GLubyte * v);
+extern HIDDEN void __indirect_glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue);
+extern HIDDEN void __indirect_glSecondaryColor3uivEXT(const GLuint * v);
+extern HIDDEN void __indirect_glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue);
+extern HIDDEN void __indirect_glSecondaryColor3usvEXT(const GLushort * v);
+extern HIDDEN void __indirect_glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
+extern HIDDEN void __indirect_glPointParameteriNV(GLenum pname, GLint params);
+extern HIDDEN void __indirect_glPointParameterivNV(GLenum pname, const GLint * params);
+extern HIDDEN void __indirect_glMultiDrawArraysEXT(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount);
+extern HIDDEN void __indirect_glMultiDrawElementsEXT(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount);
+extern HIDDEN void __indirect_glActiveStencilFaceEXT(GLenum face);
+#  undef HIDDEN
+#endif /* !defined( _INDIRECT_H_ ) */
index 95216b5a75edfde7bf5bd069c24ce1b9d79c2e1c..2063f38c995048abfb06a5ed0ffc8ac85673741d 100644 (file)
@@ -171,6 +171,7 @@ __glTexParameterfv_size( GLenum e )
         case GL_GENERATE_MIPMAP:
 /*      case GL_GENERATE_MIPMAP_SGIS:*/
         case GL_TEXTURE_LOD_BIAS:
+/*      case GL_TEXTURE_LOD_BIAS_EXT:*/
         case GL_DEPTH_TEXTURE_MODE:
 /*      case GL_DEPTH_TEXTURE_MODE_ARB:*/
         case GL_TEXTURE_COMPARE_MODE:
diff --git a/src/glx/x11/packvendpriv.h b/src/glx/x11/packvendpriv.h
deleted file mode 100644 (file)
index e733f49..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-/* $XFree86: xc/lib/GL/glx/packvendpriv.h,v 1.5tsi Exp $ */
-#ifndef __GLX_packvendpriv_h__
-#define __GLX_packvendpriv_h__
-
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: The application programming interfaces
-** established by SGI in conjunction with the Original Code are The
-** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
-** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
-** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
-** Window System(R) (Version 1.3), released October 19, 1998. This software
-** was created using the OpenGL(R) version 1.2.1 Sample Implementation
-** published by SGI, but has not been independently verified as being
-** compliant with the OpenGL(R) version 1.2.1 Specification.
-**
-*/
-
-#include "packrender.h"
-
-/*
-** The macros in this header convert wire protocol data types to the client
-** machine's native data types.  The header is part of the porting layer of
-** the client library, and it is intended that hardware vendors will rewrite
-** this header to suit their own machines.
-*/
-
-/*
-** Dummy define to make the GetReqExtra macro happy.  The value is not
-** used, but instead the code in __GLX_VENDPRIV_BEGIN issues its own store
-** to req->reqType with the proper code (our extension code).
-*/
-#define X_GLXVendpriv 0
-
-/* Declare common variables used during a single command */
-#define __GLX_VENDPRIV_DECLARE_VARIABLES()      \
-    __GLXcontext *gc = __glXGetCurrentContext(); \
-    GLubyte *pc, *pixelHeaderPC;                \
-    GLuint compsize, cmdlen;                    \
-    Display *dpy = gc->currentDpy;              \
-    xGLXVendorPrivateReq *req
-
-#define __GLX_VENDPRIV_LOAD_VARIABLES() \
-    pc = gc->pc;            \
-    /* Muffle compilers */                  \
-    pixelHeaderPC = 0;  (void)pixelHeaderPC; \
-    compsize = 0;       (void)compsize;             \
-    cmdlen = 0;         (void)cmdlen
-
-/* Start a vendor private command */
-#define __GLX_VENDPRIV_BEGIN(glxcode, opcode,bytes)       \
-    if (dpy) {                                            \
-       (void) __glXFlushRenderBuffer(gc, pc);             \
-       LockDisplay(dpy);                                  \
-       GetReqExtra(GLXVendorPrivate,bytes,req);           \
-       req->reqType = gc->majorOpcode;                    \
-       req->glxCode = glxcode;                            \
-       req->vendorCode = opcode;                          \
-       req->contextTag = gc->currentContextTag;           \
-       pc = ((GLubyte *)(req) + sz_xGLXVendorPrivateReq)
-
-/* End a vendor private command */
-#define __GLX_VENDPRIV_END()                      \
-       UnlockDisplay(dpy);                        \
-       SyncHandle();                              \
-    }
-
-/* Store data to sending for a vendor private command */
-#define __GLX_VENDPRIV_PUT_CHAR(offset,a)      \
-    *((INT8 *) (pc + offset)) = a
-
-#ifndef CRAY
-#define __GLX_VENDPRIV_PUT_SHORT(offset,a) \
-    *((INT16 *) (pc + offset)) = a
-
-#define __GLX_VENDPRIV_PUT_LONG(offset,a)      \
-    *((INT32 *) (pc + offset)) = a
-
-#define __GLX_VENDPRIV_PUT_FLOAT(offset,a) \
-    *((FLOAT32 *) (pc + offset)) = a
-
-#else
-#define __GLX_VENDPRIV_PUT_SHORT(offset,a) \
-    { GLubyte *cp = (pc+offset); \
-      int shift = (64-16) - ((int)(cp) >> (64-6)); \
-      *(int *)cp = (*(int *)cp & ~(0xffff << shift)) | ((a & 0xffff) << shift); }
-
-#define __GLX_VENDPRIV_PUT_LONG(offset,a) \
-    { GLubyte *cp = (pc+offset); \
-      int shift = (64-32) - ((int)(cp) >> (64-6)); \
-      *(int *)cp = (*(int *)cp & ~(0xffffffff << shift)) | ((a & 0xffffffff) << shift); }
-
-#define __GLX_VENDPRIV_PUT_FLOAT(offset,a) \
-    gl_put_float(pc + offset, a)
-#endif
-
-/* Read support macros */
-#define __GLX_VENDPRIV_READ_XREPLY()               \
-    (void) _XReply(dpy, (xReply*) &reply, 0, False)
-
-#define __GLX_VENDPRIV_GET_RETVAL(a,cast)      \
-    a = (cast) reply.retval
-
-#define __GLX_VENDPRIV_GET_SIZE(a) \
-    a = (GLint) reply.size
-
-#ifndef _CRAY
-#define __GLX_VENDPRIV_GET_CHAR(p) \
-    *p = *(GLbyte *)&reply.pad3;
-
-#define __GLX_VENDPRIV_GET_SHORT(p) \
-    *p = *(GLshort *)&reply.pad3;
-
-#define __GLX_VENDPRIV_GET_LONG(p) \
-    *p = *(GLint *)&reply.pad3;
-
-#define __GLX_VENDPRIV_GET_FLOAT(p) \
-    *p = *(GLfloat *)&reply.pad3;
-
-#else
-#define __GLX_VENDPRIV_GET_CHAR(p) \
-    *p = reply.pad3 >> 24;
-
-#define __GLX_VENDPRIV_GET_SHORT(p) \
-    {int t = reply.pad3 >> 16; \
-     *p = (t & 0x8000) ? (t | ~0xffff) : (t & 0xffff);}
-
-#define __GLX_VENDPRIV_GET_LONG(p) \
-    {int t = reply.pad3; \
-     *p = (t & 0x80000000) ? (t | ~0xffffffff) : (t & 0xffffffff);}
-
-#define PAD3OFFSET 16
-#define __GLX_VENDPRIV_GET_FLOAT(p) \
-    *p = gl_ntoh_float((GLubyte *)&reply + PAD3OFFSET);
-
-#define __GLX_VENDPRIV_GET_DOUBLE(p) \
-    *p = gl_ntoh_double((GLubyte *)&reply + PAD3OFFSET);
-
-extern float gl_ntoh_float(GLubyte *);
-extern float gl_ntoh_double(GLubyte *);
-#endif
-
-#ifndef _CRAY
-
-#ifdef __GLX_ALIGN64
-#define __GLX_VENDPRIV_GET_DOUBLE(p) \
-    __GLX_MEM_COPY(p, &reply.pad3, 8)
-#else
-#define __GLX_VENDPRIV_GET_DOUBLE(p) \
-    *p = *(GLdouble *)&reply.pad3
-#endif
-
-#endif
-         
-/* Get an array of typed data */
-#define __GLX_VENDPRIV_GET_VOID_ARRAY(a,alen) \
-{                                              \
-    GLint slop = alen*__GLX_SIZE_INT8 & 3;     \
-    _XRead(dpy,(char *)a,alen*__GLX_SIZE_INT8);        \
-    if (slop) _XEatData(dpy,4-slop);           \
-}
-
-#define __GLX_VENDPRIV_GET_CHAR_ARRAY(a,alen) \
-{                                              \
-    GLint slop = alen*__GLX_SIZE_INT8 & 3;     \
-    _XRead(dpy,(char *)a,alen*__GLX_SIZE_INT8);        \
-    if (slop) _XEatData(dpy,4-slop);           \
-}
-                                       
-
-#define __GLX_VENDPRIV_GET_SHORT_ARRAY(a,alen) \
-{                                              \
-    GLint slop = (alen*__GLX_SIZE_INT16) & 3;  \
-    _XRead(dpy,(char *)a,alen*__GLX_SIZE_INT16);       \
-    if (slop) _XEatData(dpy,4-slop);           \
-}
-
-#define __GLX_VENDPRIV_GET_LONG_ARRAY(a,alen) \
-    _XRead(dpy,(char *)a,alen*__GLX_SIZE_INT32);       
-
-#ifndef _CRAY
-#define __GLX_VENDPRIV_GET_FLOAT_ARRAY(a,alen) \
-    _XRead(dpy,(char *)a,alen*__GLX_SIZE_FLOAT32);     
-
-#define __GLX_VENDPRIV_GET_DOUBLE_ARRAY(a,alen) \
-    _XRead(dpy,(char *)a,alen*__GLX_SIZE_FLOAT64);     
-
-#else
-#define __GLX_VENDPRIV_GET_FLOAT_ARRAY(a,alen) \
-    gl_get_float_array(dpy,a,alen);
-
-#define __GLX_VENDPRIV_GET_DOUBLE_ARRAY(a,alen) \
-    gl_get_double_array(dpy, a, alen);
-
-extern void gl_get_float_array(Display *dpy, float *a, int alen);
-extern void gl_get_double_array(Display *dpy, double *a, int alen);
-#endif
-
-#endif /* !__GLX_packvendpriv_h__ */
index 9245d2f79e85f96996ecd38f7fe1bd6055cd61d9..a8c6ded39deb272d0b7d44d3fde5e9dfa074878f 100644 (file)
 ** use the pixel header.  See renderpix.c for those routines.
 */
 
-void __indirect_glCallLists(GLsizei n, GLenum type, const GLvoid *lists)
-{
-    __GLX_DECLARE_VARIABLES();
-    __GLX_LOAD_VARIABLES();
-
-    compsize = (n <= 0) ? 0 : __glCallLists_size(type) * n;
-    cmdlen = __GLX_PAD(12 + compsize);
-    if (!gc->currentDpy) return;
-
-    if (cmdlen <= gc->maxSmallRenderCommandSize) {
-       /* Use GLXRender protocol to send small command */
-       __GLX_BEGIN_VARIABLE(X_GLrop_CallLists,cmdlen);
-       __GLX_PUT_LONG(4,n);
-       __GLX_PUT_LONG(8,type);
-       __GLX_PUT_CHAR_ARRAY(12,lists,compsize);
-       __GLX_END(cmdlen);
-    } else {
-       /* Use GLXRenderLarge protocol to send command */
-       __GLX_BEGIN_VARIABLE_LARGE(X_GLrop_CallLists,cmdlen+4);
-       __GLX_PUT_LONG(8,n);
-       __GLX_PUT_LONG(12,type);
-       __glXSendLargeCommand(gc, pc, 16, lists, compsize);
-    }
-}
-
 void __indirect_glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride,
             GLint order, const GLdouble *pnts)
 {
@@ -333,93 +308,6 @@ void __indirect_glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustr, GLint
     }
 }
 
-void __indirect_glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values)
-{
-    __GLX_DECLARE_VARIABLES();
-
-    __GLX_LOAD_VARIABLES();
-    if (mapsize < 0) {
-       __glXSetError(gc, GL_INVALID_VALUE);
-       return;
-    }
-    compsize = mapsize * __GLX_SIZE_FLOAT32;
-    cmdlen = 12+compsize;
-    if (!gc->currentDpy) return;
-
-    if (cmdlen <= gc->maxSmallRenderCommandSize) {
-       /* Use GLXRender protocol to send small command */
-       __GLX_BEGIN_VARIABLE(X_GLrop_PixelMapfv,cmdlen);
-       __GLX_PUT_LONG(4,map);
-       __GLX_PUT_LONG(8,mapsize);
-       __GLX_PUT_FLOAT_ARRAY(12,values,mapsize);
-       __GLX_END(cmdlen);
-    } else {
-       /* Use GLXRenderLarge protocol to send command */
-       __GLX_BEGIN_VARIABLE_LARGE(X_GLrop_PixelMapfv,cmdlen+4);
-       __GLX_PUT_LONG(8,map);
-       __GLX_PUT_LONG(12,mapsize);
-       __glXSendLargeCommand(gc, pc, 16, values, compsize);
-    }
-}
-
-void __indirect_glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values)
-{
-    __GLX_DECLARE_VARIABLES();
-
-    __GLX_LOAD_VARIABLES();
-    if (mapsize < 0) {
-       __glXSetError(gc, GL_INVALID_VALUE);
-       return;
-    }
-    compsize = mapsize * __GLX_SIZE_CARD32;
-    cmdlen = 12+compsize;
-    if (!gc->currentDpy) return;
-
-    if (cmdlen <= gc->maxSmallRenderCommandSize) {
-       /* Use GLXRender protocol to send small command */
-       __GLX_BEGIN_VARIABLE(X_GLrop_PixelMapuiv,cmdlen);
-       __GLX_PUT_LONG(4,map);
-       __GLX_PUT_LONG(8,mapsize);
-       __GLX_PUT_LONG_ARRAY(12,values,mapsize);
-       __GLX_END(cmdlen);
-    } else {
-       /* Use GLXRenderLarge protocol to send command */
-       __GLX_BEGIN_VARIABLE_LARGE(X_GLrop_PixelMapuiv,cmdlen+4);
-       __GLX_PUT_LONG(8,map);
-       __GLX_PUT_LONG(12,mapsize);
-       __glXSendLargeCommand(gc, pc, 16, values, compsize);
-    }
-}
-
-void __indirect_glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values)
-{
-    __GLX_DECLARE_VARIABLES();
-
-    __GLX_LOAD_VARIABLES();
-    if (mapsize < 0) {
-       __glXSetError(gc, GL_INVALID_VALUE);
-       return;
-    }
-    compsize = mapsize * __GLX_SIZE_CARD16;
-    cmdlen = __GLX_PAD(12 + compsize);
-    if (!gc->currentDpy) return;
-
-    if (cmdlen <= gc->maxSmallRenderCommandSize) {
-       /* Use GLXRender protocol to send small command */
-       __GLX_BEGIN_VARIABLE(X_GLrop_PixelMapusv,cmdlen);
-       __GLX_PUT_LONG(4,map);
-       __GLX_PUT_LONG(8,mapsize);
-       __GLX_PUT_SHORT_ARRAY(12,values,mapsize);
-       __GLX_END(cmdlen);
-    } else {
-       /* Use GLXRenderLarge protocol to send command */
-       __GLX_BEGIN_VARIABLE_LARGE(X_GLrop_PixelMapusv,cmdlen+4);
-       __GLX_PUT_LONG(8,map);
-       __GLX_PUT_LONG(12,mapsize);
-       __glXSendLargeCommand(gc, pc, 16, values, compsize);
-    }
-}
-
 void __indirect_glEnable(GLenum cap)
 {
     __GLX_DECLARE_VARIABLES();
@@ -473,41 +361,3 @@ void __indirect_glDisable(GLenum cap)
     __GLX_PUT_LONG(4,cap);
     __GLX_END(8);
 }
-
-void __indirect_glSampleCoverageARB( GLfloat value, GLboolean invert )
-{
-    __GLX_DECLARE_VARIABLES();
-
-    __GLX_LOAD_VARIABLES();
-    if (!gc->currentDpy) return;
-
-    __GLX_BEGIN(X_GLrop_SampleCoverageARB,12);
-    __GLX_PUT_FLOAT(4,value);
-    __GLX_PUT_CHAR(8,invert);
-    __GLX_END(12);
-}
-
-void __indirect_glSampleMaskSGIS( GLfloat value, GLboolean invert )
-{
-    __GLX_DECLARE_VARIABLES();
-
-    __GLX_LOAD_VARIABLES();
-    if (!gc->currentDpy) return;
-
-    __GLX_BEGIN(X_GLvop_SampleMaskSGIS,12);
-    __GLX_PUT_FLOAT(4,value);
-    __GLX_PUT_CHAR(8,invert);
-    __GLX_END(12);
-}
-
-void __indirect_glSamplePatternSGIS( GLenum pass )
-{
-    __GLX_DECLARE_VARIABLES();
-
-    __GLX_LOAD_VARIABLES();
-    if (!gc->currentDpy) return;
-
-    __GLX_BEGIN(X_GLvop_SamplePatternSGIS,8);
-    __GLX_PUT_LONG(4,pass);
-    __GLX_END(8);
-}
index 6a6ad31dcfb0424e01219492e6b9923fe3c46c59..9724a97c02eae14b29a51c178154cacc2db37a3f 100644 (file)
@@ -113,20 +113,6 @@ GLenum __indirect_glGetError(void)
     return retval;
 }
 
-void __indirect_glGetClipPlane(GLenum plane, GLdouble *equation)
-{
-    __GLX_SINGLE_DECLARE_VARIABLES();
-    xGLXSingleReply reply;
-    __GLX_SINGLE_LOAD_VARIABLES();
-    __GLX_SINGLE_BEGIN(X_GLsop_GetClipPlane,4);
-    __GLX_SINGLE_PUT_LONG(0,plane);
-    __GLX_SINGLE_READ_XREPLY();
-    if (reply.length == 8) {
-       __GLX_SINGLE_GET_DOUBLE_ARRAY(equation,4);
-    }
-    __GLX_SINGLE_END();
-}
-
 #define CASE_ARRAY_ENABLE(enum_name,array,dest,gl_type) \
     case GL_ ## enum_name ## _ARRAY: \
       *dest = (gl_type) (IS_ARRAY_ENABLED(state, array)); break
index 67a1d09160fe496071e27530a47ced09b71acfbf..d0a73424759792a670f43e76f14a0705579ea7cf 100644 (file)
@@ -4,34 +4,56 @@
 # up to him/her to re-run this makefile and check in the newly generated files.
 
 
-OUTPUTS = glprocs.h glapitemp.h glapioffsets.h glapitable.h ../x86/glapi_x86.S 
+OUTPUTS = glprocs.h glapitemp.h glapioffsets.h glapitable.h \
+       ../x86/glapi_x86.S \
+       ../../glx/x11/indirect.c \
+       ../../glx/x11/indirect.h \
+       ../../glx/x11/indirect_init.c \
+       ../../glx/x11/indirect_size.h \
+       ../../glx/x11/indirect_size.c
 
 COMMON = gl_XML.pyc license.pyc gl_API.xml
+PYTHON2 = python
 
 all: $(OUTPUTS)
 
 gl_XML.pyc: gl_XML.py
        rm -f gl_XML.pyc > /dev/null
-       python2 -t -O gl_XML.py
+       $(PYTHON2) -t -O gl_XML.py
 
 license.pyc: license.py
        rm -f license.pyc > /dev/null
-       python2 -t -O license.py
+       $(PYTHON2) -t -O license.py
 
 glprocs.h: $(COMMON) gl_procs.py
-       python2 -t gl_procs.py > glprocs.h
+       $(PYTHON2) -t gl_procs.py > glprocs.h
 
 glapitemp.h: $(COMMON) gl_apitemp.py
-       python2 -t gl_apitemp.py > glapitemp.h
+       $(PYTHON2) -t gl_apitemp.py > glapitemp.h
 
 glapioffsets.h: $(COMMON) gl_offsets.py
-       python2 -t gl_offsets.py > glapioffsets.h
+       $(PYTHON2) -t gl_offsets.py > glapioffsets.h
 
 glapitable.h: $(COMMON) gl_table.py
-       python2 -t gl_table.py > glapitable.h
+       $(PYTHON2) -t gl_table.py > glapitable.h
 
 ../x86/glapi_x86.S: $(COMMON) gl_x86_asm.py
-       python2 -t gl_x86_asm.py > ../x86/glapi_x86.S
+       $(PYTHON2) -t gl_x86_asm.py > ../x86/glapi_x86.S
+
+../../glx/x11/indirect.c: $(COMMON) glX_proto_send.py
+       $(PYTHON2) -t glX_proto_send.py -m proto > ../../glx/x11/indirect.c
+
+../../glx/x11/indirect.h: $(COMMON) glX_proto_send.py
+       $(PYTHON2) -t glX_proto_send.py -m init_h > ../../glx/x11/indirect.h
+
+../../glx/x11/indirect_init.c: $(COMMON) glX_proto_send.py
+       $(PYTHON2) -t glX_proto_send.py -m init_c > ../../glx/x11/indirect_init.c
+
+../../glx/x11/indirect_size.h: $(COMMON) glX_proto_send.py
+       $(PYTHON2) -t glX_proto_send.py -m size_h > ../../glx/x11/indirect_size.h
+
+../../glx/x11/indirect_size.c: $(COMMON) glX_proto_send.py
+       $(PYTHON2) -t glX_proto_send.py -m size_c > ../../glx/x11/indirect_size.c
 
 clean:
        rm -f *~ *.pyc