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