| #ifndef _GLX_glxproto_h_ |
| #define _GLX_glxproto_h_ |
| |
| /* |
| * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) |
| * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining a |
| * copy of this software and associated documentation files (the "Software"), |
| * to deal in the Software without restriction, including without limitation |
| * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| * and/or sell copies of the Software, and to permit persons to whom the |
| * Software is furnished to do so, subject to the following conditions: |
| * |
| * The above copyright notice including the dates of first publication and |
| * either this permission notice or a reference to |
| * http://oss.sgi.com/projects/FreeB/ |
| * shall be included in all copies or substantial portions of the Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
| * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF |
| * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| * SOFTWARE. |
| * |
| * Except as contained in this notice, the name of Silicon Graphics, Inc. |
| * shall not be used in advertising or otherwise to promote the sale, use or |
| * other dealings in this Software without prior written authorization from |
| * Silicon Graphics, Inc. |
| */ |
| |
| #include <GL/glxmd.h> |
| |
| /*****************************************************************************/ |
| |
| /* |
| ** Errrors. |
| */ |
| #define GLXBadContext 0 |
| #define GLXBadContextState 1 |
| #define GLXBadDrawable 2 |
| #define GLXBadPixmap 3 |
| #define GLXBadContextTag 4 |
| #define GLXBadCurrentWindow 5 |
| #define GLXBadRenderRequest 6 |
| #define GLXBadLargeRequest 7 |
| #define GLXUnsupportedPrivateRequest 8 |
| #define GLXBadFBConfig 9 |
| #define GLXBadPbuffer 10 |
| #define GLXBadCurrentDrawable 11 |
| #define GLXBadWindow 12 |
| #define GLXBadProfileARB 13 |
| |
| #define __GLX_NUMBER_ERRORS 14 |
| |
| /* |
| ** Events. |
| ** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX |
| ** event - this helps initialization if the server supports the pbuffer |
| ** extension and the client doesn't. |
| */ |
| #define GLX_PbufferClobber 0 |
| #define GLX_BufferSwapComplete 1 |
| |
| #define __GLX_NUMBER_EVENTS 17 |
| |
| #define GLX_EXTENSION_NAME "GLX" |
| #define GLX_EXTENSION_ALIAS "SGI-GLX" |
| |
| #define __GLX_MAX_CONTEXT_PROPS 3 |
| |
| #ifndef GLX_VENDOR |
| #define GLX_VENDOR 0x1 |
| #endif |
| #ifndef GLX_VERSION |
| #define GLX_VERSION 0x2 |
| #endif |
| #ifndef GLX_EXTENSIONS |
| #define GLX_EXTENSIONS 0x3 |
| #endif |
| |
| /*****************************************************************************/ |
| |
| /* |
| ** For the structure definitions in this file, we must redefine these types in |
| ** terms of Xmd.h types, which may include bitfields. All of these are |
| ** undef'ed at the end of this file, restoring the definitions in glx.h. |
| */ |
| #define GLXContextID CARD32 |
| #define GLXPixmap CARD32 |
| #define GLXDrawable CARD32 |
| #define GLXPbuffer CARD32 |
| #define GLXWindow CARD32 |
| #define GLXFBConfigID CARD32 |
| #define GLXFBConfigIDSGIX CARD32 |
| #define GLXPbufferSGIX CARD32 |
| |
| /* |
| ** ContextTag is not exposed to the API. |
| */ |
| typedef CARD32 GLXContextTag; |
| |
| /*****************************************************************************/ |
| |
| /* |
| ** Sizes of basic wire types. |
| */ |
| #define __GLX_SIZE_INT8 1 |
| #define __GLX_SIZE_INT16 2 |
| #define __GLX_SIZE_INT32 4 |
| #define __GLX_SIZE_CARD8 1 |
| #define __GLX_SIZE_CARD16 2 |
| #define __GLX_SIZE_CARD32 4 |
| #define __GLX_SIZE_FLOAT32 4 |
| #define __GLX_SIZE_FLOAT64 8 |
| |
| /*****************************************************************************/ |
| |
| /* Requests */ |
| |
| /* |
| ** Render command request. A bunch of rendering commands are packed into |
| ** a single X extension request. |
| */ |
| typedef struct GLXRender { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextTag contextTag B32; |
| } xGLXRenderReq; |
| #define sz_xGLXRenderReq 8 |
| |
| /* |
| ** The maximum size that a GLXRender command can be. The value must fit |
| ** in 16 bits and should be a multiple of 4. |
| */ |
| #define __GLX_MAX_RENDER_CMD_SIZE 64000 |
| |
| /* |
| ** Large render command request. A single large rendering command |
| ** is output in multiple X extension requests. The first packet |
| ** contains an opcode dependent header (see below) that describes |
| ** the data that follows. |
| */ |
| typedef struct GLXRenderLarge { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextTag contextTag B32; |
| CARD16 requestNumber B16; |
| CARD16 requestTotal B16; |
| CARD32 dataBytes B32; |
| } xGLXRenderLargeReq; |
| #define sz_xGLXRenderLargeReq 16 |
| |
| /* |
| ** GLX single request. Commands that go over as single GLX protocol |
| ** requests use this structure. The glxCode will be one of the X_GLsop |
| ** opcodes. |
| */ |
| typedef struct GLXSingle { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextTag contextTag B32; |
| } xGLXSingleReq; |
| #define sz_xGLXSingleReq 8 |
| |
| /* |
| ** glXQueryVersion request |
| */ |
| typedef struct GLXQueryVersion { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 majorVersion B32; |
| CARD32 minorVersion B32; |
| } xGLXQueryVersionReq; |
| #define sz_xGLXQueryVersionReq 12 |
| |
| /* |
| ** glXIsDirect request |
| */ |
| typedef struct GLXIsDirect { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextID context B32; |
| } xGLXIsDirectReq; |
| #define sz_xGLXIsDirectReq 8 |
| |
| /* |
| ** glXCreateContext request |
| */ |
| typedef struct GLXCreateContext { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextID context B32; |
| CARD32 visual B32; |
| CARD32 screen B32; |
| GLXContextID shareList B32; |
| BOOL isDirect; |
| CARD8 reserved1; |
| CARD16 reserved2 B16; |
| } xGLXCreateContextReq; |
| #define sz_xGLXCreateContextReq 24 |
| |
| /* |
| ** glXDestroyContext request |
| */ |
| typedef struct GLXDestroyContext { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextID context B32; |
| } xGLXDestroyContextReq; |
| #define sz_xGLXDestroyContextReq 8 |
| |
| /* |
| ** glXMakeCurrent request |
| */ |
| typedef struct GLXMakeCurrent { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXDrawable drawable B32; |
| GLXContextID context B32; |
| GLXContextTag oldContextTag B32; |
| } xGLXMakeCurrentReq; |
| #define sz_xGLXMakeCurrentReq 16 |
| |
| /* |
| ** glXWaitGL request |
| */ |
| typedef struct GLXWaitGL { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextTag contextTag B32; |
| } xGLXWaitGLReq; |
| #define sz_xGLXWaitGLReq 8 |
| |
| /* |
| ** glXWaitX request |
| */ |
| typedef struct GLXWaitX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextTag contextTag B32; |
| } xGLXWaitXReq; |
| #define sz_xGLXWaitXReq 8 |
| |
| /* |
| ** glXCopyContext request |
| */ |
| typedef struct GLXCopyContext { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextID source B32; |
| GLXContextID dest B32; |
| CARD32 mask B32; |
| GLXContextTag contextTag B32; |
| } xGLXCopyContextReq; |
| #define sz_xGLXCopyContextReq 20 |
| |
| /* |
| ** glXSwapBuffers request |
| */ |
| typedef struct GLXSwapBuffers { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextTag contextTag B32; |
| GLXDrawable drawable B32; |
| } xGLXSwapBuffersReq; |
| #define sz_xGLXSwapBuffersReq 12 |
| |
| /* |
| ** glXUseXFont request |
| */ |
| typedef struct GLXUseXFont { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextTag contextTag B32; |
| CARD32 font B32; |
| CARD32 first B32; |
| CARD32 count B32; |
| CARD32 listBase B32; |
| } xGLXUseXFontReq; |
| #define sz_xGLXUseXFontReq 24 |
| |
| /* |
| ** glXCreateGLXPixmap request |
| */ |
| typedef struct GLXCreateGLXPixmap { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 screen B32; |
| CARD32 visual B32; |
| CARD32 pixmap B32; |
| GLXPixmap glxpixmap B32; |
| } xGLXCreateGLXPixmapReq; |
| #define sz_xGLXCreateGLXPixmapReq 20 |
| |
| /* |
| ** glXDestroyGLXPixmap request |
| */ |
| typedef struct GLXDestroyGLXPixmap { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXPixmap glxpixmap B32; |
| } xGLXDestroyGLXPixmapReq; |
| #define sz_xGLXDestroyGLXPixmapReq 8 |
| |
| /* |
| ** glXGetVisualConfigs request |
| */ |
| typedef struct GLXGetVisualConfigs { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 screen B32; |
| } xGLXGetVisualConfigsReq; |
| #define sz_xGLXGetVisualConfigsReq 8 |
| |
| /* |
| ** glXVendorPrivate request. |
| */ |
| typedef struct GLXVendorPrivate { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| GLXContextTag contextTag B32; |
| /* |
| ** More data may follow; this is just the header. |
| */ |
| } xGLXVendorPrivateReq; |
| #define sz_xGLXVendorPrivateReq 12 |
| |
| /* |
| ** glXVendorPrivateWithReply request |
| */ |
| typedef struct GLXVendorPrivateWithReply { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| GLXContextTag contextTag B32; |
| /* |
| ** More data may follow; this is just the header. |
| */ |
| } xGLXVendorPrivateWithReplyReq; |
| #define sz_xGLXVendorPrivateWithReplyReq 12 |
| |
| /* |
| ** glXQueryExtensionsString request |
| */ |
| typedef struct GLXQueryExtensionsString { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 screen B32; |
| } xGLXQueryExtensionsStringReq; |
| #define sz_xGLXQueryExtensionsStringReq 8 |
| |
| /* |
| ** glXQueryServerString request |
| */ |
| typedef struct GLXQueryServerString { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 screen B32; |
| CARD32 name B32; |
| } xGLXQueryServerStringReq; |
| #define sz_xGLXQueryServerStringReq 12 |
| |
| /* |
| ** glXClientInfo request |
| */ |
| typedef struct GLXClientInfo { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 major B32; |
| CARD32 minor B32; |
| CARD32 numbytes B32; |
| } xGLXClientInfoReq; |
| #define sz_xGLXClientInfoReq 16 |
| |
| /*** Start of GLX 1.3 requests */ |
| |
| /* |
| ** glXGetFBConfigs request |
| */ |
| typedef struct GLXGetFBConfigs { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 screen B32; |
| } xGLXGetFBConfigsReq; |
| #define sz_xGLXGetFBConfigsReq 8 |
| |
| /* |
| ** glXCreatePixmap request |
| */ |
| typedef struct GLXCreatePixmap { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 screen B32; |
| GLXFBConfigID fbconfig B32; |
| CARD32 pixmap B32; |
| GLXPixmap glxpixmap B32; |
| CARD32 numAttribs B32; |
| /* followed by attribute list */ |
| } xGLXCreatePixmapReq; |
| #define sz_xGLXCreatePixmapReq 24 |
| |
| /* |
| ** glXDestroyPixmap request |
| */ |
| typedef struct GLXDestroyPixmap { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXPixmap glxpixmap B32; |
| } xGLXDestroyPixmapReq; |
| #define sz_xGLXDestroyPixmapReq 8 |
| |
| /* |
| ** glXCreateNewContext request |
| */ |
| typedef struct GLXCreateNewContext { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextID context B32; |
| GLXFBConfigID fbconfig B32; |
| CARD32 screen B32; |
| CARD32 renderType; |
| GLXContextID shareList B32; |
| BOOL isDirect; |
| CARD8 reserved1; |
| CARD16 reserved2 B16; |
| } xGLXCreateNewContextReq; |
| #define sz_xGLXCreateNewContextReq 28 |
| |
| /* |
| ** glXQueryContext request |
| */ |
| typedef struct GLXQueryContext { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextID context B32; |
| } xGLXQueryContextReq; |
| #define sz_xGLXQueryContextReq 8 |
| |
| /* |
| ** glXMakeContextCurrent request |
| */ |
| typedef struct GLXMakeContextCurrent { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextTag oldContextTag B32; |
| GLXDrawable drawable B32; |
| GLXDrawable readdrawable B32; |
| GLXContextID context B32; |
| } xGLXMakeContextCurrentReq; |
| #define sz_xGLXMakeContextCurrentReq 20 |
| |
| /* |
| ** glXCreatePbuffer request |
| */ |
| typedef struct GLXCreatePbuffer { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 screen B32; |
| GLXFBConfigID fbconfig B32; |
| GLXPbuffer pbuffer B32; |
| CARD32 numAttribs B32; |
| /* followed by attribute list */ |
| } xGLXCreatePbufferReq; |
| #define sz_xGLXCreatePbufferReq 20 |
| |
| /* |
| ** glXDestroyPbuffer request |
| */ |
| typedef struct GLXDestroyPbuffer { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXPbuffer pbuffer B32; |
| } xGLXDestroyPbufferReq; |
| #define sz_xGLXDestroyPbufferReq 8 |
| |
| /* |
| ** glXGetDrawableAttributes request |
| */ |
| typedef struct GLXGetDrawableAttributes { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXDrawable drawable B32; |
| } xGLXGetDrawableAttributesReq; |
| #define sz_xGLXGetDrawableAttributesReq 8 |
| |
| /* |
| ** glXChangeDrawableAttributes request |
| */ |
| typedef struct GLXChangeDrawableAttributes { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXDrawable drawable B32; |
| CARD32 numAttribs B32; |
| /* followed by attribute list */ |
| } xGLXChangeDrawableAttributesReq; |
| #define sz_xGLXChangeDrawableAttributesReq 12 |
| |
| /* |
| ** glXCreateWindow request |
| */ |
| typedef struct GLXCreateWindow { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 screen B32; |
| GLXFBConfigID fbconfig B32; |
| CARD32 window B32; |
| GLXWindow glxwindow B32; |
| CARD32 numAttribs B32; |
| /* followed by attribute list */ |
| } xGLXCreateWindowReq; |
| #define sz_xGLXCreateWindowReq 24 |
| |
| /* |
| ** glXDestroyWindow request |
| */ |
| typedef struct GLXDestroyWindow { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXWindow glxwindow B32; |
| } xGLXDestroyWindowReq; |
| #define sz_xGLXDestroyWindowReq 8 |
| |
| /* Replies */ |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 error B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetErrorReply; |
| #define sz_xGLXGetErrorReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| GLXContextTag contextTag B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXMakeCurrentReply; |
| #define sz_xGLXMakeCurrentReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXReadPixelsReply; |
| #define sz_xGLXReadPixelsReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 pad2 B32; |
| CARD32 width B32; |
| CARD32 height B32; |
| CARD32 depth B32; |
| CARD32 pad6 B32; |
| } xGLXGetTexImageReply; |
| #define sz_xGLXGetTexImageReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 pad2 B32; |
| CARD32 width B32; |
| CARD32 height B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetSeparableFilterReply; |
| #define sz_xGLXGetSeparableFilterReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 pad2 B32; |
| CARD32 width B32; |
| CARD32 height B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetConvolutionFilterReply; |
| #define sz_xGLXGetConvolutionFilterReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 pad2 B32; |
| CARD32 width B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetHistogramReply; |
| #define sz_xGLXGetHistogramReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetMinmaxReply; |
| #define sz_xGLXGetMinmaxReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 retval B32; |
| CARD32 size B32; |
| CARD32 newMode B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXRenderModeReply; |
| #define sz_xGLXRenderModeReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 majorVersion B32; |
| CARD32 minorVersion B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXQueryVersionReply; |
| #define sz_xGLXQueryVersionReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 numVisuals B32; |
| CARD32 numProps B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetVisualConfigsReply; |
| #define sz_xGLXGetVisualConfigsReply 32 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| BOOL isDirect; |
| CARD8 pad1; |
| CARD16 pad2 B16; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| CARD32 pad7 B32; |
| } xGLXIsDirectReply; |
| #define sz_xGLXIsDirectReply 32 |
| |
| /* |
| ** This reply structure is used for all single replies. Single replies |
| ** ship either 1 piece of data or N pieces of data. In these cases |
| ** size indicates how much data is to be returned. |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 retval B32; |
| CARD32 size B32; |
| CARD32 pad3 B32; /* NOTE: may hold a single value */ |
| CARD32 pad4 B32; /* NOTE: may hold half a double */ |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXSingleReply; |
| #define sz_xGLXSingleReply 32 |
| |
| /* |
| ** This reply structure is used for all Vendor Private replies. Vendor |
| ** Private replies can ship up to 24 bytes within the header or can |
| ** be variable sized, in which case, the reply length field indicates |
| ** the number of words of data which follow the header. |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 retval B32; |
| CARD32 size B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXVendorPrivReply; |
| #define sz_xGLXVendorPrivReply 32 |
| |
| /* |
| ** QueryExtensionsStringReply |
| ** n indicates the number of bytes to be returned. |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 n B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXQueryExtensionsStringReply; |
| #define sz_xGLXQueryExtensionsStringReply 32 |
| |
| /* |
| ** QueryServerString Reply struct |
| ** n indicates the number of bytes to be returned. |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 n B32; |
| CARD32 pad3 B32; /* NOTE: may hold a single value */ |
| CARD32 pad4 B32; /* NOTE: may hold half a double */ |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXQueryServerStringReply; |
| #define sz_xGLXQueryServerStringReply 32 |
| |
| /*** Start of GLX 1.3 replies */ |
| |
| /* |
| ** glXGetFBConfigs reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 numFBConfigs B32; |
| CARD32 numAttribs B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetFBConfigsReply; |
| #define sz_xGLXGetFBConfigsReply 32 |
| |
| /* |
| ** glXQueryContext reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 n B32; /* number of attribute/value pairs */ |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXQueryContextReply; |
| #define sz_xGLXQueryContextReply 32 |
| |
| /* |
| ** glXMakeContextCurrent reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| GLXContextTag contextTag B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXMakeContextCurrentReply; |
| #define sz_xGLXMakeContextCurrentReply 32 |
| |
| /* |
| ** glXCreateGLXPbuffer reply |
| ** This is used only in the direct rendering case on SGIs - otherwise |
| ** CreateGLXPbuffer has no reply. It is not part of GLX 1.3. |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 success; |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXCreateGLXPbufferReply; |
| #define sz_xGLXCreateGLXPbufferReply 32 |
| |
| /* |
| ** glXGetDrawableAttributes reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 numAttribs B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetDrawableAttributesReply; |
| #define sz_xGLXGetDrawableAttributesReply 32 |
| |
| /* |
| ** glXGetColorTable reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 pad2 B32; |
| CARD32 width B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetColorTableReply; |
| #define sz_xGLXGetColorTableReply 32 |
| |
| /************************************************************************/ |
| |
| /* GLX extension requests and replies */ |
| |
| /* |
| ** glXQueryContextInfoEXT request |
| */ |
| typedef struct GLXQueryContextInfoEXT { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| GLXContextID context B32; |
| } xGLXQueryContextInfoEXTReq; |
| #define sz_xGLXQueryContextInfoEXTReq 16 |
| |
| /* |
| ** glXQueryContextInfoEXT reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 n B32; /* number of attribute/value pairs */ |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXQueryContextInfoEXTReply; |
| #define sz_xGLXQueryContextInfoEXTReply 32 |
| |
| /* |
| ** glXMakeCurrentReadSGI request |
| */ |
| typedef struct GLXMakeCurrentReadSGI { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| GLXContextTag oldContextTag B32; |
| GLXDrawable drawable B32; |
| GLXDrawable readable B32; |
| GLXContextID context B32; |
| } xGLXMakeCurrentReadSGIReq; |
| #define sz_xGLXMakeCurrentReadSGIReq 24 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| GLXContextTag contextTag B32; |
| CARD32 writeVid B32; |
| CARD32 writeType B32; |
| CARD32 readVid B32; |
| CARD32 readType B32; |
| CARD32 pad6 B32; |
| } xGLXMakeCurrentReadSGIReply; |
| #define sz_xGLXMakeCurrentReadSGIReply 32 |
| |
| /* |
| ** glXGetFBConfigsSGIX request |
| */ |
| typedef struct GLXGetFBConfigsSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| CARD32 screen B32; |
| } xGLXGetFBConfigsSGIXReq; |
| #define sz_xGLXGetFBConfigsSGIXReq 16 |
| |
| /* |
| ** glXCreateContextWithConfigSGIX request |
| */ |
| |
| typedef struct GLXCreateContextWithConfigSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| GLXContextID context B32; |
| GLXFBConfigID fbconfig B32; |
| CARD32 screen B32; |
| CARD32 renderType; |
| GLXContextID shareList B32; |
| BOOL isDirect; |
| CARD8 reserved1; |
| CARD16 reserved2 B16; |
| } xGLXCreateContextWithConfigSGIXReq; |
| #define sz_xGLXCreateContextWithConfigSGIXReq 36 |
| |
| /* |
| ** glXCreatePixmapWithConfigSGIX request |
| */ |
| |
| typedef struct GLXCreateGLXPixmapWithConfigSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| CARD32 screen B32; |
| GLXFBConfigID fbconfig B32; |
| CARD32 pixmap B32; |
| GLXPixmap glxpixmap B32; |
| } xGLXCreateGLXPixmapWithConfigSGIXReq; |
| #define sz_xGLXCreateGLXPixmapWithConfigSGIXReq 28 |
| |
| /* |
| ** glXCreateGLXPbufferSGIX request |
| */ |
| typedef struct GLXCreateGLXPbufferSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| CARD32 screen B32; |
| GLXFBConfigID fbconfig B32; |
| GLXPbuffer pbuffer B32; |
| CARD32 width B32; |
| CARD32 height B32; |
| /* followed by attribute list */ |
| } xGLXCreateGLXPbufferSGIXReq; |
| #define sz_xGLXCreateGLXPbufferSGIXReq 32 |
| |
| /* |
| ** glXDestroyGLXPbufferSGIX request |
| */ |
| typedef struct GLXDestroyGLXPbuffer { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| GLXPbuffer pbuffer B32; |
| } xGLXDestroyGLXPbufferSGIXReq; |
| #define sz_xGLXDestroyGLXPbufferSGIXReq 16 |
| |
| /* |
| ** glXChangeDrawableAttributesSGIX request |
| */ |
| typedef struct GLXChangeDrawableAttributesSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| GLXDrawable drawable B32; |
| CARD32 numAttribs B32; |
| /* followed by attribute list */ |
| } xGLXChangeDrawableAttributesSGIXReq; |
| #define sz_xGLXChangeDrawableAttributesSGIXReq 20 |
| |
| /* |
| ** glXGetDrawableAttributesSGIX request |
| */ |
| typedef struct GLXGetDrawableAttributesSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| GLXDrawable drawable B32; |
| } xGLXGetDrawableAttributesSGIXReq; |
| #define sz_xGLXGetDrawableAttributesSGIXReq 16 |
| |
| /* |
| ** glXGetDrawableAttributesSGIX reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 numAttribs B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXGetDrawableAttributesSGIXReply; |
| #define sz_xGLXGetDrawableAttributesSGIXReply 32 |
| |
| /* |
| ** glXJoinSwapGroupSGIX request |
| */ |
| typedef struct GLXJoinSwapGroupSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 unused B32; /* corresponds to contextTag in hdr */ |
| GLXDrawable drawable B32; |
| GLXDrawable member B32; |
| } xGLXJoinSwapGroupSGIXReq; |
| #define sz_xGLXJoinSwapGroupSGIXReq 20 |
| |
| /* |
| ** glXBindSwapBarrierSGIX request |
| */ |
| typedef struct GLXBindSwapBarrierSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 unused B32; /* corresponds to contextTag in hdr */ |
| GLXDrawable drawable B32; |
| CARD32 barrier B32; |
| } xGLXBindSwapBarrierSGIXReq; |
| #define sz_xGLXBindSwapBarrierSGIXReq 20 |
| |
| /* |
| ** glXQueryMaxSwapBarriersSGIX request |
| */ |
| typedef struct GLXQueryMaxSwapBarriersSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 unused B32; /* corresponds to contextTag in hdr */ |
| CARD32 screen B32; |
| } xGLXQueryMaxSwapBarriersSGIXReq; |
| #define sz_xGLXQueryMaxSwapBarriersSGIXReq 16 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 max B32; |
| CARD32 size B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXQueryMaxSwapBarriersSGIXReply; |
| #define sz_xGLXQueryMaxSwapBarriersSGIXReply 32 |
| |
| /* |
| ** glXQueryHyperpipeNetworkSGIX request |
| */ |
| typedef struct GLXQueryHyperpipeNetworkSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| CARD32 screen B32; |
| } xGLXQueryHyperpipeNetworkSGIXReq; |
| #define sz_xGLXQueryHyperpipeNetworkSGIXReq 16 |
| |
| /* |
| ** glXQueryHyperpipeNetworkSGIX reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 n B32; |
| CARD32 npipes B32; /* NOTE: may hold a single value */ |
| CARD32 pad4 B32; /* NOTE: may hold half a double */ |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXQueryHyperpipeNetworkSGIXReply; |
| #define sz_xGLXQueryHyperpipeNetworkSGIXReply 32 |
| |
| /* |
| ** glXDestroyHyperpipeConfigSGIX request |
| */ |
| typedef struct GLXDestroyHyperpipeConfigSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| CARD32 screen B32; |
| CARD32 hpId B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| } xGLXDestroyHyperpipeConfigSGIXReq; |
| #define sz_xGLXDestroyHyperpipeConfigSGIXReq 32 |
| |
| /* |
| ** glXDestroyHyperpipeConfigSGIX reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 n B32; |
| CARD32 success B32; /* NOTE: may hold a single value */ |
| CARD32 pad4 B32; /* NOTE: may hold half a double */ |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXDestroyHyperpipeConfigSGIXReply; |
| #define sz_xGLXDestroyHyperpipeConfigSGIXReply 32 |
| |
| /* |
| ** glXQueryHyperpipeConfigSGIX request |
| */ |
| typedef struct GLXQueryHyperpipeConfigSGIX { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| CARD32 screen B32; |
| CARD32 hpId B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| } xGLXQueryHyperpipeConfigSGIXReq; |
| #define sz_xGLXQueryHyperpipeConfigSGIXReq 32 |
| |
| /* |
| ** glXQueryHyperpipeConfigSGIX reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 n B32; |
| CARD32 npipes B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXQueryHyperpipeConfigSGIXReply; |
| #define sz_xGLXQueryHyperpipeConfigSGIXReply 32 |
| |
| /* |
| ** glXHyperpipeConfigSGIX request |
| */ |
| typedef struct { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 vendorCode B32; /* vendor-specific opcode */ |
| CARD32 pad1 B32; /* unused; corresponds to contextTag in header */ |
| CARD32 screen B32; |
| CARD32 npipes B32; |
| CARD32 networkId B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| /* followed by attribute list */ |
| } xGLXHyperpipeConfigSGIXReq; |
| #define sz_xGLXHyperpipeConfigSGIXReq 32 |
| |
| /* |
| ** glXHyperpipeConfigSGIX reply |
| */ |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| CARD8 unused; /* not used */ |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 pad1 B32; |
| CARD32 n B32; |
| CARD32 npipes B32; |
| CARD32 hpId B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xGLXHyperpipeConfigSGIXReply; |
| #define sz_xGLXHyperpipeConfigSGIXReply 32 |
| |
| /** |
| * \name Protocol structures for GLX_ARB_create_context and |
| * GLX_ARB_create_context_profile |
| */ |
| /*@{*/ |
| /** |
| * Protocol header for glXSetClientInfoARB |
| * |
| * This structure is follwed by \c numVersions * 2 \c CARD32 values listing |
| * the OpenGL versions supported by the client. The pairs of values are an |
| * OpenGL major version followed by a minor version. For example, |
| * |
| * CARD32 versions[4] = { 2, 1, 3, 0 }; |
| * |
| * says that the client supports OpenGL 2.1 and OpenGL 3.0. |
| * |
| * These are followed by \c numGLExtensionBytes bytes of \c STRING8 containing |
| * the OpenGL extension string supported by the client and up to 3 bytes of |
| * padding. |
| * |
| * The list of OpenGL extensions is followed by \c numGLXExtensionBytes bytes |
| * of \c STRING8 containing the GLX extension string supported by the client |
| * and up to 3 bytes of padding. |
| * |
| * This protocol replaces \c GLXClientInfo. |
| * |
| * \sa GLXClientInfo, GLXSetClientInfo2ARB |
| */ |
| typedef struct GLXSetClientInfoARB { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 major B32; |
| CARD32 minor B32; |
| CARD32 numVersions B32; |
| CARD32 numGLExtensionBytes B32; |
| CARD32 numGLXExtensionBytes B32; |
| /* |
| ** More data may follow; this is just the header. |
| */ |
| } xGLXSetClientInfoARBReq; |
| #define sz_xGLXSetClientInfoARBReq 24 |
| |
| /** |
| * Protocol head for glXCreateContextAttribsARB |
| * |
| * This protocol replaces \c GLXCreateContext, \c GLXCreateNewContext, and |
| * \c GLXCreateContextWithConfigSGIX. |
| */ |
| typedef struct GLXCreateContextAttribsARB { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| GLXContextID context B32; |
| GLXFBConfigID fbconfig B32; |
| CARD32 screen; |
| GLXContextID shareList B32; |
| BOOL isDirect; |
| CARD8 reserved1; |
| CARD16 reserved2 B16; |
| CARD32 numAttribs B32; |
| /* followed by attribute list */ |
| } xGLXCreateContextAttribsARBReq; |
| #define sz_xGLXCreateContextAttribsARBReq 28 |
| |
| /** |
| * Protocol header for glXSetClientInfo2ARB |
| * |
| * The glXSetClientInfo2ARB protocol differs from glXSetClientInfoARB in that |
| * the list of OpenGL versions supported by the client is 3 \c CARD32 values |
| * per version: major version, minor version, and supported profile mask. |
| * |
| * This protocol replaces \c GLXClientInfo and \c GLXSetClientInfoARB. |
| * |
| * \sa GLXClientInfo, GLXSetClientInfoARB |
| */ |
| typedef struct GLXSetClientInfo2ARB { |
| CARD8 reqType; |
| CARD8 glxCode; |
| CARD16 length B16; |
| CARD32 major B32; |
| CARD32 minor B32; |
| CARD32 numVersions B32; |
| CARD32 numGLExtensionBytes B32; |
| CARD32 numGLXExtensionBytes B32; |
| /* |
| ** More data may follow; this is just the header. |
| */ |
| } xGLXSetClientInfo2ARBReq; |
| #define sz_xGLXSetClientInfo2ARBReq 24 |
| /*@}*/ |
| |
| /************************************************************************/ |
| |
| /* |
| ** Events |
| */ |
| |
| typedef struct { |
| BYTE type; |
| BYTE pad; |
| CARD16 sequenceNumber B16; |
| CARD16 event_type B16; /*** was clobber_class */ |
| CARD16 draw_type B16; |
| CARD32 drawable B32; |
| CARD32 buffer_mask B32; /*** was mask */ |
| CARD16 aux_buffer B16; |
| CARD16 x B16; |
| CARD16 y B16; |
| CARD16 width B16; |
| CARD16 height B16; |
| CARD16 count B16; |
| CARD32 unused2 B32; |
| } xGLXPbufferClobberEvent; |
| |
| typedef struct { |
| BYTE type; |
| BYTE pad; |
| CARD16 sequenceNumber B16; |
| CARD16 event_type B16; |
| CARD32 drawable; |
| CARD32 ust_hi B32; |
| CARD32 ust_lo B32; |
| CARD32 msc_hi B32; |
| CARD32 msc_lo B32; |
| CARD32 sbc_hi B32; |
| CARD32 sbc_lo B32; |
| } xGLXBufferSwapComplete; |
| |
| typedef struct { |
| BYTE type; |
| BYTE pad; |
| CARD16 sequenceNumber B16; |
| CARD16 event_type B16; |
| CARD16 pad2; |
| CARD32 drawable; |
| CARD32 ust_hi B32; |
| CARD32 ust_lo B32; |
| CARD32 msc_hi B32; |
| CARD32 msc_lo B32; |
| CARD32 sbc B32; |
| } xGLXBufferSwapComplete2; |
| |
| /************************************************************************/ |
| |
| /* |
| ** Size of the standard X request header. |
| */ |
| #define __GLX_SINGLE_HDR_SIZE sz_xGLXSingleReq |
| #define __GLX_VENDPRIV_HDR_SIZE sz_xGLXVendorPrivateReq |
| |
| #define __GLX_RENDER_HDR \ |
| CARD16 length B16; \ |
| CARD16 opcode B16 |
| |
| #define __GLX_RENDER_HDR_SIZE 4 |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| } __GLXrenderHeader; |
| |
| #define __GLX_RENDER_LARGE_HDR \ |
| CARD32 length B32; \ |
| CARD32 opcode B32 |
| |
| #define __GLX_RENDER_LARGE_HDR_SIZE 8 |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| } __GLXrenderLargeHeader; |
| |
| /* |
| ** The glBitmap, glPolygonStipple, glTexImage[12]D, glTexSubImage[12]D |
| ** and glDrawPixels calls all have a pixel header transmitted after the |
| ** Render or RenderLarge header and before their own opcode specific |
| ** headers. |
| */ |
| #define __GLX_PIXEL_HDR \ |
| BOOL swapBytes; \ |
| BOOL lsbFirst; \ |
| CARD8 reserved0; \ |
| CARD8 reserved1; \ |
| CARD32 rowLength B32; \ |
| CARD32 skipRows B32; \ |
| CARD32 skipPixels B32; \ |
| CARD32 alignment B32 |
| |
| #define __GLX_PIXEL_HDR_SIZE 20 |
| |
| typedef struct { |
| __GLX_PIXEL_HDR; |
| } __GLXpixelHeader; |
| |
| /* |
| ** glTexImage[34]D and glTexSubImage[34]D calls |
| ** all have a pixel header transmitted after the Render or RenderLarge |
| ** header and before their own opcode specific headers. |
| */ |
| #define __GLX_PIXEL_3D_HDR \ |
| BOOL swapBytes; \ |
| BOOL lsbFirst; \ |
| CARD8 reserved0; \ |
| CARD8 reserved1; \ |
| CARD32 rowLength B32; \ |
| CARD32 imageHeight B32; \ |
| CARD32 imageDepth B32; \ |
| CARD32 skipRows B32; \ |
| CARD32 skipImages B32; \ |
| CARD32 skipVolumes B32; \ |
| CARD32 skipPixels B32; \ |
| CARD32 alignment B32 |
| |
| #define __GLX_PIXEL_3D_HDR_SIZE 36 |
| |
| /* |
| ** Data that is specific to a glBitmap call. The data is sent in the |
| ** following order: |
| ** Render or RenderLarge header |
| ** Pixel header |
| ** Bitmap header |
| */ |
| #define __GLX_BITMAP_HDR \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| FLOAT32 xorig F32; \ |
| FLOAT32 yorig F32; \ |
| FLOAT32 xmove F32; \ |
| FLOAT32 ymove F32 |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_BITMAP_HDR; |
| } __GLXbitmapHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_BITMAP_HDR; |
| } __GLXbitmapLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_HDR; |
| __GLX_BITMAP_HDR; |
| } __GLXdispatchBitmapHeader; |
| |
| #define __GLX_BITMAP_HDR_SIZE 24 |
| |
| #define __GLX_BITMAP_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE) |
| |
| #define __GLX_BITMAP_CMD_DISPATCH_HDR_SIZE \ |
| (__GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_HDR; |
| } __GLXpolygonStippleHeader; |
| |
| #define __GLX_POLYGONSTIPPLE_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE) |
| |
| /* |
| ** Data that is specific to a glTexImage1D or glTexImage2D call. The |
| ** data is sent in the following order: |
| ** Render or RenderLarge header |
| ** Pixel header |
| ** TexImage header |
| ** When a glTexImage1D call the height field is unexamined by the server. |
| */ |
| #define __GLX_TEXIMAGE_HDR \ |
| CARD32 target B32; \ |
| CARD32 level B32; \ |
| CARD32 components B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 border B32; \ |
| CARD32 format B32; \ |
| CARD32 type B32 |
| |
| #define __GLX_TEXIMAGE_HDR_SIZE 32 |
| |
| #define __GLX_TEXIMAGE_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE) |
| |
| #define __GLX_TEXIMAGE_CMD_DISPATCH_HDR_SIZE \ |
| (__GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_TEXIMAGE_HDR; |
| } __GLXtexImageHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_TEXIMAGE_HDR; |
| } __GLXtexImageLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_HDR; |
| __GLX_TEXIMAGE_HDR; |
| } __GLXdispatchTexImageHeader; |
| |
| /* |
| ** Data that is specific to a glTexImage3D or glTexImage4D call. The |
| ** data is sent in the following order: |
| ** Render or RenderLarge header |
| ** Pixel 3D header |
| ** TexImage 3D header |
| ** When a glTexImage3D call the size4d and woffset fields are unexamined |
| ** by the server. |
| ** Could be used by all TexImage commands and perhaps should be in the |
| ** future. |
| */ |
| #define __GLX_TEXIMAGE_3D_HDR \ |
| CARD32 target B32; \ |
| CARD32 level B32; \ |
| CARD32 internalformat B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 depth B32; \ |
| CARD32 size4d B32; \ |
| CARD32 border B32; \ |
| CARD32 format B32; \ |
| CARD32 type B32; \ |
| CARD32 nullimage B32 |
| |
| #define __GLX_TEXIMAGE_3D_HDR_SIZE 44 |
| |
| #define __GLX_TEXIMAGE_3D_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \ |
| __GLX_TEXIMAGE_3D_HDR_SIZE) |
| |
| #define __GLX_TEXIMAGE_3D_CMD_DISPATCH_HDR_SIZE \ |
| (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXIMAGE_3D_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_3D_HDR; |
| __GLX_TEXIMAGE_3D_HDR; |
| } __GLXtexImage3DHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_3D_HDR; |
| __GLX_TEXIMAGE_3D_HDR; |
| } __GLXtexImage3DLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_3D_HDR; |
| __GLX_TEXIMAGE_3D_HDR; |
| } __GLXdispatchTexImage3DHeader; |
| |
| /* |
| ** Data that is specific to a glTexSubImage1D or glTexSubImage2D call. The |
| ** data is sent in the following order: |
| ** Render or RenderLarge header |
| ** Pixel header |
| ** TexSubImage header |
| ** When a glTexSubImage1D call is made, the yoffset and height fields |
| ** are unexamined by the server and are considered to be padding. |
| */ |
| #define __GLX_TEXSUBIMAGE_HDR \ |
| CARD32 target B32; \ |
| CARD32 level B32; \ |
| CARD32 xoffset B32; \ |
| CARD32 yoffset B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 format B32; \ |
| CARD32 type B32; \ |
| CARD32 nullImage \ |
| |
| #define __GLX_TEXSUBIMAGE_HDR_SIZE 36 |
| |
| #define __GLX_TEXSUBIMAGE_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE) |
| |
| #define __GLX_TEXSUBIMAGE_CMD_DISPATCH_HDR_SIZE \ |
| (__GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_TEXSUBIMAGE_HDR; |
| } __GLXtexSubImageHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_TEXSUBIMAGE_HDR; |
| } __GLXtexSubImageLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_HDR; |
| __GLX_TEXSUBIMAGE_HDR; |
| } __GLXdispatchTexSubImageHeader; |
| |
| /* |
| ** Data that is specific to a glTexSubImage3D and 4D calls. The |
| ** data is sent in the following order: |
| ** Render or RenderLarge header |
| ** Pixel 3D header |
| ** TexSubImage 3D header |
| ** When a glTexSubImage3D call is made, the woffset and size4d fields |
| ** are unexamined by the server and are considered to be padding. |
| */ |
| #define __GLX_TEXSUBIMAGE_3D_HDR \ |
| CARD32 target B32; \ |
| CARD32 level B32; \ |
| CARD32 xoffset B32; \ |
| CARD32 yoffset B32; \ |
| CARD32 zoffset B32; \ |
| CARD32 woffset B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 depth B32; \ |
| CARD32 size4d B32; \ |
| CARD32 format B32; \ |
| CARD32 type B32; \ |
| CARD32 nullImage \ |
| |
| #define __GLX_TEXSUBIMAGE_3D_HDR_SIZE 52 |
| |
| #define __GLX_TEXSUBIMAGE_3D_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \ |
| __GLX_TEXSUBIMAGE_3D_HDR_SIZE) |
| |
| #define __GLX_TEXSUBIMAGE_3D_CMD_DISPATCH_HDR_SIZE \ |
| (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXSUBIMAGE_3D_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_3D_HDR; |
| __GLX_TEXSUBIMAGE_3D_HDR; |
| } __GLXtexSubImage3DHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_3D_HDR; |
| __GLX_TEXSUBIMAGE_3D_HDR; |
| } __GLXtexSubImage3DLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_3D_HDR; |
| __GLX_TEXSUBIMAGE_3D_HDR; |
| } __GLXdispatchTexSubImage3DHeader; |
| |
| /** |
| * Data that is specific to a \c glCompressedTexImage1D or |
| * \c glCompressedTexImage2D call. The data is sent in the following |
| * order: |
| * - Render or RenderLarge header |
| * - CompressedTexImage header |
| * |
| * When a \c glCompressedTexImage1D call is made, the \c height field is |
| * not examined by the server and is considered padding. |
| */ |
| |
| #define __GLX_COMPRESSED_TEXIMAGE_HDR \ |
| CARD32 target B32; \ |
| CARD32 level B32; \ |
| CARD32 internalFormat B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 border B32; \ |
| CARD32 imageSize B32 |
| |
| #define __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE 28 |
| |
| #define __GLX_COMPRESSED_TEXIMAGE_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE) |
| |
| #define __GLX_COMPRESSED_TEXIMAGE_DISPATCH_HDR_SIZE \ |
| (__GLX_COMPRESSED_TEXIMAGE_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_COMPRESSED_TEXIMAGE_HDR; |
| } __GLXcompressedTexImageHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_COMPRESSED_TEXIMAGE_HDR; |
| } __GLXcompressedTexImageLargeHeader; |
| |
| typedef struct { |
| __GLX_COMPRESSED_TEXIMAGE_HDR; |
| } __GLXdispatchCompressedTexImageHeader; |
| |
| /** |
| * Data that is specifi to a \c glCompressedTexSubImage1D or |
| * \c glCompressedTexSubImage2D call. The data is sent in the following |
| * order: |
| * - Render or RenderLarge header |
| * - CompressedTexSubImage header |
| * |
| * When a \c glCompressedTexSubImage1D call is made, the \c yoffset and |
| * \c height fields are not examined by the server and are considered padding. |
| */ |
| |
| #define __GLX_COMPRESSED_TEXSUBIMAGE_HDR \ |
| CARD32 target B32; \ |
| CARD32 level B32; \ |
| CARD32 xoffset B32; \ |
| CARD32 yoffset B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 format B32; \ |
| CARD32 imageSize B32 |
| |
| #define __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE 32 |
| |
| #define __GLX_COMPRESSED_TEXSUBIMAGE_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE) |
| |
| #define __GLX_COMPRESSED_TEXSUBIMAGE_DISPATCH_HDR_SIZE \ |
| (__GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_COMPRESSED_TEXSUBIMAGE_HDR; |
| } __GLXcompressedTexSubImageHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_COMPRESSED_TEXSUBIMAGE_HDR; |
| } __GLXcompressedTexSubImageLargeHeader; |
| |
| typedef struct { |
| __GLX_COMPRESSED_TEXSUBIMAGE_HDR; |
| } __GLXdispatchCompressedTexSubImageHeader; |
| |
| /** |
| * Data that is specific to a \c glCompressedTexImage3D call. The data is |
| * sent in the following order: |
| * - Render or RenderLarge header |
| * - CompressedTexImage3D header |
| */ |
| |
| #define __GLX_COMPRESSED_TEXIMAGE_3D_HDR \ |
| CARD32 target B32; \ |
| CARD32 level B32; \ |
| CARD32 internalFormat B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 depth B32; \ |
| CARD32 border B32; \ |
| CARD32 imageSize B32 |
| |
| #define __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE 32 |
| |
| #define __GLX_COMPRESSED_TEXIMAGE_3D_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE) |
| |
| #define __GLX_COMPRESSED_TEXIMAGE_3D_DISPATCH_HDR_SIZE \ |
| (__GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_COMPRESSED_TEXIMAGE_3D_HDR; |
| } __GLXcompressedTexImage3DHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_COMPRESSED_TEXIMAGE_3D_HDR; |
| } __GLXcompressedTexImage3DLargeHeader; |
| |
| typedef struct { |
| __GLX_COMPRESSED_TEXIMAGE_3D_HDR; |
| } __GLXdispatchCompressedTexImage3DHeader; |
| |
| /** |
| * Data that is specifi to a \c glCompressedTexSubImage3D call. The data is |
| * sent in the following order: |
| * - Render or RenderLarge header |
| * - CompressedTexSubImage3D header |
| */ |
| |
| #define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR \ |
| CARD32 target B32; \ |
| CARD32 level B32; \ |
| CARD32 xoffset B32; \ |
| CARD32 yoffset B32; \ |
| CARD32 zoffset B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 depth B32; \ |
| CARD32 format B32; \ |
| CARD32 imageSize B32 |
| |
| #define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE 32 |
| |
| #define __GLX_COMPRESSED_TEXSUBIMAGE_3D_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE) |
| |
| #define __GLX_COMPRESSED_TEXSUBIMAGE_3D_DISPATCH_HDR_SIZE \ |
| (__GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR; |
| } __GLXcompressedTexSubImage3DHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR; |
| } __GLXcompressedTexSubImage3DLargeHeader; |
| |
| typedef struct { |
| __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR; |
| } __GLXdispatchCompressedTexSubImage3DHeader; |
| |
| /* |
| ** Data that is specific to a glDrawPixels call. The data is sent in the |
| ** following order: |
| ** Render or RenderLarge header |
| ** Pixel header |
| ** DrawPixels header |
| */ |
| #define __GLX_DRAWPIXELS_HDR \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 format B32; \ |
| CARD32 type B32 |
| |
| #define __GLX_DRAWPIXELS_HDR_SIZE 16 |
| |
| #define __GLX_DRAWPIXELS_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE) |
| |
| #define __GLX_DRAWPIXELS_CMD_DISPATCH_HDR_SIZE \ |
| (__GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_DRAWPIXELS_HDR; |
| } __GLXdrawPixelsHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_DRAWPIXELS_HDR; |
| } __GLXdrawPixelsLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_HDR; |
| __GLX_DRAWPIXELS_HDR; |
| } __GLXdispatchDrawPixelsHeader; |
| |
| /* |
| ** Data that is specific to a glConvolutionFilter1D or glConvolutionFilter2D |
| ** call. The data is sent in the following order: |
| ** Render or RenderLarge header |
| ** Pixel header |
| ** ConvolutionFilter header |
| ** When a glConvolutionFilter1D call the height field is unexamined by the server. |
| */ |
| #define __GLX_CONV_FILT_HDR \ |
| CARD32 target B32; \ |
| CARD32 internalformat B32; \ |
| CARD32 width B32; \ |
| CARD32 height B32; \ |
| CARD32 format B32; \ |
| CARD32 type B32 |
| |
| #define __GLX_CONV_FILT_HDR_SIZE 24 |
| |
| #define __GLX_CONV_FILT_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE) |
| |
| #define __GLX_CONV_FILT_CMD_DISPATCH_HDR_SIZE \ |
| (__GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE) |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_CONV_FILT_HDR; |
| } __GLXConvolutionFilterHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_CONV_FILT_HDR; |
| } __GLXConvolutionFilterLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_HDR; |
| __GLX_CONV_FILT_HDR; |
| } __GLXdispatchConvolutionFilterHeader; |
| |
| /* |
| ** Data that is specific to a glDrawArraysEXT call. The data is sent in the |
| ** following order: |
| ** Render or RenderLarge header |
| ** Draw Arrays header |
| ** a variable number of Component headers |
| ** vertex data for each component type |
| */ |
| |
| #define __GLX_DRAWARRAYS_HDR \ |
| CARD32 numVertexes B32; \ |
| CARD32 numComponents B32; \ |
| CARD32 primType B32 |
| |
| #define __GLX_DRAWARRAYS_HDR_SIZE 12 |
| |
| #define __GLX_DRAWARRAYS_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_DRAWARRAYS_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_DRAWARRAYS_HDR; |
| } __GLXdrawArraysHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_DRAWARRAYS_HDR; |
| } __GLXdrawArraysLargeHeader; |
| |
| typedef struct { |
| __GLX_DRAWARRAYS_HDR; |
| } __GLXdispatchDrawArraysHeader; |
| |
| #define __GLX_COMPONENT_HDR \ |
| CARD32 datatype B32; \ |
| INT32 numVals B32; \ |
| CARD32 component B32 |
| |
| typedef struct { |
| __GLX_COMPONENT_HDR; |
| } __GLXdispatchDrawArraysComponentHeader; |
| |
| #define __GLX_COMPONENT_HDR_SIZE 12 |
| |
| /* |
| ** Data that is specific to a glColorTable call |
| ** The data is sent in the following order: |
| ** Render or RenderLarge header |
| ** Pixel header |
| ** ColorTable header |
| */ |
| |
| #define __GLX_COLOR_TABLE_HDR \ |
| CARD32 target B32; \ |
| CARD32 internalformat B32; \ |
| CARD32 width B32; \ |
| CARD32 format B32; \ |
| CARD32 type B32 |
| |
| #define __GLX_COLOR_TABLE_HDR_SIZE 20 |
| |
| #define __GLX_COLOR_TABLE_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_COLOR_TABLE_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_COLOR_TABLE_HDR; |
| } __GLXColorTableHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_COLOR_TABLE_HDR; |
| } __GLXColorTableLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_HDR; |
| __GLX_COLOR_TABLE_HDR; |
| } __GLXdispatchColorTableHeader; |
| |
| /* |
| ** Data that is specific to a glColorSubTable call |
| ** The data is sent in the following order: |
| ** Render or RenderLarge header |
| ** Pixel header |
| ** ColorTable header |
| */ |
| |
| #define __GLX_COLOR_SUBTABLE_HDR \ |
| CARD32 target B32; \ |
| CARD32 start B32; \ |
| CARD32 count B32; \ |
| CARD32 format B32; \ |
| CARD32 type B32 |
| |
| #define __GLX_COLOR_SUBTABLE_HDR_SIZE 20 |
| |
| #define __GLX_COLOR_SUBTABLE_CMD_HDR_SIZE \ |
| (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + \ |
| __GLX_COLOR_SUBTABLE_HDR_SIZE) |
| |
| typedef struct { |
| __GLX_RENDER_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_COLOR_SUBTABLE_HDR; |
| } __GLXColorSubTableHeader; |
| |
| typedef struct { |
| __GLX_RENDER_LARGE_HDR; |
| __GLX_PIXEL_HDR; |
| __GLX_COLOR_SUBTABLE_HDR; |
| } __GLXColorSubTableLargeHeader; |
| |
| typedef struct { |
| __GLX_PIXEL_HDR; |
| __GLX_COLOR_SUBTABLE_HDR; |
| } __GLXdispatchColorSubTableHeader; |
| |
| #define GLX_WINDOW_TYPE 1 |
| #define GLX_PIXMAP_TYPE 2 |
| #define GLX_VIDEO_SOURCE_TYPE 3 |
| #define GLX_PBUFFER_TYPE 4 |
| /* 5 is for DM_PBUFFER */ |
| #define GLX_GLXWINDOW_TYPE 6 |
| |
| /*****************************************************************************/ |
| |
| /* |
| ** Restore these definitions back to the typedefs in glx.h |
| */ |
| #undef GLXContextID |
| #undef GLXPixmap |
| #undef GLXDrawable |
| #undef GLXPbuffer |
| #undef GLXWindow |
| #undef GLXFBConfigID |
| #undef GLXFBConfigIDSGIX |
| #undef GLXPbufferSGIX |
| |
| |
| /* Opcodes for GLX commands */ |
| |
| #define X_GLXRender 1 |
| #define X_GLXRenderLarge 2 |
| #define X_GLXCreateContext 3 |
| #define X_GLXDestroyContext 4 |
| #define X_GLXMakeCurrent 5 |
| #define X_GLXIsDirect 6 |
| #define X_GLXQueryVersion 7 |
| #define X_GLXWaitGL 8 |
| #define X_GLXWaitX 9 |
| #define X_GLXCopyContext 10 |
| #define X_GLXSwapBuffers 11 |
| #define X_GLXUseXFont 12 |
| #define X_GLXCreateGLXPixmap 13 |
| #define X_GLXGetVisualConfigs 14 |
| #define X_GLXDestroyGLXPixmap 15 |
| #define X_GLXVendorPrivate 16 |
| #define X_GLXVendorPrivateWithReply 17 |
| #define X_GLXQueryExtensionsString 18 |
| #define X_GLXQueryServerString 19 |
| #define X_GLXClientInfo 20 |
| #define X_GLXGetFBConfigs 21 |
| #define X_GLXCreatePixmap 22 |
| #define X_GLXDestroyPixmap 23 |
| #define X_GLXCreateNewContext 24 |
| #define X_GLXQueryContext 25 |
| #define X_GLXMakeContextCurrent 26 |
| #define X_GLXCreatePbuffer 27 |
| #define X_GLXDestroyPbuffer 28 |
| #define X_GLXGetDrawableAttributes 29 |
| #define X_GLXChangeDrawableAttributes 30 |
| #define X_GLXCreateWindow 31 |
| #define X_GLXDestroyWindow 32 |
| #define X_GLXSetClientInfoARB 33 |
| #define X_GLXCreateContextAtrribsARB 34 |
| #define X_GLXSetConfigInfo2ARB 35 |
| |
| /* Opcodes for single commands (part of GLX command space) */ |
| |
| #define X_GLsop_NewList 101 |
| #define X_GLsop_EndList 102 |
| #define X_GLsop_DeleteLists 103 |
| #define X_GLsop_GenLists 104 |
| #define X_GLsop_FeedbackBuffer 105 |
| #define X_GLsop_SelectBuffer 106 |
| #define X_GLsop_RenderMode 107 |
| #define X_GLsop_Finish 108 |
| #define X_GLsop_Flush 142 |
| #define X_GLsop_PixelStoref 109 |
| #define X_GLsop_PixelStorei 110 |
| #define X_GLsop_ReadPixels 111 |
| #define X_GLsop_GetBooleanv 112 |
| #define X_GLsop_GetClipPlane 113 |
| #define X_GLsop_GetDoublev 114 |
| #define X_GLsop_GetError 115 |
| #define X_GLsop_GetFloatv 116 |
| #define X_GLsop_GetIntegerv 117 |
| #define X_GLsop_GetLightfv 118 |
| #define X_GLsop_GetLightiv 119 |
| #define X_GLsop_GetMapdv 120 |
| #define X_GLsop_GetMapfv 121 |
| #define X_GLsop_GetMapiv 122 |
| #define X_GLsop_GetMaterialfv 123 |
| #define X_GLsop_GetMaterialiv 124 |
| #define X_GLsop_GetPixelMapfv 125 |
| #define X_GLsop_GetPixelMapuiv 126 |
| #define X_GLsop_GetPixelMapusv 127 |
| #define X_GLsop_GetPolygonStipple 128 |
| #define X_GLsop_GetString 129 |
| #define X_GLsop_GetTexEnvfv 130 |
| #define X_GLsop_GetTexEnviv 131 |
| #define X_GLsop_GetTexGendv 132 |
| #define X_GLsop_GetTexGenfv 133 |
| #define X_GLsop_GetTexGeniv 134 |
| #define X_GLsop_GetTexImage 135 |
| #define X_GLsop_GetTexParameterfv 136 |
| #define X_GLsop_GetTexParameteriv 137 |
| #define X_GLsop_GetTexLevelParameterfv 138 |
| #define X_GLsop_GetTexLevelParameteriv 139 |
| #define X_GLsop_IsEnabled 140 |
| #define X_GLsop_IsList 141 |
| #define X_GLsop_AreTexturesResident 143 |
| #define X_GLsop_DeleteTextures 144 |
| #define X_GLsop_GenTextures 145 |
| #define X_GLsop_IsTexture 146 |
| #define X_GLsop_GetColorTable 147 |
| #define X_GLsop_GetColorTableParameterfv 148 |
| #define X_GLsop_GetColorTableParameteriv 149 |
| #define X_GLsop_GetConvolutionFilter 150 |
| #define X_GLsop_GetConvolutionParameterfv 151 |
| #define X_GLsop_GetConvolutionParameteriv 152 |
| #define X_GLsop_GetSeparableFilter 153 |
| #define X_GLsop_GetHistogram 154 |
| #define X_GLsop_GetHistogramParameterfv 155 |
| #define X_GLsop_GetHistogramParameteriv 156 |
| #define X_GLsop_GetMinmax 157 |
| #define X_GLsop_GetMinmaxParameterfv 158 |
| #define X_GLsop_GetMinmaxParameteriv 159 |
| #define X_GLsop_GetCompressedTexImage 160 |
| |
| |
| /* Opcodes for rendering commands */ |
| |
| #define X_GLrop_CallList 1 |
| #define X_GLrop_CallLists 2 |
| #define X_GLrop_ListBase 3 |
| #define X_GLrop_Begin 4 |
| #define X_GLrop_Bitmap 5 |
| #define X_GLrop_Color3bv 6 |
| #define X_GLrop_Color3dv 7 |
| #define X_GLrop_Color3fv 8 |
| #define X_GLrop_Color3iv 9 |
| #define X_GLrop_Color3sv 10 |
| #define X_GLrop_Color3ubv 11 |
| #define X_GLrop_Color3uiv 12 |
| #define X_GLrop_Color3usv 13 |
| #define X_GLrop_Color4bv 14 |
| #define X_GLrop_Color4dv 15 |
| #define X_GLrop_Color4fv 16 |
| #define X_GLrop_Color4iv 17 |
| #define X_GLrop_Color4sv 18 |
| #define X_GLrop_Color4ubv 19 |
| #define X_GLrop_Color4uiv 20 |
| #define X_GLrop_Color4usv 21 |
| #define X_GLrop_EdgeFlagv 22 |
| #define X_GLrop_End 23 |
| #define X_GLrop_Indexdv 24 |
| #define X_GLrop_Indexfv 25 |
| #define X_GLrop_Indexiv 26 |
| #define X_GLrop_Indexsv 27 |
| #define X_GLrop_Normal3bv 28 |
| #define X_GLrop_Normal3dv 29 |
| #define X_GLrop_Normal3fv 30 |
| #define X_GLrop_Normal3iv 31 |
| #define X_GLrop_Normal3sv 32 |
| #define X_GLrop_RasterPos2dv 33 |
| #define X_GLrop_RasterPos2fv 34 |
| #define X_GLrop_RasterPos2iv 35 |
| #define X_GLrop_RasterPos2sv 36 |
| #define X_GLrop_RasterPos3dv 37 |
| #define X_GLrop_RasterPos3fv 38 |
| #define X_GLrop_RasterPos3iv 39 |
| #define X_GLrop_RasterPos3sv 40 |
| #define X_GLrop_RasterPos4dv 41 |
| #define X_GLrop_RasterPos4fv 42 |
| #define X_GLrop_RasterPos4iv 43 |
| #define X_GLrop_RasterPos4sv 44 |
| #define X_GLrop_Rectdv 45 |
| #define X_GLrop_Rectfv 46 |
| #define X_GLrop_Rectiv 47 |
| #define X_GLrop_Rectsv 48 |
| #define X_GLrop_TexCoord1dv 49 |
| #define X_GLrop_TexCoord1fv 50 |
| #define X_GLrop_TexCoord1iv 51 |
| #define X_GLrop_TexCoord1sv 52 |
| #define X_GLrop_TexCoord2dv 53 |
| #define X_GLrop_TexCoord2fv 54 |
| #define X_GLrop_TexCoord2iv 55 |
| #define X_GLrop_TexCoord2sv 56 |
| #define X_GLrop_TexCoord3dv 57 |
| #define X_GLrop_TexCoord3fv 58 |
| #define X_GLrop_TexCoord3iv 59 |
| #define X_GLrop_TexCoord3sv 60 |
| #define X_GLrop_TexCoord4dv 61 |
| #define X_GLrop_TexCoord4fv 62 |
| #define X_GLrop_TexCoord4iv 63 |
| #define X_GLrop_TexCoord4sv 64 |
| #define X_GLrop_Vertex2dv 65 |
| #define X_GLrop_Vertex2fv 66 |
| #define X_GLrop_Vertex2iv 67 |
| #define X_GLrop_Vertex2sv 68 |
| #define X_GLrop_Vertex3dv 69 |
| #define X_GLrop_Vertex3fv 70 |
| #define X_GLrop_Vertex3iv 71 |
| #define X_GLrop_Vertex3sv 72 |
| #define X_GLrop_Vertex4dv 73 |
| #define X_GLrop_Vertex4fv 74 |
| #define X_GLrop_Vertex4iv 75 |
| #define X_GLrop_Vertex4sv 76 |
| #define X_GLrop_ClipPlane 77 |
| #define X_GLrop_ColorMaterial 78 |
| #define X_GLrop_CullFace 79 |
| #define X_GLrop_Fogf 80 |
| #define X_GLrop_Fogfv 81 |
| #define X_GLrop_Fogi 82 |
| #define X_GLrop_Fogiv 83 |
| #define X_GLrop_FrontFace 84 |
| #define X_GLrop_Hint 85 |
| #define X_GLrop_Lightf 86 |
| #define X_GLrop_Lightfv 87 |
| #define X_GLrop_Lighti 88 |
| #define X_GLrop_Lightiv 89 |
| #define X_GLrop_LightModelf 90 |
| #define X_GLrop_LightModelfv 91 |
| #define X_GLrop_LightModeli 92 |
| #define X_GLrop_LightModeliv 93 |
| #define X_GLrop_LineStipple 94 |
| #define X_GLrop_LineWidth 95 |
| #define X_GLrop_Materialf 96 |
| #define X_GLrop_Materialfv 97 |
| #define X_GLrop_Materiali 98 |
| #define X_GLrop_Materialiv 99 |
| #define X_GLrop_PointSize 100 |
| #define X_GLrop_PolygonMode 101 |
| #define X_GLrop_PolygonStipple 102 |
| #define X_GLrop_Scissor 103 |
| #define X_GLrop_ShadeModel 104 |
| #define X_GLrop_TexParameterf 105 |
| #define X_GLrop_TexParameterfv 106 |
| #define X_GLrop_TexParameteri 107 |
| #define X_GLrop_TexParameteriv 108 |
| #define X_GLrop_TexImage1D 109 |
| #define X_GLrop_TexImage2D 110 |
| #define X_GLrop_TexEnvf 111 |
| #define X_GLrop_TexEnvfv 112 |
| #define X_GLrop_TexEnvi 113 |
| #define X_GLrop_TexEnviv 114 |
| #define X_GLrop_TexGend 115 |
| #define X_GLrop_TexGendv 116 |
| #define X_GLrop_TexGenf 117 |
| #define X_GLrop_TexGenfv 118 |
| #define X_GLrop_TexGeni 119 |
| #define X_GLrop_TexGeniv 120 |
| #define X_GLrop_InitNames 121 |
| #define X_GLrop_LoadName 122 |
| #define X_GLrop_PassThrough 123 |
| #define X_GLrop_PopName 124 |
| #define X_GLrop_PushName 125 |
| #define X_GLrop_DrawBuffer 126 |
| #define X_GLrop_Clear 127 |
| #define X_GLrop_ClearAccum 128 |
| #define X_GLrop_ClearIndex 129 |
| #define X_GLrop_ClearColor 130 |
| #define X_GLrop_ClearStencil 131 |
| #define X_GLrop_ClearDepth 132 |
| #define X_GLrop_StencilMask 133 |
| #define X_GLrop_ColorMask 134 |
| #define X_GLrop_DepthMask 135 |
| #define X_GLrop_IndexMask 136 |
| #define X_GLrop_Accum 137 |
| #define X_GLrop_Disable 138 |
| #define X_GLrop_Enable 139 |
| #define X_GLrop_PopAttrib 141 |
| #define X_GLrop_PushAttrib 142 |
| #define X_GLrop_Map1d 143 |
| #define X_GLrop_Map1f 144 |
| #define X_GLrop_Map2d 145 |
| #define X_GLrop_Map2f 146 |
| #define X_GLrop_MapGrid1d 147 |
| #define X_GLrop_MapGrid1f 148 |
| #define X_GLrop_MapGrid2d 149 |
| #define X_GLrop_MapGrid2f 150 |
| #define X_GLrop_EvalCoord1dv 151 |
| #define X_GLrop_EvalCoord1fv 152 |
| #define X_GLrop_EvalCoord2dv 153 |
| #define X_GLrop_EvalCoord2fv 154 |
| #define X_GLrop_EvalMesh1 155 |
| #define X_GLrop_EvalPoint1 156 |
| #define X_GLrop_EvalMesh2 157 |
| #define X_GLrop_EvalPoint2 158 |
| #define X_GLrop_AlphaFunc 159 |
| #define X_GLrop_BlendFunc 160 |
| #define X_GLrop_LogicOp 161 |
| #define X_GLrop_StencilFunc 162 |
| #define X_GLrop_StencilOp 163 |
| #define X_GLrop_DepthFunc 164 |
| #define X_GLrop_PixelZoom 165 |
| #define X_GLrop_PixelTransferf 166 |
| #define X_GLrop_PixelTransferi 167 |
| #define X_GLrop_PixelMapfv 168 |
| #define X_GLrop_PixelMapuiv 169 |
| #define X_GLrop_PixelMapusv 170 |
| #define X_GLrop_ReadBuffer 171 |
| #define X_GLrop_CopyPixels 172 |
| #define X_GLrop_DrawPixels 173 |
| #define X_GLrop_DepthRange 174 |
| #define X_GLrop_Frustum 175 |
| #define X_GLrop_LoadIdentity 176 |
| #define X_GLrop_LoadMatrixf 177 |
| #define X_GLrop_LoadMatrixd 178 |
| #define X_GLrop_MatrixMode 179 |
| #define X_GLrop_MultMatrixf 180 |
| #define X_GLrop_MultMatrixd 181 |
| #define X_GLrop_Ortho 182 |
| #define X_GLrop_PopMatrix 183 |
| #define X_GLrop_PushMatrix 184 |
| #define X_GLrop_Rotated 185 |
| #define X_GLrop_Rotatef 186 |
| #define X_GLrop_Scaled 187 |
| #define X_GLrop_Scalef 188 |
| #define X_GLrop_Translated 189 |
| #define X_GLrop_Translatef 190 |
| #define X_GLrop_Viewport 191 |
| #define X_GLrop_DrawArrays 193 |
| #define X_GLrop_PolygonOffset 192 |
| #define X_GLrop_CopyTexImage1D 4119 |
| #define X_GLrop_CopyTexImage2D 4120 |
| #define X_GLrop_CopyTexSubImage1D 4121 |
| #define X_GLrop_CopyTexSubImage2D 4122 |
| #define X_GLrop_TexSubImage1D 4099 |
| #define X_GLrop_TexSubImage2D 4100 |
| #define X_GLrop_BindTexture 4117 |
| #define X_GLrop_PrioritizeTextures 4118 |
| #define X_GLrop_Indexubv 194 |
| #define X_GLrop_BlendColor 4096 |
| #define X_GLrop_BlendEquation 4097 |
| #define X_GLrop_ColorTable 2053 |
| #define X_GLrop_ColorTableParameterfv 2054 |
| #define X_GLrop_ColorTableParameteriv 2055 |
| #define X_GLrop_CopyColorTable 2056 |
| #define X_GLrop_ColorSubTable 195 |
| #define X_GLrop_CopyColorSubTable 196 |
| #define X_GLrop_ConvolutionFilter1D 4101 |
| #define X_GLrop_ConvolutionFilter2D 4102 |
| #define X_GLrop_ConvolutionParameterf 4103 |
| #define X_GLrop_ConvolutionParameterfv 4104 |
| #define X_GLrop_ConvolutionParameteri 4105 |
| #define X_GLrop_ConvolutionParameteriv 4106 |
| #define X_GLrop_CopyConvolutionFilter1D 4107 |
| #define X_GLrop_CopyConvolutionFilter2D 4108 |
| #define X_GLrop_SeparableFilter2D 4109 |
| #define X_GLrop_Histogram 4110 |
| #define X_GLrop_Minmax 4111 |
| #define X_GLrop_ResetHistogram 4112 |
| #define X_GLrop_ResetMinmax 4113 |
| #define X_GLrop_TexImage3D 4114 |
| #define X_GLrop_TexSubImage3D 4115 |
| #define X_GLrop_CopyTexSubImage3D 4123 |
| #define X_GLrop_DrawArraysEXT 4116 |
| |
| /* Added for core GL version 1.3 */ |
| |
| #define X_GLrop_ActiveTextureARB 197 |
| #define X_GLrop_MultiTexCoord1dvARB 198 |
| #define X_GLrop_MultiTexCoord1fvARB 199 |
| #define X_GLrop_MultiTexCoord1ivARB 200 |
| #define X_GLrop_MultiTexCoord1svARB 201 |
| #define X_GLrop_MultiTexCoord2dvARB 202 |
| #define X_GLrop_MultiTexCoord2fvARB 203 |
| #define X_GLrop_MultiTexCoord2ivARB 204 |
| #define X_GLrop_MultiTexCoord2svARB 205 |
| #define X_GLrop_MultiTexCoord3dvARB 206 |
| #define X_GLrop_MultiTexCoord3fvARB 207 |
| #define X_GLrop_MultiTexCoord3ivARB 208 |
| #define X_GLrop_MultiTexCoord3svARB 209 |
| #define X_GLrop_MultiTexCoord4dvARB 210 |
| #define X_GLrop_MultiTexCoord4fvARB 211 |
| #define X_GLrop_MultiTexCoord4ivARB 212 |
| #define X_GLrop_MultiTexCoord4svARB 213 |
| #define X_GLrop_CompressedTexImage1D 214 |
| #define X_GLrop_CompressedTexImage2D 215 |
| #define X_GLrop_CompressedTexImage3D 216 |
| #define X_GLrop_CompressedTexSubImage1D 217 |
| #define X_GLrop_CompressedTexSubImage2D 218 |
| #define X_GLrop_CompressedTexSubImage3D 219 |
| #define X_GLrop_SampleCoverageARB 229 |
| |
| /* Added for core GL version 1.4 */ |
| |
| #define X_GLrop_WindowPos3fARB 230 |
| #define X_GLrop_FogCoordfv 4124 |
| #define X_GLrop_FogCoorddv 4125 |
| #define X_GLrop_PointParameterfARB 2065 |
| #define X_GLrop_PointParameterfvARB 2066 |
| #define X_GLrop_SecondaryColor3bv 4126 |
| #define X_GLrop_SecondaryColor3sv 4127 |
| #define X_GLrop_SecondaryColor3iv 4128 |
| #define X_GLrop_SecondaryColor3fv 4129 |
| #define X_GLrop_SecondaryColor3dv 4130 |
| #define X_GLrop_SecondaryColor3ubv 4131 |
| #define X_GLrop_SecondaryColor3usv 4132 |
| #define X_GLrop_SecondaryColor3uiv 4133 |
| #define X_GLrop_BlendFuncSeparate 4134 |
| #define X_GLrop_PointParameteri 4221 |
| #define X_GLrop_PointParameteriv 4222 |
| |
| /* Added for core GL version 1.5 */ |
| /* XXX opcodes not defined in the spec */ |
| |
| /* Opcodes for Vendor Private commands */ |
| |
| |
| #define X_GLvop_GetConvolutionFilterEXT 1 |
| #define X_GLvop_GetConvolutionParameterfvEXT 2 |
| #define X_GLvop_GetConvolutionParameterivEXT 3 |
| #define X_GLvop_GetSeparableFilterEXT 4 |
| #define X_GLvop_GetHistogramEXT 5 |
| #define X_GLvop_GetHistogramParameterfvEXT 6 |
| #define X_GLvop_GetHistogramParameterivEXT 7 |
| #define X_GLvop_GetMinmaxEXT 8 |
| #define X_GLvop_GetMinmaxParameterfvEXT 9 |
| #define X_GLvop_GetMinmaxParameterivEXT 10 |
| #define X_GLvop_AreTexturesResidentEXT 11 |
| #define X_GLvop_DeleteTexturesEXT 12 |
| #define X_GLvop_GenTexturesEXT 13 |
| #define X_GLvop_IsTextureEXT 14 |
| #define X_GLvop_GetCombinerInputParameterfvNV 1270 |
| #define X_GLvop_GetCombinerInputParameterivNV 1271 |
| #define X_GLvop_GetCombinerOutputParameterfvNV 1272 |
| #define X_GLvop_GetCombinerOutputParameterivNV 1273 |
| #define X_GLvop_GetFinalCombinerOutputParameterfvNV 1274 |
| #define X_GLvop_GetFinalCombinerOutputParameterivNV 1275 |
| #define X_GLvop_DeleteFenceNV 1276 |
| #define X_GLvop_GenFencesNV 1277 |
| #define X_GLvop_IsFenceNV 1278 |
| #define X_GLvop_TestFenceNV 1279 |
| #define X_GLvop_GetFenceivNV 1280 |
| #define X_GLvop_AreProgramsResidentNV 1293 |
| #define X_GLvop_DeleteProgramARB 1294 |
| #define X_GLvop_GenProgramsARB 1295 |
| #define X_GLvop_GetProgramEnvParameterfvARB 1296 |
| #define X_GLvop_GetProgramEnvParameterdvARB 1297 |
| #define X_GLvop_GetProgramEnvParameterivNV 1298 |
| #define X_GLvop_GetProgramStringNV 1299 |
| #define X_GLvop_GetTrackMatrixivNV 1300 |
| #define X_GLvop_GetVertexAttribdvARB 1301 |
| #define X_GLvop_GetVertexAttribfvARB 1302 |
| #define X_GLvop_GetVertexAttribivARB 1303 |
| #define X_GLvop_IsProgramARB 1304 |
| #define X_GLvop_GetProgramLocalParameterfvARB 1305 |
| #define X_GLvop_GetProgramLocalParameterdvARB 1306 |
| #define X_GLvop_GetProgramivARB 1307 |
| #define X_GLvop_GetProgramStringARB 1308 |
| #define X_GLvop_GetProgramNamedParameter4fvNV 1310 |
| #define X_GLvop_GetProgramNamedParameter4dvNV 1311 |
| #define X_GLvop_SampleMaskSGIS 2048 |
| #define X_GLvop_SamplePatternSGIS 2049 |
| #define X_GLvop_GetDetailTexFuncSGIS 4096 |
| #define X_GLvop_GetSharpenTexFuncSGIS 4097 |
| #define X_GLvop_GetColorTableSGI 4098 |
| #define X_GLvop_GetColorTableParameterfvSGI 4099 |
| #define X_GLvop_GetColorTableParameterivSGI 4100 |
| #define X_GLvop_GetTexFilterFuncSGIS 4101 |
| #define X_GLvop_GetInstrumentsSGIX 4102 |
| #define X_GLvop_InstrumentsBufferSGIX 4103 |
| #define X_GLvop_PollInstrumentsSGIX 4104 |
| #define X_GLvop_FlushRasterSGIX 4105 |
| |
| /* Opcodes for GLX vendor private commands */ |
| |
| #define X_GLXvop_QueryContextInfoEXT 1024 |
| #define X_GLXvop_BindTexImageEXT 1330 |
| #define X_GLXvop_ReleaseTexImageEXT 1331 |
| #define X_GLXvop_SwapIntervalSGI 65536 |
| #define X_GLXvop_MakeCurrentReadSGI 65537 |
| #define X_GLXvop_CreateGLXVideoSourceSGIX 65538 |
| #define X_GLXvop_DestroyGLXVideoSourceSGIX 65539 |
| #define X_GLXvop_GetFBConfigsSGIX 65540 |
| #define X_GLXvop_CreateContextWithConfigSGIX 65541 |
| #define X_GLXvop_CreateGLXPixmapWithConfigSGIX 65542 |
| #define X_GLXvop_CreateGLXPbufferSGIX 65543 |
| #define X_GLXvop_DestroyGLXPbufferSGIX 65544 |
| #define X_GLXvop_ChangeDrawableAttributesSGIX 65545 |
| #define X_GLXvop_GetDrawableAttributesSGIX 65546 |
| #define X_GLXvop_JoinSwapGroupSGIX 65547 |
| #define X_GLXvop_BindSwapBarrierSGIX 65548 |
| #define X_GLXvop_QueryMaxSwapBarriersSGIX 65549 |
| #define X_GLXvop_QueryHyperpipeNetworkSGIX 65550 |
| #define X_GLXvop_QueryHyperpipeConfigSGIX 65551 |
| #define X_GLXvop_HyperpipeConfigSGIX 65552 |
| #define X_GLXvop_DestroyHyperpipeConfigSGIX 65553 |
| |
| /* ARB extension opcodes */ |
| |
| /* 1. GL_ARB_multitexture - see GL 1.2 opcodes */ |
| /* 5. GL_ARB_multisample - see GL 1.3 opcodes */ |
| /* 12. GL_ARB_texture_compression - see GL 1.3 opcodes */ |
| /* 14. GL_ARB_point_parameters - see GL 1.4 opcodees */ |
| |
| /* 15. GL_ARB_vertex_blend */ |
| #define X_GLrop_WeightbvARB 220 |
| #define X_GLrop_WeightubvARB 221 |
| #define X_GLrop_WeightsvARB 222 |
| #define X_GLrop_WeightusvARB 223 |
| #define X_GLrop_WeightivARB 224 |
| #define X_GLrop_WeightuivARB 225 |
| #define X_GLrop_VertexBlendARB 226 |
| #define X_GLrop_WeightfvARB 227 |
| #define X_GLrop_WeightdvARB 228 |
| |
| /* 16. GL_ARB_matrix_palette */ |
| /* XXX opcodes not defined in the spec */ |
| |
| /* 25. GL_ARB_window_pos - see GL 1.4 opcodes */ |
| |
| /* 26. GL_ARB_vertex_program */ |
| #define X_GLrop_BindProgramARB 4180 |
| #define X_GLrop_ProgramEnvParameter4fvARB 4184 |
| #define X_GLrop_ProgramEnvParameter4dvARB 4185 |
| #define X_GLrop_VertexAttrib1svARB 4189 |
| #define X_GLrop_VertexAttrib2svARB 4190 |
| #define X_GLrop_VertexAttrib3svARB 4191 |
| #define X_GLrop_VertexAttrib4svARB 4192 |
| #define X_GLrop_VertexAttrib1fvARB 4193 |
| #define X_GLrop_VertexAttrib2fvARB 4194 |
| #define X_GLrop_VertexAttrib3fvARB 4195 |
| #define X_GLrop_VertexAttrib4fvARB 4196 |
| #define X_GLrop_VertexAttrib1dvARB 4197 |
| #define X_GLrop_VertexAttrib2dvARB 4198 |
| #define X_GLrop_VertexAttrib3dvARB 4199 |
| #define X_GLrop_ProgramLocalParameter4fvARB 4215 |
| #define X_GLrop_ProgramLocalParameter4dvARB 4216 |
| #define X_GLrop_ProgramStringARB 4217 |
| #define X_GLrop_VertexAttrib4dvARB 4200 |
| #define X_GLrop_VertexAttrib4NubvARB 4201 |
| #define X_GLrop_VertexAttrib4bvARB 4230 |
| #define X_GLrop_VertexAttrib4ivARB 4231 |
| #define X_GLrop_VertexAttrib4ubvARB 4232 |
| #define X_GLrop_VertexAttrib4usvARB 4233 |
| #define X_GLrop_VertexAttrib4uivARB 4234 |
| #define X_GLrop_VertexAttrib4NbvARB 4235 |
| #define X_GLrop_VertexAttrib4NsvARB 4236 |
| #define X_GLrop_VertexAttrib4NivARB 4237 |
| #define X_GLrop_VertexAttrib4NusvARB 4238 |
| #define X_GLrop_VertexAttrib4NuivARB 4239 |
| |
| /* 27. GL_ARB_fragment_program - see GL_ARB_vertex_program opcodes */ |
| |
| /* 29. GL_ARB_occlusion_query */ |
| /* XXX opcodes not defined in the spec */ |
| |
| |
| /* New extension opcodes */ |
| |
| /* 145. GL_EXT_secondary_color - see GL 1.4 opcodes */ |
| |
| /* 188. GL_EXT_vertex_weighting */ |
| #define X_GLrop_VertexWeightfvEXT 4135 |
| |
| /* 191. GL_NV_register_combiners */ |
| #define X_GLrop_CombinerParameterfNV 4136 |
| #define X_GLrop_CombinerParameterfvNV 4137 |
| #define X_GLrop_CombinerParameteriNV 4138 |
| #define X_GLrop_CombinerParameterivNV 4139 |
| #define X_GLrop_CombinerInputNV 4140 |
| #define X_GLrop_CombinerOutputNV 4141 |
| #define X_GLrop_FinalCombinerInputNV 4142 |
| |
| /* 222. GL_NV_fence */ |
| #define X_GLrop_SetFenceNV 4143 |
| #define X_GLrop_FinishFenceNV 4144 |
| |
| /* 227. GL_NV_register_combiners2 */ |
| /* XXX opcodes not defined in the spec */ |
| |
| /* 233. GL_NV_vertex_program - see also GL_ARB_vertex_program opcodes */ |
| #define X_GLrop_ExecuteProgramNV 4181 |
| #define X_GLrop_RequestResidentProgramsNV 4182 |
| #define X_GLrop_LoadProgamNV 4183 |
| #define X_GLrop_ProgramParameters4fvNV 4186 |
| #define X_GLrop_ProgramParameters4dvNV 4187 |
| #define X_GLrop_TrackMatrixNV 4188 |
| #define X_GLrop_VertexAttribs1svNV 4202 |
| #define X_GLrop_VertexAttribs2svNV 4203 |
| #define X_GLrop_VertexAttribs3svNV 4204 |
| #define X_GLrop_VertexAttribs4svNV 4205 |
| #define X_GLrop_VertexAttribs1fvNV 4206 |
| #define X_GLrop_VertexAttribs2fvNV 4207 |
| #define X_GLrop_VertexAttribs3fvNV 4208 |
| #define X_GLrop_VertexAttribs4fvNV 4209 |
| #define X_GLrop_VertexAttribs1dvNV 4210 |
| #define X_GLrop_VertexAttribs2dvNV 4211 |
| #define X_GLrop_VertexAttribs3dvNV 4212 |
| #define X_GLrop_VertexAttribs4dvNV 4213 |
| #define X_GLrop_VertexAttribs4ubvNV 4214 |
| |
| /* 261. GL_NV_occlusion_query */ |
| /* XXX opcodes not defined in the spec */ |
| |
| /* 262. GL_NV_point_sprite - see GL 1.4 opcodes */ |
| |
| /* 268. GL_EXT_stencil_two_side */ |
| #define X_GLrop_ActiveStencilFaceEXT 4220 |
| |
| /* 282. GL_NV_fragment_program - see also GL_NV_vertex_program and GL_ARB_vertex_program opcodes */ |
| #define X_GLrop_ProgramNamedParameter4fvNV 4218 |
| #define X_GLrop_ProgramNamedParameter4dvNV 4219 |
| |
| /* 285. GL_NV_primitive_restart */ |
| /* XXX opcodes not defined in the spec */ |
| |
| /* 297. GL_EXT_depth_bounds_test */ |
| #define X_GLrop_DepthBoundsEXT 4229 |
| |
| /* 299. GL_EXT_blend_equation_separate */ |
| #define X_GLrop_BlendEquationSeparateEXT 4228 |
| |
| /* 310. GL_EXT_framebuffer_object */ |
| #define X_GLvop_IsRenderbufferEXT 1422 |
| #define X_GLvop_GenRenderbuffersEXT 1423 |
| #define X_GLvop_GetRenderbufferParameterivEXT 1424 |
| #define X_GLvop_IsFramebufferEXT 1425 |
| #define X_GLvop_GenFramebuffersEXT 1426 |
| #define X_GLvop_CheckFramebufferStatusEXT 1427 |
| #define X_GLvop_GetFramebufferAttachmentParameterivEXT 1428 |
| |
| #endif /* _GLX_glxproto_h_ */ |