2723 lines
79 KiB
C
2723 lines
79 KiB
C
#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_ */
|