glxproto.h revision 17ca54c3
117ca54c3Smrg#ifndef _GLX_glxproto_h_
217ca54c3Smrg#define _GLX_glxproto_h_
317ca54c3Smrg
417ca54c3Smrg/*
517ca54c3Smrg * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
617ca54c3Smrg * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
717ca54c3Smrg *
817ca54c3Smrg * Permission is hereby granted, free of charge, to any person obtaining a
917ca54c3Smrg * copy of this software and associated documentation files (the "Software"),
1017ca54c3Smrg * to deal in the Software without restriction, including without limitation
1117ca54c3Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1217ca54c3Smrg * and/or sell copies of the Software, and to permit persons to whom the
1317ca54c3Smrg * Software is furnished to do so, subject to the following conditions:
1417ca54c3Smrg *
1517ca54c3Smrg * The above copyright notice including the dates of first publication and
1617ca54c3Smrg * either this permission notice or a reference to
1717ca54c3Smrg * http://oss.sgi.com/projects/FreeB/
1817ca54c3Smrg * shall be included in all copies or substantial portions of the Software.
1917ca54c3Smrg *
2017ca54c3Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
2117ca54c3Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2217ca54c3Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
2317ca54c3Smrg * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2417ca54c3Smrg * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
2517ca54c3Smrg * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2617ca54c3Smrg * SOFTWARE.
2717ca54c3Smrg *
2817ca54c3Smrg * Except as contained in this notice, the name of Silicon Graphics, Inc.
2917ca54c3Smrg * shall not be used in advertising or otherwise to promote the sale, use or
3017ca54c3Smrg * other dealings in this Software without prior written authorization from
3117ca54c3Smrg * Silicon Graphics, Inc.
3217ca54c3Smrg */
3317ca54c3Smrg
3417ca54c3Smrg#include <GL/glxmd.h>
3517ca54c3Smrg
3617ca54c3Smrg/*****************************************************************************/
3717ca54c3Smrg
3817ca54c3Smrg/*
3917ca54c3Smrg** Errrors.
4017ca54c3Smrg*/
4117ca54c3Smrg#define GLXBadContext		0
4217ca54c3Smrg#define GLXBadContextState	1
4317ca54c3Smrg#define GLXBadDrawable		2
4417ca54c3Smrg#define GLXBadPixmap		3
4517ca54c3Smrg#define GLXBadContextTag	4
4617ca54c3Smrg#define GLXBadCurrentWindow	5
4717ca54c3Smrg#define GLXBadRenderRequest	6
4817ca54c3Smrg#define GLXBadLargeRequest	7
4917ca54c3Smrg#define GLXUnsupportedPrivateRequest	8
5017ca54c3Smrg#define GLXBadFBConfig		9
5117ca54c3Smrg#define GLXBadPbuffer		10
5217ca54c3Smrg#define GLXBadCurrentDrawable	11
5317ca54c3Smrg#define GLXBadWindow		12
5417ca54c3Smrg#define GLXBadProfileARB        13
5517ca54c3Smrg
5617ca54c3Smrg#define __GLX_NUMBER_ERRORS 14
5717ca54c3Smrg
5817ca54c3Smrg/*
5917ca54c3Smrg** Events.
6017ca54c3Smrg** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX
6117ca54c3Smrg**  event - this helps initialization if the server supports the pbuffer
6217ca54c3Smrg**  extension and the client doesn't.
6317ca54c3Smrg*/
6417ca54c3Smrg#define GLX_PbufferClobber	0
6517ca54c3Smrg#define GLX_BufferSwapComplete	1
6617ca54c3Smrg
6717ca54c3Smrg#define __GLX_NUMBER_EVENTS 17
6817ca54c3Smrg
6917ca54c3Smrg#define GLX_EXTENSION_NAME	"GLX"
7017ca54c3Smrg#define GLX_EXTENSION_ALIAS	"SGI-GLX"
7117ca54c3Smrg
7217ca54c3Smrg#define __GLX_MAX_CONTEXT_PROPS 3
7317ca54c3Smrg
7417ca54c3Smrg#ifndef GLX_VENDOR
7517ca54c3Smrg#define GLX_VENDOR		0x1
7617ca54c3Smrg#endif
7717ca54c3Smrg#ifndef GLX_VERSION
7817ca54c3Smrg#define GLX_VERSION		0x2
7917ca54c3Smrg#endif
8017ca54c3Smrg#ifndef GLX_EXTENSIONS
8117ca54c3Smrg#define GLX_EXTENSIONS		0x3
8217ca54c3Smrg#endif
8317ca54c3Smrg
8417ca54c3Smrg/*****************************************************************************/
8517ca54c3Smrg
8617ca54c3Smrg/*
8717ca54c3Smrg** For the structure definitions in this file, we must redefine these types in
8817ca54c3Smrg** terms of Xmd.h types, which may include bitfields.  All of these are
8917ca54c3Smrg** undef'ed at the end of this file, restoring the definitions in glx.h.
9017ca54c3Smrg*/
9117ca54c3Smrg#define GLXContextID CARD32
9217ca54c3Smrg#define GLXPixmap CARD32
9317ca54c3Smrg#define GLXDrawable CARD32
9417ca54c3Smrg#define GLXPbuffer CARD32
9517ca54c3Smrg#define GLXWindow CARD32
9617ca54c3Smrg#define GLXFBConfigID CARD32
9717ca54c3Smrg#define GLXFBConfigIDSGIX CARD32
9817ca54c3Smrg#define GLXPbufferSGIX CARD32
9917ca54c3Smrg
10017ca54c3Smrg/*
10117ca54c3Smrg** ContextTag is not exposed to the API.
10217ca54c3Smrg*/
10317ca54c3Smrgtypedef CARD32 GLXContextTag;
10417ca54c3Smrg
10517ca54c3Smrg/*****************************************************************************/
10617ca54c3Smrg
10717ca54c3Smrg/*
10817ca54c3Smrg** Sizes of basic wire types.
10917ca54c3Smrg*/
11017ca54c3Smrg#define __GLX_SIZE_INT8		1
11117ca54c3Smrg#define __GLX_SIZE_INT16	2
11217ca54c3Smrg#define __GLX_SIZE_INT32	4
11317ca54c3Smrg#define __GLX_SIZE_CARD8	1
11417ca54c3Smrg#define __GLX_SIZE_CARD16	2
11517ca54c3Smrg#define __GLX_SIZE_CARD32	4
11617ca54c3Smrg#define __GLX_SIZE_FLOAT32	4
11717ca54c3Smrg#define __GLX_SIZE_FLOAT64	8
11817ca54c3Smrg
11917ca54c3Smrg/*****************************************************************************/
12017ca54c3Smrg
12117ca54c3Smrg/* Requests */
12217ca54c3Smrg
12317ca54c3Smrg/*
12417ca54c3Smrg** Render command request.  A bunch of rendering commands are packed into
12517ca54c3Smrg** a single X extension request.
12617ca54c3Smrg*/
12717ca54c3Smrgtypedef struct GLXRender {
12817ca54c3Smrg    CARD8	reqType;
12917ca54c3Smrg    CARD8	glxCode;
13017ca54c3Smrg    CARD16	length B16;
13117ca54c3Smrg    GLXContextTag contextTag B32;
13217ca54c3Smrg} xGLXRenderReq;
13317ca54c3Smrg#define sz_xGLXRenderReq 8
13417ca54c3Smrg
13517ca54c3Smrg/*
13617ca54c3Smrg** The maximum size that a GLXRender command can be.  The value must fit
13717ca54c3Smrg** in 16 bits and should be a multiple of 4.
13817ca54c3Smrg*/
13917ca54c3Smrg#define __GLX_MAX_RENDER_CMD_SIZE	64000
14017ca54c3Smrg
14117ca54c3Smrg/*
14217ca54c3Smrg** Large render command request.  A single large rendering command
14317ca54c3Smrg** is output in multiple X extension requests.	The first packet
14417ca54c3Smrg** contains an opcode dependent header (see below) that describes
14517ca54c3Smrg** the data that follows.
14617ca54c3Smrg*/
14717ca54c3Smrgtypedef struct GLXRenderLarge {
14817ca54c3Smrg    CARD8	reqType;
14917ca54c3Smrg    CARD8	glxCode;
15017ca54c3Smrg    CARD16	length B16;
15117ca54c3Smrg    GLXContextTag contextTag B32;
15217ca54c3Smrg    CARD16	requestNumber B16;
15317ca54c3Smrg    CARD16	requestTotal B16;
15417ca54c3Smrg    CARD32	dataBytes B32;
15517ca54c3Smrg} xGLXRenderLargeReq;
15617ca54c3Smrg#define sz_xGLXRenderLargeReq 16
15717ca54c3Smrg
15817ca54c3Smrg/*
15917ca54c3Smrg** GLX single request.	Commands that go over as single GLX protocol
16017ca54c3Smrg** requests use this structure.  The glxCode will be one of the X_GLsop
16117ca54c3Smrg** opcodes.
16217ca54c3Smrg*/
16317ca54c3Smrgtypedef struct GLXSingle {
16417ca54c3Smrg    CARD8	reqType;
16517ca54c3Smrg    CARD8	glxCode;
16617ca54c3Smrg    CARD16	length B16;
16717ca54c3Smrg    GLXContextTag contextTag B32;
16817ca54c3Smrg} xGLXSingleReq;
16917ca54c3Smrg#define sz_xGLXSingleReq 8
17017ca54c3Smrg
17117ca54c3Smrg/*
17217ca54c3Smrg** glXQueryVersion request
17317ca54c3Smrg*/
17417ca54c3Smrgtypedef struct GLXQueryVersion {
17517ca54c3Smrg    CARD8	reqType;
17617ca54c3Smrg    CARD8	glxCode;
17717ca54c3Smrg    CARD16	length B16;
17817ca54c3Smrg    CARD32	majorVersion B32;
17917ca54c3Smrg    CARD32	minorVersion B32;
18017ca54c3Smrg} xGLXQueryVersionReq;
18117ca54c3Smrg#define sz_xGLXQueryVersionReq 12
18217ca54c3Smrg
18317ca54c3Smrg/*
18417ca54c3Smrg** glXIsDirect request
18517ca54c3Smrg*/
18617ca54c3Smrgtypedef struct GLXIsDirect {
18717ca54c3Smrg    CARD8	reqType;
18817ca54c3Smrg    CARD8	glxCode;
18917ca54c3Smrg    CARD16	length B16;
19017ca54c3Smrg    GLXContextID context B32;
19117ca54c3Smrg} xGLXIsDirectReq;
19217ca54c3Smrg#define sz_xGLXIsDirectReq 8
19317ca54c3Smrg
19417ca54c3Smrg/*
19517ca54c3Smrg** glXCreateContext request
19617ca54c3Smrg*/
19717ca54c3Smrgtypedef struct GLXCreateContext {
19817ca54c3Smrg    CARD8	reqType;
19917ca54c3Smrg    CARD8	glxCode;
20017ca54c3Smrg    CARD16	length B16;
20117ca54c3Smrg    GLXContextID context B32;
20217ca54c3Smrg    CARD32	visual B32;
20317ca54c3Smrg    CARD32	screen B32;
20417ca54c3Smrg    GLXContextID shareList B32;
20517ca54c3Smrg    BOOL	isDirect;
20617ca54c3Smrg    CARD8	reserved1;
20717ca54c3Smrg    CARD16	reserved2 B16;
20817ca54c3Smrg} xGLXCreateContextReq;
20917ca54c3Smrg#define sz_xGLXCreateContextReq 24
21017ca54c3Smrg
21117ca54c3Smrg/*
21217ca54c3Smrg** glXDestroyContext request
21317ca54c3Smrg*/
21417ca54c3Smrgtypedef struct GLXDestroyContext {
21517ca54c3Smrg    CARD8	reqType;
21617ca54c3Smrg    CARD8	glxCode;
21717ca54c3Smrg    CARD16	length B16;
21817ca54c3Smrg    GLXContextID context B32;
21917ca54c3Smrg} xGLXDestroyContextReq;
22017ca54c3Smrg#define sz_xGLXDestroyContextReq 8
22117ca54c3Smrg
22217ca54c3Smrg/*
22317ca54c3Smrg** glXMakeCurrent request
22417ca54c3Smrg*/
22517ca54c3Smrgtypedef struct GLXMakeCurrent {
22617ca54c3Smrg    CARD8	reqType;
22717ca54c3Smrg    CARD8	glxCode;
22817ca54c3Smrg    CARD16	length B16;
22917ca54c3Smrg    GLXDrawable drawable B32;
23017ca54c3Smrg    GLXContextID context B32;
23117ca54c3Smrg    GLXContextTag oldContextTag B32;
23217ca54c3Smrg} xGLXMakeCurrentReq;
23317ca54c3Smrg#define sz_xGLXMakeCurrentReq 16
23417ca54c3Smrg
23517ca54c3Smrg/*
23617ca54c3Smrg** glXWaitGL request
23717ca54c3Smrg*/
23817ca54c3Smrgtypedef struct GLXWaitGL {
23917ca54c3Smrg    CARD8	reqType;
24017ca54c3Smrg    CARD8	glxCode;
24117ca54c3Smrg    CARD16	length B16;
24217ca54c3Smrg    GLXContextTag contextTag B32;
24317ca54c3Smrg} xGLXWaitGLReq;
24417ca54c3Smrg#define sz_xGLXWaitGLReq 8
24517ca54c3Smrg
24617ca54c3Smrg/*
24717ca54c3Smrg** glXWaitX request
24817ca54c3Smrg*/
24917ca54c3Smrgtypedef struct GLXWaitX {
25017ca54c3Smrg    CARD8	reqType;
25117ca54c3Smrg    CARD8	glxCode;
25217ca54c3Smrg    CARD16	length B16;
25317ca54c3Smrg    GLXContextTag contextTag B32;
25417ca54c3Smrg} xGLXWaitXReq;
25517ca54c3Smrg#define sz_xGLXWaitXReq 8
25617ca54c3Smrg
25717ca54c3Smrg/*
25817ca54c3Smrg** glXCopyContext request
25917ca54c3Smrg*/
26017ca54c3Smrgtypedef struct GLXCopyContext {
26117ca54c3Smrg    CARD8	reqType;
26217ca54c3Smrg    CARD8	glxCode;
26317ca54c3Smrg    CARD16	length B16;
26417ca54c3Smrg    GLXContextID source B32;
26517ca54c3Smrg    GLXContextID dest B32;
26617ca54c3Smrg    CARD32	mask B32;
26717ca54c3Smrg    GLXContextTag contextTag B32;
26817ca54c3Smrg} xGLXCopyContextReq;
26917ca54c3Smrg#define sz_xGLXCopyContextReq 20
27017ca54c3Smrg
27117ca54c3Smrg/*
27217ca54c3Smrg** glXSwapBuffers request
27317ca54c3Smrg*/
27417ca54c3Smrgtypedef struct GLXSwapBuffers {
27517ca54c3Smrg    CARD8	reqType;
27617ca54c3Smrg    CARD8	glxCode;
27717ca54c3Smrg    CARD16	length B16;
27817ca54c3Smrg    GLXContextTag contextTag B32;
27917ca54c3Smrg    GLXDrawable drawable B32;
28017ca54c3Smrg} xGLXSwapBuffersReq;
28117ca54c3Smrg#define sz_xGLXSwapBuffersReq 12
28217ca54c3Smrg
28317ca54c3Smrg/*
28417ca54c3Smrg** glXUseXFont request
28517ca54c3Smrg*/
28617ca54c3Smrgtypedef struct GLXUseXFont {
28717ca54c3Smrg    CARD8	reqType;
28817ca54c3Smrg    CARD8	glxCode;
28917ca54c3Smrg    CARD16	length B16;
29017ca54c3Smrg    GLXContextTag contextTag B32;
29117ca54c3Smrg    CARD32	font B32;
29217ca54c3Smrg    CARD32	first B32;
29317ca54c3Smrg    CARD32	count B32;
29417ca54c3Smrg    CARD32	listBase B32;
29517ca54c3Smrg} xGLXUseXFontReq;
29617ca54c3Smrg#define sz_xGLXUseXFontReq 24
29717ca54c3Smrg
29817ca54c3Smrg/*
29917ca54c3Smrg** glXCreateGLXPixmap request
30017ca54c3Smrg*/
30117ca54c3Smrgtypedef struct GLXCreateGLXPixmap {
30217ca54c3Smrg    CARD8	reqType;
30317ca54c3Smrg    CARD8	glxCode;
30417ca54c3Smrg    CARD16	length B16;
30517ca54c3Smrg    CARD32	screen B32;
30617ca54c3Smrg    CARD32	visual B32;
30717ca54c3Smrg    CARD32	pixmap B32;
30817ca54c3Smrg    GLXPixmap	glxpixmap B32;
30917ca54c3Smrg} xGLXCreateGLXPixmapReq;
31017ca54c3Smrg#define sz_xGLXCreateGLXPixmapReq 20
31117ca54c3Smrg
31217ca54c3Smrg/*
31317ca54c3Smrg** glXDestroyGLXPixmap request
31417ca54c3Smrg*/
31517ca54c3Smrgtypedef struct GLXDestroyGLXPixmap {
31617ca54c3Smrg    CARD8	reqType;
31717ca54c3Smrg    CARD8	glxCode;
31817ca54c3Smrg    CARD16	length B16;
31917ca54c3Smrg    GLXPixmap	glxpixmap B32;
32017ca54c3Smrg} xGLXDestroyGLXPixmapReq;
32117ca54c3Smrg#define sz_xGLXDestroyGLXPixmapReq 8
32217ca54c3Smrg
32317ca54c3Smrg/*
32417ca54c3Smrg** glXGetVisualConfigs request
32517ca54c3Smrg*/
32617ca54c3Smrgtypedef struct GLXGetVisualConfigs {
32717ca54c3Smrg    CARD8	reqType;
32817ca54c3Smrg    CARD8	glxCode;
32917ca54c3Smrg    CARD16	length B16;
33017ca54c3Smrg    CARD32	screen B32;
33117ca54c3Smrg} xGLXGetVisualConfigsReq;
33217ca54c3Smrg#define sz_xGLXGetVisualConfigsReq 8
33317ca54c3Smrg
33417ca54c3Smrg/*
33517ca54c3Smrg** glXVendorPrivate request.
33617ca54c3Smrg*/
33717ca54c3Smrgtypedef struct GLXVendorPrivate {
33817ca54c3Smrg    CARD8	reqType;
33917ca54c3Smrg    CARD8	glxCode;
34017ca54c3Smrg    CARD16	length B16;
34117ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
34217ca54c3Smrg    GLXContextTag contextTag B32;
34317ca54c3Smrg    /*
34417ca54c3Smrg    ** More data may follow; this is just the header.
34517ca54c3Smrg    */
34617ca54c3Smrg} xGLXVendorPrivateReq;
34717ca54c3Smrg#define sz_xGLXVendorPrivateReq 12
34817ca54c3Smrg
34917ca54c3Smrg/*
35017ca54c3Smrg** glXVendorPrivateWithReply request
35117ca54c3Smrg*/
35217ca54c3Smrgtypedef struct GLXVendorPrivateWithReply {
35317ca54c3Smrg    CARD8	reqType;
35417ca54c3Smrg    CARD8	glxCode;
35517ca54c3Smrg    CARD16	length B16;
35617ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
35717ca54c3Smrg    GLXContextTag contextTag B32;
35817ca54c3Smrg    /*
35917ca54c3Smrg    ** More data may follow; this is just the header.
36017ca54c3Smrg    */
36117ca54c3Smrg} xGLXVendorPrivateWithReplyReq;
36217ca54c3Smrg#define sz_xGLXVendorPrivateWithReplyReq 12
36317ca54c3Smrg
36417ca54c3Smrg/*
36517ca54c3Smrg** glXQueryExtensionsString request
36617ca54c3Smrg*/
36717ca54c3Smrgtypedef struct GLXQueryExtensionsString {
36817ca54c3Smrg    CARD8	reqType;
36917ca54c3Smrg    CARD8	glxCode;
37017ca54c3Smrg    CARD16	length B16;
37117ca54c3Smrg    CARD32	screen B32;
37217ca54c3Smrg} xGLXQueryExtensionsStringReq;
37317ca54c3Smrg#define sz_xGLXQueryExtensionsStringReq 8
37417ca54c3Smrg
37517ca54c3Smrg/*
37617ca54c3Smrg** glXQueryServerString request
37717ca54c3Smrg*/
37817ca54c3Smrgtypedef struct GLXQueryServerString {
37917ca54c3Smrg    CARD8	reqType;
38017ca54c3Smrg    CARD8	glxCode;
38117ca54c3Smrg    CARD16	length B16;
38217ca54c3Smrg    CARD32	screen	B32;
38317ca54c3Smrg    CARD32	name B32;
38417ca54c3Smrg} xGLXQueryServerStringReq;
38517ca54c3Smrg#define sz_xGLXQueryServerStringReq 12
38617ca54c3Smrg
38717ca54c3Smrg/*
38817ca54c3Smrg** glXClientInfo request
38917ca54c3Smrg*/
39017ca54c3Smrgtypedef struct GLXClientInfo {
39117ca54c3Smrg    CARD8	reqType;
39217ca54c3Smrg    CARD8	glxCode;
39317ca54c3Smrg    CARD16	length B16;
39417ca54c3Smrg    CARD32	major B32;
39517ca54c3Smrg    CARD32	minor B32;
39617ca54c3Smrg    CARD32	numbytes B32;
39717ca54c3Smrg} xGLXClientInfoReq;
39817ca54c3Smrg#define sz_xGLXClientInfoReq 16
39917ca54c3Smrg
40017ca54c3Smrg/*** Start of GLX 1.3 requests */
40117ca54c3Smrg
40217ca54c3Smrg/*
40317ca54c3Smrg** glXGetFBConfigs request
40417ca54c3Smrg*/
40517ca54c3Smrgtypedef struct GLXGetFBConfigs {
40617ca54c3Smrg    CARD8	reqType;
40717ca54c3Smrg    CARD8	glxCode;
40817ca54c3Smrg    CARD16	length B16;
40917ca54c3Smrg    CARD32	screen B32;
41017ca54c3Smrg} xGLXGetFBConfigsReq;
41117ca54c3Smrg#define sz_xGLXGetFBConfigsReq 8
41217ca54c3Smrg
41317ca54c3Smrg/*
41417ca54c3Smrg** glXCreatePixmap request
41517ca54c3Smrg*/
41617ca54c3Smrgtypedef struct GLXCreatePixmap {
41717ca54c3Smrg    CARD8	reqType;
41817ca54c3Smrg    CARD8	glxCode;
41917ca54c3Smrg    CARD16	length B16;
42017ca54c3Smrg    CARD32	screen B32;
42117ca54c3Smrg    GLXFBConfigID fbconfig B32;
42217ca54c3Smrg    CARD32	pixmap B32;
42317ca54c3Smrg    GLXPixmap	glxpixmap B32;
42417ca54c3Smrg    CARD32	numAttribs B32;
42517ca54c3Smrg    /* followed by attribute list */
42617ca54c3Smrg} xGLXCreatePixmapReq;
42717ca54c3Smrg#define sz_xGLXCreatePixmapReq 24
42817ca54c3Smrg
42917ca54c3Smrg/*
43017ca54c3Smrg** glXDestroyPixmap request
43117ca54c3Smrg*/
43217ca54c3Smrgtypedef struct GLXDestroyPixmap {
43317ca54c3Smrg    CARD8	reqType;
43417ca54c3Smrg    CARD8	glxCode;
43517ca54c3Smrg    CARD16	length B16;
43617ca54c3Smrg    GLXPixmap	glxpixmap B32;
43717ca54c3Smrg} xGLXDestroyPixmapReq;
43817ca54c3Smrg#define sz_xGLXDestroyPixmapReq 8
43917ca54c3Smrg
44017ca54c3Smrg/*
44117ca54c3Smrg** glXCreateNewContext request
44217ca54c3Smrg*/
44317ca54c3Smrgtypedef struct GLXCreateNewContext {
44417ca54c3Smrg    CARD8	reqType;
44517ca54c3Smrg    CARD8	glxCode;
44617ca54c3Smrg    CARD16	length B16;
44717ca54c3Smrg    GLXContextID context B32;
44817ca54c3Smrg    GLXFBConfigID fbconfig B32;
44917ca54c3Smrg    CARD32	screen B32;
45017ca54c3Smrg    CARD32	renderType;
45117ca54c3Smrg    GLXContextID shareList B32;
45217ca54c3Smrg    BOOL	isDirect;
45317ca54c3Smrg    CARD8	reserved1;
45417ca54c3Smrg    CARD16	reserved2 B16;
45517ca54c3Smrg} xGLXCreateNewContextReq;
45617ca54c3Smrg#define sz_xGLXCreateNewContextReq 28
45717ca54c3Smrg
45817ca54c3Smrg/*
45917ca54c3Smrg** glXQueryContext request
46017ca54c3Smrg*/
46117ca54c3Smrgtypedef struct GLXQueryContext {
46217ca54c3Smrg    CARD8	reqType;
46317ca54c3Smrg    CARD8	glxCode;
46417ca54c3Smrg    CARD16	length B16;
46517ca54c3Smrg    GLXContextID context B32;
46617ca54c3Smrg} xGLXQueryContextReq;
46717ca54c3Smrg#define sz_xGLXQueryContextReq 8
46817ca54c3Smrg
46917ca54c3Smrg/*
47017ca54c3Smrg** glXMakeContextCurrent request
47117ca54c3Smrg*/
47217ca54c3Smrgtypedef struct GLXMakeContextCurrent {
47317ca54c3Smrg    CARD8	reqType;
47417ca54c3Smrg    CARD8	glxCode;
47517ca54c3Smrg    CARD16	length B16;
47617ca54c3Smrg    GLXContextTag oldContextTag B32;
47717ca54c3Smrg    GLXDrawable drawable B32;
47817ca54c3Smrg    GLXDrawable readdrawable B32;
47917ca54c3Smrg    GLXContextID context B32;
48017ca54c3Smrg} xGLXMakeContextCurrentReq;
48117ca54c3Smrg#define sz_xGLXMakeContextCurrentReq 20
48217ca54c3Smrg
48317ca54c3Smrg/*
48417ca54c3Smrg** glXCreatePbuffer request
48517ca54c3Smrg*/
48617ca54c3Smrgtypedef struct GLXCreatePbuffer {
48717ca54c3Smrg    CARD8	reqType;
48817ca54c3Smrg    CARD8	glxCode;
48917ca54c3Smrg    CARD16	length B16;
49017ca54c3Smrg    CARD32	screen B32;
49117ca54c3Smrg    GLXFBConfigID fbconfig B32;
49217ca54c3Smrg    GLXPbuffer	pbuffer B32;
49317ca54c3Smrg    CARD32	numAttribs B32;
49417ca54c3Smrg    /* followed by attribute list */
49517ca54c3Smrg} xGLXCreatePbufferReq;
49617ca54c3Smrg#define sz_xGLXCreatePbufferReq 20
49717ca54c3Smrg
49817ca54c3Smrg/*
49917ca54c3Smrg** glXDestroyPbuffer request
50017ca54c3Smrg*/
50117ca54c3Smrgtypedef struct GLXDestroyPbuffer {
50217ca54c3Smrg    CARD8	reqType;
50317ca54c3Smrg    CARD8	glxCode;
50417ca54c3Smrg    CARD16	length B16;
50517ca54c3Smrg    GLXPbuffer	pbuffer B32;
50617ca54c3Smrg} xGLXDestroyPbufferReq;
50717ca54c3Smrg#define sz_xGLXDestroyPbufferReq 8
50817ca54c3Smrg
50917ca54c3Smrg/*
51017ca54c3Smrg** glXGetDrawableAttributes request
51117ca54c3Smrg*/
51217ca54c3Smrgtypedef struct GLXGetDrawableAttributes {
51317ca54c3Smrg    CARD8	reqType;
51417ca54c3Smrg    CARD8	glxCode;
51517ca54c3Smrg    CARD16	length B16;
51617ca54c3Smrg    GLXDrawable drawable B32;
51717ca54c3Smrg} xGLXGetDrawableAttributesReq;
51817ca54c3Smrg#define sz_xGLXGetDrawableAttributesReq 8
51917ca54c3Smrg
52017ca54c3Smrg/*
52117ca54c3Smrg** glXChangeDrawableAttributes request
52217ca54c3Smrg*/
52317ca54c3Smrgtypedef struct GLXChangeDrawableAttributes {
52417ca54c3Smrg    CARD8	reqType;
52517ca54c3Smrg    CARD8	glxCode;
52617ca54c3Smrg    CARD16	length B16;
52717ca54c3Smrg    GLXDrawable drawable B32;
52817ca54c3Smrg    CARD32	numAttribs B32;
52917ca54c3Smrg    /* followed by attribute list */
53017ca54c3Smrg} xGLXChangeDrawableAttributesReq;
53117ca54c3Smrg#define sz_xGLXChangeDrawableAttributesReq 12
53217ca54c3Smrg
53317ca54c3Smrg/*
53417ca54c3Smrg** glXCreateWindow request
53517ca54c3Smrg*/
53617ca54c3Smrgtypedef struct GLXCreateWindow {
53717ca54c3Smrg    CARD8	reqType;
53817ca54c3Smrg    CARD8	glxCode;
53917ca54c3Smrg    CARD16	length B16;
54017ca54c3Smrg    CARD32	screen B32;
54117ca54c3Smrg    GLXFBConfigID fbconfig B32;
54217ca54c3Smrg    CARD32	window B32;
54317ca54c3Smrg    GLXWindow	glxwindow B32;
54417ca54c3Smrg    CARD32	numAttribs B32;
54517ca54c3Smrg    /* followed by attribute list */
54617ca54c3Smrg} xGLXCreateWindowReq;
54717ca54c3Smrg#define sz_xGLXCreateWindowReq 24
54817ca54c3Smrg
54917ca54c3Smrg/*
55017ca54c3Smrg** glXDestroyWindow request
55117ca54c3Smrg*/
55217ca54c3Smrgtypedef struct GLXDestroyWindow {
55317ca54c3Smrg    CARD8	reqType;
55417ca54c3Smrg    CARD8	glxCode;
55517ca54c3Smrg    CARD16	length B16;
55617ca54c3Smrg    GLXWindow	glxwindow B32;
55717ca54c3Smrg} xGLXDestroyWindowReq;
55817ca54c3Smrg#define sz_xGLXDestroyWindowReq 8
55917ca54c3Smrg
56017ca54c3Smrg/* Replies */
56117ca54c3Smrg
56217ca54c3Smrgtypedef struct {
56317ca54c3Smrg    BYTE	type;			/* X_Reply */
56417ca54c3Smrg    CARD8	unused;			/* not used */
56517ca54c3Smrg    CARD16	sequenceNumber B16;
56617ca54c3Smrg    CARD32	length B32;
56717ca54c3Smrg    CARD32	error B32;
56817ca54c3Smrg    CARD32	pad2 B32;
56917ca54c3Smrg    CARD32	pad3 B32;
57017ca54c3Smrg    CARD32	pad4 B32;
57117ca54c3Smrg    CARD32	pad5 B32;
57217ca54c3Smrg    CARD32	pad6 B32;
57317ca54c3Smrg} xGLXGetErrorReply;
57417ca54c3Smrg#define sz_xGLXGetErrorReply 32
57517ca54c3Smrg
57617ca54c3Smrgtypedef struct {
57717ca54c3Smrg    BYTE	type;			/* X_Reply */
57817ca54c3Smrg    CARD8	unused;			/* not used */
57917ca54c3Smrg    CARD16	sequenceNumber B16;
58017ca54c3Smrg    CARD32	length B32;
58117ca54c3Smrg    GLXContextTag contextTag B32;
58217ca54c3Smrg    CARD32	pad2 B32;
58317ca54c3Smrg    CARD32	pad3 B32;
58417ca54c3Smrg    CARD32	pad4 B32;
58517ca54c3Smrg    CARD32	pad5 B32;
58617ca54c3Smrg    CARD32	pad6 B32;
58717ca54c3Smrg} xGLXMakeCurrentReply;
58817ca54c3Smrg#define sz_xGLXMakeCurrentReply 32
58917ca54c3Smrg
59017ca54c3Smrgtypedef struct {
59117ca54c3Smrg    BYTE	type;			/* X_Reply */
59217ca54c3Smrg    CARD8	unused;			/* not used */
59317ca54c3Smrg    CARD16	sequenceNumber B16;
59417ca54c3Smrg    CARD32	length B32;
59517ca54c3Smrg    CARD32	pad1 B32;
59617ca54c3Smrg    CARD32	pad2 B32;
59717ca54c3Smrg    CARD32	pad3 B32;
59817ca54c3Smrg    CARD32	pad4 B32;
59917ca54c3Smrg    CARD32	pad5 B32;
60017ca54c3Smrg    CARD32	pad6 B32;
60117ca54c3Smrg} xGLXReadPixelsReply;
60217ca54c3Smrg#define sz_xGLXReadPixelsReply 32
60317ca54c3Smrg
60417ca54c3Smrgtypedef struct {
60517ca54c3Smrg    BYTE	type;			/* X_Reply */
60617ca54c3Smrg    CARD8	unused;			/* not used */
60717ca54c3Smrg    CARD16	sequenceNumber B16;
60817ca54c3Smrg    CARD32	length B32;
60917ca54c3Smrg    CARD32	pad1 B32;
61017ca54c3Smrg    CARD32	pad2 B32;
61117ca54c3Smrg    CARD32	width B32;
61217ca54c3Smrg    CARD32	height B32;
61317ca54c3Smrg    CARD32	depth B32;
61417ca54c3Smrg    CARD32	pad6 B32;
61517ca54c3Smrg} xGLXGetTexImageReply;
61617ca54c3Smrg#define sz_xGLXGetTexImageReply 32
61717ca54c3Smrg
61817ca54c3Smrgtypedef struct {
61917ca54c3Smrg    BYTE	type;			/* X_Reply */
62017ca54c3Smrg    CARD8	unused;			/* not used */
62117ca54c3Smrg    CARD16	sequenceNumber B16;
62217ca54c3Smrg    CARD32	length B32;
62317ca54c3Smrg    CARD32	pad1 B32;
62417ca54c3Smrg    CARD32	pad2 B32;
62517ca54c3Smrg    CARD32	width B32;
62617ca54c3Smrg    CARD32	height B32;
62717ca54c3Smrg    CARD32	pad5 B32;
62817ca54c3Smrg    CARD32	pad6 B32;
62917ca54c3Smrg} xGLXGetSeparableFilterReply;
63017ca54c3Smrg#define sz_xGLXGetSeparableFilterReply 32
63117ca54c3Smrg
63217ca54c3Smrgtypedef struct {
63317ca54c3Smrg    BYTE	type;			/* X_Reply */
63417ca54c3Smrg    CARD8	unused;			/* not used */
63517ca54c3Smrg    CARD16	sequenceNumber B16;
63617ca54c3Smrg    CARD32	length B32;
63717ca54c3Smrg    CARD32	pad1 B32;
63817ca54c3Smrg    CARD32	pad2 B32;
63917ca54c3Smrg    CARD32	width B32;
64017ca54c3Smrg    CARD32	height B32;
64117ca54c3Smrg    CARD32	pad5 B32;
64217ca54c3Smrg    CARD32	pad6 B32;
64317ca54c3Smrg} xGLXGetConvolutionFilterReply;
64417ca54c3Smrg#define sz_xGLXGetConvolutionFilterReply 32
64517ca54c3Smrg
64617ca54c3Smrgtypedef struct {
64717ca54c3Smrg    BYTE	type;			/* X_Reply */
64817ca54c3Smrg    CARD8	unused;			/* not used */
64917ca54c3Smrg    CARD16	sequenceNumber B16;
65017ca54c3Smrg    CARD32	length B32;
65117ca54c3Smrg    CARD32	pad1 B32;
65217ca54c3Smrg    CARD32	pad2 B32;
65317ca54c3Smrg    CARD32	width B32;
65417ca54c3Smrg    CARD32	pad4 B32;
65517ca54c3Smrg    CARD32	pad5 B32;
65617ca54c3Smrg    CARD32	pad6 B32;
65717ca54c3Smrg} xGLXGetHistogramReply;
65817ca54c3Smrg#define sz_xGLXGetHistogramReply 32
65917ca54c3Smrg
66017ca54c3Smrgtypedef struct {
66117ca54c3Smrg    BYTE	type;			/* X_Reply */
66217ca54c3Smrg    CARD8	unused;			/* not used */
66317ca54c3Smrg    CARD16	sequenceNumber B16;
66417ca54c3Smrg    CARD32	length B32;
66517ca54c3Smrg    CARD32	pad1 B32;
66617ca54c3Smrg    CARD32	pad2 B32;
66717ca54c3Smrg    CARD32	pad3 B32;
66817ca54c3Smrg    CARD32	pad4 B32;
66917ca54c3Smrg    CARD32	pad5 B32;
67017ca54c3Smrg    CARD32	pad6 B32;
67117ca54c3Smrg} xGLXGetMinmaxReply;
67217ca54c3Smrg#define sz_xGLXGetMinmaxReply 32
67317ca54c3Smrg
67417ca54c3Smrgtypedef struct {
67517ca54c3Smrg    BYTE	type;			/* X_Reply */
67617ca54c3Smrg    CARD8	unused;			/* not used */
67717ca54c3Smrg    CARD16	sequenceNumber B16;
67817ca54c3Smrg    CARD32	length B32;
67917ca54c3Smrg    CARD32	retval B32;
68017ca54c3Smrg    CARD32	size B32;
68117ca54c3Smrg    CARD32	newMode B32;
68217ca54c3Smrg    CARD32	pad4 B32;
68317ca54c3Smrg    CARD32	pad5 B32;
68417ca54c3Smrg    CARD32	pad6 B32;
68517ca54c3Smrg} xGLXRenderModeReply;
68617ca54c3Smrg#define sz_xGLXRenderModeReply 32
68717ca54c3Smrg
68817ca54c3Smrgtypedef struct {
68917ca54c3Smrg    BYTE	type;			/* X_Reply */
69017ca54c3Smrg    CARD8	unused;			/* not used */
69117ca54c3Smrg    CARD16	sequenceNumber B16;
69217ca54c3Smrg    CARD32	length B32;
69317ca54c3Smrg    CARD32	majorVersion B32;
69417ca54c3Smrg    CARD32	minorVersion B32;
69517ca54c3Smrg    CARD32	pad3 B32;
69617ca54c3Smrg    CARD32	pad4 B32;
69717ca54c3Smrg    CARD32	pad5 B32;
69817ca54c3Smrg    CARD32	pad6 B32;
69917ca54c3Smrg} xGLXQueryVersionReply;
70017ca54c3Smrg#define sz_xGLXQueryVersionReply 32
70117ca54c3Smrg
70217ca54c3Smrgtypedef struct {
70317ca54c3Smrg    BYTE	type;			/* X_Reply */
70417ca54c3Smrg    CARD8	unused;			/* not used */
70517ca54c3Smrg    CARD16	sequenceNumber B16;
70617ca54c3Smrg    CARD32	length B32;
70717ca54c3Smrg    CARD32	numVisuals B32;
70817ca54c3Smrg    CARD32	numProps B32;
70917ca54c3Smrg    CARD32	pad3 B32;
71017ca54c3Smrg    CARD32	pad4 B32;
71117ca54c3Smrg    CARD32	pad5 B32;
71217ca54c3Smrg    CARD32	pad6 B32;
71317ca54c3Smrg} xGLXGetVisualConfigsReply;
71417ca54c3Smrg#define sz_xGLXGetVisualConfigsReply 32
71517ca54c3Smrg
71617ca54c3Smrgtypedef struct {
71717ca54c3Smrg    BYTE	type;			/* X_Reply */
71817ca54c3Smrg    CARD8	unused;			/* not used */
71917ca54c3Smrg    CARD16	sequenceNumber B16;
72017ca54c3Smrg    CARD32	length B32;
72117ca54c3Smrg    BOOL	isDirect;
72217ca54c3Smrg    CARD8	pad1;
72317ca54c3Smrg    CARD16	pad2 B16;
72417ca54c3Smrg    CARD32	pad3 B32;
72517ca54c3Smrg    CARD32	pad4 B32;
72617ca54c3Smrg    CARD32	pad5 B32;
72717ca54c3Smrg    CARD32	pad6 B32;
72817ca54c3Smrg    CARD32	pad7 B32;
72917ca54c3Smrg} xGLXIsDirectReply;
73017ca54c3Smrg#define sz_xGLXIsDirectReply	32
73117ca54c3Smrg
73217ca54c3Smrg/*
73317ca54c3Smrg** This reply structure is used for all single replies.  Single replies
73417ca54c3Smrg** ship either 1 piece of data or N pieces of data.  In these cases
73517ca54c3Smrg** size indicates how much data is to be returned.
73617ca54c3Smrg*/
73717ca54c3Smrgtypedef struct {
73817ca54c3Smrg    BYTE	type;			/* X_Reply */
73917ca54c3Smrg    CARD8	unused;			/* not used */
74017ca54c3Smrg    CARD16	sequenceNumber B16;
74117ca54c3Smrg    CARD32	length B32;
74217ca54c3Smrg    CARD32	retval B32;
74317ca54c3Smrg    CARD32	size B32;
74417ca54c3Smrg    CARD32	pad3 B32;		/* NOTE: may hold a single value */
74517ca54c3Smrg    CARD32	pad4 B32;		/* NOTE: may hold half a double */
74617ca54c3Smrg    CARD32	pad5 B32;
74717ca54c3Smrg    CARD32	pad6 B32;
74817ca54c3Smrg} xGLXSingleReply;
74917ca54c3Smrg#define sz_xGLXSingleReply 32
75017ca54c3Smrg
75117ca54c3Smrg/*
75217ca54c3Smrg** This reply structure is used for all Vendor Private replies. Vendor
75317ca54c3Smrg** Private replies can ship up to 24 bytes within the header or can
75417ca54c3Smrg** be variable sized, in which case, the reply length field indicates
75517ca54c3Smrg** the number of words of data which follow the header.
75617ca54c3Smrg*/
75717ca54c3Smrgtypedef struct {
75817ca54c3Smrg    BYTE	type;			/* X_Reply */
75917ca54c3Smrg    CARD8	unused;			/* not used */
76017ca54c3Smrg    CARD16	sequenceNumber B16;
76117ca54c3Smrg    CARD32	length B32;
76217ca54c3Smrg    CARD32	retval B32;
76317ca54c3Smrg    CARD32	size B32;
76417ca54c3Smrg    CARD32	pad3 B32;
76517ca54c3Smrg    CARD32	pad4 B32;
76617ca54c3Smrg    CARD32	pad5 B32;
76717ca54c3Smrg    CARD32	pad6 B32;
76817ca54c3Smrg} xGLXVendorPrivReply;
76917ca54c3Smrg#define sz_xGLXVendorPrivReply 32
77017ca54c3Smrg
77117ca54c3Smrg/*
77217ca54c3Smrg**  QueryExtensionsStringReply
77317ca54c3Smrg**  n indicates the number of bytes to be returned.
77417ca54c3Smrg*/
77517ca54c3Smrgtypedef struct {
77617ca54c3Smrg    BYTE	type;			/* X_Reply */
77717ca54c3Smrg    CARD8	unused;			/* not used */
77817ca54c3Smrg    CARD16	sequenceNumber B16;
77917ca54c3Smrg    CARD32	length B32;
78017ca54c3Smrg    CARD32	pad1 B32;
78117ca54c3Smrg    CARD32	n B32;
78217ca54c3Smrg    CARD32	pad3 B32;
78317ca54c3Smrg    CARD32	pad4 B32;
78417ca54c3Smrg    CARD32	pad5 B32;
78517ca54c3Smrg    CARD32	pad6 B32;
78617ca54c3Smrg} xGLXQueryExtensionsStringReply;
78717ca54c3Smrg#define sz_xGLXQueryExtensionsStringReply 32
78817ca54c3Smrg
78917ca54c3Smrg/*
79017ca54c3Smrg** QueryServerString Reply struct
79117ca54c3Smrg** n indicates the number of bytes to be returned.
79217ca54c3Smrg*/
79317ca54c3Smrgtypedef struct {
79417ca54c3Smrg    BYTE	type;			/* X_Reply */
79517ca54c3Smrg    CARD8	unused;			/* not used */
79617ca54c3Smrg    CARD16	sequenceNumber B16;
79717ca54c3Smrg    CARD32	length B32;
79817ca54c3Smrg    CARD32	pad1 B32;
79917ca54c3Smrg    CARD32	n B32;
80017ca54c3Smrg    CARD32	pad3 B32;		/* NOTE: may hold a single value */
80117ca54c3Smrg    CARD32	pad4 B32;		/* NOTE: may hold half a double */
80217ca54c3Smrg    CARD32	pad5 B32;
80317ca54c3Smrg    CARD32	pad6 B32;
80417ca54c3Smrg} xGLXQueryServerStringReply;
80517ca54c3Smrg#define sz_xGLXQueryServerStringReply 32
80617ca54c3Smrg
80717ca54c3Smrg/*** Start of GLX 1.3 replies */
80817ca54c3Smrg
80917ca54c3Smrg/*
81017ca54c3Smrg** glXGetFBConfigs reply
81117ca54c3Smrg*/
81217ca54c3Smrgtypedef struct {
81317ca54c3Smrg    BYTE	type;			/* X_Reply */
81417ca54c3Smrg    CARD8	unused;			/* not used */
81517ca54c3Smrg    CARD16	sequenceNumber B16;
81617ca54c3Smrg    CARD32	length B32;
81717ca54c3Smrg    CARD32	numFBConfigs B32;
81817ca54c3Smrg    CARD32	numAttribs B32;
81917ca54c3Smrg    CARD32	pad3 B32;
82017ca54c3Smrg    CARD32	pad4 B32;
82117ca54c3Smrg    CARD32	pad5 B32;
82217ca54c3Smrg    CARD32	pad6 B32;
82317ca54c3Smrg} xGLXGetFBConfigsReply;
82417ca54c3Smrg#define sz_xGLXGetFBConfigsReply 32
82517ca54c3Smrg
82617ca54c3Smrg/*
82717ca54c3Smrg** glXQueryContext reply
82817ca54c3Smrg*/
82917ca54c3Smrgtypedef struct {
83017ca54c3Smrg    BYTE	type;			/* X_Reply */
83117ca54c3Smrg    CARD8	unused;			/* not used */
83217ca54c3Smrg    CARD16	sequenceNumber B16;
83317ca54c3Smrg    CARD32	length B32;
83417ca54c3Smrg    CARD32	n B32;			/* number of attribute/value pairs */
83517ca54c3Smrg    CARD32	pad2 B32;
83617ca54c3Smrg    CARD32	pad3 B32;
83717ca54c3Smrg    CARD32	pad4 B32;
83817ca54c3Smrg    CARD32	pad5 B32;
83917ca54c3Smrg    CARD32	pad6 B32;
84017ca54c3Smrg} xGLXQueryContextReply;
84117ca54c3Smrg#define sz_xGLXQueryContextReply 32
84217ca54c3Smrg
84317ca54c3Smrg/*
84417ca54c3Smrg** glXMakeContextCurrent reply
84517ca54c3Smrg*/
84617ca54c3Smrgtypedef struct {
84717ca54c3Smrg    BYTE	type;			/* X_Reply */
84817ca54c3Smrg    CARD8	unused;			/* not used */
84917ca54c3Smrg    CARD16	sequenceNumber B16;
85017ca54c3Smrg    CARD32	length B32;
85117ca54c3Smrg    GLXContextTag contextTag B32;
85217ca54c3Smrg    CARD32	pad2 B32;
85317ca54c3Smrg    CARD32	pad3 B32;
85417ca54c3Smrg    CARD32	pad4 B32;
85517ca54c3Smrg    CARD32	pad5 B32;
85617ca54c3Smrg    CARD32	pad6 B32;
85717ca54c3Smrg} xGLXMakeContextCurrentReply;
85817ca54c3Smrg#define sz_xGLXMakeContextCurrentReply 32
85917ca54c3Smrg
86017ca54c3Smrg/*
86117ca54c3Smrg** glXCreateGLXPbuffer reply
86217ca54c3Smrg** This is used only in the direct rendering case on SGIs - otherwise
86317ca54c3Smrg**  CreateGLXPbuffer has no reply. It is not part of GLX 1.3.
86417ca54c3Smrg*/
86517ca54c3Smrgtypedef struct {
86617ca54c3Smrg    BYTE	type;			/* X_Reply */
86717ca54c3Smrg    CARD8	success;
86817ca54c3Smrg    CARD16	sequenceNumber B16;
86917ca54c3Smrg    CARD32	length B32;
87017ca54c3Smrg    CARD32	pad1 B32;
87117ca54c3Smrg    CARD32	pad2 B32;
87217ca54c3Smrg    CARD32	pad3 B32;
87317ca54c3Smrg    CARD32	pad4 B32;
87417ca54c3Smrg    CARD32	pad5 B32;
87517ca54c3Smrg    CARD32	pad6 B32;
87617ca54c3Smrg} xGLXCreateGLXPbufferReply;
87717ca54c3Smrg#define sz_xGLXCreateGLXPbufferReply 32
87817ca54c3Smrg
87917ca54c3Smrg/*
88017ca54c3Smrg** glXGetDrawableAttributes reply
88117ca54c3Smrg*/
88217ca54c3Smrgtypedef struct {
88317ca54c3Smrg    BYTE	type;			/* X_Reply */
88417ca54c3Smrg    CARD8	unused;			/* not used */
88517ca54c3Smrg    CARD16	sequenceNumber B16;
88617ca54c3Smrg    CARD32	length B32;
88717ca54c3Smrg    CARD32	numAttribs B32;
88817ca54c3Smrg    CARD32	pad2 B32;
88917ca54c3Smrg    CARD32	pad3 B32;
89017ca54c3Smrg    CARD32	pad4 B32;
89117ca54c3Smrg    CARD32	pad5 B32;
89217ca54c3Smrg    CARD32	pad6 B32;
89317ca54c3Smrg} xGLXGetDrawableAttributesReply;
89417ca54c3Smrg#define sz_xGLXGetDrawableAttributesReply 32
89517ca54c3Smrg
89617ca54c3Smrg/*
89717ca54c3Smrg** glXGetColorTable reply
89817ca54c3Smrg*/
89917ca54c3Smrgtypedef struct {
90017ca54c3Smrg    BYTE	type;		       /* X_Reply */
90117ca54c3Smrg    CARD8	unused;		       /* not used */
90217ca54c3Smrg    CARD16	sequenceNumber B16;
90317ca54c3Smrg    CARD32	length B32;
90417ca54c3Smrg    CARD32	pad1 B32;
90517ca54c3Smrg    CARD32	pad2 B32;
90617ca54c3Smrg    CARD32	width B32;
90717ca54c3Smrg    CARD32	pad4 B32;
90817ca54c3Smrg    CARD32	pad5 B32;
90917ca54c3Smrg    CARD32	pad6 B32;
91017ca54c3Smrg} xGLXGetColorTableReply;
91117ca54c3Smrg#define sz_xGLXGetColorTableReply 32
91217ca54c3Smrg
91317ca54c3Smrg/************************************************************************/
91417ca54c3Smrg
91517ca54c3Smrg/* GLX extension requests and replies */
91617ca54c3Smrg
91717ca54c3Smrg/*
91817ca54c3Smrg** glXQueryContextInfoEXT request
91917ca54c3Smrg*/
92017ca54c3Smrgtypedef struct GLXQueryContextInfoEXT {
92117ca54c3Smrg    CARD8	reqType;
92217ca54c3Smrg    CARD8	glxCode;
92317ca54c3Smrg    CARD16	length B16;
92417ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
92517ca54c3Smrg    CARD32	pad1 B32;   /* unused; corresponds to contextTag in header */
92617ca54c3Smrg    GLXContextID context B32;
92717ca54c3Smrg} xGLXQueryContextInfoEXTReq;
92817ca54c3Smrg#define sz_xGLXQueryContextInfoEXTReq 16
92917ca54c3Smrg
93017ca54c3Smrg/*
93117ca54c3Smrg** glXQueryContextInfoEXT reply
93217ca54c3Smrg*/
93317ca54c3Smrgtypedef struct {
93417ca54c3Smrg    BYTE	type;			/* X_Reply */
93517ca54c3Smrg    CARD8	unused;			/* not used */
93617ca54c3Smrg    CARD16	sequenceNumber B16;
93717ca54c3Smrg    CARD32	length B32;
93817ca54c3Smrg    CARD32	n B32;			/* number of attribute/value pairs */
93917ca54c3Smrg    CARD32	pad2 B32;
94017ca54c3Smrg    CARD32	pad3 B32;
94117ca54c3Smrg    CARD32	pad4 B32;
94217ca54c3Smrg    CARD32	pad5 B32;
94317ca54c3Smrg    CARD32	pad6 B32;
94417ca54c3Smrg} xGLXQueryContextInfoEXTReply;
94517ca54c3Smrg#define sz_xGLXQueryContextInfoEXTReply 32
94617ca54c3Smrg
94717ca54c3Smrg/*
94817ca54c3Smrg** glXMakeCurrentReadSGI request
94917ca54c3Smrg*/
95017ca54c3Smrgtypedef struct GLXMakeCurrentReadSGI {
95117ca54c3Smrg    CARD8	reqType;
95217ca54c3Smrg    CARD8	glxCode;
95317ca54c3Smrg    CARD16	length B16;
95417ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
95517ca54c3Smrg    GLXContextTag oldContextTag B32;
95617ca54c3Smrg    GLXDrawable drawable B32;
95717ca54c3Smrg    GLXDrawable readable B32;
95817ca54c3Smrg    GLXContextID context B32;
95917ca54c3Smrg} xGLXMakeCurrentReadSGIReq;
96017ca54c3Smrg#define sz_xGLXMakeCurrentReadSGIReq 24
96117ca54c3Smrg
96217ca54c3Smrgtypedef struct {
96317ca54c3Smrg    BYTE	type;			/* X_Reply */
96417ca54c3Smrg    CARD8	unused;			/* not used */
96517ca54c3Smrg    CARD16	sequenceNumber B16;
96617ca54c3Smrg    CARD32	length B32;
96717ca54c3Smrg    GLXContextTag contextTag B32;
96817ca54c3Smrg    CARD32	writeVid B32;
96917ca54c3Smrg    CARD32	writeType B32;
97017ca54c3Smrg    CARD32	readVid B32;
97117ca54c3Smrg    CARD32	readType B32;
97217ca54c3Smrg    CARD32	pad6 B32;
97317ca54c3Smrg} xGLXMakeCurrentReadSGIReply;
97417ca54c3Smrg#define sz_xGLXMakeCurrentReadSGIReply 32
97517ca54c3Smrg
97617ca54c3Smrg/*
97717ca54c3Smrg** glXGetFBConfigsSGIX request
97817ca54c3Smrg*/
97917ca54c3Smrgtypedef struct GLXGetFBConfigsSGIX {
98017ca54c3Smrg    CARD8	reqType;
98117ca54c3Smrg    CARD8	glxCode;
98217ca54c3Smrg    CARD16	length B16;
98317ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
98417ca54c3Smrg    CARD32	pad1 B32;   /* unused; corresponds to contextTag in header */
98517ca54c3Smrg    CARD32	screen B32;
98617ca54c3Smrg} xGLXGetFBConfigsSGIXReq;
98717ca54c3Smrg#define sz_xGLXGetFBConfigsSGIXReq 16
98817ca54c3Smrg
98917ca54c3Smrg/*
99017ca54c3Smrg** glXCreateContextWithConfigSGIX request
99117ca54c3Smrg*/
99217ca54c3Smrg
99317ca54c3Smrgtypedef struct GLXCreateContextWithConfigSGIX {
99417ca54c3Smrg    CARD8	reqType;
99517ca54c3Smrg    CARD8	glxCode;
99617ca54c3Smrg    CARD16	length B16;
99717ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
99817ca54c3Smrg    CARD32	pad1 B32;   /* unused; corresponds to contextTag in header */
99917ca54c3Smrg    GLXContextID context B32;
100017ca54c3Smrg    GLXFBConfigID fbconfig B32;
100117ca54c3Smrg    CARD32	screen B32;
100217ca54c3Smrg    CARD32	renderType;
100317ca54c3Smrg    GLXContextID shareList B32;
100417ca54c3Smrg    BOOL	isDirect;
100517ca54c3Smrg    CARD8	reserved1;
100617ca54c3Smrg    CARD16	reserved2 B16;
100717ca54c3Smrg} xGLXCreateContextWithConfigSGIXReq;
100817ca54c3Smrg#define sz_xGLXCreateContextWithConfigSGIXReq 36
100917ca54c3Smrg
101017ca54c3Smrg/*
101117ca54c3Smrg** glXCreatePixmapWithConfigSGIX request
101217ca54c3Smrg*/
101317ca54c3Smrg
101417ca54c3Smrgtypedef struct GLXCreateGLXPixmapWithConfigSGIX {
101517ca54c3Smrg    CARD8	reqType;
101617ca54c3Smrg    CARD8	glxCode;
101717ca54c3Smrg    CARD16	length B16;
101817ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
101917ca54c3Smrg    CARD32	pad1 B32;   /* unused; corresponds to contextTag in header */
102017ca54c3Smrg    CARD32	screen B32;
102117ca54c3Smrg    GLXFBConfigID fbconfig B32;
102217ca54c3Smrg    CARD32	pixmap B32;
102317ca54c3Smrg    GLXPixmap	glxpixmap B32;
102417ca54c3Smrg} xGLXCreateGLXPixmapWithConfigSGIXReq;
102517ca54c3Smrg#define sz_xGLXCreateGLXPixmapWithConfigSGIXReq 28
102617ca54c3Smrg
102717ca54c3Smrg/*
102817ca54c3Smrg** glXCreateGLXPbufferSGIX request
102917ca54c3Smrg*/
103017ca54c3Smrgtypedef struct GLXCreateGLXPbufferSGIX {
103117ca54c3Smrg    CARD8	reqType;
103217ca54c3Smrg    CARD8	glxCode;
103317ca54c3Smrg    CARD16	length B16;
103417ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
103517ca54c3Smrg    CARD32	pad1 B32;   /* unused; corresponds to contextTag in header */
103617ca54c3Smrg    CARD32	screen B32;
103717ca54c3Smrg    GLXFBConfigID fbconfig B32;
103817ca54c3Smrg    GLXPbuffer	pbuffer B32;
103917ca54c3Smrg    CARD32	width B32;
104017ca54c3Smrg    CARD32	height B32;
104117ca54c3Smrg    /* followed by attribute list */
104217ca54c3Smrg} xGLXCreateGLXPbufferSGIXReq;
104317ca54c3Smrg#define sz_xGLXCreateGLXPbufferSGIXReq 32
104417ca54c3Smrg
104517ca54c3Smrg/*
104617ca54c3Smrg** glXDestroyGLXPbufferSGIX request
104717ca54c3Smrg*/
104817ca54c3Smrgtypedef struct GLXDestroyGLXPbuffer {
104917ca54c3Smrg    CARD8	reqType;
105017ca54c3Smrg    CARD8	glxCode;
105117ca54c3Smrg    CARD16	length B16;
105217ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
105317ca54c3Smrg    CARD32	pad1 B32;   /* unused; corresponds to contextTag in header */
105417ca54c3Smrg    GLXPbuffer	pbuffer B32;
105517ca54c3Smrg} xGLXDestroyGLXPbufferSGIXReq;
105617ca54c3Smrg#define sz_xGLXDestroyGLXPbufferSGIXReq 16
105717ca54c3Smrg
105817ca54c3Smrg/*
105917ca54c3Smrg** glXChangeDrawableAttributesSGIX request
106017ca54c3Smrg*/
106117ca54c3Smrgtypedef struct GLXChangeDrawableAttributesSGIX {
106217ca54c3Smrg    CARD8	reqType;
106317ca54c3Smrg    CARD8	glxCode;
106417ca54c3Smrg    CARD16	length B16;
106517ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
106617ca54c3Smrg    CARD32	pad1 B32;   /* unused; corresponds to contextTag in header */
106717ca54c3Smrg    GLXDrawable drawable B32;
106817ca54c3Smrg    CARD32	numAttribs B32;
106917ca54c3Smrg    /* followed by attribute list */
107017ca54c3Smrg} xGLXChangeDrawableAttributesSGIXReq;
107117ca54c3Smrg#define sz_xGLXChangeDrawableAttributesSGIXReq 20
107217ca54c3Smrg
107317ca54c3Smrg/*
107417ca54c3Smrg** glXGetDrawableAttributesSGIX request
107517ca54c3Smrg*/
107617ca54c3Smrgtypedef struct GLXGetDrawableAttributesSGIX {
107717ca54c3Smrg    CARD8	reqType;
107817ca54c3Smrg    CARD8	glxCode;
107917ca54c3Smrg    CARD16	length B16;
108017ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
108117ca54c3Smrg    CARD32	pad1 B32;   /* unused; corresponds to contextTag in header */
108217ca54c3Smrg    GLXDrawable drawable B32;
108317ca54c3Smrg} xGLXGetDrawableAttributesSGIXReq;
108417ca54c3Smrg#define sz_xGLXGetDrawableAttributesSGIXReq 16
108517ca54c3Smrg
108617ca54c3Smrg/*
108717ca54c3Smrg** glXGetDrawableAttributesSGIX reply
108817ca54c3Smrg*/
108917ca54c3Smrgtypedef struct {
109017ca54c3Smrg    BYTE	type;			/* X_Reply */
109117ca54c3Smrg    CARD8	unused;			/* not used */
109217ca54c3Smrg    CARD16	sequenceNumber B16;
109317ca54c3Smrg    CARD32	length B32;
109417ca54c3Smrg    CARD32	numAttribs B32;
109517ca54c3Smrg    CARD32	pad2 B32;
109617ca54c3Smrg    CARD32	pad3 B32;
109717ca54c3Smrg    CARD32	pad4 B32;
109817ca54c3Smrg    CARD32	pad5 B32;
109917ca54c3Smrg    CARD32	pad6 B32;
110017ca54c3Smrg} xGLXGetDrawableAttributesSGIXReply;
110117ca54c3Smrg#define sz_xGLXGetDrawableAttributesSGIXReply 32
110217ca54c3Smrg
110317ca54c3Smrg/*
110417ca54c3Smrg** glXJoinSwapGroupSGIX request
110517ca54c3Smrg*/
110617ca54c3Smrgtypedef struct GLXJoinSwapGroupSGIX {
110717ca54c3Smrg    CARD8	reqType;
110817ca54c3Smrg    CARD8	glxCode;
110917ca54c3Smrg    CARD16	length B16;
111017ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
111117ca54c3Smrg    CARD32 	unused B32;		/* corresponds to contextTag in hdr */
111217ca54c3Smrg    GLXDrawable	drawable B32;
111317ca54c3Smrg    GLXDrawable	member B32;
111417ca54c3Smrg} xGLXJoinSwapGroupSGIXReq;
111517ca54c3Smrg#define sz_xGLXJoinSwapGroupSGIXReq 20
111617ca54c3Smrg
111717ca54c3Smrg/*
111817ca54c3Smrg** glXBindSwapBarrierSGIX request
111917ca54c3Smrg*/
112017ca54c3Smrgtypedef struct GLXBindSwapBarrierSGIX {
112117ca54c3Smrg    CARD8	reqType;
112217ca54c3Smrg    CARD8	glxCode;
112317ca54c3Smrg    CARD16	length B16;
112417ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
112517ca54c3Smrg    CARD32 	unused B32;		/* corresponds to contextTag in hdr */
112617ca54c3Smrg    GLXDrawable	drawable B32;
112717ca54c3Smrg    CARD32	barrier B32;
112817ca54c3Smrg} xGLXBindSwapBarrierSGIXReq;
112917ca54c3Smrg#define sz_xGLXBindSwapBarrierSGIXReq 20
113017ca54c3Smrg
113117ca54c3Smrg/*
113217ca54c3Smrg** glXQueryMaxSwapBarriersSGIX request
113317ca54c3Smrg*/
113417ca54c3Smrgtypedef struct GLXQueryMaxSwapBarriersSGIX {
113517ca54c3Smrg    CARD8	reqType;
113617ca54c3Smrg    CARD8	glxCode;
113717ca54c3Smrg    CARD16	length B16;
113817ca54c3Smrg    CARD32	vendorCode B32;		/* vendor-specific opcode */
113917ca54c3Smrg    CARD32 	unused B32;		/* corresponds to contextTag in hdr */
114017ca54c3Smrg    CARD32	screen B32;
114117ca54c3Smrg} xGLXQueryMaxSwapBarriersSGIXReq;
114217ca54c3Smrg#define sz_xGLXQueryMaxSwapBarriersSGIXReq 16
114317ca54c3Smrg
114417ca54c3Smrgtypedef struct {
114517ca54c3Smrg    BYTE	type;			/* X_Reply */
114617ca54c3Smrg    CARD8	unused;			/* not used */
114717ca54c3Smrg    CARD16	sequenceNumber B16;
114817ca54c3Smrg    CARD32	length B32;
114917ca54c3Smrg    CARD32	max B32;
115017ca54c3Smrg    CARD32	size B32;
115117ca54c3Smrg    CARD32	pad3 B32;
115217ca54c3Smrg    CARD32	pad4 B32;
115317ca54c3Smrg    CARD32	pad5 B32;
115417ca54c3Smrg    CARD32	pad6 B32;
115517ca54c3Smrg} xGLXQueryMaxSwapBarriersSGIXReply;
115617ca54c3Smrg#define sz_xGLXQueryMaxSwapBarriersSGIXReply 32
115717ca54c3Smrg
115817ca54c3Smrg/*
115917ca54c3Smrg** glXQueryHyperpipeNetworkSGIX request
116017ca54c3Smrg*/
116117ca54c3Smrgtypedef struct GLXQueryHyperpipeNetworkSGIX {
116217ca54c3Smrg    CARD8       reqType;
116317ca54c3Smrg    CARD8       glxCode;
116417ca54c3Smrg    CARD16      length B16;
116517ca54c3Smrg    CARD32      vendorCode B32;         /* vendor-specific opcode */
116617ca54c3Smrg    CARD32      pad1 B32;   /* unused; corresponds to contextTag in header */
116717ca54c3Smrg    CARD32      screen B32;
116817ca54c3Smrg} xGLXQueryHyperpipeNetworkSGIXReq;
116917ca54c3Smrg#define sz_xGLXQueryHyperpipeNetworkSGIXReq 16
117017ca54c3Smrg
117117ca54c3Smrg/*
117217ca54c3Smrg** glXQueryHyperpipeNetworkSGIX reply
117317ca54c3Smrg*/
117417ca54c3Smrgtypedef struct {
117517ca54c3Smrg    BYTE        type;                   /* X_Reply */
117617ca54c3Smrg    CARD8       unused;                 /* not used */
117717ca54c3Smrg    CARD16      sequenceNumber B16;
117817ca54c3Smrg    CARD32      length B32;
117917ca54c3Smrg    CARD32      pad1 B32;
118017ca54c3Smrg    CARD32      n B32;
118117ca54c3Smrg    CARD32      npipes B32;             /* NOTE: may hold a single value */
118217ca54c3Smrg    CARD32      pad4 B32;               /* NOTE: may hold half a double */
118317ca54c3Smrg    CARD32      pad5 B32;
118417ca54c3Smrg    CARD32      pad6 B32;
118517ca54c3Smrg} xGLXQueryHyperpipeNetworkSGIXReply;
118617ca54c3Smrg#define sz_xGLXQueryHyperpipeNetworkSGIXReply 32
118717ca54c3Smrg
118817ca54c3Smrg/*
118917ca54c3Smrg** glXDestroyHyperpipeConfigSGIX request
119017ca54c3Smrg*/
119117ca54c3Smrgtypedef struct GLXDestroyHyperpipeConfigSGIX {
119217ca54c3Smrg    CARD8       reqType;
119317ca54c3Smrg    CARD8       glxCode;
119417ca54c3Smrg    CARD16      length B16;
119517ca54c3Smrg    CARD32      vendorCode B32;         /* vendor-specific opcode */
119617ca54c3Smrg    CARD32      pad1 B32;   /* unused; corresponds to contextTag in header */
119717ca54c3Smrg    CARD32      screen B32;
119817ca54c3Smrg    CARD32      hpId B32;
119917ca54c3Smrg    CARD32      pad2 B32;
120017ca54c3Smrg    CARD32      pad3 B32;
120117ca54c3Smrg    CARD32      pad4 B32;
120217ca54c3Smrg} xGLXDestroyHyperpipeConfigSGIXReq;
120317ca54c3Smrg#define sz_xGLXDestroyHyperpipeConfigSGIXReq 32
120417ca54c3Smrg
120517ca54c3Smrg/*
120617ca54c3Smrg** glXDestroyHyperpipeConfigSGIX reply
120717ca54c3Smrg*/
120817ca54c3Smrgtypedef struct {
120917ca54c3Smrg    BYTE        type;                   /* X_Reply */
121017ca54c3Smrg    CARD8       unused;                 /* not used */
121117ca54c3Smrg    CARD16      sequenceNumber B16;
121217ca54c3Smrg    CARD32      length B32;
121317ca54c3Smrg    CARD32      pad1 B32;
121417ca54c3Smrg    CARD32      n B32;
121517ca54c3Smrg    CARD32      success B32;            /* NOTE: may hold a single value */
121617ca54c3Smrg    CARD32      pad4 B32;               /* NOTE: may hold half a double */
121717ca54c3Smrg    CARD32      pad5 B32;
121817ca54c3Smrg    CARD32      pad6 B32;
121917ca54c3Smrg} xGLXDestroyHyperpipeConfigSGIXReply;
122017ca54c3Smrg#define sz_xGLXDestroyHyperpipeConfigSGIXReply 32
122117ca54c3Smrg
122217ca54c3Smrg/*
122317ca54c3Smrg** glXQueryHyperpipeConfigSGIX request
122417ca54c3Smrg*/
122517ca54c3Smrgtypedef struct GLXQueryHyperpipeConfigSGIX {
122617ca54c3Smrg    CARD8       reqType;
122717ca54c3Smrg    CARD8       glxCode;
122817ca54c3Smrg    CARD16      length B16;
122917ca54c3Smrg    CARD32      vendorCode B32;         /* vendor-specific opcode */
123017ca54c3Smrg    CARD32      pad1 B32;   /* unused; corresponds to contextTag in header */
123117ca54c3Smrg    CARD32      screen B32;
123217ca54c3Smrg    CARD32      hpId B32;
123317ca54c3Smrg    CARD32      pad2 B32;
123417ca54c3Smrg    CARD32      pad3 B32;
123517ca54c3Smrg    CARD32      pad4 B32;
123617ca54c3Smrg} xGLXQueryHyperpipeConfigSGIXReq;
123717ca54c3Smrg#define sz_xGLXQueryHyperpipeConfigSGIXReq 32
123817ca54c3Smrg
123917ca54c3Smrg/*
124017ca54c3Smrg** glXQueryHyperpipeConfigSGIX reply
124117ca54c3Smrg*/
124217ca54c3Smrgtypedef struct {
124317ca54c3Smrg    BYTE        type;                   /* X_Reply */
124417ca54c3Smrg    CARD8       unused;                 /* not used */
124517ca54c3Smrg    CARD16      sequenceNumber B16;
124617ca54c3Smrg    CARD32      length B32;
124717ca54c3Smrg    CARD32      pad1 B32;
124817ca54c3Smrg    CARD32      n B32;
124917ca54c3Smrg    CARD32      npipes B32;
125017ca54c3Smrg    CARD32      pad4 B32;
125117ca54c3Smrg    CARD32      pad5 B32;
125217ca54c3Smrg    CARD32      pad6 B32;
125317ca54c3Smrg} xGLXQueryHyperpipeConfigSGIXReply;
125417ca54c3Smrg#define sz_xGLXQueryHyperpipeConfigSGIXReply 32
125517ca54c3Smrg
125617ca54c3Smrg/*
125717ca54c3Smrg** glXHyperpipeConfigSGIX request
125817ca54c3Smrg*/
125917ca54c3Smrgtypedef struct {
126017ca54c3Smrg    CARD8       reqType;
126117ca54c3Smrg    CARD8       glxCode;
126217ca54c3Smrg    CARD16      length B16;
126317ca54c3Smrg    CARD32      vendorCode B32;         /* vendor-specific opcode */
126417ca54c3Smrg    CARD32      pad1 B32;   /* unused; corresponds to contextTag in header */
126517ca54c3Smrg    CARD32      screen B32;
126617ca54c3Smrg    CARD32      npipes B32;
126717ca54c3Smrg    CARD32      networkId B32;
126817ca54c3Smrg    CARD32      pad2 B32;
126917ca54c3Smrg    CARD32      pad3 B32;
127017ca54c3Smrg    /* followed by attribute list */
127117ca54c3Smrg} xGLXHyperpipeConfigSGIXReq;
127217ca54c3Smrg#define sz_xGLXHyperpipeConfigSGIXReq 32
127317ca54c3Smrg
127417ca54c3Smrg/*
127517ca54c3Smrg** glXHyperpipeConfigSGIX reply
127617ca54c3Smrg*/
127717ca54c3Smrgtypedef struct {
127817ca54c3Smrg    BYTE        type;                   /* X_Reply */
127917ca54c3Smrg    CARD8       unused;                 /* not used */
128017ca54c3Smrg    CARD16      sequenceNumber B16;
128117ca54c3Smrg    CARD32      length B32;
128217ca54c3Smrg    CARD32      pad1 B32;
128317ca54c3Smrg    CARD32      n B32;
128417ca54c3Smrg    CARD32      npipes B32;
128517ca54c3Smrg    CARD32      hpId B32;
128617ca54c3Smrg    CARD32      pad5 B32;
128717ca54c3Smrg    CARD32      pad6 B32;
128817ca54c3Smrg} xGLXHyperpipeConfigSGIXReply;
128917ca54c3Smrg#define sz_xGLXHyperpipeConfigSGIXReply 32
129017ca54c3Smrg
129117ca54c3Smrg/**
129217ca54c3Smrg * \name Protocol structures for GLX_ARB_create_context and
129317ca54c3Smrg * GLX_ARB_create_context_profile
129417ca54c3Smrg */
129517ca54c3Smrg/*@{*/
129617ca54c3Smrg/**
129717ca54c3Smrg * Protocol header for glXSetClientInfoARB
129817ca54c3Smrg *
129917ca54c3Smrg * This structure is follwed by \c numVersions * 2 \c CARD32 values listing
130017ca54c3Smrg * the OpenGL versions supported by the client.  The pairs of values are an
130117ca54c3Smrg * OpenGL major version followed by a minor version.  For example,
130217ca54c3Smrg *
130317ca54c3Smrg *      CARD32 versions[4] = { 2, 1, 3, 0 };
130417ca54c3Smrg *
130517ca54c3Smrg * says that the client supports OpenGL 2.1 and OpenGL 3.0.
130617ca54c3Smrg *
130717ca54c3Smrg * These are followed by \c numGLExtensionBytes bytes of \c STRING8 containing
130817ca54c3Smrg * the OpenGL extension string supported by the client and up to 3 bytes of
130917ca54c3Smrg * padding.
131017ca54c3Smrg *
131117ca54c3Smrg * The list of OpenGL extensions is followed by \c numGLXExtensionBytes bytes
131217ca54c3Smrg * of \c STRING8 containing the GLX extension string supported by the client
131317ca54c3Smrg * and up to 3 bytes of padding.
131417ca54c3Smrg *
131517ca54c3Smrg * This protocol replaces \c GLXClientInfo.
131617ca54c3Smrg *
131717ca54c3Smrg * \sa GLXClientInfo, GLXSetClientInfo2ARB
131817ca54c3Smrg */
131917ca54c3Smrgtypedef struct GLXSetClientInfoARB {
132017ca54c3Smrg    CARD8	reqType;
132117ca54c3Smrg    CARD8	glxCode;
132217ca54c3Smrg    CARD16	length B16;
132317ca54c3Smrg    CARD32	major B32;
132417ca54c3Smrg    CARD32	minor B32;
132517ca54c3Smrg    CARD32	numVersions B32;
132617ca54c3Smrg    CARD32	numGLExtensionBytes B32;
132717ca54c3Smrg    CARD32	numGLXExtensionBytes B32;
132817ca54c3Smrg    /*
132917ca54c3Smrg    ** More data may follow; this is just the header.
133017ca54c3Smrg    */
133117ca54c3Smrg} xGLXSetClientInfoARBReq;
133217ca54c3Smrg#define sz_xGLXSetClientInfoARBReq 24
133317ca54c3Smrg
133417ca54c3Smrg/**
133517ca54c3Smrg * Protocol head for glXCreateContextAttribsARB
133617ca54c3Smrg *
133717ca54c3Smrg * This protocol replaces \c GLXCreateContext, \c GLXCreateNewContext, and
133817ca54c3Smrg * \c GLXCreateContextWithConfigSGIX.
133917ca54c3Smrg */
134017ca54c3Smrgtypedef struct GLXCreateContextAttribsARB {
134117ca54c3Smrg    CARD8	reqType;
134217ca54c3Smrg    CARD8	glxCode;
134317ca54c3Smrg    CARD16	length B16;
134417ca54c3Smrg    GLXContextID	context B32;
134517ca54c3Smrg    GLXFBConfigID	fbconfig B32;
134617ca54c3Smrg    CARD32	screen;
134717ca54c3Smrg    GLXContextID	shareList B32;
134817ca54c3Smrg    BOOL	isDirect;
134917ca54c3Smrg    CARD8	reserved1;
135017ca54c3Smrg    CARD16	reserved2 B16;
135117ca54c3Smrg    CARD32	numAttribs B32;
135217ca54c3Smrg    /* followed by attribute list */
135317ca54c3Smrg} xGLXCreateContextAttribsARBReq;
135417ca54c3Smrg#define sz_xGLXCreateContextAttribsARBReq 28
135517ca54c3Smrg
135617ca54c3Smrg/**
135717ca54c3Smrg * Protocol header for glXSetClientInfo2ARB
135817ca54c3Smrg *
135917ca54c3Smrg * The glXSetClientInfo2ARB protocol differs from glXSetClientInfoARB in that
136017ca54c3Smrg * the list of OpenGL versions supported by the client is 3 \c CARD32 values
136117ca54c3Smrg * per version: major version, minor version, and supported profile mask.
136217ca54c3Smrg *
136317ca54c3Smrg * This protocol replaces \c GLXClientInfo and \c GLXSetClientInfoARB.
136417ca54c3Smrg *
136517ca54c3Smrg * \sa GLXClientInfo, GLXSetClientInfoARB
136617ca54c3Smrg */
136717ca54c3Smrgtypedef struct GLXSetClientInfo2ARB {
136817ca54c3Smrg    CARD8	reqType;
136917ca54c3Smrg    CARD8	glxCode;
137017ca54c3Smrg    CARD16	length B16;
137117ca54c3Smrg    CARD32	major B32;
137217ca54c3Smrg    CARD32	minor B32;
137317ca54c3Smrg    CARD32	numVersions B32;
137417ca54c3Smrg    CARD32	numGLExtensionBytes B32;
137517ca54c3Smrg    CARD32	numGLXExtensionBytes B32;
137617ca54c3Smrg    /*
137717ca54c3Smrg    ** More data may follow; this is just the header.
137817ca54c3Smrg    */
137917ca54c3Smrg} xGLXSetClientInfo2ARBReq;
138017ca54c3Smrg#define sz_xGLXSetClientInfo2ARBReq 24
138117ca54c3Smrg/*@}*/
138217ca54c3Smrg
138317ca54c3Smrg/************************************************************************/
138417ca54c3Smrg
138517ca54c3Smrg/*
138617ca54c3Smrg** Events
138717ca54c3Smrg*/
138817ca54c3Smrg
138917ca54c3Smrgtypedef struct {
139017ca54c3Smrg    BYTE type;
139117ca54c3Smrg    BYTE pad;
139217ca54c3Smrg    CARD16 sequenceNumber B16;
139317ca54c3Smrg    CARD16 event_type B16;  /*** was clobber_class */
139417ca54c3Smrg    CARD16 draw_type B16;
139517ca54c3Smrg    CARD32 drawable B32;
139617ca54c3Smrg    CARD32 buffer_mask B32; /*** was mask */
139717ca54c3Smrg    CARD16 aux_buffer B16;
139817ca54c3Smrg    CARD16 x B16;
139917ca54c3Smrg    CARD16 y B16;
140017ca54c3Smrg    CARD16 width B16;
140117ca54c3Smrg    CARD16 height B16;
140217ca54c3Smrg    CARD16 count B16;
140317ca54c3Smrg    CARD32 unused2 B32;
140417ca54c3Smrg} xGLXPbufferClobberEvent;
140517ca54c3Smrg
140617ca54c3Smrgtypedef struct {
140717ca54c3Smrg    BYTE type;
140817ca54c3Smrg    BYTE pad;
140917ca54c3Smrg    CARD16 sequenceNumber B16;
141017ca54c3Smrg    CARD16 event_type B16;
141117ca54c3Smrg    CARD32 drawable;
141217ca54c3Smrg    CARD32 ust_hi B32;
141317ca54c3Smrg    CARD32 ust_lo B32;
141417ca54c3Smrg    CARD32 msc_hi B32;
141517ca54c3Smrg    CARD32 msc_lo B32;
141617ca54c3Smrg    CARD32 sbc_hi B32;
141717ca54c3Smrg    CARD32 sbc_lo B32;
141817ca54c3Smrg} xGLXBufferSwapComplete;
141917ca54c3Smrg
142017ca54c3Smrgtypedef struct {
142117ca54c3Smrg    BYTE type;
142217ca54c3Smrg    BYTE pad;
142317ca54c3Smrg    CARD16 sequenceNumber B16;
142417ca54c3Smrg    CARD16 event_type B16;
142517ca54c3Smrg    CARD16 pad2;
142617ca54c3Smrg    CARD32 drawable;
142717ca54c3Smrg    CARD32 ust_hi B32;
142817ca54c3Smrg    CARD32 ust_lo B32;
142917ca54c3Smrg    CARD32 msc_hi B32;
143017ca54c3Smrg    CARD32 msc_lo B32;
143117ca54c3Smrg    CARD32 sbc B32;
143217ca54c3Smrg} xGLXBufferSwapComplete2;
143317ca54c3Smrg
143417ca54c3Smrg/************************************************************************/
143517ca54c3Smrg
143617ca54c3Smrg/*
143717ca54c3Smrg** Size of the standard X request header.
143817ca54c3Smrg*/
143917ca54c3Smrg#define __GLX_SINGLE_HDR_SIZE sz_xGLXSingleReq
144017ca54c3Smrg#define __GLX_VENDPRIV_HDR_SIZE sz_xGLXVendorPrivateReq
144117ca54c3Smrg
144217ca54c3Smrg#define __GLX_RENDER_HDR    \
144317ca54c3Smrg    CARD16	length B16; \
144417ca54c3Smrg    CARD16	opcode B16
144517ca54c3Smrg
144617ca54c3Smrg#define __GLX_RENDER_HDR_SIZE 4
144717ca54c3Smrg
144817ca54c3Smrgtypedef struct {
144917ca54c3Smrg    __GLX_RENDER_HDR;
145017ca54c3Smrg} __GLXrenderHeader;
145117ca54c3Smrg
145217ca54c3Smrg#define __GLX_RENDER_LARGE_HDR \
145317ca54c3Smrg    CARD32	length B32;    \
145417ca54c3Smrg    CARD32	opcode B32
145517ca54c3Smrg
145617ca54c3Smrg#define __GLX_RENDER_LARGE_HDR_SIZE 8
145717ca54c3Smrg
145817ca54c3Smrgtypedef struct {
145917ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
146017ca54c3Smrg} __GLXrenderLargeHeader;
146117ca54c3Smrg
146217ca54c3Smrg/*
146317ca54c3Smrg** The glBitmap, glPolygonStipple, glTexImage[12]D, glTexSubImage[12]D
146417ca54c3Smrg** and glDrawPixels calls all have a pixel header transmitted after the
146517ca54c3Smrg** Render or RenderLarge header and before their own opcode specific
146617ca54c3Smrg** headers.
146717ca54c3Smrg*/
146817ca54c3Smrg#define __GLX_PIXEL_HDR		\
146917ca54c3Smrg    BOOL	swapBytes;	\
147017ca54c3Smrg    BOOL	lsbFirst;	\
147117ca54c3Smrg    CARD8	reserved0;	\
147217ca54c3Smrg    CARD8	reserved1;	\
147317ca54c3Smrg    CARD32	rowLength B32;	\
147417ca54c3Smrg    CARD32	skipRows B32;	\
147517ca54c3Smrg    CARD32	skipPixels B32; \
147617ca54c3Smrg    CARD32	alignment B32
147717ca54c3Smrg
147817ca54c3Smrg#define __GLX_PIXEL_HDR_SIZE 20
147917ca54c3Smrg
148017ca54c3Smrgtypedef struct {
148117ca54c3Smrg    __GLX_PIXEL_HDR;
148217ca54c3Smrg} __GLXpixelHeader;
148317ca54c3Smrg
148417ca54c3Smrg/*
148517ca54c3Smrg** glTexImage[34]D and glTexSubImage[34]D calls
148617ca54c3Smrg** all have a pixel header transmitted after the Render or RenderLarge
148717ca54c3Smrg** header and before their own opcode specific headers.
148817ca54c3Smrg*/
148917ca54c3Smrg#define __GLX_PIXEL_3D_HDR		\
149017ca54c3Smrg    BOOL	swapBytes;		\
149117ca54c3Smrg    BOOL	lsbFirst;		\
149217ca54c3Smrg    CARD8	reserved0;		\
149317ca54c3Smrg    CARD8	reserved1;		\
149417ca54c3Smrg    CARD32	rowLength B32;		\
149517ca54c3Smrg    CARD32	imageHeight B32;	\
149617ca54c3Smrg    CARD32	imageDepth B32;		\
149717ca54c3Smrg    CARD32	skipRows B32;		\
149817ca54c3Smrg    CARD32	skipImages B32;		\
149917ca54c3Smrg    CARD32	skipVolumes B32;	\
150017ca54c3Smrg    CARD32	skipPixels B32;		\
150117ca54c3Smrg    CARD32	alignment B32
150217ca54c3Smrg
150317ca54c3Smrg#define __GLX_PIXEL_3D_HDR_SIZE 36
150417ca54c3Smrg
150517ca54c3Smrg/*
150617ca54c3Smrg** Data that is specific to a glBitmap call.  The data is sent in the
150717ca54c3Smrg** following order:
150817ca54c3Smrg**	Render or RenderLarge header
150917ca54c3Smrg**	Pixel header
151017ca54c3Smrg**	Bitmap header
151117ca54c3Smrg*/
151217ca54c3Smrg#define __GLX_BITMAP_HDR    \
151317ca54c3Smrg    CARD32	width B32;  \
151417ca54c3Smrg    CARD32	height B32; \
151517ca54c3Smrg    FLOAT32	xorig F32;  \
151617ca54c3Smrg    FLOAT32	yorig F32;  \
151717ca54c3Smrg    FLOAT32	xmove F32;  \
151817ca54c3Smrg    FLOAT32	ymove F32
151917ca54c3Smrg
152017ca54c3Smrgtypedef struct {
152117ca54c3Smrg    __GLX_RENDER_HDR;
152217ca54c3Smrg    __GLX_PIXEL_HDR;
152317ca54c3Smrg    __GLX_BITMAP_HDR;
152417ca54c3Smrg} __GLXbitmapHeader;
152517ca54c3Smrg
152617ca54c3Smrgtypedef struct {
152717ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
152817ca54c3Smrg    __GLX_PIXEL_HDR;
152917ca54c3Smrg    __GLX_BITMAP_HDR;
153017ca54c3Smrg} __GLXbitmapLargeHeader;
153117ca54c3Smrg
153217ca54c3Smrgtypedef struct {
153317ca54c3Smrg    __GLX_PIXEL_HDR;
153417ca54c3Smrg    __GLX_BITMAP_HDR;
153517ca54c3Smrg} __GLXdispatchBitmapHeader;
153617ca54c3Smrg
153717ca54c3Smrg#define __GLX_BITMAP_HDR_SIZE 24
153817ca54c3Smrg
153917ca54c3Smrg#define __GLX_BITMAP_CMD_HDR_SIZE \
154017ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE)
154117ca54c3Smrg
154217ca54c3Smrg#define __GLX_BITMAP_CMD_DISPATCH_HDR_SIZE \
154317ca54c3Smrg    (__GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE)
154417ca54c3Smrg
154517ca54c3Smrgtypedef struct {
154617ca54c3Smrg    __GLX_RENDER_HDR;
154717ca54c3Smrg    __GLX_PIXEL_HDR;
154817ca54c3Smrg} __GLXpolygonStippleHeader;
154917ca54c3Smrg
155017ca54c3Smrg#define __GLX_POLYGONSTIPPLE_CMD_HDR_SIZE \
155117ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE)
155217ca54c3Smrg
155317ca54c3Smrg/*
155417ca54c3Smrg** Data that is specific to a glTexImage1D or glTexImage2D call.  The
155517ca54c3Smrg** data is sent in the following order:
155617ca54c3Smrg**	Render or RenderLarge header
155717ca54c3Smrg**	Pixel header
155817ca54c3Smrg**	TexImage header
155917ca54c3Smrg** When a glTexImage1D call the height field is unexamined by the server.
156017ca54c3Smrg*/
156117ca54c3Smrg#define __GLX_TEXIMAGE_HDR	\
156217ca54c3Smrg    CARD32	target B32;	\
156317ca54c3Smrg    CARD32	level B32;	\
156417ca54c3Smrg    CARD32	components B32; \
156517ca54c3Smrg    CARD32	width B32;	\
156617ca54c3Smrg    CARD32	height B32;	\
156717ca54c3Smrg    CARD32	border B32;	\
156817ca54c3Smrg    CARD32	format B32;	\
156917ca54c3Smrg    CARD32	type B32
157017ca54c3Smrg
157117ca54c3Smrg#define __GLX_TEXIMAGE_HDR_SIZE 32
157217ca54c3Smrg
157317ca54c3Smrg#define __GLX_TEXIMAGE_CMD_HDR_SIZE \
157417ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE)
157517ca54c3Smrg
157617ca54c3Smrg#define __GLX_TEXIMAGE_CMD_DISPATCH_HDR_SIZE \
157717ca54c3Smrg    (__GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE)
157817ca54c3Smrg
157917ca54c3Smrgtypedef struct {
158017ca54c3Smrg    __GLX_RENDER_HDR;
158117ca54c3Smrg    __GLX_PIXEL_HDR;
158217ca54c3Smrg    __GLX_TEXIMAGE_HDR;
158317ca54c3Smrg} __GLXtexImageHeader;
158417ca54c3Smrg
158517ca54c3Smrgtypedef struct {
158617ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
158717ca54c3Smrg    __GLX_PIXEL_HDR;
158817ca54c3Smrg    __GLX_TEXIMAGE_HDR;
158917ca54c3Smrg} __GLXtexImageLargeHeader;
159017ca54c3Smrg
159117ca54c3Smrgtypedef struct {
159217ca54c3Smrg    __GLX_PIXEL_HDR;
159317ca54c3Smrg    __GLX_TEXIMAGE_HDR;
159417ca54c3Smrg} __GLXdispatchTexImageHeader;
159517ca54c3Smrg
159617ca54c3Smrg/*
159717ca54c3Smrg** Data that is specific to a glTexImage3D or glTexImage4D call.  The
159817ca54c3Smrg** data is sent in the following order:
159917ca54c3Smrg**	Render or RenderLarge header
160017ca54c3Smrg**	Pixel 3D header
160117ca54c3Smrg**	TexImage 3D header
160217ca54c3Smrg** When a glTexImage3D call the size4d and woffset fields are unexamined
160317ca54c3Smrg** by the server.
160417ca54c3Smrg** Could be used by all TexImage commands and perhaps should be in the
160517ca54c3Smrg** future.
160617ca54c3Smrg*/
160717ca54c3Smrg#define __GLX_TEXIMAGE_3D_HDR \
160817ca54c3Smrg    CARD32	target B32;	\
160917ca54c3Smrg    CARD32	level B32;	\
161017ca54c3Smrg    CARD32	internalformat B32;	\
161117ca54c3Smrg    CARD32	width B32;	\
161217ca54c3Smrg    CARD32	height B32;	\
161317ca54c3Smrg    CARD32	depth B32;	\
161417ca54c3Smrg    CARD32	size4d B32;	\
161517ca54c3Smrg    CARD32	border B32;	\
161617ca54c3Smrg    CARD32	format B32;	\
161717ca54c3Smrg    CARD32	type B32;	\
161817ca54c3Smrg    CARD32	nullimage B32
161917ca54c3Smrg
162017ca54c3Smrg#define __GLX_TEXIMAGE_3D_HDR_SIZE 44
162117ca54c3Smrg
162217ca54c3Smrg#define __GLX_TEXIMAGE_3D_CMD_HDR_SIZE \
162317ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \
162417ca54c3Smrg		__GLX_TEXIMAGE_3D_HDR_SIZE)
162517ca54c3Smrg
162617ca54c3Smrg#define __GLX_TEXIMAGE_3D_CMD_DISPATCH_HDR_SIZE \
162717ca54c3Smrg    (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXIMAGE_3D_HDR_SIZE)
162817ca54c3Smrg
162917ca54c3Smrgtypedef struct {
163017ca54c3Smrg    __GLX_RENDER_HDR;
163117ca54c3Smrg    __GLX_PIXEL_3D_HDR;
163217ca54c3Smrg    __GLX_TEXIMAGE_3D_HDR;
163317ca54c3Smrg} __GLXtexImage3DHeader;
163417ca54c3Smrg
163517ca54c3Smrgtypedef struct {
163617ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
163717ca54c3Smrg    __GLX_PIXEL_3D_HDR;
163817ca54c3Smrg    __GLX_TEXIMAGE_3D_HDR;
163917ca54c3Smrg} __GLXtexImage3DLargeHeader;
164017ca54c3Smrg
164117ca54c3Smrgtypedef struct {
164217ca54c3Smrg    __GLX_PIXEL_3D_HDR;
164317ca54c3Smrg    __GLX_TEXIMAGE_3D_HDR;
164417ca54c3Smrg} __GLXdispatchTexImage3DHeader;
164517ca54c3Smrg
164617ca54c3Smrg/*
164717ca54c3Smrg** Data that is specific to a glTexSubImage1D or glTexSubImage2D call.	The
164817ca54c3Smrg** data is sent in the following order:
164917ca54c3Smrg**	Render or RenderLarge header
165017ca54c3Smrg**	Pixel header
165117ca54c3Smrg**	TexSubImage header
165217ca54c3Smrg** When a glTexSubImage1D call is made, the yoffset and height fields
165317ca54c3Smrg** are unexamined by the server and are  considered to be padding.
165417ca54c3Smrg*/
165517ca54c3Smrg#define __GLX_TEXSUBIMAGE_HDR	\
165617ca54c3Smrg    CARD32	target B32;	\
165717ca54c3Smrg    CARD32	level B32;	\
165817ca54c3Smrg    CARD32	xoffset B32;	\
165917ca54c3Smrg    CARD32	yoffset B32;	\
166017ca54c3Smrg    CARD32	width B32;	\
166117ca54c3Smrg    CARD32	height B32;	\
166217ca54c3Smrg    CARD32	format B32;	\
166317ca54c3Smrg    CARD32	type B32;	\
166417ca54c3Smrg    CARD32	nullImage	\
166517ca54c3Smrg
166617ca54c3Smrg#define __GLX_TEXSUBIMAGE_HDR_SIZE 36
166717ca54c3Smrg
166817ca54c3Smrg#define __GLX_TEXSUBIMAGE_CMD_HDR_SIZE \
166917ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE)
167017ca54c3Smrg
167117ca54c3Smrg#define __GLX_TEXSUBIMAGE_CMD_DISPATCH_HDR_SIZE \
167217ca54c3Smrg    (__GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE)
167317ca54c3Smrg
167417ca54c3Smrgtypedef struct {
167517ca54c3Smrg    __GLX_RENDER_HDR;
167617ca54c3Smrg    __GLX_PIXEL_HDR;
167717ca54c3Smrg    __GLX_TEXSUBIMAGE_HDR;
167817ca54c3Smrg} __GLXtexSubImageHeader;
167917ca54c3Smrg
168017ca54c3Smrgtypedef struct {
168117ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
168217ca54c3Smrg    __GLX_PIXEL_HDR;
168317ca54c3Smrg    __GLX_TEXSUBIMAGE_HDR;
168417ca54c3Smrg} __GLXtexSubImageLargeHeader;
168517ca54c3Smrg
168617ca54c3Smrgtypedef struct {
168717ca54c3Smrg    __GLX_PIXEL_HDR;
168817ca54c3Smrg    __GLX_TEXSUBIMAGE_HDR;
168917ca54c3Smrg} __GLXdispatchTexSubImageHeader;
169017ca54c3Smrg
169117ca54c3Smrg/*
169217ca54c3Smrg** Data that is specific to a glTexSubImage3D and 4D calls.  The
169317ca54c3Smrg** data is sent in the following order:
169417ca54c3Smrg**	Render or RenderLarge header
169517ca54c3Smrg**	Pixel 3D header
169617ca54c3Smrg**	TexSubImage 3D header
169717ca54c3Smrg** When a glTexSubImage3D call is made, the woffset and size4d fields
169817ca54c3Smrg** are unexamined by the server and are considered to be padding.
169917ca54c3Smrg*/
170017ca54c3Smrg#define __GLX_TEXSUBIMAGE_3D_HDR	\
170117ca54c3Smrg    CARD32	target B32;	\
170217ca54c3Smrg    CARD32	level B32;	\
170317ca54c3Smrg    CARD32	xoffset B32;	\
170417ca54c3Smrg    CARD32	yoffset B32;	\
170517ca54c3Smrg    CARD32	zoffset B32;	\
170617ca54c3Smrg    CARD32	woffset B32;	\
170717ca54c3Smrg    CARD32	width B32;	\
170817ca54c3Smrg    CARD32	height B32;	\
170917ca54c3Smrg    CARD32	depth B32;	\
171017ca54c3Smrg    CARD32	size4d B32;	\
171117ca54c3Smrg    CARD32	format B32;	\
171217ca54c3Smrg    CARD32	type B32;	\
171317ca54c3Smrg    CARD32	nullImage	\
171417ca54c3Smrg
171517ca54c3Smrg#define __GLX_TEXSUBIMAGE_3D_HDR_SIZE 52
171617ca54c3Smrg
171717ca54c3Smrg#define __GLX_TEXSUBIMAGE_3D_CMD_HDR_SIZE \
171817ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \
171917ca54c3Smrg		__GLX_TEXSUBIMAGE_3D_HDR_SIZE)
172017ca54c3Smrg
172117ca54c3Smrg#define __GLX_TEXSUBIMAGE_3D_CMD_DISPATCH_HDR_SIZE \
172217ca54c3Smrg    (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXSUBIMAGE_3D_HDR_SIZE)
172317ca54c3Smrg
172417ca54c3Smrgtypedef struct {
172517ca54c3Smrg    __GLX_RENDER_HDR;
172617ca54c3Smrg    __GLX_PIXEL_3D_HDR;
172717ca54c3Smrg    __GLX_TEXSUBIMAGE_3D_HDR;
172817ca54c3Smrg} __GLXtexSubImage3DHeader;
172917ca54c3Smrg
173017ca54c3Smrgtypedef struct {
173117ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
173217ca54c3Smrg    __GLX_PIXEL_3D_HDR;
173317ca54c3Smrg    __GLX_TEXSUBIMAGE_3D_HDR;
173417ca54c3Smrg} __GLXtexSubImage3DLargeHeader;
173517ca54c3Smrg
173617ca54c3Smrgtypedef struct {
173717ca54c3Smrg    __GLX_PIXEL_3D_HDR;
173817ca54c3Smrg    __GLX_TEXSUBIMAGE_3D_HDR;
173917ca54c3Smrg} __GLXdispatchTexSubImage3DHeader;
174017ca54c3Smrg
174117ca54c3Smrg/**
174217ca54c3Smrg * Data that is specific to a \c glCompressedTexImage1D or
174317ca54c3Smrg * \c glCompressedTexImage2D call.  The data is sent in the following
174417ca54c3Smrg * order:
174517ca54c3Smrg *     - Render or RenderLarge header
174617ca54c3Smrg *     - CompressedTexImage header
174717ca54c3Smrg *
174817ca54c3Smrg * When a \c glCompressedTexImage1D call is made, the \c height field is
174917ca54c3Smrg * not examined by the server and is considered padding.
175017ca54c3Smrg */
175117ca54c3Smrg
175217ca54c3Smrg#define __GLX_COMPRESSED_TEXIMAGE_HDR \
175317ca54c3Smrg    CARD32     target B32;            \
175417ca54c3Smrg    CARD32     level B32;             \
175517ca54c3Smrg    CARD32     internalFormat B32;    \
175617ca54c3Smrg    CARD32     width B32;             \
175717ca54c3Smrg    CARD32     height B32;            \
175817ca54c3Smrg    CARD32     border B32;            \
175917ca54c3Smrg    CARD32     imageSize B32
176017ca54c3Smrg
176117ca54c3Smrg#define __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE 28
176217ca54c3Smrg
176317ca54c3Smrg#define __GLX_COMPRESSED_TEXIMAGE_CMD_HDR_SIZE \
176417ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE)
176517ca54c3Smrg
176617ca54c3Smrg#define __GLX_COMPRESSED_TEXIMAGE_DISPATCH_HDR_SIZE \
176717ca54c3Smrg    (__GLX_COMPRESSED_TEXIMAGE_HDR_SIZE)
176817ca54c3Smrg
176917ca54c3Smrgtypedef struct {
177017ca54c3Smrg    __GLX_RENDER_HDR;
177117ca54c3Smrg    __GLX_COMPRESSED_TEXIMAGE_HDR;
177217ca54c3Smrg} __GLXcompressedTexImageHeader;
177317ca54c3Smrg
177417ca54c3Smrgtypedef struct {
177517ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
177617ca54c3Smrg    __GLX_COMPRESSED_TEXIMAGE_HDR;
177717ca54c3Smrg} __GLXcompressedTexImageLargeHeader;
177817ca54c3Smrg
177917ca54c3Smrgtypedef struct {
178017ca54c3Smrg    __GLX_COMPRESSED_TEXIMAGE_HDR;
178117ca54c3Smrg} __GLXdispatchCompressedTexImageHeader;
178217ca54c3Smrg
178317ca54c3Smrg/**
178417ca54c3Smrg * Data that is specifi to a \c glCompressedTexSubImage1D or
178517ca54c3Smrg * \c glCompressedTexSubImage2D call.  The data is sent in the following
178617ca54c3Smrg * order:
178717ca54c3Smrg *     - Render or RenderLarge header
178817ca54c3Smrg *     - CompressedTexSubImage header
178917ca54c3Smrg *
179017ca54c3Smrg * When a \c glCompressedTexSubImage1D call is made, the \c yoffset and
179117ca54c3Smrg * \c height fields are not examined by the server and are considered padding.
179217ca54c3Smrg */
179317ca54c3Smrg
179417ca54c3Smrg#define __GLX_COMPRESSED_TEXSUBIMAGE_HDR \
179517ca54c3Smrg    CARD32     target B32;            \
179617ca54c3Smrg    CARD32     level B32;             \
179717ca54c3Smrg    CARD32     xoffset B32;           \
179817ca54c3Smrg    CARD32     yoffset B32;           \
179917ca54c3Smrg    CARD32     width B32;             \
180017ca54c3Smrg    CARD32     height B32;            \
180117ca54c3Smrg    CARD32     format B32;            \
180217ca54c3Smrg    CARD32     imageSize B32
180317ca54c3Smrg
180417ca54c3Smrg#define __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE 32
180517ca54c3Smrg
180617ca54c3Smrg#define __GLX_COMPRESSED_TEXSUBIMAGE_CMD_HDR_SIZE \
180717ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE)
180817ca54c3Smrg
180917ca54c3Smrg#define __GLX_COMPRESSED_TEXSUBIMAGE_DISPATCH_HDR_SIZE \
181017ca54c3Smrg    (__GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE)
181117ca54c3Smrg
181217ca54c3Smrgtypedef struct {
181317ca54c3Smrg    __GLX_RENDER_HDR;
181417ca54c3Smrg    __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
181517ca54c3Smrg} __GLXcompressedTexSubImageHeader;
181617ca54c3Smrg
181717ca54c3Smrgtypedef struct {
181817ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
181917ca54c3Smrg    __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
182017ca54c3Smrg} __GLXcompressedTexSubImageLargeHeader;
182117ca54c3Smrg
182217ca54c3Smrgtypedef struct {
182317ca54c3Smrg    __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
182417ca54c3Smrg} __GLXdispatchCompressedTexSubImageHeader;
182517ca54c3Smrg
182617ca54c3Smrg/**
182717ca54c3Smrg * Data that is specific to a \c glCompressedTexImage3D call.  The data is
182817ca54c3Smrg * sent in the following order:
182917ca54c3Smrg *     - Render or RenderLarge header
183017ca54c3Smrg *     - CompressedTexImage3D header
183117ca54c3Smrg */
183217ca54c3Smrg
183317ca54c3Smrg#define __GLX_COMPRESSED_TEXIMAGE_3D_HDR \
183417ca54c3Smrg    CARD32     target B32;            \
183517ca54c3Smrg    CARD32     level B32;             \
183617ca54c3Smrg    CARD32     internalFormat B32;    \
183717ca54c3Smrg    CARD32     width B32;             \
183817ca54c3Smrg    CARD32     height B32;            \
183917ca54c3Smrg    CARD32     depth B32;             \
184017ca54c3Smrg    CARD32     border B32;            \
184117ca54c3Smrg    CARD32     imageSize B32
184217ca54c3Smrg
184317ca54c3Smrg#define __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE 32
184417ca54c3Smrg
184517ca54c3Smrg#define __GLX_COMPRESSED_TEXIMAGE_3D_CMD_HDR_SIZE \
184617ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE)
184717ca54c3Smrg
184817ca54c3Smrg#define __GLX_COMPRESSED_TEXIMAGE_3D_DISPATCH_HDR_SIZE \
184917ca54c3Smrg    (__GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE)
185017ca54c3Smrg
185117ca54c3Smrgtypedef struct {
185217ca54c3Smrg    __GLX_RENDER_HDR;
185317ca54c3Smrg    __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
185417ca54c3Smrg} __GLXcompressedTexImage3DHeader;
185517ca54c3Smrg
185617ca54c3Smrgtypedef struct {
185717ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
185817ca54c3Smrg    __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
185917ca54c3Smrg} __GLXcompressedTexImage3DLargeHeader;
186017ca54c3Smrg
186117ca54c3Smrgtypedef struct {
186217ca54c3Smrg    __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
186317ca54c3Smrg} __GLXdispatchCompressedTexImage3DHeader;
186417ca54c3Smrg
186517ca54c3Smrg/**
186617ca54c3Smrg * Data that is specifi to a \c glCompressedTexSubImage3D call.  The data is
186717ca54c3Smrg * sent in the following order:
186817ca54c3Smrg *     - Render or RenderLarge header
186917ca54c3Smrg *     - CompressedTexSubImage3D header
187017ca54c3Smrg */
187117ca54c3Smrg
187217ca54c3Smrg#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR \
187317ca54c3Smrg    CARD32     target B32;            \
187417ca54c3Smrg    CARD32     level B32;             \
187517ca54c3Smrg    CARD32     xoffset B32;           \
187617ca54c3Smrg    CARD32     yoffset B32;           \
187717ca54c3Smrg    CARD32     zoffset B32;           \
187817ca54c3Smrg    CARD32     width B32;             \
187917ca54c3Smrg    CARD32     height B32;            \
188017ca54c3Smrg    CARD32     depth B32;             \
188117ca54c3Smrg    CARD32     format B32;            \
188217ca54c3Smrg    CARD32     imageSize B32
188317ca54c3Smrg
188417ca54c3Smrg#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE 32
188517ca54c3Smrg
188617ca54c3Smrg#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_CMD_HDR_SIZE \
188717ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE)
188817ca54c3Smrg
188917ca54c3Smrg#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_DISPATCH_HDR_SIZE \
189017ca54c3Smrg    (__GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE)
189117ca54c3Smrg
189217ca54c3Smrgtypedef struct {
189317ca54c3Smrg    __GLX_RENDER_HDR;
189417ca54c3Smrg    __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
189517ca54c3Smrg} __GLXcompressedTexSubImage3DHeader;
189617ca54c3Smrg
189717ca54c3Smrgtypedef struct {
189817ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
189917ca54c3Smrg    __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
190017ca54c3Smrg} __GLXcompressedTexSubImage3DLargeHeader;
190117ca54c3Smrg
190217ca54c3Smrgtypedef struct {
190317ca54c3Smrg    __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
190417ca54c3Smrg} __GLXdispatchCompressedTexSubImage3DHeader;
190517ca54c3Smrg
190617ca54c3Smrg/*
190717ca54c3Smrg** Data that is specific to a glDrawPixels call.  The data is sent in the
190817ca54c3Smrg** following order:
190917ca54c3Smrg**	Render or RenderLarge header
191017ca54c3Smrg**	Pixel header
191117ca54c3Smrg**	DrawPixels header
191217ca54c3Smrg*/
191317ca54c3Smrg#define __GLX_DRAWPIXELS_HDR \
191417ca54c3Smrg    CARD32	width B32;   \
191517ca54c3Smrg    CARD32	height B32;  \
191617ca54c3Smrg    CARD32	format B32;  \
191717ca54c3Smrg    CARD32	type B32
191817ca54c3Smrg
191917ca54c3Smrg#define __GLX_DRAWPIXELS_HDR_SIZE 16
192017ca54c3Smrg
192117ca54c3Smrg#define __GLX_DRAWPIXELS_CMD_HDR_SIZE \
192217ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE)
192317ca54c3Smrg
192417ca54c3Smrg#define __GLX_DRAWPIXELS_CMD_DISPATCH_HDR_SIZE \
192517ca54c3Smrg    (__GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE)
192617ca54c3Smrg
192717ca54c3Smrgtypedef struct {
192817ca54c3Smrg    __GLX_RENDER_HDR;
192917ca54c3Smrg    __GLX_PIXEL_HDR;
193017ca54c3Smrg    __GLX_DRAWPIXELS_HDR;
193117ca54c3Smrg} __GLXdrawPixelsHeader;
193217ca54c3Smrg
193317ca54c3Smrgtypedef struct {
193417ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
193517ca54c3Smrg    __GLX_PIXEL_HDR;
193617ca54c3Smrg    __GLX_DRAWPIXELS_HDR;
193717ca54c3Smrg} __GLXdrawPixelsLargeHeader;
193817ca54c3Smrg
193917ca54c3Smrgtypedef struct {
194017ca54c3Smrg    __GLX_PIXEL_HDR;
194117ca54c3Smrg    __GLX_DRAWPIXELS_HDR;
194217ca54c3Smrg} __GLXdispatchDrawPixelsHeader;
194317ca54c3Smrg
194417ca54c3Smrg/*
194517ca54c3Smrg** Data that is specific to a glConvolutionFilter1D or glConvolutionFilter2D
194617ca54c3Smrg** call.  The data is sent in the following order:
194717ca54c3Smrg**	Render or RenderLarge header
194817ca54c3Smrg**	Pixel header
194917ca54c3Smrg**	ConvolutionFilter header
195017ca54c3Smrg** When a glConvolutionFilter1D call the height field is unexamined by the server.
195117ca54c3Smrg*/
195217ca54c3Smrg#define __GLX_CONV_FILT_HDR	\
195317ca54c3Smrg    CARD32	target B32;	\
195417ca54c3Smrg    CARD32	internalformat B32;	\
195517ca54c3Smrg    CARD32	width B32;	\
195617ca54c3Smrg    CARD32	height B32;	\
195717ca54c3Smrg    CARD32	format B32;	\
195817ca54c3Smrg    CARD32	type B32
195917ca54c3Smrg
196017ca54c3Smrg#define __GLX_CONV_FILT_HDR_SIZE 24
196117ca54c3Smrg
196217ca54c3Smrg#define __GLX_CONV_FILT_CMD_HDR_SIZE \
196317ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE)
196417ca54c3Smrg
196517ca54c3Smrg#define __GLX_CONV_FILT_CMD_DISPATCH_HDR_SIZE \
196617ca54c3Smrg    (__GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE)
196717ca54c3Smrgtypedef struct {
196817ca54c3Smrg    __GLX_RENDER_HDR;
196917ca54c3Smrg    __GLX_PIXEL_HDR;
197017ca54c3Smrg    __GLX_CONV_FILT_HDR;
197117ca54c3Smrg} __GLXConvolutionFilterHeader;
197217ca54c3Smrg
197317ca54c3Smrgtypedef struct {
197417ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
197517ca54c3Smrg    __GLX_PIXEL_HDR;
197617ca54c3Smrg    __GLX_CONV_FILT_HDR;
197717ca54c3Smrg} __GLXConvolutionFilterLargeHeader;
197817ca54c3Smrg
197917ca54c3Smrgtypedef struct {
198017ca54c3Smrg    __GLX_PIXEL_HDR;
198117ca54c3Smrg    __GLX_CONV_FILT_HDR;
198217ca54c3Smrg} __GLXdispatchConvolutionFilterHeader;
198317ca54c3Smrg
198417ca54c3Smrg/*
198517ca54c3Smrg** Data that is specific to a glDrawArraysEXT call.  The data is sent in the
198617ca54c3Smrg** following order:
198717ca54c3Smrg**	Render or RenderLarge header
198817ca54c3Smrg**	Draw Arrays header
198917ca54c3Smrg**	a variable number of Component headers
199017ca54c3Smrg**	vertex data for each component type
199117ca54c3Smrg*/
199217ca54c3Smrg
199317ca54c3Smrg#define __GLX_DRAWARRAYS_HDR \
199417ca54c3Smrg    CARD32	numVertexes B32; \
199517ca54c3Smrg    CARD32	numComponents B32; \
199617ca54c3Smrg    CARD32	primType B32
199717ca54c3Smrg
199817ca54c3Smrg#define __GLX_DRAWARRAYS_HDR_SIZE 12
199917ca54c3Smrg
200017ca54c3Smrg#define __GLX_DRAWARRAYS_CMD_HDR_SIZE \
200117ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_DRAWARRAYS_HDR_SIZE)
200217ca54c3Smrg
200317ca54c3Smrgtypedef struct {
200417ca54c3Smrg    __GLX_RENDER_HDR;
200517ca54c3Smrg    __GLX_DRAWARRAYS_HDR;
200617ca54c3Smrg} __GLXdrawArraysHeader;
200717ca54c3Smrg
200817ca54c3Smrgtypedef struct {
200917ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
201017ca54c3Smrg    __GLX_DRAWARRAYS_HDR;
201117ca54c3Smrg} __GLXdrawArraysLargeHeader;
201217ca54c3Smrg
201317ca54c3Smrgtypedef struct {
201417ca54c3Smrg    __GLX_DRAWARRAYS_HDR;
201517ca54c3Smrg} __GLXdispatchDrawArraysHeader;
201617ca54c3Smrg
201717ca54c3Smrg#define __GLX_COMPONENT_HDR \
201817ca54c3Smrg    CARD32	datatype B32; \
201917ca54c3Smrg    INT32	numVals B32; \
202017ca54c3Smrg    CARD32	component B32
202117ca54c3Smrg
202217ca54c3Smrgtypedef struct {
202317ca54c3Smrg    __GLX_COMPONENT_HDR;
202417ca54c3Smrg} __GLXdispatchDrawArraysComponentHeader;
202517ca54c3Smrg
202617ca54c3Smrg#define __GLX_COMPONENT_HDR_SIZE 12
202717ca54c3Smrg
202817ca54c3Smrg/*
202917ca54c3Smrg** Data that is specific to a glColorTable call
203017ca54c3Smrg**	The data is sent in the following order:
203117ca54c3Smrg**	Render or RenderLarge header
203217ca54c3Smrg**	Pixel header
203317ca54c3Smrg**	ColorTable header
203417ca54c3Smrg*/
203517ca54c3Smrg
203617ca54c3Smrg#define __GLX_COLOR_TABLE_HDR	     \
203717ca54c3Smrg    CARD32	target B32;	    \
203817ca54c3Smrg    CARD32	internalformat B32; \
203917ca54c3Smrg    CARD32	width B32;	    \
204017ca54c3Smrg    CARD32	format B32;	    \
204117ca54c3Smrg    CARD32	type   B32
204217ca54c3Smrg
204317ca54c3Smrg#define __GLX_COLOR_TABLE_HDR_SIZE 20
204417ca54c3Smrg
204517ca54c3Smrg#define __GLX_COLOR_TABLE_CMD_HDR_SIZE \
204617ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_COLOR_TABLE_HDR_SIZE)
204717ca54c3Smrg
204817ca54c3Smrgtypedef struct {
204917ca54c3Smrg    __GLX_RENDER_HDR;
205017ca54c3Smrg    __GLX_PIXEL_HDR;
205117ca54c3Smrg    __GLX_COLOR_TABLE_HDR;
205217ca54c3Smrg} __GLXColorTableHeader;
205317ca54c3Smrg
205417ca54c3Smrgtypedef struct {
205517ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
205617ca54c3Smrg    __GLX_PIXEL_HDR;
205717ca54c3Smrg    __GLX_COLOR_TABLE_HDR;
205817ca54c3Smrg} __GLXColorTableLargeHeader;
205917ca54c3Smrg
206017ca54c3Smrgtypedef struct {
206117ca54c3Smrg    __GLX_PIXEL_HDR;
206217ca54c3Smrg    __GLX_COLOR_TABLE_HDR;
206317ca54c3Smrg} __GLXdispatchColorTableHeader;
206417ca54c3Smrg
206517ca54c3Smrg/*
206617ca54c3Smrg** Data that is specific to a glColorSubTable call
206717ca54c3Smrg**	The data is sent in the following order:
206817ca54c3Smrg**	Render or RenderLarge header
206917ca54c3Smrg**	Pixel header
207017ca54c3Smrg**	ColorTable header
207117ca54c3Smrg*/
207217ca54c3Smrg
207317ca54c3Smrg#define __GLX_COLOR_SUBTABLE_HDR    \
207417ca54c3Smrg    CARD32	target B32;	    \
207517ca54c3Smrg    CARD32	start B32; 	    \
207617ca54c3Smrg    CARD32	count B32;	    \
207717ca54c3Smrg    CARD32	format B32;	    \
207817ca54c3Smrg    CARD32	type   B32
207917ca54c3Smrg
208017ca54c3Smrg#define __GLX_COLOR_SUBTABLE_HDR_SIZE 20
208117ca54c3Smrg
208217ca54c3Smrg#define __GLX_COLOR_SUBTABLE_CMD_HDR_SIZE \
208317ca54c3Smrg    (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + \
208417ca54c3Smrg     __GLX_COLOR_SUBTABLE_HDR_SIZE)
208517ca54c3Smrg
208617ca54c3Smrgtypedef struct {
208717ca54c3Smrg    __GLX_RENDER_HDR;
208817ca54c3Smrg    __GLX_PIXEL_HDR;
208917ca54c3Smrg    __GLX_COLOR_SUBTABLE_HDR;
209017ca54c3Smrg} __GLXColorSubTableHeader;
209117ca54c3Smrg
209217ca54c3Smrgtypedef struct {
209317ca54c3Smrg    __GLX_RENDER_LARGE_HDR;
209417ca54c3Smrg    __GLX_PIXEL_HDR;
209517ca54c3Smrg    __GLX_COLOR_SUBTABLE_HDR;
209617ca54c3Smrg} __GLXColorSubTableLargeHeader;
209717ca54c3Smrg
209817ca54c3Smrgtypedef struct {
209917ca54c3Smrg    __GLX_PIXEL_HDR;
210017ca54c3Smrg    __GLX_COLOR_SUBTABLE_HDR;
210117ca54c3Smrg} __GLXdispatchColorSubTableHeader;
210217ca54c3Smrg
210317ca54c3Smrg#define GLX_WINDOW_TYPE		1
210417ca54c3Smrg#define GLX_PIXMAP_TYPE		2
210517ca54c3Smrg#define GLX_VIDEO_SOURCE_TYPE	3
210617ca54c3Smrg#define GLX_PBUFFER_TYPE	4
210717ca54c3Smrg/* 5 is for DM_PBUFFER */
210817ca54c3Smrg#define GLX_GLXWINDOW_TYPE	6
210917ca54c3Smrg
211017ca54c3Smrg/*****************************************************************************/
211117ca54c3Smrg
211217ca54c3Smrg/*
211317ca54c3Smrg** Restore these definitions back to the typedefs in glx.h
211417ca54c3Smrg*/
211517ca54c3Smrg#undef GLXContextID
211617ca54c3Smrg#undef GLXPixmap
211717ca54c3Smrg#undef GLXDrawable
211817ca54c3Smrg#undef GLXPbuffer
211917ca54c3Smrg#undef GLXWindow
212017ca54c3Smrg#undef GLXFBConfigID
212117ca54c3Smrg#undef GLXFBConfigIDSGIX
212217ca54c3Smrg#undef GLXPbufferSGIX
212317ca54c3Smrg
212417ca54c3Smrg
212517ca54c3Smrg/* Opcodes for GLX commands */
212617ca54c3Smrg
212717ca54c3Smrg#define X_GLXRender                       1
212817ca54c3Smrg#define X_GLXRenderLarge                  2
212917ca54c3Smrg#define X_GLXCreateContext                3
213017ca54c3Smrg#define X_GLXDestroyContext               4
213117ca54c3Smrg#define X_GLXMakeCurrent                  5
213217ca54c3Smrg#define X_GLXIsDirect                     6
213317ca54c3Smrg#define X_GLXQueryVersion                 7
213417ca54c3Smrg#define X_GLXWaitGL                       8
213517ca54c3Smrg#define X_GLXWaitX                        9
213617ca54c3Smrg#define X_GLXCopyContext                 10
213717ca54c3Smrg#define X_GLXSwapBuffers                 11
213817ca54c3Smrg#define X_GLXUseXFont                    12
213917ca54c3Smrg#define X_GLXCreateGLXPixmap             13
214017ca54c3Smrg#define X_GLXGetVisualConfigs            14
214117ca54c3Smrg#define X_GLXDestroyGLXPixmap            15
214217ca54c3Smrg#define X_GLXVendorPrivate               16
214317ca54c3Smrg#define X_GLXVendorPrivateWithReply      17
214417ca54c3Smrg#define X_GLXQueryExtensionsString       18
214517ca54c3Smrg#define X_GLXQueryServerString           19
214617ca54c3Smrg#define X_GLXClientInfo                  20
214717ca54c3Smrg#define X_GLXGetFBConfigs                21
214817ca54c3Smrg#define X_GLXCreatePixmap                22
214917ca54c3Smrg#define X_GLXDestroyPixmap               23
215017ca54c3Smrg#define X_GLXCreateNewContext            24
215117ca54c3Smrg#define X_GLXQueryContext                25
215217ca54c3Smrg#define X_GLXMakeContextCurrent          26
215317ca54c3Smrg#define X_GLXCreatePbuffer               27
215417ca54c3Smrg#define X_GLXDestroyPbuffer              28
215517ca54c3Smrg#define X_GLXGetDrawableAttributes       29
215617ca54c3Smrg#define X_GLXChangeDrawableAttributes    30
215717ca54c3Smrg#define X_GLXCreateWindow                31
215817ca54c3Smrg#define X_GLXDestroyWindow               32
215917ca54c3Smrg#define X_GLXSetClientInfoARB            33
216017ca54c3Smrg#define X_GLXCreateContextAttribsARB     34
216117ca54c3Smrg#define X_GLXSetClientInfo2ARB           35
216217ca54c3Smrg
216317ca54c3Smrg/* typo compatibility with older headers */
216417ca54c3Smrg#define X_GLXCreateContextAtrribsARB     34
216517ca54c3Smrg#define X_GLXSetConfigInfo2ARB           35
216617ca54c3Smrg
216717ca54c3Smrg/* Opcodes for single commands (part of GLX command space) */
216817ca54c3Smrg
216917ca54c3Smrg#define X_GLsop_NewList                    101
217017ca54c3Smrg#define X_GLsop_EndList                    102
217117ca54c3Smrg#define X_GLsop_DeleteLists                103
217217ca54c3Smrg#define X_GLsop_GenLists                   104
217317ca54c3Smrg#define X_GLsop_FeedbackBuffer             105
217417ca54c3Smrg#define X_GLsop_SelectBuffer               106
217517ca54c3Smrg#define X_GLsop_RenderMode                 107
217617ca54c3Smrg#define X_GLsop_Finish                     108
217717ca54c3Smrg#define X_GLsop_Flush                      142
217817ca54c3Smrg#define X_GLsop_PixelStoref                109
217917ca54c3Smrg#define X_GLsop_PixelStorei                110
218017ca54c3Smrg#define X_GLsop_ReadPixels                 111
218117ca54c3Smrg#define X_GLsop_GetBooleanv                112
218217ca54c3Smrg#define X_GLsop_GetClipPlane               113
218317ca54c3Smrg#define X_GLsop_GetDoublev                 114
218417ca54c3Smrg#define X_GLsop_GetError                   115
218517ca54c3Smrg#define X_GLsop_GetFloatv                  116
218617ca54c3Smrg#define X_GLsop_GetIntegerv                117
218717ca54c3Smrg#define X_GLsop_GetLightfv                 118
218817ca54c3Smrg#define X_GLsop_GetLightiv                 119
218917ca54c3Smrg#define X_GLsop_GetMapdv                   120
219017ca54c3Smrg#define X_GLsop_GetMapfv                   121
219117ca54c3Smrg#define X_GLsop_GetMapiv                   122
219217ca54c3Smrg#define X_GLsop_GetMaterialfv              123
219317ca54c3Smrg#define X_GLsop_GetMaterialiv              124
219417ca54c3Smrg#define X_GLsop_GetPixelMapfv              125
219517ca54c3Smrg#define X_GLsop_GetPixelMapuiv             126
219617ca54c3Smrg#define X_GLsop_GetPixelMapusv             127
219717ca54c3Smrg#define X_GLsop_GetPolygonStipple          128
219817ca54c3Smrg#define X_GLsop_GetString                  129
219917ca54c3Smrg#define X_GLsop_GetTexEnvfv                130
220017ca54c3Smrg#define X_GLsop_GetTexEnviv                131
220117ca54c3Smrg#define X_GLsop_GetTexGendv                132
220217ca54c3Smrg#define X_GLsop_GetTexGenfv                133
220317ca54c3Smrg#define X_GLsop_GetTexGeniv                134
220417ca54c3Smrg#define X_GLsop_GetTexImage                135
220517ca54c3Smrg#define X_GLsop_GetTexParameterfv          136
220617ca54c3Smrg#define X_GLsop_GetTexParameteriv          137
220717ca54c3Smrg#define X_GLsop_GetTexLevelParameterfv     138
220817ca54c3Smrg#define X_GLsop_GetTexLevelParameteriv     139
220917ca54c3Smrg#define X_GLsop_IsEnabled                  140
221017ca54c3Smrg#define X_GLsop_IsList                     141
221117ca54c3Smrg#define X_GLsop_AreTexturesResident        143
221217ca54c3Smrg#define X_GLsop_DeleteTextures             144
221317ca54c3Smrg#define X_GLsop_GenTextures                145
221417ca54c3Smrg#define X_GLsop_IsTexture                  146
221517ca54c3Smrg#define X_GLsop_GetColorTable              147
221617ca54c3Smrg#define X_GLsop_GetColorTableParameterfv   148
221717ca54c3Smrg#define X_GLsop_GetColorTableParameteriv   149
221817ca54c3Smrg#define X_GLsop_GetConvolutionFilter       150
221917ca54c3Smrg#define X_GLsop_GetConvolutionParameterfv  151
222017ca54c3Smrg#define X_GLsop_GetConvolutionParameteriv  152
222117ca54c3Smrg#define X_GLsop_GetSeparableFilter         153
222217ca54c3Smrg#define X_GLsop_GetHistogram               154
222317ca54c3Smrg#define X_GLsop_GetHistogramParameterfv    155
222417ca54c3Smrg#define X_GLsop_GetHistogramParameteriv    156
222517ca54c3Smrg#define X_GLsop_GetMinmax                  157
222617ca54c3Smrg#define X_GLsop_GetMinmaxParameterfv       158
222717ca54c3Smrg#define X_GLsop_GetMinmaxParameteriv       159
222817ca54c3Smrg#define X_GLsop_GetCompressedTexImage      160
222917ca54c3Smrg
223017ca54c3Smrg
223117ca54c3Smrg/* Opcodes for rendering commands */
223217ca54c3Smrg
223317ca54c3Smrg#define X_GLrop_CallList                     1
223417ca54c3Smrg#define X_GLrop_CallLists                    2
223517ca54c3Smrg#define X_GLrop_ListBase                     3
223617ca54c3Smrg#define X_GLrop_Begin                        4
223717ca54c3Smrg#define X_GLrop_Bitmap                       5
223817ca54c3Smrg#define X_GLrop_Color3bv                     6
223917ca54c3Smrg#define X_GLrop_Color3dv                     7
224017ca54c3Smrg#define X_GLrop_Color3fv                     8
224117ca54c3Smrg#define X_GLrop_Color3iv                     9
224217ca54c3Smrg#define X_GLrop_Color3sv                    10
224317ca54c3Smrg#define X_GLrop_Color3ubv                   11
224417ca54c3Smrg#define X_GLrop_Color3uiv                   12
224517ca54c3Smrg#define X_GLrop_Color3usv                   13
224617ca54c3Smrg#define X_GLrop_Color4bv                    14
224717ca54c3Smrg#define X_GLrop_Color4dv                    15
224817ca54c3Smrg#define X_GLrop_Color4fv                    16
224917ca54c3Smrg#define X_GLrop_Color4iv                    17
225017ca54c3Smrg#define X_GLrop_Color4sv                    18
225117ca54c3Smrg#define X_GLrop_Color4ubv                   19
225217ca54c3Smrg#define X_GLrop_Color4uiv                   20
225317ca54c3Smrg#define X_GLrop_Color4usv                   21
225417ca54c3Smrg#define X_GLrop_EdgeFlagv                   22
225517ca54c3Smrg#define X_GLrop_End                         23
225617ca54c3Smrg#define X_GLrop_Indexdv                     24
225717ca54c3Smrg#define X_GLrop_Indexfv                     25
225817ca54c3Smrg#define X_GLrop_Indexiv                     26
225917ca54c3Smrg#define X_GLrop_Indexsv                     27
226017ca54c3Smrg#define X_GLrop_Normal3bv                   28
226117ca54c3Smrg#define X_GLrop_Normal3dv                   29
226217ca54c3Smrg#define X_GLrop_Normal3fv                   30
226317ca54c3Smrg#define X_GLrop_Normal3iv                   31
226417ca54c3Smrg#define X_GLrop_Normal3sv                   32
226517ca54c3Smrg#define X_GLrop_RasterPos2dv                33
226617ca54c3Smrg#define X_GLrop_RasterPos2fv                34
226717ca54c3Smrg#define X_GLrop_RasterPos2iv                35
226817ca54c3Smrg#define X_GLrop_RasterPos2sv                36
226917ca54c3Smrg#define X_GLrop_RasterPos3dv                37
227017ca54c3Smrg#define X_GLrop_RasterPos3fv                38
227117ca54c3Smrg#define X_GLrop_RasterPos3iv                39
227217ca54c3Smrg#define X_GLrop_RasterPos3sv                40
227317ca54c3Smrg#define X_GLrop_RasterPos4dv                41
227417ca54c3Smrg#define X_GLrop_RasterPos4fv                42
227517ca54c3Smrg#define X_GLrop_RasterPos4iv                43
227617ca54c3Smrg#define X_GLrop_RasterPos4sv                44
227717ca54c3Smrg#define X_GLrop_Rectdv                      45
227817ca54c3Smrg#define X_GLrop_Rectfv                      46
227917ca54c3Smrg#define X_GLrop_Rectiv                      47
228017ca54c3Smrg#define X_GLrop_Rectsv                      48
228117ca54c3Smrg#define X_GLrop_TexCoord1dv                 49
228217ca54c3Smrg#define X_GLrop_TexCoord1fv                 50
228317ca54c3Smrg#define X_GLrop_TexCoord1iv                 51
228417ca54c3Smrg#define X_GLrop_TexCoord1sv                 52
228517ca54c3Smrg#define X_GLrop_TexCoord2dv                 53
228617ca54c3Smrg#define X_GLrop_TexCoord2fv                 54
228717ca54c3Smrg#define X_GLrop_TexCoord2iv                 55
228817ca54c3Smrg#define X_GLrop_TexCoord2sv                 56
228917ca54c3Smrg#define X_GLrop_TexCoord3dv                 57
229017ca54c3Smrg#define X_GLrop_TexCoord3fv                 58
229117ca54c3Smrg#define X_GLrop_TexCoord3iv                 59
229217ca54c3Smrg#define X_GLrop_TexCoord3sv                 60
229317ca54c3Smrg#define X_GLrop_TexCoord4dv                 61
229417ca54c3Smrg#define X_GLrop_TexCoord4fv                 62
229517ca54c3Smrg#define X_GLrop_TexCoord4iv                 63
229617ca54c3Smrg#define X_GLrop_TexCoord4sv                 64
229717ca54c3Smrg#define X_GLrop_Vertex2dv                   65
229817ca54c3Smrg#define X_GLrop_Vertex2fv                   66
229917ca54c3Smrg#define X_GLrop_Vertex2iv                   67
230017ca54c3Smrg#define X_GLrop_Vertex2sv                   68
230117ca54c3Smrg#define X_GLrop_Vertex3dv                   69
230217ca54c3Smrg#define X_GLrop_Vertex3fv                   70
230317ca54c3Smrg#define X_GLrop_Vertex3iv                   71
230417ca54c3Smrg#define X_GLrop_Vertex3sv                   72
230517ca54c3Smrg#define X_GLrop_Vertex4dv                   73
230617ca54c3Smrg#define X_GLrop_Vertex4fv                   74
230717ca54c3Smrg#define X_GLrop_Vertex4iv                   75
230817ca54c3Smrg#define X_GLrop_Vertex4sv                   76
230917ca54c3Smrg#define X_GLrop_ClipPlane                   77
231017ca54c3Smrg#define X_GLrop_ColorMaterial               78
231117ca54c3Smrg#define X_GLrop_CullFace                    79
231217ca54c3Smrg#define X_GLrop_Fogf                        80
231317ca54c3Smrg#define X_GLrop_Fogfv                       81
231417ca54c3Smrg#define X_GLrop_Fogi                        82
231517ca54c3Smrg#define X_GLrop_Fogiv                       83
231617ca54c3Smrg#define X_GLrop_FrontFace                   84
231717ca54c3Smrg#define X_GLrop_Hint                        85
231817ca54c3Smrg#define X_GLrop_Lightf                      86
231917ca54c3Smrg#define X_GLrop_Lightfv                     87
232017ca54c3Smrg#define X_GLrop_Lighti                      88
232117ca54c3Smrg#define X_GLrop_Lightiv                     89
232217ca54c3Smrg#define X_GLrop_LightModelf                 90
232317ca54c3Smrg#define X_GLrop_LightModelfv                91
232417ca54c3Smrg#define X_GLrop_LightModeli                 92
232517ca54c3Smrg#define X_GLrop_LightModeliv                93
232617ca54c3Smrg#define X_GLrop_LineStipple                 94
232717ca54c3Smrg#define X_GLrop_LineWidth                   95
232817ca54c3Smrg#define X_GLrop_Materialf                   96
232917ca54c3Smrg#define X_GLrop_Materialfv                  97
233017ca54c3Smrg#define X_GLrop_Materiali                   98
233117ca54c3Smrg#define X_GLrop_Materialiv                  99
233217ca54c3Smrg#define X_GLrop_PointSize                  100
233317ca54c3Smrg#define X_GLrop_PolygonMode                101
233417ca54c3Smrg#define X_GLrop_PolygonStipple             102
233517ca54c3Smrg#define X_GLrop_Scissor                    103
233617ca54c3Smrg#define X_GLrop_ShadeModel                 104
233717ca54c3Smrg#define X_GLrop_TexParameterf              105
233817ca54c3Smrg#define X_GLrop_TexParameterfv             106
233917ca54c3Smrg#define X_GLrop_TexParameteri              107
234017ca54c3Smrg#define X_GLrop_TexParameteriv             108
234117ca54c3Smrg#define X_GLrop_TexImage1D                 109
234217ca54c3Smrg#define X_GLrop_TexImage2D                 110
234317ca54c3Smrg#define X_GLrop_TexEnvf                    111
234417ca54c3Smrg#define X_GLrop_TexEnvfv                   112
234517ca54c3Smrg#define X_GLrop_TexEnvi                    113
234617ca54c3Smrg#define X_GLrop_TexEnviv                   114
234717ca54c3Smrg#define X_GLrop_TexGend                    115
234817ca54c3Smrg#define X_GLrop_TexGendv                   116
234917ca54c3Smrg#define X_GLrop_TexGenf                    117
235017ca54c3Smrg#define X_GLrop_TexGenfv                   118
235117ca54c3Smrg#define X_GLrop_TexGeni                    119
235217ca54c3Smrg#define X_GLrop_TexGeniv                   120
235317ca54c3Smrg#define X_GLrop_InitNames                  121
235417ca54c3Smrg#define X_GLrop_LoadName                   122
235517ca54c3Smrg#define X_GLrop_PassThrough                123
235617ca54c3Smrg#define X_GLrop_PopName                    124
235717ca54c3Smrg#define X_GLrop_PushName                   125
235817ca54c3Smrg#define X_GLrop_DrawBuffer                 126
235917ca54c3Smrg#define X_GLrop_Clear                      127
236017ca54c3Smrg#define X_GLrop_ClearAccum                 128
236117ca54c3Smrg#define X_GLrop_ClearIndex                 129
236217ca54c3Smrg#define X_GLrop_ClearColor                 130
236317ca54c3Smrg#define X_GLrop_ClearStencil               131
236417ca54c3Smrg#define X_GLrop_ClearDepth                 132
236517ca54c3Smrg#define X_GLrop_StencilMask                133
236617ca54c3Smrg#define X_GLrop_ColorMask                  134
236717ca54c3Smrg#define X_GLrop_DepthMask                  135
236817ca54c3Smrg#define X_GLrop_IndexMask                  136
236917ca54c3Smrg#define X_GLrop_Accum                      137
237017ca54c3Smrg#define X_GLrop_Disable                    138
237117ca54c3Smrg#define X_GLrop_Enable                     139
237217ca54c3Smrg#define X_GLrop_PopAttrib                  141
237317ca54c3Smrg#define X_GLrop_PushAttrib                 142
237417ca54c3Smrg#define X_GLrop_Map1d                      143
237517ca54c3Smrg#define X_GLrop_Map1f                      144
237617ca54c3Smrg#define X_GLrop_Map2d                      145
237717ca54c3Smrg#define X_GLrop_Map2f                      146
237817ca54c3Smrg#define X_GLrop_MapGrid1d                  147
237917ca54c3Smrg#define X_GLrop_MapGrid1f                  148
238017ca54c3Smrg#define X_GLrop_MapGrid2d                  149
238117ca54c3Smrg#define X_GLrop_MapGrid2f                  150
238217ca54c3Smrg#define X_GLrop_EvalCoord1dv               151
238317ca54c3Smrg#define X_GLrop_EvalCoord1fv               152
238417ca54c3Smrg#define X_GLrop_EvalCoord2dv               153
238517ca54c3Smrg#define X_GLrop_EvalCoord2fv               154
238617ca54c3Smrg#define X_GLrop_EvalMesh1                  155
238717ca54c3Smrg#define X_GLrop_EvalPoint1                 156
238817ca54c3Smrg#define X_GLrop_EvalMesh2                  157
238917ca54c3Smrg#define X_GLrop_EvalPoint2                 158
239017ca54c3Smrg#define X_GLrop_AlphaFunc                  159
239117ca54c3Smrg#define X_GLrop_BlendFunc                  160
239217ca54c3Smrg#define X_GLrop_LogicOp                    161
239317ca54c3Smrg#define X_GLrop_StencilFunc                162
239417ca54c3Smrg#define X_GLrop_StencilOp                  163
239517ca54c3Smrg#define X_GLrop_DepthFunc                  164
239617ca54c3Smrg#define X_GLrop_PixelZoom                  165
239717ca54c3Smrg#define X_GLrop_PixelTransferf             166
239817ca54c3Smrg#define X_GLrop_PixelTransferi             167
239917ca54c3Smrg#define X_GLrop_PixelMapfv                 168
240017ca54c3Smrg#define X_GLrop_PixelMapuiv                169
240117ca54c3Smrg#define X_GLrop_PixelMapusv                170
240217ca54c3Smrg#define X_GLrop_ReadBuffer                 171
240317ca54c3Smrg#define X_GLrop_CopyPixels                 172
240417ca54c3Smrg#define X_GLrop_DrawPixels                 173
240517ca54c3Smrg#define X_GLrop_DepthRange                 174
240617ca54c3Smrg#define X_GLrop_Frustum                    175
240717ca54c3Smrg#define X_GLrop_LoadIdentity               176
240817ca54c3Smrg#define X_GLrop_LoadMatrixf                177
240917ca54c3Smrg#define X_GLrop_LoadMatrixd                178
241017ca54c3Smrg#define X_GLrop_MatrixMode                 179
241117ca54c3Smrg#define X_GLrop_MultMatrixf                180
241217ca54c3Smrg#define X_GLrop_MultMatrixd                181
241317ca54c3Smrg#define X_GLrop_Ortho                      182
241417ca54c3Smrg#define X_GLrop_PopMatrix                  183
241517ca54c3Smrg#define X_GLrop_PushMatrix                 184
241617ca54c3Smrg#define X_GLrop_Rotated                    185
241717ca54c3Smrg#define X_GLrop_Rotatef                    186
241817ca54c3Smrg#define X_GLrop_Scaled                     187
241917ca54c3Smrg#define X_GLrop_Scalef                     188
242017ca54c3Smrg#define X_GLrop_Translated                 189
242117ca54c3Smrg#define X_GLrop_Translatef                 190
242217ca54c3Smrg#define X_GLrop_Viewport                   191
242317ca54c3Smrg#define X_GLrop_DrawArrays                 193
242417ca54c3Smrg#define X_GLrop_PolygonOffset              192
242517ca54c3Smrg#define X_GLrop_CopyTexImage1D             4119
242617ca54c3Smrg#define X_GLrop_CopyTexImage2D             4120
242717ca54c3Smrg#define X_GLrop_CopyTexSubImage1D          4121
242817ca54c3Smrg#define X_GLrop_CopyTexSubImage2D          4122
242917ca54c3Smrg#define X_GLrop_TexSubImage1D              4099
243017ca54c3Smrg#define X_GLrop_TexSubImage2D              4100
243117ca54c3Smrg#define X_GLrop_BindTexture                4117
243217ca54c3Smrg#define X_GLrop_PrioritizeTextures         4118
243317ca54c3Smrg#define X_GLrop_Indexubv                   194
243417ca54c3Smrg#define X_GLrop_BlendColor                 4096
243517ca54c3Smrg#define X_GLrop_BlendEquation              4097
243617ca54c3Smrg#define X_GLrop_ColorTable                 2053
243717ca54c3Smrg#define X_GLrop_ColorTableParameterfv      2054
243817ca54c3Smrg#define X_GLrop_ColorTableParameteriv      2055
243917ca54c3Smrg#define X_GLrop_CopyColorTable             2056
244017ca54c3Smrg#define X_GLrop_ColorSubTable              195
244117ca54c3Smrg#define X_GLrop_CopyColorSubTable          196
244217ca54c3Smrg#define X_GLrop_ConvolutionFilter1D        4101
244317ca54c3Smrg#define X_GLrop_ConvolutionFilter2D        4102
244417ca54c3Smrg#define X_GLrop_ConvolutionParameterf      4103
244517ca54c3Smrg#define X_GLrop_ConvolutionParameterfv     4104
244617ca54c3Smrg#define X_GLrop_ConvolutionParameteri      4105
244717ca54c3Smrg#define X_GLrop_ConvolutionParameteriv     4106
244817ca54c3Smrg#define X_GLrop_CopyConvolutionFilter1D    4107
244917ca54c3Smrg#define X_GLrop_CopyConvolutionFilter2D    4108
245017ca54c3Smrg#define X_GLrop_SeparableFilter2D          4109
245117ca54c3Smrg#define X_GLrop_Histogram                  4110
245217ca54c3Smrg#define X_GLrop_Minmax                     4111
245317ca54c3Smrg#define X_GLrop_ResetHistogram             4112
245417ca54c3Smrg#define X_GLrop_ResetMinmax                4113
245517ca54c3Smrg#define X_GLrop_TexImage3D                 4114
245617ca54c3Smrg#define X_GLrop_TexSubImage3D              4115
245717ca54c3Smrg#define X_GLrop_CopyTexSubImage3D          4123
245817ca54c3Smrg#define X_GLrop_DrawArraysEXT              4116
245917ca54c3Smrg
246017ca54c3Smrg/* Added for core GL version 1.3 */
246117ca54c3Smrg
246217ca54c3Smrg#define X_GLrop_ActiveTextureARB            197
246317ca54c3Smrg#define X_GLrop_MultiTexCoord1dvARB         198
246417ca54c3Smrg#define X_GLrop_MultiTexCoord1fvARB         199
246517ca54c3Smrg#define X_GLrop_MultiTexCoord1ivARB         200
246617ca54c3Smrg#define X_GLrop_MultiTexCoord1svARB         201
246717ca54c3Smrg#define X_GLrop_MultiTexCoord2dvARB         202
246817ca54c3Smrg#define X_GLrop_MultiTexCoord2fvARB         203
246917ca54c3Smrg#define X_GLrop_MultiTexCoord2ivARB         204
247017ca54c3Smrg#define X_GLrop_MultiTexCoord2svARB         205
247117ca54c3Smrg#define X_GLrop_MultiTexCoord3dvARB         206
247217ca54c3Smrg#define X_GLrop_MultiTexCoord3fvARB         207
247317ca54c3Smrg#define X_GLrop_MultiTexCoord3ivARB         208
247417ca54c3Smrg#define X_GLrop_MultiTexCoord3svARB         209
247517ca54c3Smrg#define X_GLrop_MultiTexCoord4dvARB         210
247617ca54c3Smrg#define X_GLrop_MultiTexCoord4fvARB         211
247717ca54c3Smrg#define X_GLrop_MultiTexCoord4ivARB         212
247817ca54c3Smrg#define X_GLrop_MultiTexCoord4svARB         213
247917ca54c3Smrg#define X_GLrop_CompressedTexImage1D        214
248017ca54c3Smrg#define X_GLrop_CompressedTexImage2D        215
248117ca54c3Smrg#define X_GLrop_CompressedTexImage3D        216
248217ca54c3Smrg#define X_GLrop_CompressedTexSubImage1D     217
248317ca54c3Smrg#define X_GLrop_CompressedTexSubImage2D     218
248417ca54c3Smrg#define X_GLrop_CompressedTexSubImage3D     219
248517ca54c3Smrg#define X_GLrop_SampleCoverageARB           229
248617ca54c3Smrg
248717ca54c3Smrg/* Added for core GL version 1.4 */
248817ca54c3Smrg
248917ca54c3Smrg#define X_GLrop_WindowPos3fARB              230
249017ca54c3Smrg#define X_GLrop_FogCoordfv                  4124
249117ca54c3Smrg#define X_GLrop_FogCoorddv                  4125
249217ca54c3Smrg#define X_GLrop_PointParameterfARB          2065
249317ca54c3Smrg#define X_GLrop_PointParameterfvARB         2066
249417ca54c3Smrg#define X_GLrop_SecondaryColor3bv           4126
249517ca54c3Smrg#define X_GLrop_SecondaryColor3sv           4127
249617ca54c3Smrg#define X_GLrop_SecondaryColor3iv           4128
249717ca54c3Smrg#define X_GLrop_SecondaryColor3fv           4129
249817ca54c3Smrg#define X_GLrop_SecondaryColor3dv           4130
249917ca54c3Smrg#define X_GLrop_SecondaryColor3ubv          4131
250017ca54c3Smrg#define X_GLrop_SecondaryColor3usv          4132
250117ca54c3Smrg#define X_GLrop_SecondaryColor3uiv          4133
250217ca54c3Smrg#define X_GLrop_BlendFuncSeparate           4134
250317ca54c3Smrg#define X_GLrop_PointParameteri             4221
250417ca54c3Smrg#define X_GLrop_PointParameteriv            4222
250517ca54c3Smrg
250617ca54c3Smrg/* Added for core GL version 1.5 */
250717ca54c3Smrg/* XXX opcodes not defined in the spec */
250817ca54c3Smrg
250917ca54c3Smrg/* Opcodes for Vendor Private commands */
251017ca54c3Smrg
251117ca54c3Smrg
251217ca54c3Smrg#define X_GLvop_GetConvolutionFilterEXT        1
251317ca54c3Smrg#define X_GLvop_GetConvolutionParameterfvEXT   2
251417ca54c3Smrg#define X_GLvop_GetConvolutionParameterivEXT   3
251517ca54c3Smrg#define X_GLvop_GetSeparableFilterEXT          4
251617ca54c3Smrg#define X_GLvop_GetHistogramEXT                5
251717ca54c3Smrg#define X_GLvop_GetHistogramParameterfvEXT     6
251817ca54c3Smrg#define X_GLvop_GetHistogramParameterivEXT     7
251917ca54c3Smrg#define X_GLvop_GetMinmaxEXT                   8
252017ca54c3Smrg#define X_GLvop_GetMinmaxParameterfvEXT        9
252117ca54c3Smrg#define X_GLvop_GetMinmaxParameterivEXT        10
252217ca54c3Smrg#define X_GLvop_AreTexturesResidentEXT         11
252317ca54c3Smrg#define X_GLvop_DeleteTexturesEXT              12
252417ca54c3Smrg#define X_GLvop_GenTexturesEXT                 13
252517ca54c3Smrg#define X_GLvop_IsTextureEXT                   14
252617ca54c3Smrg#define X_GLvop_GetCombinerInputParameterfvNV  1270
252717ca54c3Smrg#define X_GLvop_GetCombinerInputParameterivNV  1271
252817ca54c3Smrg#define X_GLvop_GetCombinerOutputParameterfvNV 1272
252917ca54c3Smrg#define X_GLvop_GetCombinerOutputParameterivNV 1273
253017ca54c3Smrg#define X_GLvop_GetFinalCombinerOutputParameterfvNV 1274
253117ca54c3Smrg#define X_GLvop_GetFinalCombinerOutputParameterivNV 1275
253217ca54c3Smrg#define X_GLvop_DeleteFenceNV                  1276
253317ca54c3Smrg#define X_GLvop_GenFencesNV                    1277
253417ca54c3Smrg#define X_GLvop_IsFenceNV                      1278
253517ca54c3Smrg#define X_GLvop_TestFenceNV                    1279
253617ca54c3Smrg#define X_GLvop_GetFenceivNV                   1280
253717ca54c3Smrg#define X_GLvop_AreProgramsResidentNV          1293
253817ca54c3Smrg#define X_GLvop_DeleteProgramARB               1294
253917ca54c3Smrg#define X_GLvop_GenProgramsARB                 1295
254017ca54c3Smrg#define X_GLvop_GetProgramEnvParameterfvARB    1296
254117ca54c3Smrg#define X_GLvop_GetProgramEnvParameterdvARB    1297
254217ca54c3Smrg#define X_GLvop_GetProgramEnvParameterivNV     1298
254317ca54c3Smrg#define X_GLvop_GetProgramStringNV             1299
254417ca54c3Smrg#define X_GLvop_GetTrackMatrixivNV             1300
254517ca54c3Smrg#define X_GLvop_GetVertexAttribdvARB           1301
254617ca54c3Smrg#define X_GLvop_GetVertexAttribfvARB           1302
254717ca54c3Smrg#define X_GLvop_GetVertexAttribivARB           1303
254817ca54c3Smrg#define X_GLvop_IsProgramARB                   1304
254917ca54c3Smrg#define X_GLvop_GetProgramLocalParameterfvARB  1305
255017ca54c3Smrg#define X_GLvop_GetProgramLocalParameterdvARB  1306
255117ca54c3Smrg#define X_GLvop_GetProgramivARB                1307
255217ca54c3Smrg#define X_GLvop_GetProgramStringARB            1308
255317ca54c3Smrg#define X_GLvop_GetProgramNamedParameter4fvNV  1310
255417ca54c3Smrg#define X_GLvop_GetProgramNamedParameter4dvNV  1311
255517ca54c3Smrg#define X_GLvop_SampleMaskSGIS                 2048
255617ca54c3Smrg#define X_GLvop_SamplePatternSGIS              2049
255717ca54c3Smrg#define X_GLvop_GetDetailTexFuncSGIS           4096
255817ca54c3Smrg#define X_GLvop_GetSharpenTexFuncSGIS          4097
255917ca54c3Smrg#define X_GLvop_GetColorTableSGI               4098
256017ca54c3Smrg#define X_GLvop_GetColorTableParameterfvSGI    4099
256117ca54c3Smrg#define X_GLvop_GetColorTableParameterivSGI    4100
256217ca54c3Smrg#define X_GLvop_GetTexFilterFuncSGIS           4101
256317ca54c3Smrg#define X_GLvop_GetInstrumentsSGIX             4102
256417ca54c3Smrg#define X_GLvop_InstrumentsBufferSGIX          4103
256517ca54c3Smrg#define X_GLvop_PollInstrumentsSGIX            4104
256617ca54c3Smrg#define X_GLvop_FlushRasterSGIX                4105
256717ca54c3Smrg
256817ca54c3Smrg/* Opcodes for GLX vendor private commands */
256917ca54c3Smrg
257017ca54c3Smrg#define X_GLXvop_QueryContextInfoEXT            1024
257117ca54c3Smrg#define X_GLXvop_BindTexImageEXT                1330
257217ca54c3Smrg#define X_GLXvop_ReleaseTexImageEXT             1331
257317ca54c3Smrg#define X_GLXvop_SwapIntervalSGI                65536
257417ca54c3Smrg#define X_GLXvop_MakeCurrentReadSGI             65537
257517ca54c3Smrg#define X_GLXvop_CreateGLXVideoSourceSGIX       65538
257617ca54c3Smrg#define X_GLXvop_DestroyGLXVideoSourceSGIX      65539
257717ca54c3Smrg#define X_GLXvop_GetFBConfigsSGIX               65540
257817ca54c3Smrg#define X_GLXvop_CreateContextWithConfigSGIX    65541
257917ca54c3Smrg#define X_GLXvop_CreateGLXPixmapWithConfigSGIX  65542
258017ca54c3Smrg#define X_GLXvop_CreateGLXPbufferSGIX           65543
258117ca54c3Smrg#define X_GLXvop_DestroyGLXPbufferSGIX          65544
258217ca54c3Smrg#define X_GLXvop_ChangeDrawableAttributesSGIX   65545
258317ca54c3Smrg#define X_GLXvop_GetDrawableAttributesSGIX      65546
258417ca54c3Smrg#define X_GLXvop_JoinSwapGroupSGIX              65547
258517ca54c3Smrg#define X_GLXvop_BindSwapBarrierSGIX            65548
258617ca54c3Smrg#define X_GLXvop_QueryMaxSwapBarriersSGIX       65549
258717ca54c3Smrg#define X_GLXvop_QueryHyperpipeNetworkSGIX      65550
258817ca54c3Smrg#define X_GLXvop_QueryHyperpipeConfigSGIX       65551
258917ca54c3Smrg#define X_GLXvop_HyperpipeConfigSGIX            65552
259017ca54c3Smrg#define X_GLXvop_DestroyHyperpipeConfigSGIX     65553
259117ca54c3Smrg
259217ca54c3Smrg/* ARB extension opcodes */
259317ca54c3Smrg
259417ca54c3Smrg/*  1. GL_ARB_multitexture - see GL 1.2 opcodes */
259517ca54c3Smrg/*  5. GL_ARB_multisample - see GL 1.3 opcodes */
259617ca54c3Smrg/* 12. GL_ARB_texture_compression - see GL 1.3 opcodes */
259717ca54c3Smrg/* 14. GL_ARB_point_parameters - see GL 1.4 opcodees */
259817ca54c3Smrg
259917ca54c3Smrg/* 15. GL_ARB_vertex_blend */
260017ca54c3Smrg#define X_GLrop_WeightbvARB                  220
260117ca54c3Smrg#define X_GLrop_WeightubvARB                 221
260217ca54c3Smrg#define X_GLrop_WeightsvARB                  222
260317ca54c3Smrg#define X_GLrop_WeightusvARB                 223
260417ca54c3Smrg#define X_GLrop_WeightivARB                  224
260517ca54c3Smrg#define X_GLrop_WeightuivARB                 225
260617ca54c3Smrg#define X_GLrop_VertexBlendARB               226
260717ca54c3Smrg#define X_GLrop_WeightfvARB                  227
260817ca54c3Smrg#define X_GLrop_WeightdvARB                  228
260917ca54c3Smrg
261017ca54c3Smrg/* 16. GL_ARB_matrix_palette */
261117ca54c3Smrg/* XXX opcodes not defined in the spec */
261217ca54c3Smrg
261317ca54c3Smrg/* 25. GL_ARB_window_pos - see GL 1.4 opcodes */
261417ca54c3Smrg
261517ca54c3Smrg/* 26. GL_ARB_vertex_program */
261617ca54c3Smrg#define X_GLrop_BindProgramARB              4180
261717ca54c3Smrg#define X_GLrop_ProgramEnvParameter4fvARB   4184
261817ca54c3Smrg#define X_GLrop_ProgramEnvParameter4dvARB   4185
261917ca54c3Smrg#define X_GLrop_VertexAttrib1svARB          4189
262017ca54c3Smrg#define X_GLrop_VertexAttrib2svARB          4190
262117ca54c3Smrg#define X_GLrop_VertexAttrib3svARB          4191
262217ca54c3Smrg#define X_GLrop_VertexAttrib4svARB          4192
262317ca54c3Smrg#define X_GLrop_VertexAttrib1fvARB          4193
262417ca54c3Smrg#define X_GLrop_VertexAttrib2fvARB          4194
262517ca54c3Smrg#define X_GLrop_VertexAttrib3fvARB          4195
262617ca54c3Smrg#define X_GLrop_VertexAttrib4fvARB          4196
262717ca54c3Smrg#define X_GLrop_VertexAttrib1dvARB          4197
262817ca54c3Smrg#define X_GLrop_VertexAttrib2dvARB          4198
262917ca54c3Smrg#define X_GLrop_VertexAttrib3dvARB          4199
263017ca54c3Smrg#define X_GLrop_ProgramLocalParameter4fvARB 4215
263117ca54c3Smrg#define X_GLrop_ProgramLocalParameter4dvARB 4216
263217ca54c3Smrg#define X_GLrop_ProgramStringARB            4217
263317ca54c3Smrg#define X_GLrop_VertexAttrib4dvARB          4200
263417ca54c3Smrg#define X_GLrop_VertexAttrib4NubvARB        4201
263517ca54c3Smrg#define X_GLrop_VertexAttrib4bvARB          4230
263617ca54c3Smrg#define X_GLrop_VertexAttrib4ivARB          4231
263717ca54c3Smrg#define X_GLrop_VertexAttrib4ubvARB         4232
263817ca54c3Smrg#define X_GLrop_VertexAttrib4usvARB         4233
263917ca54c3Smrg#define X_GLrop_VertexAttrib4uivARB         4234
264017ca54c3Smrg#define X_GLrop_VertexAttrib4NbvARB         4235
264117ca54c3Smrg#define X_GLrop_VertexAttrib4NsvARB         4236
264217ca54c3Smrg#define X_GLrop_VertexAttrib4NivARB         4237
264317ca54c3Smrg#define X_GLrop_VertexAttrib4NusvARB        4238
264417ca54c3Smrg#define X_GLrop_VertexAttrib4NuivARB        4239
264517ca54c3Smrg
264617ca54c3Smrg/* 27. GL_ARB_fragment_program - see GL_ARB_vertex_program opcodes */
264717ca54c3Smrg
264817ca54c3Smrg/* 29. GL_ARB_occlusion_query */
264917ca54c3Smrg/* XXX opcodes not defined in the spec */
265017ca54c3Smrg
265117ca54c3Smrg
265217ca54c3Smrg/* New extension opcodes */
265317ca54c3Smrg
265417ca54c3Smrg/* 145. GL_EXT_secondary_color - see GL 1.4 opcodes */
265517ca54c3Smrg
265617ca54c3Smrg/* 188. GL_EXT_vertex_weighting */
265717ca54c3Smrg#define X_GLrop_VertexWeightfvEXT           4135
265817ca54c3Smrg
265917ca54c3Smrg/* 191. GL_NV_register_combiners */
266017ca54c3Smrg#define X_GLrop_CombinerParameterfNV        4136
266117ca54c3Smrg#define X_GLrop_CombinerParameterfvNV       4137
266217ca54c3Smrg#define X_GLrop_CombinerParameteriNV        4138
266317ca54c3Smrg#define X_GLrop_CombinerParameterivNV       4139
266417ca54c3Smrg#define X_GLrop_CombinerInputNV             4140
266517ca54c3Smrg#define X_GLrop_CombinerOutputNV            4141
266617ca54c3Smrg#define X_GLrop_FinalCombinerInputNV        4142
266717ca54c3Smrg
266817ca54c3Smrg/* 222. GL_NV_fence */
266917ca54c3Smrg#define X_GLrop_SetFenceNV                  4143
267017ca54c3Smrg#define X_GLrop_FinishFenceNV               4144
267117ca54c3Smrg
267217ca54c3Smrg/* 227. GL_NV_register_combiners2 */
267317ca54c3Smrg/* XXX opcodes not defined in the spec */
267417ca54c3Smrg
267517ca54c3Smrg/* 233. GL_NV_vertex_program - see also GL_ARB_vertex_program opcodes */
267617ca54c3Smrg#define X_GLrop_ExecuteProgramNV            4181
267717ca54c3Smrg#define X_GLrop_RequestResidentProgramsNV   4182
267817ca54c3Smrg#define X_GLrop_LoadProgamNV                4183
267917ca54c3Smrg#define X_GLrop_ProgramParameters4fvNV      4186
268017ca54c3Smrg#define X_GLrop_ProgramParameters4dvNV      4187
268117ca54c3Smrg#define X_GLrop_TrackMatrixNV               4188
268217ca54c3Smrg#define X_GLrop_VertexAttribs1svNV          4202
268317ca54c3Smrg#define X_GLrop_VertexAttribs2svNV          4203
268417ca54c3Smrg#define X_GLrop_VertexAttribs3svNV          4204
268517ca54c3Smrg#define X_GLrop_VertexAttribs4svNV          4205
268617ca54c3Smrg#define X_GLrop_VertexAttribs1fvNV          4206
268717ca54c3Smrg#define X_GLrop_VertexAttribs2fvNV          4207
268817ca54c3Smrg#define X_GLrop_VertexAttribs3fvNV          4208
268917ca54c3Smrg#define X_GLrop_VertexAttribs4fvNV          4209
269017ca54c3Smrg#define X_GLrop_VertexAttribs1dvNV          4210
269117ca54c3Smrg#define X_GLrop_VertexAttribs2dvNV          4211
269217ca54c3Smrg#define X_GLrop_VertexAttribs3dvNV          4212
269317ca54c3Smrg#define X_GLrop_VertexAttribs4dvNV          4213
269417ca54c3Smrg#define X_GLrop_VertexAttribs4ubvNV         4214
269517ca54c3Smrg
269617ca54c3Smrg/* 261. GL_NV_occlusion_query */
269717ca54c3Smrg/* XXX opcodes not defined in the spec */
269817ca54c3Smrg
269917ca54c3Smrg/* 262. GL_NV_point_sprite - see GL 1.4 opcodes */
270017ca54c3Smrg
270117ca54c3Smrg/* 268. GL_EXT_stencil_two_side */
270217ca54c3Smrg#define X_GLrop_ActiveStencilFaceEXT        4220
270317ca54c3Smrg
270417ca54c3Smrg/* 282. GL_NV_fragment_program - see also GL_NV_vertex_program and GL_ARB_vertex_program opcodes */
270517ca54c3Smrg#define X_GLrop_ProgramNamedParameter4fvNV  4218
270617ca54c3Smrg#define X_GLrop_ProgramNamedParameter4dvNV  4219
270717ca54c3Smrg
270817ca54c3Smrg/* 285. GL_NV_primitive_restart */
270917ca54c3Smrg/* XXX opcodes not defined in the spec */
271017ca54c3Smrg
271117ca54c3Smrg/* 297. GL_EXT_depth_bounds_test */
271217ca54c3Smrg#define X_GLrop_DepthBoundsEXT              4229
271317ca54c3Smrg
271417ca54c3Smrg/* 299. GL_EXT_blend_equation_separate */
271517ca54c3Smrg#define X_GLrop_BlendEquationSeparateEXT    4228
271617ca54c3Smrg
271717ca54c3Smrg/* 310. GL_EXT_framebuffer_object */
271817ca54c3Smrg#define X_GLvop_IsRenderbufferEXT                      1422
271917ca54c3Smrg#define X_GLvop_GenRenderbuffersEXT                    1423
272017ca54c3Smrg#define X_GLvop_GetRenderbufferParameterivEXT          1424
272117ca54c3Smrg#define X_GLvop_IsFramebufferEXT                       1425
272217ca54c3Smrg#define X_GLvop_GenFramebuffersEXT                     1426
272317ca54c3Smrg#define X_GLvop_CheckFramebufferStatusEXT              1427
272417ca54c3Smrg#define X_GLvop_GetFramebufferAttachmentParameterivEXT 1428
272517ca54c3Smrg
272617ca54c3Smrg#endif /* _GLX_glxproto_h_ */
2727