| TerraLib 4.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/drivers/GL/glxproto.h
Go to the documentation of this file.

    00001 #ifndef _GLX_glxproto_h_
    00002 #define _GLX_glxproto_h_
    00003
    00004 /* $XFree86: xc/include/GL/glxproto.h,v 1.6 2003/09/28 20:14:58 alanh Exp $ */
    00005 /*
    00006 ** License Applicability. Except to the extent portions of this file are
    00007 ** made subject to an alternative license as permitted in the SGI Free
    00008 ** Software License B, Version 1.1 (the "License"), the contents of this
    00009 ** file are subject only to the provisions of the License. You may not use
    00010 ** this file except in compliance with the License. You may obtain a copy
    00011 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
    00012 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
    00013 **
    00014 ** http://oss.sgi.com/projects/FreeB
    00015 **
    00016 ** Note that, as provided in the License, the Software is distributed on an
    00017 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
    00018 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
    00019 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
    00020 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
    00021 **
    00022 ** Original Code. The Original Code is: OpenGL Sample Implementation,
    00023 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
    00024 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
    00025 ** Copyright in any portions created by third parties is as indicated
    00026 ** elsewhere herein. All Rights Reserved.
    00027 **
    00028 ** Additional Notice Provisions: The application programming interfaces
    00029 ** established by SGI in conjunction with the Original Code are The
    00030 ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
    00031 ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
    00032 ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
    00033 ** Window System(R) (Version 1.3), released October 19, 1998. This software
    00034 ** was created using the OpenGL(R) version 1.2.1 Sample Implementation
    00035 ** published by SGI, but has not been independently verified as being
    00036 ** compliant with the OpenGL(R) version 1.2.1 Specification.
    00037 */
    00038
    00039 #include <GL/glxmd.h>
    00040
    00041 /*****************************************************************************/
    00042
    00043 /*
    00044 ** Errrors.
    00045 */
    00046 #define GLXBadContext            0
    00047 #define GLXBadContextState       1
    00048 #define GLXBadDrawable                      2
    00049 #define GLXBadPixmap             3
    00050 #define GLXBadContextTag         4
    00051 #define GLXBadCurrentWindow      5
    00052 #define GLXBadRenderRequest      6
    00053 #define GLXBadLargeRequest       7
    00054 #define GLXUnsupportedPrivateRequest        8
    00055 #define GLXBadFBConfig                      9
    00056 #define GLXBadPbuffer            10
    00057 #define GLXBadCurrentDrawable    11
    00058 #define GLXBadWindow             12
    00059
    00060 #define __GLX_NUMBER_ERRORS 12
    00061
    00062 /*
    00063 ** Events.
    00064 ** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX
    00065 **  event - this helps initialization if the server supports the pbuffer
    00066 **  extension and the client doesn't.
    00067 */
    00068 #define GLX_PbufferClobber       0
    00069
    00070 #define __GLX_NUMBER_EVENTS 17
    00071
    00072 #define GLX_EXTENSION_NAME       "GLX"
    00073 #define GLX_EXTENSION_ALIAS      "SGI-GLX"
    00074
    00075 #define __GLX_MAX_CONTEXT_PROPS 3
    00076
    00077 #ifndef GLX_VENDOR
    00078 #define GLX_VENDOR               0x1
    00079 #endif
    00080 #ifndef GLX_VERSION
    00081 #define GLX_VERSION              0x2
    00082 #endif
    00083 #ifndef GLX_EXTENSIONS
    00084 #define GLX_EXTENSIONS                      0x3
    00085 #endif
    00086
    00087 /*****************************************************************************/
    00088
    00089 /*
    00090 ** For the structure definitions in this file, we must redefine these types in
    00091 ** terms of Xmd.h types, which may include bitfields.  All of these are
    00092 ** undef'ed at the end of this file, restoring the definitions in glx.h.
    00093 */
    00094 #define GLXContextID CARD32
    00095 #define GLXPixmap CARD32
    00096 #define GLXDrawable CARD32
    00097 #define GLXPbuffer CARD32
    00098 #define GLXWindow CARD32
    00099 #define GLXFBConfigID CARD32
    00100 #define GLXFBConfigIDSGIX CARD32
    00101 #define GLXPbufferSGIX CARD32
    00102
    00103 /*
    00104 ** ContextTag is not exposed to the API.
    00105 */
    00106 typedef CARD32 GLXContextTag;
    00107
    00108 /*****************************************************************************/
    00109
    00110 /*
    00111 ** Sizes of basic wire types.
    00112 */
    00113 #define __GLX_SIZE_INT8                     1
    00114 #define __GLX_SIZE_INT16         2
    00115 #define __GLX_SIZE_INT32         4
    00116 #define __GLX_SIZE_CARD8         1
    00117 #define __GLX_SIZE_CARD16        2
    00118 #define __GLX_SIZE_CARD32        4
    00119 #define __GLX_SIZE_FLOAT32       4
    00120 #define __GLX_SIZE_FLOAT64       8
    00121
    00122 /*****************************************************************************/
    00123
    00124 /* Requests */
    00125
    00126 /*
    00127 ** Render command request.  A bunch of rendering commands are packed into
    00128 ** a single X extension request.
    00129 */
    00130 typedef struct GLXRender {
    00131     CARD8  reqType;
    00132     CARD8  glxCode;
    00133     CARD16 length B16;
    00134     GLXContextTag contextTag B32;
    00135 } xGLXRenderReq;
    00136 #define sz_xGLXRenderReq 8
    00137
    00138 /*
    00139 ** The maximum size that a GLXRender command can be.  The value must fit
    00140 ** in 16 bits and should be a multiple of 4.
    00141 */
    00142 #define __GLX_MAX_RENDER_CMD_SIZE           64000
    00143
    00144 /*
    00145 ** Large render command request.  A single large rendering command
    00146 ** is output in multiple X extension requests.         The first packet
    00147 ** contains an opcode dependent header (see below) that describes
    00148 ** the data that follows.
    00149 */
    00150 typedef struct GLXRenderLarge {
    00151     CARD8  reqType;
    00152     CARD8  glxCode;
    00153     CARD16 length B16;
    00154     GLXContextTag contextTag B32;
    00155     CARD16 requestNumber B16;
    00156     CARD16 requestTotal B16;
    00157     CARD32 dataBytes B32;
    00158 } xGLXRenderLargeReq;
    00159 #define sz_xGLXRenderLargeReq 16
    00160
    00161 /*
    00162 ** GLX single request.           Commands that go over as single GLX protocol
    00163 ** requests use this structure.  The glxCode will be one of the X_GLsop
    00164 ** opcodes.
    00165 */
    00166 typedef struct GLXSingle {
    00167     CARD8  reqType;
    00168     CARD8  glxCode;
    00169     CARD16 length B16;
    00170     GLXContextTag contextTag B32;
    00171 } xGLXSingleReq;
    00172 #define sz_xGLXSingleReq 8
    00173
    00174 /*
    00175 ** glXQueryVersion request
    00176 */
    00177 typedef struct GLXQueryVersion {
    00178     CARD8  reqType;
    00179     CARD8  glxCode;
    00180     CARD16 length B16;
    00181     CARD32 majorVersion B32;
    00182     CARD32 minorVersion B32;
    00183 } xGLXQueryVersionReq;
    00184 #define sz_xGLXQueryVersionReq 12
    00185
    00186 /*
    00187 ** glXIsDirect request
    00188 */
    00189 typedef struct GLXIsDirect {
    00190     CARD8  reqType;
    00191     CARD8  glxCode;
    00192     CARD16 length B16;
    00193     GLXContextID context B32;
    00194 } xGLXIsDirectReq;
    00195 #define sz_xGLXIsDirectReq 8
    00196
    00197 /*
    00198 ** glXCreateContext request
    00199 */
    00200 typedef struct GLXCreateContext {
    00201     CARD8  reqType;
    00202     CARD8  glxCode;
    00203     CARD16 length B16;
    00204     GLXContextID context B32;
    00205     CARD32 visual B32;
    00206     CARD32 screen B32;
    00207     GLXContextID shareList B32;
    00208     BOOL   isDirect;
    00209     CARD8  reserved1;
    00210     CARD16 reserved2 B16;
    00211 } xGLXCreateContextReq;
    00212 #define sz_xGLXCreateContextReq 24
    00213
    00214 /*
    00215 ** glXDestroyContext request
    00216 */
    00217 typedef struct GLXDestroyContext {
    00218     CARD8  reqType;
    00219     CARD8  glxCode;
    00220     CARD16 length B16;
    00221     GLXContextID context B32;
    00222 } xGLXDestroyContextReq;
    00223 #define sz_xGLXDestroyContextReq 8
    00224
    00225 /*
    00226 ** glXMakeCurrent request
    00227 */
    00228 typedef struct GLXMakeCurrent {
    00229     CARD8  reqType;
    00230     CARD8  glxCode;
    00231     CARD16 length B16;
    00232     GLXDrawable drawable B32;
    00233     GLXContextID context B32;
    00234     GLXContextTag oldContextTag B32;
    00235 } xGLXMakeCurrentReq;
    00236 #define sz_xGLXMakeCurrentReq 16
    00237
    00238 /*
    00239 ** glXWaitGL request
    00240 */
    00241 typedef struct GLXWaitGL {
    00242     CARD8  reqType;
    00243     CARD8  glxCode;
    00244     CARD16 length B16;
    00245     GLXContextTag contextTag B32;
    00246 } xGLXWaitGLReq;
    00247 #define sz_xGLXWaitGLReq 8
    00248
    00249 /*
    00250 ** glXWaitX request
    00251 */
    00252 typedef struct GLXWaitX {
    00253     CARD8  reqType;
    00254     CARD8  glxCode;
    00255     CARD16 length B16;
    00256     GLXContextTag contextTag B32;
    00257 } xGLXWaitXReq;
    00258 #define sz_xGLXWaitXReq 8
    00259
    00260 /*
    00261 ** glXCopyContext request
    00262 */
    00263 typedef struct GLXCopyContext {
    00264     CARD8  reqType;
    00265     CARD8  glxCode;
    00266     CARD16 length B16;
    00267     GLXContextID source B32;
    00268     GLXContextID dest B32;
    00269     CARD32 mask B32;
    00270     GLXContextTag contextTag B32;
    00271 } xGLXCopyContextReq;
    00272 #define sz_xGLXCopyContextReq 20
    00273
    00274 /*
    00275 ** glXSwapBuffers request
    00276 */
    00277 typedef struct GLXSwapBuffers {
    00278     CARD8  reqType;
    00279     CARD8  glxCode;
    00280     CARD16 length B16;
    00281     GLXContextTag contextTag B32;
    00282     GLXDrawable drawable B32;
    00283 } xGLXSwapBuffersReq;
    00284 #define sz_xGLXSwapBuffersReq 12
    00285
    00286 /*
    00287 ** glXUseXFont request
    00288 */
    00289 typedef struct GLXUseXFont {
    00290     CARD8  reqType;
    00291     CARD8  glxCode;
    00292     CARD16 length B16;
    00293     GLXContextTag contextTag B32;
    00294     CARD32 font B32;
    00295     CARD32 first B32;
    00296     CARD32 count B32;
    00297     CARD32 listBase B32;
    00298 } xGLXUseXFontReq;
    00299 #define sz_xGLXUseXFontReq 24
    00300
    00301 /*
    00302 ** glXCreateGLXPixmap request
    00303 */
    00304 typedef struct GLXCreateGLXPixmap {
    00305     CARD8  reqType;
    00306     CARD8  glxCode;
    00307     CARD16 length B16;
    00308     CARD32 screen B32;
    00309     CARD32 visual B32;
    00310     CARD32 pixmap B32;
    00311     GLXPixmap         glxpixmap B32;
    00312 } xGLXCreateGLXPixmapReq;
    00313 #define sz_xGLXCreateGLXPixmapReq 20
    00314
    00315 /*
    00316 ** glXDestroyGLXPixmap request
    00317 */
    00318 typedef struct GLXDestroyGLXPixmap {
    00319     CARD8  reqType;
    00320     CARD8  glxCode;
    00321     CARD16 length B16;
    00322     GLXPixmap         glxpixmap B32;
    00323 } xGLXDestroyGLXPixmapReq;
    00324 #define sz_xGLXDestroyGLXPixmapReq 8
    00325
    00326 /*
    00327 ** glXGetVisualConfigs request
    00328 */
    00329 typedef struct GLXGetVisualConfigs {
    00330     CARD8  reqType;
    00331     CARD8  glxCode;
    00332     CARD16 length B16;
    00333     CARD32 screen B32;
    00334 } xGLXGetVisualConfigsReq;
    00335 #define sz_xGLXGetVisualConfigsReq 8
    00336
    00337 /*
    00338 ** glXVendorPrivate request.
    00339 */
    00340 typedef struct GLXVendorPrivate {
    00341     CARD8  reqType;
    00342     CARD8  glxCode;
    00343     CARD16 length B16;
    00344     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    00345     GLXContextTag contextTag B32;
    00346     /*
    00347     ** More data may follow; this is just the header.
    00348     */
    00349 } xGLXVendorPrivateReq;
    00350 #define sz_xGLXVendorPrivateReq 12
    00351
    00352 /*
    00353 ** glXVendorPrivateWithReply request
    00354 */
    00355 typedef struct GLXVendorPrivateWithReply {
    00356     CARD8  reqType;
    00357     CARD8  glxCode;
    00358     CARD16 length B16;
    00359     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    00360     GLXContextTag contextTag B32;
    00361     /*
    00362     ** More data may follow; this is just the header.
    00363     */
    00364 } xGLXVendorPrivateWithReplyReq;
    00365 #define sz_xGLXVendorPrivateWithReplyReq 12
    00366
    00367 /*
    00368 ** glXQueryExtensionsString request
    00369 */
    00370 typedef struct GLXQueryExtensionsString {
    00371     CARD8  reqType;
    00372     CARD8  glxCode;
    00373     CARD16 length B16;
    00374     CARD32 screen B32;
    00375 } xGLXQueryExtensionsStringReq;
    00376 #define sz_xGLXQueryExtensionsStringReq 8
    00377
    00378 /*
    00379 ** glXQueryServerString request
    00380 */
    00381 typedef struct GLXQueryServerString {
    00382     CARD8  reqType;
    00383     CARD8  glxCode;
    00384     CARD16 length B16;
    00385     CARD32 screen     B32;
    00386     CARD32 name B32;
    00387 } xGLXQueryServerStringReq;
    00388 #define sz_xGLXQueryServerStringReq 12
    00389
    00390 /*
    00391 ** glXClientInfo request
    00392 */
    00393 typedef struct GLXClientInfo {
    00394     CARD8  reqType;
    00395     CARD8  glxCode;
    00396     CARD16 length B16;
    00397     CARD32 major B32;
    00398     CARD32 minor B32;
    00399     CARD32 numbytes B32;
    00400 } xGLXClientInfoReq;
    00401 #define sz_xGLXClientInfoReq 16
    00402
    00403 /*** Start of GLX 1.3 requests */
    00404
    00405 /*
    00406 ** glXGetFBConfigs request
    00407 */
    00408 typedef struct GLXGetFBConfigs {
    00409     CARD8  reqType;
    00410     CARD8  glxCode;
    00411     CARD16 length B16;
    00412     CARD32 screen B32;
    00413 } xGLXGetFBConfigsReq;
    00414 #define sz_xGLXGetFBConfigsReq 8
    00415
    00416 /*
    00417 ** glXCreatePixmap request
    00418 */
    00419 typedef struct GLXCreatePixmap {
    00420     CARD8  reqType;
    00421     CARD8  glxCode;
    00422     CARD16 length B16;
    00423     CARD32 screen B32;
    00424     GLXFBConfigID fbconfig B32;
    00425     CARD32 pixmap B32;
    00426     GLXPixmap         glxpixmap B32;
    00427     CARD32 numAttribs B32;
    00428     /* followed by attribute list */
    00429 } xGLXCreatePixmapReq;
    00430 #define sz_xGLXCreatePixmapReq 24
    00431
    00432 /*
    00433 ** glXDestroyPixmap request
    00434 */
    00435 typedef struct GLXDestroyPixmap {
    00436     CARD8  reqType;
    00437     CARD8  glxCode;
    00438     CARD16 length B16;
    00439     GLXPixmap         glxpixmap B32;
    00440 } xGLXDestroyPixmapReq;
    00441 #define sz_xGLXDestroyPixmapReq 8
    00442
    00443 /*
    00444 ** glXCreateNewContext request
    00445 */
    00446 typedef struct GLXCreateNewContext {
    00447     CARD8  reqType;
    00448     CARD8  glxCode;
    00449     CARD16 length B16;
    00450     GLXContextID context B32;
    00451     GLXFBConfigID fbconfig B32;
    00452     CARD32 screen B32;
    00453     CARD32 renderType;
    00454     GLXContextID shareList B32;
    00455     BOOL   isDirect;
    00456     CARD8  reserved1;
    00457     CARD16 reserved2 B16;
    00458 } xGLXCreateNewContextReq;
    00459 #define sz_xGLXCreateNewContextReq 28
    00460
    00461 /*
    00462 ** glXQueryContext request
    00463 */
    00464 typedef struct GLXQueryContext {
    00465     CARD8  reqType;
    00466     CARD8  glxCode;
    00467     CARD16 length B16;
    00468     GLXContextID context B32;
    00469 } xGLXQueryContextReq;
    00470 #define sz_xGLXQueryContextReq 8
    00471
    00472 /*
    00473 ** glXMakeContextCurrent request
    00474 */
    00475 typedef struct GLXMakeContextCurrent {
    00476     CARD8  reqType;
    00477     CARD8  glxCode;
    00478     CARD16 length B16;
    00479     GLXContextTag oldContextTag B32;
    00480     GLXDrawable drawable B32;
    00481     GLXDrawable readdrawable B32;
    00482     GLXContextID context B32;
    00483 } xGLXMakeContextCurrentReq;
    00484 #define sz_xGLXMakeContextCurrentReq 20
    00485
    00486 /*
    00487 ** glXCreatePbuffer request
    00488 */
    00489 typedef struct GLXCreatePbuffer {
    00490     CARD8  reqType;
    00491     CARD8  glxCode;
    00492     CARD16 length B16;
    00493     CARD32 screen B32;
    00494     GLXFBConfigID fbconfig B32;
    00495     GLXPbuffer        pbuffer B32;
    00496     CARD32 numAttribs B32;
    00497     /* followed by attribute list */
    00498 } xGLXCreatePbufferReq;
    00499 #define sz_xGLXCreatePbufferReq 20
    00500
    00501 /*
    00502 ** glXDestroyPbuffer request
    00503 */
    00504 typedef struct GLXDestroyPbuffer {
    00505     CARD8  reqType;
    00506     CARD8  glxCode;
    00507     CARD16 length B16;
    00508     GLXPbuffer        pbuffer B32;
    00509 } xGLXDestroyPbufferReq;
    00510 #define sz_xGLXDestroyPbufferReq 8
    00511
    00512 /*
    00513 ** glXGetDrawableAttributes request
    00514 */
    00515 typedef struct GLXGetDrawableAttributes {
    00516     CARD8  reqType;
    00517     CARD8  glxCode;
    00518     CARD16 length B16;
    00519     GLXDrawable drawable B32;
    00520 } xGLXGetDrawableAttributesReq;
    00521 #define sz_xGLXGetDrawableAttributesReq 8
    00522
    00523 /*
    00524 ** glXChangeDrawableAttributes request
    00525 */
    00526 typedef struct GLXChangeDrawableAttributes {
    00527     CARD8  reqType;
    00528     CARD8  glxCode;
    00529     CARD16 length B16;
    00530     GLXDrawable drawable B32;
    00531     CARD32 numAttribs B32;
    00532     /* followed by attribute list */
    00533 } xGLXChangeDrawableAttributesReq;
    00534 #define sz_xGLXChangeDrawableAttributesReq 12
    00535
    00536 /*
    00537 ** glXCreateWindow request
    00538 */
    00539 typedef struct GLXCreateWindow {
    00540     CARD8  reqType;
    00541     CARD8  glxCode;
    00542     CARD16 length B16;
    00543     CARD32 screen B32;
    00544     GLXFBConfigID fbconfig B32;
    00545     CARD32 window B32;
    00546     GLXWindow         glxwindow B32;
    00547     CARD32 numAttribs B32;
    00548     /* followed by attribute list */
    00549 } xGLXCreateWindowReq;
    00550 #define sz_xGLXCreateWindowReq 24
    00551
    00552 /*
    00553 ** glXDestroyWindow request
    00554 */
    00555 typedef struct GLXDestroyWindow {
    00556     CARD8  reqType;
    00557     CARD8  glxCode;
    00558     CARD16 length B16;
    00559     GLXWindow         glxwindow B32;
    00560 } xGLXDestroyWindowReq;
    00561 #define sz_xGLXDestroyWindowReq 8
    00562
    00563 /* Replies */
    00564
    00565 typedef struct {
    00566     BYTE   type;                            /* X_Reply */
    00567     CARD8  unused;                          /* not used */
    00568     CARD16 sequenceNumber B16;
    00569     CARD32 length B32;
    00570     CARD32 error B32;
    00571     CARD32 pad2 B32;
    00572     CARD32 pad3 B32;
    00573     CARD32 pad4 B32;
    00574     CARD32 pad5 B32;
    00575     CARD32 pad6 B32;
    00576 } xGLXGetErrorReply;
    00577 #define sz_xGLXGetErrorReply 32
    00578
    00579 typedef struct {
    00580     BYTE   type;                            /* X_Reply */
    00581     CARD8  unused;                          /* not used */
    00582     CARD16 sequenceNumber B16;
    00583     CARD32 length B32;
    00584     GLXContextTag contextTag B32;
    00585     CARD32 pad2 B32;
    00586     CARD32 pad3 B32;
    00587     CARD32 pad4 B32;
    00588     CARD32 pad5 B32;
    00589     CARD32 pad6 B32;
    00590 } xGLXMakeCurrentReply;
    00591 #define sz_xGLXMakeCurrentReply 32
    00592
    00593 typedef struct {
    00594     BYTE   type;                            /* X_Reply */
    00595     CARD8  unused;                          /* not used */
    00596     CARD16 sequenceNumber B16;
    00597     CARD32 length B32;
    00598     CARD32 pad1 B32;
    00599     CARD32 pad2 B32;
    00600     CARD32 pad3 B32;
    00601     CARD32 pad4 B32;
    00602     CARD32 pad5 B32;
    00603     CARD32 pad6 B32;
    00604 } xGLXReadPixelsReply;
    00605 #define sz_xGLXReadPixelsReply 32
    00606
    00607 typedef struct {
    00608     BYTE   type;                            /* X_Reply */
    00609     CARD8  unused;                          /* not used */
    00610     CARD16 sequenceNumber B16;
    00611     CARD32 length B32;
    00612     CARD32 pad1 B32;
    00613     CARD32 pad2 B32;
    00614     CARD32 width B32;
    00615     CARD32 height B32;
    00616     CARD32 depth B32;
    00617     CARD32 pad6 B32;
    00618 } xGLXGetTexImageReply;
    00619 #define sz_xGLXGetTexImageReply 32
    00620
    00621 typedef struct {
    00622     BYTE   type;                            /* X_Reply */
    00623     CARD8  unused;                          /* not used */
    00624     CARD16 sequenceNumber B16;
    00625     CARD32 length B32;
    00626     CARD32 pad1 B32;
    00627     CARD32 pad2 B32;
    00628     CARD32 width B32;
    00629     CARD32 height B32;
    00630     CARD32 pad5 B32;
    00631     CARD32 pad6 B32;
    00632 } xGLXGetSeparableFilterReply;
    00633 #define sz_xGLXGetSeparableFilterReply 32
    00634
    00635 typedef struct {
    00636     BYTE   type;                            /* X_Reply */
    00637     CARD8  unused;                          /* not used */
    00638     CARD16 sequenceNumber B16;
    00639     CARD32 length B32;
    00640     CARD32 pad1 B32;
    00641     CARD32 pad2 B32;
    00642     CARD32 width B32;
    00643     CARD32 height B32;
    00644     CARD32 pad5 B32;
    00645     CARD32 pad6 B32;
    00646 } xGLXGetConvolutionFilterReply;
    00647 #define sz_xGLXGetConvolutionFilterReply 32
    00648
    00649 typedef struct {
    00650     BYTE   type;                            /* X_Reply */
    00651     CARD8  unused;                          /* not used */
    00652     CARD16 sequenceNumber B16;
    00653     CARD32 length B32;
    00654     CARD32 pad1 B32;
    00655     CARD32 pad2 B32;
    00656     CARD32 width B32;
    00657     CARD32 pad4 B32;
    00658     CARD32 pad5 B32;
    00659     CARD32 pad6 B32;
    00660 } xGLXGetHistogramReply;
    00661 #define sz_xGLXGetHistogramReply 32
    00662
    00663 typedef struct {
    00664     BYTE   type;                            /* X_Reply */
    00665     CARD8  unused;                          /* not used */
    00666     CARD16 sequenceNumber B16;
    00667     CARD32 length B32;
    00668     CARD32 pad1 B32;
    00669     CARD32 pad2 B32;
    00670     CARD32 pad3 B32;
    00671     CARD32 pad4 B32;
    00672     CARD32 pad5 B32;
    00673     CARD32 pad6 B32;
    00674 } xGLXGetMinmaxReply;
    00675 #define sz_xGLXGetMinmaxReply 32
    00676
    00677 typedef struct {
    00678     BYTE   type;                            /* X_Reply */
    00679     CARD8  unused;                          /* not used */
    00680     CARD16 sequenceNumber B16;
    00681     CARD32 length B32;
    00682     CARD32 retval B32;
    00683     CARD32 size B32;
    00684     CARD32 newMode B32;
    00685     CARD32 pad4 B32;
    00686     CARD32 pad5 B32;
    00687     CARD32 pad6 B32;
    00688 } xGLXRenderModeReply;
    00689 #define sz_xGLXRenderModeReply 32
    00690
    00691 typedef struct {
    00692     BYTE   type;                            /* X_Reply */
    00693     CARD8  unused;                          /* not used */
    00694     CARD16 sequenceNumber B16;
    00695     CARD32 length B32;
    00696     CARD32 majorVersion B32;
    00697     CARD32 minorVersion B32;
    00698     CARD32 pad3 B32;
    00699     CARD32 pad4 B32;
    00700     CARD32 pad5 B32;
    00701     CARD32 pad6 B32;
    00702 } xGLXQueryVersionReply;
    00703 #define sz_xGLXQueryVersionReply 32
    00704
    00705 typedef struct {
    00706     BYTE   type;                            /* X_Reply */
    00707     CARD8  unused;                          /* not used */
    00708     CARD16 sequenceNumber B16;
    00709     CARD32 length B32;
    00710     CARD32 numVisuals B32;
    00711     CARD32 numProps B32;
    00712     CARD32 pad3 B32;
    00713     CARD32 pad4 B32;
    00714     CARD32 pad5 B32;
    00715     CARD32 pad6 B32;
    00716 } xGLXGetVisualConfigsReply;
    00717 #define sz_xGLXGetVisualConfigsReply 32
    00718
    00719 typedef struct {
    00720     BYTE   type;                            /* X_Reply */
    00721     CARD8  unused;                          /* not used */
    00722     CARD16 sequenceNumber B16;
    00723     CARD32 length B32;
    00724     BOOL   isDirect;
    00725     CARD8  pad1;
    00726     CARD16 pad2 B16;
    00727     CARD32 pad3 B32;
    00728     CARD32 pad4 B32;
    00729     CARD32 pad5 B32;
    00730     CARD32 pad6 B32;
    00731     CARD32 pad7 B32;
    00732 } xGLXIsDirectReply;
    00733 #define sz_xGLXIsDirectReply     32
    00734
    00735 /*
    00736 ** This reply structure is used for all single replies.  Single replies
    00737 ** ship either 1 piece of data or N pieces of data.  In these cases
    00738 ** size indicates how much data is to be returned.
    00739 */
    00740 typedef struct {
    00741     BYTE   type;                            /* X_Reply */
    00742     CARD8  unused;                          /* not used */
    00743     CARD16 sequenceNumber B16;
    00744     CARD32 length B32;
    00745     CARD32 retval B32;
    00746     CARD32 size B32;
    00747     CARD32 pad3 B32;             /* NOTE: may hold a single value */
    00748     CARD32 pad4 B32;             /* NOTE: may hold half a double */
    00749     CARD32 pad5 B32;
    00750     CARD32 pad6 B32;
    00751 } xGLXSingleReply;
    00752 #define sz_xGLXSingleReply 32
    00753
    00754 /*
    00755 ** This reply structure is used for all Vendor Private replies. Vendor
    00756 ** Private replies can ship up to 24 bytes within the header or can
    00757 ** be variable sized, in which case, the reply length field indicates
    00758 ** the number of words of data which follow the header.
    00759 */
    00760 typedef struct {
    00761     BYTE   type;                            /* X_Reply */
    00762     CARD8  unused;                          /* not used */
    00763     CARD16 sequenceNumber B16;
    00764     CARD32 length B32;
    00765     CARD32 retval B32;
    00766     CARD32 size B32;
    00767     CARD32 pad3 B32;
    00768     CARD32 pad4 B32;
    00769     CARD32 pad5 B32;
    00770     CARD32 pad6 B32;
    00771 } xGLXVendorPrivReply;
    00772 #define sz_xGLXVendorPrivReply 32
    00773
    00774 /*
    00775 **  QueryExtensionsStringReply
    00776 **  n indicates the number of bytes to be returned.
    00777 */
    00778 typedef struct {
    00779     BYTE   type;                            /* X_Reply */
    00780     CARD8  unused;                          /* not used */
    00781     CARD16 sequenceNumber B16;
    00782     CARD32 length B32;
    00783     CARD32 pad1 B32;
    00784     CARD32 n B32;
    00785     CARD32 pad3 B32;
    00786     CARD32 pad4 B32;
    00787     CARD32 pad5 B32;
    00788     CARD32 pad6 B32;
    00789 } xGLXQueryExtensionsStringReply;
    00790 #define sz_xGLXQueryExtensionsStringReply 32
    00791
    00792 /*
    00793 ** QueryServerString Reply struct
    00794 ** n indicates the number of bytes to be returned.
    00795 */
    00796 typedef struct {
    00797     BYTE   type;                            /* X_Reply */
    00798     CARD8  unused;                          /* not used */
    00799     CARD16 sequenceNumber B16;
    00800     CARD32 length B32;
    00801     CARD32 pad1 B32;
    00802     CARD32 n B32;
    00803     CARD32 pad3 B32;             /* NOTE: may hold a single value */
    00804     CARD32 pad4 B32;             /* NOTE: may hold half a double */
    00805     CARD32 pad5 B32;
    00806     CARD32 pad6 B32;
    00807 } xGLXQueryServerStringReply;
    00808 #define sz_xGLXQueryServerStringReply 32
    00809
    00810 /*** Start of GLX 1.3 replies */
    00811
    00812 /*
    00813 ** glXGetFBConfigs reply
    00814 */
    00815 typedef struct {
    00816     BYTE   type;                            /* X_Reply */
    00817     CARD8  unused;                          /* not used */
    00818     CARD16 sequenceNumber B16;
    00819     CARD32 length B32;
    00820     CARD32 numFBConfigs B32;
    00821     CARD32 numAttribs B32;
    00822     CARD32 pad3 B32;
    00823     CARD32 pad4 B32;
    00824     CARD32 pad5 B32;
    00825     CARD32 pad6 B32;
    00826 } xGLXGetFBConfigsReply;
    00827 #define sz_xGLXGetFBConfigsReply 32
    00828
    00829 /*
    00830 ** glXQueryContext reply
    00831 */
    00832 typedef struct {
    00833     BYTE   type;                            /* X_Reply */
    00834     CARD8  unused;                          /* not used */
    00835     CARD16 sequenceNumber B16;
    00836     CARD32 length B32;
    00837     CARD32 n B32;                           /* number of attribute/value pairs */
    00838     CARD32 pad2 B32;
    00839     CARD32 pad3 B32;
    00840     CARD32 pad4 B32;
    00841     CARD32 pad5 B32;
    00842     CARD32 pad6 B32;
    00843 } xGLXQueryContextReply;
    00844 #define sz_xGLXQueryContextReply 32
    00845
    00846 /*
    00847 ** glXMakeContextCurrent reply
    00848 */
    00849 typedef struct {
    00850     BYTE   type;                            /* X_Reply */
    00851     CARD8  unused;                          /* not used */
    00852     CARD16 sequenceNumber B16;
    00853     CARD32 length B32;
    00854     GLXContextTag contextTag B32;
    00855     CARD32 pad2 B32;
    00856     CARD32 pad3 B32;
    00857     CARD32 pad4 B32;
    00858     CARD32 pad5 B32;
    00859     CARD32 pad6 B32;
    00860 } xGLXMakeContextCurrentReply;
    00861 #define sz_xGLXMakeContextCurrentReply 32
    00862
    00863 /*
    00864 ** glXCreateGLXPbuffer reply
    00865 ** This is used only in the direct rendering case on SGIs - otherwise
    00866 **  CreateGLXPbuffer has no reply. It is not part of GLX 1.3.
    00867 */
    00868 typedef struct {
    00869     BYTE   type;                            /* X_Reply */
    00870     CARD8  success;
    00871     CARD16 sequenceNumber B16;
    00872     CARD32 length B32;
    00873     CARD32 pad1 B32;
    00874     CARD32 pad2 B32;
    00875     CARD32 pad3 B32;
    00876     CARD32 pad4 B32;
    00877     CARD32 pad5 B32;
    00878     CARD32 pad6 B32;
    00879 } xGLXCreateGLXPbufferReply;
    00880 #define sz_xGLXCreateGLXPbufferReply 32
    00881
    00882 /*
    00883 ** glXGetDrawableAttributes reply
    00884 */
    00885 typedef struct {
    00886     BYTE   type;                            /* X_Reply */
    00887     CARD8  unused;                          /* not used */
    00888     CARD16 sequenceNumber B16;
    00889     CARD32 length B32;
    00890     CARD32 numAttribs B32;
    00891     CARD32 pad2 B32;
    00892     CARD32 pad3 B32;
    00893     CARD32 pad4 B32;
    00894     CARD32 pad5 B32;
    00895     CARD32 pad6 B32;
    00896 } xGLXGetDrawableAttributesReply;
    00897 #define sz_xGLXGetDrawableAttributesReply 32
    00898
    00899 /*
    00900 ** glXGetColorTable reply
    00901 */
    00902 typedef struct {
    00903     BYTE   type;                        /* X_Reply */
    00904     CARD8  unused;                      /* not used */
    00905     CARD16 sequenceNumber B16;
    00906     CARD32 length B32;
    00907     CARD32 pad1 B32;
    00908     CARD32 pad2 B32;
    00909     CARD32 width B32;
    00910     CARD32 pad4 B32;
    00911     CARD32 pad5 B32;
    00912     CARD32 pad6 B32;
    00913 } xGLXGetColorTableReply;
    00914 #define sz_xGLXGetColorTableReply 32
    00915
    00916 /************************************************************************/
    00917
    00918 /* GLX extension requests and replies */
    00919
    00920 /*
    00921 ** glXQueryContextInfoEXT request
    00922 */
    00923 typedef struct GLXQueryContextInfoEXT {
    00924     CARD8  reqType;
    00925     CARD8  glxCode;
    00926     CARD16 length B16;
    00927     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    00928     CARD32 pad1 B32;   /* unused; corresponds to contextTag in header */
    00929     GLXContextID context B32;
    00930 } xGLXQueryContextInfoEXTReq;
    00931 #define sz_xGLXQueryContextInfoEXTReq 16
    00932
    00933 /*
    00934 ** glXQueryContextInfoEXT reply
    00935 */
    00936 typedef struct {
    00937     BYTE   type;                            /* X_Reply */
    00938     CARD8  unused;                          /* not used */
    00939     CARD16 sequenceNumber B16;
    00940     CARD32 length B32;
    00941     CARD32 n B32;                           /* number of attribute/value pairs */
    00942     CARD32 pad2 B32;
    00943     CARD32 pad3 B32;
    00944     CARD32 pad4 B32;
    00945     CARD32 pad5 B32;
    00946     CARD32 pad6 B32;
    00947 } xGLXQueryContextInfoEXTReply;
    00948 #define sz_xGLXQueryContextInfoEXTReply 32
    00949
    00950 /*
    00951 ** glXMakeCurrentReadSGI request
    00952 */
    00953 typedef struct GLXMakeCurrentReadSGI {
    00954     CARD8  reqType;
    00955     CARD8  glxCode;
    00956     CARD16 length B16;
    00957     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    00958     GLXContextTag oldContextTag B32;
    00959     GLXDrawable drawable B32;
    00960     GLXDrawable readable B32;
    00961     GLXContextID context B32;
    00962 } xGLXMakeCurrentReadSGIReq;
    00963 #define sz_xGLXMakeCurrentReadSGIReq 24
    00964
    00965 typedef struct {
    00966     BYTE   type;                            /* X_Reply */
    00967     CARD8  unused;                          /* not used */
    00968     CARD16 sequenceNumber B16;
    00969     CARD32 length B32;
    00970     GLXContextTag contextTag B32;
    00971     CARD32 writeVid B32;
    00972     CARD32 writeType B32;
    00973     CARD32 readVid B32;
    00974     CARD32 readType B32;
    00975     CARD32 pad6 B32;
    00976 } xGLXMakeCurrentReadSGIReply;
    00977 #define sz_xGLXMakeCurrentReadSGIReply 32
    00978
    00979 /*
    00980 ** glXGetFBConfigsSGIX request
    00981 */
    00982 typedef struct GLXGetFBConfigsSGIX {
    00983     CARD8  reqType;
    00984     CARD8  glxCode;
    00985     CARD16 length B16;
    00986     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    00987     CARD32 pad1 B32;   /* unused; corresponds to contextTag in header */
    00988     CARD32 screen B32;
    00989 } xGLXGetFBConfigsSGIXReq;
    00990 #define sz_xGLXGetFBConfigsSGIXReq 16
    00991
    00992 /*
    00993 ** glXCreateContextWithConfigSGIX request
    00994 */
    00995
    00996 typedef struct GLXCreateContextWithConfigSGIX {
    00997     CARD8  reqType;
    00998     CARD8  glxCode;
    00999     CARD16 length B16;
    01000     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    01001     CARD32 pad1 B32;   /* unused; corresponds to contextTag in header */
    01002     GLXContextID context B32;
    01003     GLXFBConfigID fbconfig B32;
    01004     CARD32 screen B32;
    01005     CARD32 renderType;
    01006     GLXContextID shareList B32;
    01007     BOOL   isDirect;
    01008     CARD8  reserved1;
    01009     CARD16 reserved2 B16;
    01010 } xGLXCreateContextWithConfigSGIXReq;
    01011 #define sz_xGLXCreateContextWithConfigSGIXReq 36
    01012
    01013 /*
    01014 ** glXCreatePixmapWithConfigSGIX request
    01015 */
    01016
    01017 typedef struct GLXCreateGLXPixmapWithConfigSGIX {
    01018     CARD8  reqType;
    01019     CARD8  glxCode;
    01020     CARD16 length B16;
    01021     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    01022     CARD32 pad1 B32;   /* unused; corresponds to contextTag in header */
    01023     CARD32 screen B32;
    01024     GLXFBConfigID fbconfig B32;
    01025     CARD32 pixmap B32;
    01026     GLXPixmap         glxpixmap B32;
    01027 } xGLXCreateGLXPixmapWithConfigSGIXReq;
    01028 #define sz_xGLXCreateGLXPixmapWithConfigSGIXReq 28
    01029
    01030 /*
    01031 ** glXJoinSwapGroupSGIX request
    01032 */
    01033 typedef struct GLXJoinSwapGroupSGIX {
    01034     CARD8  reqType;
    01035     CARD8  glxCode;
    01036     CARD16 length B16;
    01037     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    01038     CARD32            unused B32;                      /* corresponds to contextTag in hdr */
    01039     GLXDrawable       drawable B32;
    01040     GLXDrawable       member B32;
    01041 } xGLXJoinSwapGroupSGIXReq;
    01042 #define sz_xGLXJoinSwapGroupSGIXReq 20
    01043
    01044 /*
    01045 ** glXBindSwapBarrierSGIX request
    01046 */
    01047 typedef struct GLXBindSwapBarrierSGIX {
    01048     CARD8  reqType;
    01049     CARD8  glxCode;
    01050     CARD16 length B16;
    01051     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    01052     CARD32            unused B32;                      /* corresponds to contextTag in hdr */
    01053     GLXDrawable       drawable B32;
    01054     CARD32 barrier B32;
    01055 } xGLXBindSwapBarrierSGIXReq;
    01056 #define sz_xGLXBindSwapBarrierSGIXReq 20
    01057
    01058 /*
    01059 ** glXQueryMaxSwapBarriersSGIX request
    01060 */
    01061 typedef struct GLXQueryMaxSwapBarriersSGIX {
    01062     CARD8  reqType;
    01063     CARD8  glxCode;
    01064     CARD16 length B16;
    01065     CARD32 vendorCode B32;                  /* vendor-specific opcode */
    01066     CARD32            unused B32;                      /* corresponds to contextTag in hdr */
    01067     CARD32 screen B32;
    01068 } xGLXQueryMaxSwapBarriersSGIXReq;
    01069 #define sz_xGLXQueryMaxSwapBarriersSGIXReq 16
    01070
    01071 typedef struct {
    01072     BYTE   type;                            /* X_Reply */
    01073     CARD8  unused;                          /* not used */
    01074     CARD16 sequenceNumber B16;
    01075     CARD32 length B32;
    01076     CARD32 max B32;
    01077     CARD32 size B32;
    01078     CARD32 pad3 B32;
    01079     CARD32 pad4 B32;
    01080     CARD32 pad5 B32;
    01081     CARD32 pad6 B32;
    01082 } xGLXQueryMaxSwapBarriersSGIXReply;
    01083 #define sz_xGLXQueryMaxSwapBarriersSGIXReply 32
    01084
    01085 /*
    01086 ** glXQueryHyperpipeNetworkSGIX request
    01087 */
    01088 typedef struct GLXQueryHyperpipeNetworkSGIX {
    01089     CARD8       reqType;
    01090     CARD8       glxCode;
    01091     CARD16      length B16;
    01092     CARD32      vendorCode B32;         /* vendor-specific opcode */
    01093     CARD32      pad1 B32;   /* unused; corresponds to contextTag in header */
    01094     CARD32      screen B32;
    01095 } xGLXQueryHyperpipeNetworkSGIXReq;
    01096 #define sz_xGLXQueryHyperpipeNetworkSGIXReq 16
    01097
    01098 /*
    01099 ** glXQueryHyperpipeNetworkSGIX reply
    01100 */
    01101 typedef struct {
    01102     BYTE        type;                   /* X_Reply */
    01103     CARD8       unused;                 /* not used */
    01104     CARD16      sequenceNumber B16;
    01105     CARD32      length B32;
    01106     CARD32      pad1 B32;
    01107     CARD32      n B32;
    01108     CARD32      npipes B32;             /* NOTE: may hold a single value */
    01109     CARD32      pad4 B32;               /* NOTE: may hold half a double */
    01110     CARD32      pad5 B32;
    01111     CARD32      pad6 B32;
    01112 } xGLXQueryHyperpipeNetworkSGIXReply;
    01113 #define sz_xGLXQueryHyperpipeNetworkSGIXReply 32
    01114
    01115 /*
    01116 ** glXDestroyHyperpipeConfigSGIX request
    01117 */
    01118 typedef struct GLXDestroyHyperpipeConfigSGIX {
    01119     CARD8       reqType;
    01120     CARD8       glxCode;
    01121     CARD16      length B16;
    01122     CARD32      vendorCode B32;         /* vendor-specific opcode */
    01123     CARD32      pad1 B32;   /* unused; corresponds to contextTag in header */
    01124     CARD32      screen B32;
    01125     CARD32      hpId B32;
    01126     CARD32      pad2 B32;
    01127     CARD32      pad3 B32;
    01128     CARD32      pad4 B32;
    01129 } xGLXDestroyHyperpipeConfigSGIXReq;
    01130 #define sz_xGLXDestroyHyperpipeConfigSGIXReq 32
    01131
    01132 /*
    01133 ** glXDestroyHyperpipeConfigSGIX reply
    01134 */
    01135 typedef struct {
    01136     BYTE        type;                   /* X_Reply */
    01137     CARD8       unused;                 /* not used */
    01138     CARD16      sequenceNumber B16;
    01139     CARD32      length B32;
    01140     CARD32      pad1 B32;
    01141     CARD32      n B32;
    01142     CARD32      success B32;            /* NOTE: may hold a single value */
    01143     CARD32      pad4 B32;               /* NOTE: may hold half a double */
    01144     CARD32      pad5 B32;
    01145     CARD32      pad6 B32;
    01146 } xGLXDestroyHyperpipeConfigSGIXReply;
    01147 #define sz_xGLXDestroyHyperpipeConfigSGIXReply 32
    01148
    01149 /*
    01150 ** glXQueryHyperpipeConfigSGIX request
    01151 */
    01152 typedef struct GLXQueryHyperpipeConfigSGIX {
    01153     CARD8       reqType;
    01154     CARD8       glxCode;
    01155     CARD16      length B16;
    01156     CARD32      vendorCode B32;         /* vendor-specific opcode */
    01157     CARD32      pad1 B32;   /* unused; corresponds to contextTag in header */
    01158     CARD32      screen B32;
    01159     CARD32      hpId B32;
    01160     CARD32      pad2 B32;
    01161     CARD32      pad3 B32;
    01162     CARD32      pad4 B32;
    01163 } xGLXQueryHyperpipeConfigSGIXReq;
    01164 #define sz_xGLXQueryHyperpipeConfigSGIXReq 32
    01165
    01166 /*
    01167 ** glXQueryHyperpipeConfigSGIX reply
    01168 */
    01169 typedef struct {
    01170     BYTE        type;                   /* X_Reply */
    01171     CARD8       unused;                 /* not used */
    01172     CARD16      sequenceNumber B16;
    01173     CARD32      length B32;
    01174     CARD32      pad1 B32;
    01175     CARD32      n B32;
    01176     CARD32      npipes B32;
    01177     CARD32      pad4 B32;
    01178     CARD32      pad5 B32;
    01179     CARD32      pad6 B32;
    01180 } xGLXQueryHyperpipeConfigSGIXReply;
    01181 #define sz_xGLXQueryHyperpipeConfigSGIXReply 32
    01182
    01183 /*
    01184 ** glXHyperpipeConfigSGIX request
    01185 */
    01186 typedef struct GLXHyperpipeConfigSGIX {
    01187     CARD8       reqType;
    01188     CARD8       glxCode;
    01189     CARD16      length B16;
    01190     CARD32      vendorCode B32;         /* vendor-specific opcode */
    01191     CARD32      pad1 B32;   /* unused; corresponds to contextTag in header */
    01192     CARD32      screen B32;
    01193     CARD32      npipes B32;
    01194     CARD32      networkId B32;
    01195     CARD32      pad2 B32;
    01196     CARD32      pad3 B32;
    01197     /* followed by attribute list */
    01198 } xGLXHyperpipeConfigSGIXReq;
    01199 #define sz_xGLXHyperpipeConfigSGIXReq 32
    01200
    01201 /*
    01202 ** glXHyperpipeConfigSGIX reply
    01203 */
    01204 typedef struct {
    01205     BYTE        type;                   /* X_Reply */
    01206     CARD8       unused;                 /* not used */
    01207     CARD16      sequenceNumber B16;
    01208     CARD32      length B32;
    01209     CARD32      pad1 B32;
    01210     CARD32      n B32;
    01211     CARD32      npipes B32;
    01212     CARD32      hpId B32;
    01213     CARD32      pad5 B32;
    01214     CARD32      pad6 B32;
    01215 } xGLXHyperpipeConfigSGIXReply;
    01216 #define sz_xGLXHyperpipeConfigSGIXReply 32
    01217
    01218 /************************************************************************/
    01219
    01220 /*
    01221 ** Events
    01222 */
    01223
    01224 typedef struct {
    01225     BYTE type;
    01226     BYTE pad;
    01227     CARD16 sequenceNumber B16;
    01228     CARD16 event_type B16;  /*** was clobber_class */
    01229     CARD16 draw_type B16;
    01230     CARD32 drawable B32;
    01231     CARD32 buffer_mask B32; /*** was mask */
    01232     CARD16 aux_buffer B16;
    01233     CARD16 x B16;
    01234     CARD16 y B16;
    01235     CARD16 width B16;
    01236     CARD16 height B16;
    01237     CARD16 count B16;
    01238     CARD32 unused2 B32;
    01239 } xGLXPbufferClobberEvent;
    01240
    01241 /************************************************************************/
    01242
    01243 /*
    01244 ** Size of the standard X request header.
    01245 */
    01246 #define __GLX_SINGLE_HDR_SIZE sz_xGLXSingleReq
    01247 #define __GLX_VENDPRIV_HDR_SIZE sz_xGLXVendorPrivateReq
    01248
    01249 #define __GLX_RENDER_HDR    \
    01250     CARD16 length B16; \
    01251     CARD16 opcode B16
    01252
    01253 #define __GLX_RENDER_HDR_SIZE 4
    01254
    01255 typedef struct {
    01256     __GLX_RENDER_HDR;
    01257 } __GLXrenderHeader;
    01258
    01259 #define __GLX_RENDER_LARGE_HDR \
    01260     CARD32 length B32;    \
    01261     CARD32 opcode B32
    01262
    01263 #define __GLX_RENDER_LARGE_HDR_SIZE 8
    01264
    01265 typedef struct {
    01266     __GLX_RENDER_LARGE_HDR;
    01267 } __GLXrenderLargeHeader;
    01268
    01269 /*
    01270 ** The glBitmap, glPolygonStipple, glTexImage[12]D, glTexSubImage[12]D
    01271 ** and glDrawPixels calls all have a pixel header transmitted after the
    01272 ** Render or RenderLarge header and before their own opcode specific
    01273 ** headers.
    01274 */
    01275 #define __GLX_PIXEL_HDR                     \
    01276     BOOL   swapBytes; \
    01277     BOOL   lsbFirst;  \
    01278     CARD8  reserved0; \
    01279     CARD8  reserved1; \
    01280     CARD32 rowLength B32;        \
    01281     CARD32 skipRows B32;         \
    01282     CARD32 skipPixels B32; \
    01283     CARD32 alignment B32
    01284
    01285 #define __GLX_PIXEL_HDR_SIZE 20
    01286
    01287 typedef struct {
    01288     __GLX_PIXEL_HDR;
    01289 } __GLXpixelHeader;
    01290
    01291 /*
    01292 ** glTexImage[34]D and glTexSubImage[34]D calls
    01293 ** all have a pixel header transmitted after the Render or RenderLarge
    01294 ** header and before their own opcode specific headers.
    01295 */
    01296 #define __GLX_PIXEL_3D_HDR                  \
    01297     BOOL   swapBytes;            \
    01298     BOOL   lsbFirst;             \
    01299     CARD8  reserved0;            \
    01300     CARD8  reserved1;            \
    01301     CARD32 rowLength B32;                   \
    01302     CARD32 imageHeight B32;      \
    01303     CARD32 imageDepth B32;                  \
    01304     CARD32 skipRows B32;                    \
    01305     CARD32 skipImages B32;                  \
    01306     CARD32 skipVolumes B32;      \
    01307     CARD32 skipPixels B32;                  \
    01308     CARD32 alignment B32
    01309
    01310 #define __GLX_PIXEL_3D_HDR_SIZE 36
    01311
    01312 /*
    01313 ** Data that is specific to a glBitmap call.  The data is sent in the
    01314 ** following order:
    01315 **         Render or RenderLarge header
    01316 **         Pixel header
    01317 **         Bitmap header
    01318 */
    01319 #define __GLX_BITMAP_HDR    \
    01320     CARD32 width B32;  \
    01321     CARD32 height B32; \
    01322     FLOAT32           xorig F32;  \
    01323     FLOAT32           yorig F32;  \
    01324     FLOAT32           xmove F32;  \
    01325     FLOAT32           ymove F32
    01326
    01327 typedef struct {
    01328     __GLX_RENDER_HDR;
    01329     __GLX_PIXEL_HDR;
    01330     __GLX_BITMAP_HDR;
    01331 } __GLXbitmapHeader;
    01332
    01333 typedef struct {
    01334     __GLX_RENDER_LARGE_HDR;
    01335     __GLX_PIXEL_HDR;
    01336     __GLX_BITMAP_HDR;
    01337 } __GLXbitmapLargeHeader;
    01338
    01339 typedef struct {
    01340     __GLX_PIXEL_HDR;
    01341     __GLX_BITMAP_HDR;
    01342 } __GLXdispatchBitmapHeader;
    01343
    01344 #define __GLX_BITMAP_HDR_SIZE 24
    01345
    01346 #define __GLX_BITMAP_CMD_HDR_SIZE \
    01347     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE)
    01348
    01349 #define __GLX_BITMAP_CMD_DISPATCH_HDR_SIZE \
    01350     (__GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE)
    01351
    01352 typedef struct {
    01353     __GLX_RENDER_HDR;
    01354     __GLX_PIXEL_HDR;
    01355 } __GLXpolygonStippleHeader;
    01356
    01357 #define __GLX_POLYGONSTIPPLE_CMD_HDR_SIZE \
    01358     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE)
    01359
    01360 /*
    01361 ** Data that is specific to a glTexImage1D or glTexImage2D call.  The
    01362 ** data is sent in the following order:
    01363 **         Render or RenderLarge header
    01364 **         Pixel header
    01365 **         TexImage header
    01366 ** When a glTexImage1D call the height field is unexamined by the server.
    01367 */
    01368 #define __GLX_TEXIMAGE_HDR       \
    01369     CARD32 target B32;           \
    01370     CARD32 level B32; \
    01371     CARD32 components B32; \
    01372     CARD32 width B32; \
    01373     CARD32 height B32;           \
    01374     CARD32 border B32;           \
    01375     CARD32 format B32;           \
    01376     CARD32 type B32
    01377
    01378 #define __GLX_TEXIMAGE_HDR_SIZE 32
    01379
    01380 #define __GLX_TEXIMAGE_CMD_HDR_SIZE \
    01381     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE)
    01382
    01383 #define __GLX_TEXIMAGE_CMD_DISPATCH_HDR_SIZE \
    01384     (__GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE)
    01385
    01386 typedef struct {
    01387     __GLX_RENDER_HDR;
    01388     __GLX_PIXEL_HDR;
    01389     __GLX_TEXIMAGE_HDR;
    01390 } __GLXtexImageHeader;
    01391
    01392 typedef struct {
    01393     __GLX_RENDER_LARGE_HDR;
    01394     __GLX_PIXEL_HDR;
    01395     __GLX_TEXIMAGE_HDR;
    01396 } __GLXtexImageLargeHeader;
    01397
    01398 typedef struct {
    01399     __GLX_PIXEL_HDR;
    01400     __GLX_TEXIMAGE_HDR;
    01401 } __GLXdispatchTexImageHeader;
    01402
    01403 /*
    01404 ** Data that is specific to a glTexImage3D or glTexImage4D call.  The
    01405 ** data is sent in the following order:
    01406 **         Render or RenderLarge header
    01407 **         Pixel 3D header
    01408 **         TexImage 3D header
    01409 ** When a glTexImage3D call the size4d and woffset fields are unexamined
    01410 ** by the server.
    01411 ** Could be used by all TexImage commands and perhaps should be in the
    01412 ** future.
    01413 */
    01414 #define __GLX_TEXIMAGE_3D_HDR \
    01415     CARD32 target B32;           \
    01416     CARD32 level B32; \
    01417     CARD32 internalformat B32;   \
    01418     CARD32 width B32; \
    01419     CARD32 height B32;           \
    01420     CARD32 depth B32; \
    01421     CARD32 size4d B32;           \
    01422     CARD32 border B32;           \
    01423     CARD32 format B32;           \
    01424     CARD32 type B32;  \
    01425     CARD32 nullimage B32
    01426
    01427 #define __GLX_TEXIMAGE_3D_HDR_SIZE 44
    01428
    01429 #define __GLX_TEXIMAGE_3D_CMD_HDR_SIZE \
    01430     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \
    01431                       __GLX_TEXIMAGE_3D_HDR_SIZE)
    01432
    01433 #define __GLX_TEXIMAGE_3D_CMD_DISPATCH_HDR_SIZE \
    01434     (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXIMAGE_3D_HDR_SIZE)
    01435
    01436 typedef struct {
    01437     __GLX_RENDER_HDR;
    01438     __GLX_PIXEL_3D_HDR;
    01439     __GLX_TEXIMAGE_3D_HDR;
    01440 } __GLXtexImage3DHeader;
    01441
    01442 typedef struct {
    01443     __GLX_RENDER_LARGE_HDR;
    01444     __GLX_PIXEL_3D_HDR;
    01445     __GLX_TEXIMAGE_3D_HDR;
    01446 } __GLXtexImage3DLargeHeader;
    01447
    01448 typedef struct {
    01449     __GLX_PIXEL_3D_HDR;
    01450     __GLX_TEXIMAGE_3D_HDR;
    01451 } __GLXdispatchTexImage3DHeader;
    01452
    01453 /*
    01454 ** Data that is specific to a glTexSubImage1D or glTexSubImage2D call.       The
    01455 ** data is sent in the following order:
    01456 **         Render or RenderLarge header
    01457 **         Pixel header
    01458 **         TexSubImage header
    01459 ** When a glTexSubImage1D call is made, the yoffset and height fields
    01460 ** are unexamined by the server and are  considered to be padding.
    01461 */
    01462 #define __GLX_TEXSUBIMAGE_HDR    \
    01463     CARD32 target B32;           \
    01464     CARD32 level B32; \
    01465     CARD32 xoffset B32;          \
    01466     CARD32 yoffset B32;          \
    01467     CARD32 width B32; \
    01468     CARD32 height B32;           \
    01469     CARD32 format B32;           \
    01470     CARD32 type B32;  \
    01471     CARD32 nullImage  \
    01472
    01473 #define __GLX_TEXSUBIMAGE_HDR_SIZE 36
    01474
    01475 #define __GLX_TEXSUBIMAGE_CMD_HDR_SIZE \
    01476     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE)
    01477
    01478 #define __GLX_TEXSUBIMAGE_CMD_DISPATCH_HDR_SIZE \
    01479     (__GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE)
    01480
    01481 typedef struct {
    01482     __GLX_RENDER_HDR;
    01483     __GLX_PIXEL_HDR;
    01484     __GLX_TEXSUBIMAGE_HDR;
    01485 } __GLXtexSubImageHeader;
    01486
    01487 typedef struct {
    01488     __GLX_RENDER_LARGE_HDR;
    01489     __GLX_PIXEL_HDR;
    01490     __GLX_TEXSUBIMAGE_HDR;
    01491 } __GLXtexSubImageLargeHeader;
    01492
    01493 typedef struct {
    01494     __GLX_PIXEL_HDR;
    01495     __GLX_TEXSUBIMAGE_HDR;
    01496 } __GLXdispatchTexSubImageHeader;
    01497
    01498 /*
    01499 ** Data that is specific to a glTexSubImage3D and 4D calls.  The
    01500 ** data is sent in the following order:
    01501 **         Render or RenderLarge header
    01502 **         Pixel 3D header
    01503 **         TexSubImage 3D header
    01504 ** When a glTexSubImage3D call is made, the woffset and size4d fields
    01505 ** are unexamined by the server and are considered to be padding.
    01506 */
    01507 #define __GLX_TEXSUBIMAGE_3D_HDR \
    01508     CARD32 target B32;           \
    01509     CARD32 level B32; \
    01510     CARD32 xoffset B32;          \
    01511     CARD32 yoffset B32;          \
    01512     CARD32 zoffset B32;          \
    01513     CARD32 woffset B32;          \
    01514     CARD32 width B32; \
    01515     CARD32 height B32;           \
    01516     CARD32 depth B32; \
    01517     CARD32 size4d B32;           \
    01518     CARD32 format B32;           \
    01519     CARD32 type B32;  \
    01520     CARD32 nullImage  \
    01521
    01522 #define __GLX_TEXSUBIMAGE_3D_HDR_SIZE 52
    01523
    01524 #define __GLX_TEXSUBIMAGE_3D_CMD_HDR_SIZE \
    01525     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \
    01526                       __GLX_TEXSUBIMAGE_3D_HDR_SIZE)
    01527
    01528 #define __GLX_TEXSUBIMAGE_3D_CMD_DISPATCH_HDR_SIZE \
    01529     (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXSUBIMAGE_3D_HDR_SIZE)
    01530
    01531 typedef struct {
    01532     __GLX_RENDER_HDR;
    01533     __GLX_PIXEL_3D_HDR;
    01534     __GLX_TEXSUBIMAGE_3D_HDR;
    01535 } __GLXtexSubImage3DHeader;
    01536
    01537 typedef struct {
    01538     __GLX_RENDER_LARGE_HDR;
    01539     __GLX_PIXEL_3D_HDR;
    01540     __GLX_TEXSUBIMAGE_3D_HDR;
    01541 } __GLXtexSubImage3DLargeHeader;
    01542
    01543 typedef struct {
    01544     __GLX_PIXEL_3D_HDR;
    01545     __GLX_TEXSUBIMAGE_3D_HDR;
    01546 } __GLXdispatchTexSubImage3DHeader;
    01547
    01559 #define __GLX_COMPRESSED_TEXIMAGE_HDR \
    01560     CARD32     target B32;            \
    01561     CARD32     level B32;             \
    01562     CARD32     internalFormat B32;    \
    01563     CARD32     width B32;             \
    01564     CARD32     height B32;            \
    01565     CARD32     border B32;            \
    01566     CARD32     imageSize B32
    01567
    01568 #define __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE 28
    01569
    01570 #define __GLX_COMPRESSED_TEXIMAGE_CMD_HDR_SIZE \
    01571     (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE)
    01572
    01573 #define __GLX_COMPRESSED_TEXIMAGE_DISPATCH_HDR_SIZE \
    01574     (__GLX_COMPRESSED_TEXIMAGE_HDR_SIZE)
    01575
    01576 typedef struct {
    01577     __GLX_RENDER_HDR;
    01578     __GLX_COMPRESSED_TEXIMAGE_HDR;
    01579 } __GLXcompressedTexImageHeader;
    01580
    01581 typedef struct {
    01582     __GLX_RENDER_LARGE_HDR;
    01583     __GLX_COMPRESSED_TEXIMAGE_HDR;
    01584 } __GLXcompressedTexImageLargeHeader;
    01585
    01586 typedef struct {
    01587     __GLX_COMPRESSED_TEXIMAGE_HDR;
    01588 } __GLXdispatchCompressedTexImageHeader;
    01589
    01601 #define __GLX_COMPRESSED_TEXSUBIMAGE_HDR \
    01602     CARD32     target B32;            \
    01603     CARD32     level B32;             \
    01604     CARD32     xoffset B32;           \
    01605     CARD32     yoffset B32;           \
    01606     CARD32     width B32;             \
    01607     CARD32     height B32;            \
    01608     CARD32     format B32;            \
    01609     CARD32     imageSize B32
    01610
    01611 #define __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE 32
    01612
    01613 #define __GLX_COMPRESSED_TEXSUBIMAGE_CMD_HDR_SIZE \
    01614     (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE)
    01615
    01616 #define __GLX_COMPRESSED_TEXSUBIMAGE_DISPATCH_HDR_SIZE \
    01617     (__GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE)
    01618
    01619 typedef struct {
    01620     __GLX_RENDER_HDR;
    01621     __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
    01622 } __GLXcompressedTexSubImageHeader;
    01623
    01624 typedef struct {
    01625     __GLX_RENDER_LARGE_HDR;
    01626     __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
    01627 } __GLXcompressedTexSubImageLargeHeader;
    01628
    01629 typedef struct {
    01630     __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
    01631 } __GLXdispatchCompressedTexSubImageHeader;
    01632
    01640 #define __GLX_COMPRESSED_TEXIMAGE_3D_HDR \
    01641     CARD32     target B32;            \
    01642     CARD32     level B32;             \
    01643     CARD32     internalFormat B32;    \
    01644     CARD32     width B32;             \
    01645     CARD32     height B32;            \
    01646     CARD32     depth B32;             \
    01647     CARD32     border B32;            \
    01648     CARD32     imageSize B32
    01649
    01650 #define __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE 32
    01651
    01652 #define __GLX_COMPRESSED_TEXIMAGE_3D_CMD_HDR_SIZE \
    01653     (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE)
    01654
    01655 #define __GLX_COMPRESSED_TEXIMAGE_3D_DISPATCH_HDR_SIZE \
    01656     (__GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE)
    01657
    01658 typedef struct {
    01659     __GLX_RENDER_HDR;
    01660     __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
    01661 } __GLXcompressedTexImage3DHeader;
    01662
    01663 typedef struct {
    01664     __GLX_RENDER_LARGE_HDR;
    01665     __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
    01666 } __GLXcompressedTexImage3DLargeHeader;
    01667
    01668 typedef struct {
    01669     __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
    01670 } __GLXdispatchCompressedTexImage3DHeader;
    01671
    01679 #define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR \
    01680     CARD32     target B32;            \
    01681     CARD32     level B32;             \
    01682     CARD32     xoffset B32;           \
    01683     CARD32     yoffset B32;           \
    01684     CARD32     zoffset B32;           \
    01685     CARD32     width B32;             \
    01686     CARD32     height B32;            \
    01687     CARD32     depth B32;             \
    01688     CARD32     format B32;            \
    01689     CARD32     imageSize B32
    01690
    01691 #define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE 32
    01692
    01693 #define __GLX_COMPRESSED_TEXSUBIMAGE_3D_CMD_HDR_SIZE \
    01694     (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE)
    01695
    01696 #define __GLX_COMPRESSED_TEXSUBIMAGE_3D_DISPATCH_HDR_SIZE \
    01697     (__GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE)
    01698
    01699 typedef struct {
    01700     __GLX_RENDER_HDR;
    01701     __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
    01702 } __GLXcompressedTexSubImage3DHeader;
    01703
    01704 typedef struct {
    01705     __GLX_RENDER_LARGE_HDR;
    01706     __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
    01707 } __GLXcompressedTexSubImage3DLargeHeader;
    01708
    01709 typedef struct {
    01710     __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
    01711 } __GLXdispatchCompressedTexSubImage3DHeader;
    01712
    01713 /*
    01714 ** Data that is specific to a glDrawPixels call.  The data is sent in the
    01715 ** following order:
    01716 **         Render or RenderLarge header
    01717 **         Pixel header
    01718 **         DrawPixels header
    01719 */
    01720 #define __GLX_DRAWPIXELS_HDR \
    01721     CARD32 width B32;   \
    01722     CARD32 height B32;  \
    01723     CARD32 format B32;  \
    01724     CARD32 type B32
    01725
    01726 #define __GLX_DRAWPIXELS_HDR_SIZE 16
    01727
    01728 #define __GLX_DRAWPIXELS_CMD_HDR_SIZE \
    01729     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE)
    01730
    01731 #define __GLX_DRAWPIXELS_CMD_DISPATCH_HDR_SIZE \
    01732     (__GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE)
    01733
    01734 typedef struct {
    01735     __GLX_RENDER_HDR;
    01736     __GLX_PIXEL_HDR;
    01737     __GLX_DRAWPIXELS_HDR;
    01738 } __GLXdrawPixelsHeader;
    01739
    01740 typedef struct {
    01741     __GLX_RENDER_LARGE_HDR;
    01742     __GLX_PIXEL_HDR;
    01743     __GLX_DRAWPIXELS_HDR;
    01744 } __GLXdrawPixelsLargeHeader;
    01745
    01746 typedef struct {
    01747     __GLX_PIXEL_HDR;
    01748     __GLX_DRAWPIXELS_HDR;
    01749 } __GLXdispatchDrawPixelsHeader;
    01750
    01751 /*
    01752 ** Data that is specific to a glConvolutionFilter1D or glConvolutionFilter2D
    01753 ** call.  The data is sent in the following order:
    01754 **         Render or RenderLarge header
    01755 **         Pixel header
    01756 **         ConvolutionFilter header
    01757 ** When a glConvolutionFilter1D call the height field is unexamined by the server.
    01758 */
    01759 #define __GLX_CONV_FILT_HDR      \
    01760     CARD32 target B32;           \
    01761     CARD32 internalformat B32;   \
    01762     CARD32 width B32; \
    01763     CARD32 height B32;           \
    01764     CARD32 format B32;           \
    01765     CARD32 type B32
    01766
    01767 #define __GLX_CONV_FILT_HDR_SIZE 24
    01768
    01769 #define __GLX_CONV_FILT_CMD_HDR_SIZE \
    01770     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE)
    01771
    01772 #define __GLX_CONV_FILT_CMD_DISPATCH_HDR_SIZE \
    01773     (__GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE)
    01774 typedef struct {
    01775     __GLX_RENDER_HDR;
    01776     __GLX_PIXEL_HDR;
    01777     __GLX_CONV_FILT_HDR;
    01778 } __GLXConvolutionFilterHeader;
    01779
    01780 typedef struct {
    01781     __GLX_RENDER_LARGE_HDR;
    01782     __GLX_PIXEL_HDR;
    01783     __GLX_CONV_FILT_HDR;
    01784 } __GLXConvolutionFilterLargeHeader;
    01785
    01786 typedef struct {
    01787     __GLX_PIXEL_HDR;
    01788     __GLX_CONV_FILT_HDR;
    01789 } __GLXdispatchConvolutionFilterHeader;
    01790
    01791 /*
    01792 ** Data that is specific to a glDrawArraysEXT call.  The data is sent in the
    01793 ** following order:
    01794 **         Render or RenderLarge header
    01795 **         Draw Arrays header
    01796 **         a variable number of Component headers
    01797 **         vertex data for each component type
    01798 */
    01799
    01800 #define __GLX_DRAWARRAYS_HDR \
    01801     CARD32 numVertexes B32; \
    01802     CARD32 numComponents B32; \
    01803     CARD32 primType B32
    01804
    01805 #define __GLX_DRAWARRAYS_HDR_SIZE 12
    01806
    01807 #define __GLX_DRAWARRAYS_CMD_HDR_SIZE \
    01808     (__GLX_RENDER_HDR_SIZE + __GLX_DRAWARRAYS_HDR_SIZE)
    01809
    01810 typedef struct {
    01811     __GLX_RENDER_HDR;
    01812     __GLX_DRAWARRAYS_HDR;
    01813 } __GLXdrawArraysHeader;
    01814
    01815 typedef struct {
    01816     __GLX_RENDER_LARGE_HDR;
    01817     __GLX_DRAWARRAYS_HDR;
    01818 } __GLXdrawArraysLargeHeader;
    01819
    01820 typedef struct {
    01821     __GLX_DRAWARRAYS_HDR;
    01822 } __GLXdispatchDrawArraysHeader;
    01823
    01824 #define __GLX_COMPONENT_HDR \
    01825     CARD32 datatype B32; \
    01826     INT32  numVals B32; \
    01827     CARD32 component B32
    01828
    01829 typedef struct {
    01830     __GLX_COMPONENT_HDR;
    01831 } __GLXdispatchDrawArraysComponentHeader;
    01832
    01833 #define __GLX_COMPONENT_HDR_SIZE 12
    01834
    01835 /*
    01836 ** Data that is specific to a glColorTable call
    01837 **         The data is sent in the following order:
    01838 **         Render or RenderLarge header
    01839 **         Pixel header
    01840 **         ColorTable header
    01841 */
    01842
    01843 #define __GLX_COLOR_TABLE_HDR         \
    01844     CARD32 target B32;               \
    01845     CARD32 internalformat B32; \
    01846     CARD32 width B32;     \
    01847     CARD32 format B32;               \
    01848     CARD32 type   B32
    01849
    01850 #define __GLX_COLOR_TABLE_HDR_SIZE 20
    01851
    01852 #define __GLX_COLOR_TABLE_CMD_HDR_SIZE \
    01853     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_COLOR_TABLE_HDR_SIZE)
    01854
    01855 typedef struct {
    01856     __GLX_RENDER_HDR;
    01857     __GLX_PIXEL_HDR;
    01858     __GLX_COLOR_TABLE_HDR;
    01859 } __GLXColorTableHeader;
    01860
    01861 typedef struct {
    01862     __GLX_RENDER_LARGE_HDR;
    01863     __GLX_PIXEL_HDR;
    01864     __GLX_COLOR_TABLE_HDR;
    01865 } __GLXColorTableLargeHeader;
    01866
    01867 typedef struct {
    01868     __GLX_PIXEL_HDR;
    01869     __GLX_COLOR_TABLE_HDR;
    01870 } __GLXdispatchColorTableHeader;
    01871
    01872 /*
    01873 ** Data that is specific to a glColorSubTable call
    01874 **         The data is sent in the following order:
    01875 **         Render or RenderLarge header
    01876 **         Pixel header
    01877 **         ColorTable header
    01878 */
    01879
    01880 #define __GLX_COLOR_SUBTABLE_HDR    \
    01881     CARD32 target B32;               \
    01882     CARD32 start B32;                \
    01883     CARD32 count B32;     \
    01884     CARD32 format B32;               \
    01885     CARD32 type   B32
    01886
    01887 #define __GLX_COLOR_SUBTABLE_HDR_SIZE 20
    01888
    01889 #define __GLX_COLOR_SUBTABLE_CMD_HDR_SIZE \
    01890     (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + \
    01891      __GLX_COLOR_SUBTABLE_HDR_SIZE)
    01892
    01893 typedef struct {
    01894     __GLX_RENDER_HDR;
    01895     __GLX_PIXEL_HDR;
    01896     __GLX_COLOR_SUBTABLE_HDR;
    01897 } __GLXColorSubTableHeader;
    01898
    01899 typedef struct {
    01900     __GLX_RENDER_LARGE_HDR;
    01901     __GLX_PIXEL_HDR;
    01902     __GLX_COLOR_SUBTABLE_HDR;
    01903 } __GLXColorSubTableLargeHeader;
    01904
    01905 typedef struct {
    01906     __GLX_PIXEL_HDR;
    01907     __GLX_COLOR_SUBTABLE_HDR;
    01908 } __GLXdispatchColorSubTableHeader;
    01909
    01910 #define GLX_WINDOW_TYPE                     1
    01911 #define GLX_PIXMAP_TYPE                     2
    01912 #define GLX_VIDEO_SOURCE_TYPE    3
    01913 #define GLX_PBUFFER_TYPE         4
    01914 /* 5 is for DM_PBUFFER */
    01915 #define GLX_GLXWINDOW_TYPE       6
    01916
    01917 /*****************************************************************************/
    01918
    01919 /*
    01920 ** Restore these definitions back to the typedefs in glx.h
    01921 */
    01922 #undef GLXContextID
    01923 #undef GLXPixmap
    01924 #undef GLXDrawable
    01925 #undef GLXPbuffer
    01926 #undef GLXWindow
    01927 #undef GLXFBConfigID
    01928 #undef GLXFBConfigIDSGIX
    01929 #undef GLXPbufferSGIX
    01930
    01931
    01932 /* Opcodes for GLX commands */
    01933
    01934 #define X_GLXRender                       1
    01935 #define X_GLXRenderLarge                  2
    01936 #define X_GLXCreateContext                3
    01937 #define X_GLXDestroyContext               4
    01938 #define X_GLXMakeCurrent                  5
    01939 #define X_GLXIsDirect                     6
    01940 #define X_GLXQueryVersion                 7
    01941 #define X_GLXWaitGL                       8
    01942 #define X_GLXWaitX                        9
    01943 #define X_GLXCopyContext                 10
    01944 #define X_GLXSwapBuffers                 11
    01945 #define X_GLXUseXFont                    12
    01946 #define X_GLXCreateGLXPixmap             13
    01947 #define X_GLXGetVisualConfigs            14
    01948 #define X_GLXDestroyGLXPixmap            15
    01949 #define X_GLXVendorPrivate               16
    01950 #define X_GLXVendorPrivateWithReply      17
    01951 #define X_GLXQueryExtensionsString       18
    01952 #define X_GLXQueryServerString           19
    01953 #define X_GLXClientInfo                  20
    01954 #define X_GLXGetFBConfigs                21
    01955 #define X_GLXCreatePixmap                22
    01956 #define X_GLXDestroyPixmap               23
    01957 #define X_GLXCreateNewContext            24
    01958 #define X_GLXQueryContext                25
    01959 #define X_GLXMakeContextCurrent          26
    01960 #define X_GLXCreatePbuffer               27
    01961 #define X_GLXDestroyPbuffer              28
    01962 #define X_GLXGetDrawableAttributes       29
    01963 #define X_GLXChangeDrawableAttributes    30
    01964 #define X_GLXCreateWindow                31
    01965 #define X_GLXDestroyWindow               32
    01966
    01967
    01968 /* Opcodes for single commands (part of GLX command space) */
    01969
    01970 #define X_GLsop_NewList                    101
    01971 #define X_GLsop_EndList                    102
    01972 #define X_GLsop_DeleteLists                103
    01973 #define X_GLsop_GenLists                   104
    01974 #define X_GLsop_FeedbackBuffer             105
    01975 #define X_GLsop_SelectBuffer               106
    01976 #define X_GLsop_RenderMode                 107
    01977 #define X_GLsop_Finish                     108
    01978 #define X_GLsop_Flush                      142
    01979 #define X_GLsop_PixelStoref                109
    01980 #define X_GLsop_PixelStorei                110
    01981 #define X_GLsop_ReadPixels                 111
    01982 #define X_GLsop_GetBooleanv                112
    01983 #define X_GLsop_GetClipPlane               113
    01984 #define X_GLsop_GetDoublev                 114
    01985 #define X_GLsop_GetError                   115
    01986 #define X_GLsop_GetFloatv                  116
    01987 #define X_GLsop_GetIntegerv                117
    01988 #define X_GLsop_GetLightfv                 118
    01989 #define X_GLsop_GetLightiv                 119
    01990 #define X_GLsop_GetMapdv                   120
    01991 #define X_GLsop_GetMapfv                   121
    01992 #define X_GLsop_GetMapiv                   122
    01993 #define X_GLsop_GetMaterialfv              123
    01994 #define X_GLsop_GetMaterialiv              124
    01995 #define X_GLsop_GetPixelMapfv              125
    01996 #define X_GLsop_GetPixelMapuiv             126
    01997 #define X_GLsop_GetPixelMapusv             127
    01998 #define X_GLsop_GetPolygonStipple          128
    01999 #define X_GLsop_GetString                  129
    02000 #define X_GLsop_GetTexEnvfv                130
    02001 #define X_GLsop_GetTexEnviv                131
    02002 #define X_GLsop_GetTexGendv                132
    02003 #define X_GLsop_GetTexGenfv                133
    02004 #define X_GLsop_GetTexGeniv                134
    02005 #define X_GLsop_GetTexImage                135
    02006 #define X_GLsop_GetTexParameterfv          136
    02007 #define X_GLsop_GetTexParameteriv          137
    02008 #define X_GLsop_GetTexLevelParameterfv     138
    02009 #define X_GLsop_GetTexLevelParameteriv     139
    02010 #define X_GLsop_IsEnabled                  140
    02011 #define X_GLsop_IsList                     141
    02012 #define X_GLsop_AreTexturesResident        143
    02013 #define X_GLsop_DeleteTextures             144
    02014 #define X_GLsop_GenTextures                145
    02015 #define X_GLsop_IsTexture                  146
    02016 #define X_GLsop_GetColorTable              147
    02017 #define X_GLsop_GetColorTableParameterfv   148
    02018 #define X_GLsop_GetColorTableParameteriv   149
    02019 #define X_GLsop_GetConvolutionFilter       150
    02020 #define X_GLsop_GetConvolutionParameterfv  151
    02021 #define X_GLsop_GetConvolutionParameteriv  152
    02022 #define X_GLsop_GetSeparableFilter         153
    02023 #define X_GLsop_GetHistogram               154
    02024 #define X_GLsop_GetHistogramParameterfv    155
    02025 #define X_GLsop_GetHistogramParameteriv    156
    02026 #define X_GLsop_GetMinmax                  157
    02027 #define X_GLsop_GetMinmaxParameterfv       158
    02028 #define X_GLsop_GetMinmaxParameteriv       159
    02029 #define X_GLsop_GetCompressedTexImage      160
    02030
    02031
    02032 /* Opcodes for rendering commands */
    02033
    02034 #define X_GLrop_CallList                     1
    02035 #define X_GLrop_CallLists                    2
    02036 #define X_GLrop_ListBase                     3
    02037 #define X_GLrop_Begin                        4
    02038 #define X_GLrop_Bitmap                       5
    02039 #define X_GLrop_Color3bv                     6
    02040 #define X_GLrop_Color3dv                     7
    02041 #define X_GLrop_Color3fv                     8
    02042 #define X_GLrop_Color3iv                     9
    02043 #define X_GLrop_Color3sv                    10
    02044 #define X_GLrop_Color3ubv                   11
    02045 #define X_GLrop_Color3uiv                   12
    02046 #define X_GLrop_Color3usv                   13
    02047 #define X_GLrop_Color4bv                    14
    02048 #define X_GLrop_Color4dv                    15
    02049 #define X_GLrop_Color4fv                    16
    02050 #define X_GLrop_Color4iv                    17
    02051 #define X_GLrop_Color4sv                    18
    02052 #define X_GLrop_Color4ubv                   19
    02053 #define X_GLrop_Color4uiv                   20
    02054 #define X_GLrop_Color4usv                   21
    02055 #define X_GLrop_EdgeFlagv                   22
    02056 #define X_GLrop_End                         23
    02057 #define X_GLrop_Indexdv                     24
    02058 #define X_GLrop_Indexfv                     25
    02059 #define X_GLrop_Indexiv                     26
    02060 #define X_GLrop_Indexsv                     27
    02061 #define X_GLrop_Normal3bv                   28
    02062 #define X_GLrop_Normal3dv                   29
    02063 #define X_GLrop_Normal3fv                   30
    02064 #define X_GLrop_Normal3iv                   31
    02065 #define X_GLrop_Normal3sv                   32
    02066 #define X_GLrop_RasterPos2dv                33
    02067 #define X_GLrop_RasterPos2fv                34
    02068 #define X_GLrop_RasterPos2iv                35
    02069 #define X_GLrop_RasterPos2sv                36
    02070 #define X_GLrop_RasterPos3dv                37
    02071 #define X_GLrop_RasterPos3fv                38
    02072 #define X_GLrop_RasterPos3iv                39
    02073 #define X_GLrop_RasterPos3sv                40
    02074 #define X_GLrop_RasterPos4dv                41
    02075 #define X_GLrop_RasterPos4fv                42
    02076 #define X_GLrop_RasterPos4iv                43
    02077 #define X_GLrop_RasterPos4sv                44
    02078 #define X_GLrop_Rectdv                      45
    02079 #define X_GLrop_Rectfv                      46
    02080 #define X_GLrop_Rectiv                      47
    02081 #define X_GLrop_Rectsv                      48
    02082 #define X_GLrop_TexCoord1dv                 49
    02083 #define X_GLrop_TexCoord1fv                 50
    02084 #define X_GLrop_TexCoord1iv                 51
    02085 #define X_GLrop_TexCoord1sv                 52
    02086 #define X_GLrop_TexCoord2dv                 53
    02087 #define X_GLrop_TexCoord2fv                 54
    02088 #define X_GLrop_TexCoord2iv                 55
    02089 #define X_GLrop_TexCoord2sv                 56
    02090 #define X_GLrop_TexCoord3dv                 57
    02091 #define X_GLrop_TexCoord3fv                 58
    02092 #define X_GLrop_TexCoord3iv                 59
    02093 #define X_GLrop_TexCoord3sv                 60
    02094 #define X_GLrop_TexCoord4dv                 61
    02095 #define X_GLrop_TexCoord4fv                 62
    02096 #define X_GLrop_TexCoord4iv                 63
    02097 #define X_GLrop_TexCoord4sv                 64
    02098 #define X_GLrop_Vertex2dv                   65
    02099 #define X_GLrop_Vertex2fv                   66
    02100 #define X_GLrop_Vertex2iv                   67
    02101 #define X_GLrop_Vertex2sv                   68
    02102 #define X_GLrop_Vertex3dv                   69
    02103 #define X_GLrop_Vertex3fv                   70
    02104 #define X_GLrop_Vertex3iv                   71
    02105 #define X_GLrop_Vertex3sv                   72
    02106 #define X_GLrop_Vertex4dv                   73
    02107 #define X_GLrop_Vertex4fv                   74
    02108 #define X_GLrop_Vertex4iv                   75
    02109 #define X_GLrop_Vertex4sv                   76
    02110 #define X_GLrop_ClipPlane                   77
    02111 #define X_GLrop_ColorMaterial               78
    02112 #define X_GLrop_CullFace                    79
    02113 #define X_GLrop_Fogf                        80
    02114 #define X_GLrop_Fogfv                       81
    02115 #define X_GLrop_Fogi                        82
    02116 #define X_GLrop_Fogiv                       83
    02117 #define X_GLrop_FrontFace                   84
    02118 #define X_GLrop_Hint                        85
    02119 #define X_GLrop_Lightf                      86
    02120 #define X_GLrop_Lightfv                     87
    02121 #define X_GLrop_Lighti                      88
    02122 #define X_GLrop_Lightiv                     89
    02123 #define X_GLrop_LightModelf                 90
    02124 #define X_GLrop_LightModelfv                91
    02125 #define X_GLrop_LightModeli                 92
    02126 #define X_GLrop_LightModeliv                93
    02127 #define X_GLrop_LineStipple                 94
    02128 #define X_GLrop_LineWidth                   95
    02129 #define X_GLrop_Materialf                   96
    02130 #define X_GLrop_Materialfv                  97
    02131 #define X_GLrop_Materiali                   98
    02132 #define X_GLrop_Materialiv                  99
    02133 #define X_GLrop_PointSize                  100
    02134 #define X_GLrop_PolygonMode                101
    02135 #define X_GLrop_PolygonStipple             102
    02136 #define X_GLrop_Scissor                    103
    02137 #define X_GLrop_ShadeModel                 104
    02138 #define X_GLrop_TexParameterf              105
    02139 #define X_GLrop_TexParameterfv             106
    02140 #define X_GLrop_TexParameteri              107
    02141 #define X_GLrop_TexParameteriv             108
    02142 #define X_GLrop_TexImage1D                 109
    02143 #define X_GLrop_TexImage2D                 110
    02144 #define X_GLrop_TexEnvf                    111
    02145 #define X_GLrop_TexEnvfv                   112
    02146 #define X_GLrop_TexEnvi                    113
    02147 #define X_GLrop_TexEnviv                   114
    02148 #define X_GLrop_TexGend                    115
    02149 #define X_GLrop_TexGendv                   116
    02150 #define X_GLrop_TexGenf                    117
    02151 #define X_GLrop_TexGenfv                   118
    02152 #define X_GLrop_TexGeni                    119
    02153 #define X_GLrop_TexGeniv                   120
    02154 #define X_GLrop_InitNames                  121
    02155 #define X_GLrop_LoadName                   122
    02156 #define X_GLrop_PassThrough                123
    02157 #define X_GLrop_PopName                    124
    02158 #define X_GLrop_PushName                   125
    02159 #define X_GLrop_DrawBuffer                 126
    02160 #define X_GLrop_Clear                      127
    02161 #define X_GLrop_ClearAccum                 128
    02162 #define X_GLrop_ClearIndex                 129
    02163 #define X_GLrop_ClearColor                 130
    02164 #define X_GLrop_ClearStencil               131
    02165 #define X_GLrop_ClearDepth                 132
    02166 #define X_GLrop_StencilMask                133
    02167 #define X_GLrop_ColorMask                  134
    02168 #define X_GLrop_DepthMask                  135
    02169 #define X_GLrop_IndexMask                  136
    02170 #define X_GLrop_Accum                      137
    02171 #define X_GLrop_Disable                    138
    02172 #define X_GLrop_Enable                     139
    02173 #define X_GLrop_PopAttrib                  141
    02174 #define X_GLrop_PushAttrib                 142
    02175 #define X_GLrop_Map1d                      143
    02176 #define X_GLrop_Map1f                      144
    02177 #define X_GLrop_Map2d                      145
    02178 #define X_GLrop_Map2f                      146
    02179 #define X_GLrop_MapGrid1d                  147
    02180 #define X_GLrop_MapGrid1f                  148
    02181 #define X_GLrop_MapGrid2d                  149
    02182 #define X_GLrop_MapGrid2f                  150
    02183 #define X_GLrop_EvalCoord1dv               151
    02184 #define X_GLrop_EvalCoord1fv               152
    02185 #define X_GLrop_EvalCoord2dv               153
    02186 #define X_GLrop_EvalCoord2fv               154
    02187 #define X_GLrop_EvalMesh1                  155
    02188 #define X_GLrop_EvalPoint1                 156
    02189 #define X_GLrop_EvalMesh2                  157
    02190 #define X_GLrop_EvalPoint2                 158
    02191 #define X_GLrop_AlphaFunc                  159
    02192 #define X_GLrop_BlendFunc                  160
    02193 #define X_GLrop_LogicOp                    161
    02194 #define X_GLrop_StencilFunc                162
    02195 #define X_GLrop_StencilOp                  163
    02196 #define X_GLrop_DepthFunc                  164
    02197 #define X_GLrop_PixelZoom                  165
    02198 #define X_GLrop_PixelTransferf             166
    02199 #define X_GLrop_PixelTransferi             167
    02200 #define X_GLrop_PixelMapfv                 168
    02201 #define X_GLrop_PixelMapuiv                169
    02202 #define X_GLrop_PixelMapusv                170
    02203 #define X_GLrop_ReadBuffer                 171
    02204 #define X_GLrop_CopyPixels                 172
    02205 #define X_GLrop_DrawPixels                 173
    02206 #define X_GLrop_DepthRange                 174
    02207 #define X_GLrop_Frustum                    175
    02208 #define X_GLrop_LoadIdentity               176
    02209 #define X_GLrop_LoadMatrixf                177
    02210 #define X_GLrop_LoadMatrixd                178
    02211 #define X_GLrop_MatrixMode                 179
    02212 #define X_GLrop_MultMatrixf                180
    02213 #define X_GLrop_MultMatrixd                181
    02214 #define X_GLrop_Ortho                      182
    02215 #define X_GLrop_PopMatrix                  183
    02216 #define X_GLrop_PushMatrix                 184
    02217 #define X_GLrop_Rotated                    185
    02218 #define X_GLrop_Rotatef                    186
    02219 #define X_GLrop_Scaled                     187
    02220 #define X_GLrop_Scalef                     188
    02221 #define X_GLrop_Translated                 189
    02222 #define X_GLrop_Translatef                 190
    02223 #define X_GLrop_Viewport                   191
    02224 #define X_GLrop_DrawArrays                 193
    02225 #define X_GLrop_PolygonOffset              192
    02226 #define X_GLrop_CopyTexImage1D             4119
    02227 #define X_GLrop_CopyTexImage2D             4120
    02228 #define X_GLrop_CopyTexSubImage1D          4121
    02229 #define X_GLrop_CopyTexSubImage2D          4122
    02230 #define X_GLrop_TexSubImage1D              4099
    02231 #define X_GLrop_TexSubImage2D              4100
    02232 #define X_GLrop_BindTexture                4117
    02233 #define X_GLrop_PrioritizeTextures         4118
    02234 #define X_GLrop_Indexubv                   194
    02235 #define X_GLrop_BlendColor                 4096
    02236 #define X_GLrop_BlendEquation              4097
    02237 #define X_GLrop_ColorTable                 2053
    02238 #define X_GLrop_ColorTableParameterfv      2054
    02239 #define X_GLrop_ColorTableParameteriv      2055
    02240 #define X_GLrop_CopyColorTable             2056
    02241 #define X_GLrop_ColorSubTable              195
    02242 #define X_GLrop_CopyColorSubTable          196
    02243 #define X_GLrop_ConvolutionFilter1D        4101
    02244 #define X_GLrop_ConvolutionFilter2D        4102
    02245 #define X_GLrop_ConvolutionParameterf      4103
    02246 #define X_GLrop_ConvolutionParameterfv     4104
    02247 #define X_GLrop_ConvolutionParameteri      4105
    02248 #define X_GLrop_ConvolutionParameteriv     4106
    02249 #define X_GLrop_CopyConvolutionFilter1D    4107
    02250 #define X_GLrop_CopyConvolutionFilter2D    4108
    02251 #define X_GLrop_SeparableFilter2D          4109
    02252 #define X_GLrop_Histogram                  4110
    02253 #define X_GLrop_Minmax                     4111
    02254 #define X_GLrop_ResetHistogram             4112
    02255 #define X_GLrop_ResetMinmax                4113
    02256 #define X_GLrop_TexImage3D                 4114
    02257 #define X_GLrop_TexSubImage3D              4115
    02258 #define X_GLrop_CopyTexSubImage3D          4123
    02259 #define X_GLrop_DrawArraysEXT              4116
    02260
    02261 /* Added for core GL version 1.3 */
    02262
    02263 #define X_GLrop_ActiveTextureARB            197
    02264 #define X_GLrop_MultiTexCoord1dvARB         198
    02265 #define X_GLrop_MultiTexCoord1fvARB         199
    02266 #define X_GLrop_MultiTexCoord1ivARB         200
    02267 #define X_GLrop_MultiTexCoord1svARB         201
    02268 #define X_GLrop_MultiTexCoord2dvARB         202
    02269 #define X_GLrop_MultiTexCoord2fvARB         203
    02270 #define X_GLrop_MultiTexCoord2ivARB         204
    02271 #define X_GLrop_MultiTexCoord2svARB         205
    02272 #define X_GLrop_MultiTexCoord3dvARB         206
    02273 #define X_GLrop_MultiTexCoord3fvARB         207
    02274 #define X_GLrop_MultiTexCoord3ivARB         208
    02275 #define X_GLrop_MultiTexCoord3svARB         209
    02276 #define X_GLrop_MultiTexCoord4dvARB         210
    02277 #define X_GLrop_MultiTexCoord4fvARB         211
    02278 #define X_GLrop_MultiTexCoord4ivARB         212
    02279 #define X_GLrop_MultiTexCoord4svARB         213
    02280 #define X_GLrop_CompressedTexImage1D        214
    02281 #define X_GLrop_CompressedTexImage2D        215
    02282 #define X_GLrop_CompressedTexImage3D        216
    02283 #define X_GLrop_CompressedTexSubImage1D     217
    02284 #define X_GLrop_CompressedTexSubImage2D     218
    02285 #define X_GLrop_CompressedTexSubImage3D     219
    02286 #define X_GLrop_SampleCoverageARB           229
    02287
    02288 /* Added for core GL version 1.4 */
    02289
    02290 #define X_GLrop_WindowPos3fARB              230
    02291 #define X_GLrop_FogCoordfv                  4124
    02292 #define X_GLrop_FogCoorddv                  4125
    02293 #define X_GLrop_PointParameterfARB          2065
    02294 #define X_GLrop_PointParameterfvARB         2066
    02295 #define X_GLrop_SecondaryColor3bv           4126
    02296 #define X_GLrop_SecondaryColor3sv           4127
    02297 #define X_GLrop_SecondaryColor3iv           4128
    02298 #define X_GLrop_SecondaryColor3fv           4129
    02299 #define X_GLrop_SecondaryColor3dv           4130
    02300 #define X_GLrop_SecondaryColor3ubv          4131
    02301 #define X_GLrop_SecondaryColor3usv          4132
    02302 #define X_GLrop_SecondaryColor3uiv          4133
    02303 #define X_GLrop_BlendFuncSeparate           4134
    02304 #define X_GLrop_PointParameteri             4221
    02305 #define X_GLrop_PointParameteriv            4222
    02306
    02307 /* Added for core GL version 1.5 */
    02308 /* XXX opcodes not defined in the spec */
    02309
    02310 /* Opcodes for Vendor Private commands */
    02311
    02312
    02313 #define X_GLvop_GetConvolutionFilterEXT        1
    02314 #define X_GLvop_GetConvolutionParameterfvEXT   2
    02315 #define X_GLvop_GetConvolutionParameterivEXT   3
    02316 #define X_GLvop_GetSeparableFilterEXT          4
    02317 #define X_GLvop_GetHistogramEXT                5
    02318 #define X_GLvop_GetHistogramParameterfvEXT     6
    02319 #define X_GLvop_GetHistogramParameterivEXT     7
    02320 #define X_GLvop_GetMinmaxEXT                   8
    02321 #define X_GLvop_GetMinmaxParameterfvEXT        9
    02322 #define X_GLvop_GetMinmaxParameterivEXT        10
    02323 #define X_GLvop_AreTexturesResidentEXT         11
    02324 #define X_GLvop_DeleteTexturesEXT              12
    02325 #define X_GLvop_GenTexturesEXT                 13
    02326 #define X_GLvop_IsTextureEXT                   14
    02327 #define X_GLvop_GetCombinerInputParameterfvNV  1270
    02328 #define X_GLvop_GetCombinerInputParameterivNV  1271
    02329 #define X_GLvop_GetCombinerOutputParameterfvNV 1272
    02330 #define X_GLvop_GetCombinerOutputParameterivNV 1273
    02331 #define X_GLvop_GetFinalCombinerOutputParameterfvNV 1274
    02332 #define X_GLvop_GetFinalCombinerOutputParameterivNV 1275
    02333 #define X_GLvop_DeleteFenceNV                  1276
    02334 #define X_GLvop_GenFencesNV                    1277
    02335 #define X_GLvop_IsFenceNV                      1278
    02336 #define X_GLvop_TestFenceNV                    1279
    02337 #define X_GLvop_GetFenceivNV                   1280
    02338 #define X_GLvop_AreProgramsResidentNV          1293
    02339 #define X_GLvop_DeleteProgramARB               1294
    02340 #define X_GLvop_GenProgramsARB                 1295
    02341 #define X_GLvop_GetProgramEnvParameterfvARB    1296
    02342 #define X_GLvop_GetProgramEnvParameterdvARB    1297
    02343 #define X_GLvop_GetProgramEnvParameterivNV     1298
    02344 #define X_GLvop_GetProgramStringNV             1299
    02345 #define X_GLvop_GetTrackMatrixivNV             1300
    02346 #define X_GLvop_GetVertexAttribdvARB           1301
    02347 #define X_GLvop_GetVertexAttribfvARB           1302
    02348 #define X_GLvop_GetVertexAttribivARB           1303
    02349 #define X_GLvop_IsProgramARB                   1304
    02350 #define X_GLvop_GetProgramLocalParameterfvARB  1305
    02351 #define X_GLvop_GetProgramLocalParameterdvARB  1306
    02352 #define X_GLvop_GetProgramivARB                1307
    02353 #define X_GLvop_GetProgramStringARB            1308
    02354 #define X_GLvop_GetProgramNamedParameter4fvNV  1310
    02355 #define X_GLvop_GetProgramNamedParameter4dvNV  1311
    02356 #define X_GLvop_SampleMaskSGIS                 2048
    02357 #define X_GLvop_SamplePatternSGIS              2049
    02358 #define X_GLvop_GetDetailTexFuncSGIS           4096
    02359 #define X_GLvop_GetSharpenTexFuncSGIS          4097
    02360 #define X_GLvop_GetColorTableSGI               4098
    02361 #define X_GLvop_GetColorTableParameterfvSGI    4099
    02362 #define X_GLvop_GetColorTableParameterivSGI    4100
    02363 #define X_GLvop_GetTexFilterFuncSGIS           4101
    02364 #define X_GLvop_GetInstrumentsSGIX             4102
    02365 #define X_GLvop_InstrumentsBufferSGIX          4103
    02366 #define X_GLvop_PollInstrumentsSGIX            4104
    02367 #define X_GLvop_FlushRasterSGIX                4105
    02368
    02369 /* Opcodes for GLX vendor private commands */
    02370
    02371 #define X_GLXvop_QueryContextInfoEXT            1024
    02372 #define X_GLXvop_SwapIntervalSGI                65536
    02373 #define X_GLXvop_MakeCurrentReadSGI             65537
    02374 #define X_GLXvop_CreateGLXVideoSourceSGIX       65538
    02375 #define X_GLXvop_DestroyGLXVideoSourceSGIX      65539
    02376 #define X_GLXvop_GetFBConfigsSGIX               65540
    02377 #define X_GLXvop_CreateContextWithConfigSGIX    65541
    02378 #define X_GLXvop_CreateGLXPixmapWithConfigSGIX  65542
    02379 #define X_GLXvop_CreateGLXPbufferSGIX           65543
    02380 #define X_GLXvop_DestroyGLXPbufferSGIX          65544
    02381 #define X_GLXvop_ChangeDrawableAttributesSGIX   65545
    02382 #define X_GLXvop_GetDrawableAttributesSGIX      65546
    02383 #define X_GLXvop_JoinSwapGroupSGIX              65547
    02384 #define X_GLXvop_BindSwapBarrierSGIX            65548
    02385 #define X_GLXvop_QueryMaxSwapBarriersSGIX       65549
    02386 #define X_GLXvop_QueryHyperpipeNetworkSGIX      65550
    02387 #define X_GLXvop_QueryHyperpipeConfigSGIX       65551
    02388 #define X_GLXvop_HyperpipeConfigSGIX            65552
    02389 #define X_GLXvop_DestroyHyperpipeConfigSGIX     65553
    02390 #define X_GLXvop_BindTexImageEXT                5152
    02391 #define X_GLXvop_ReleaseTexImageEXT             5153
    02392
    02393 /* ARB extension opcodes */
    02394
    02395 /*  1. GL_ARB_multitexture - see GL 1.2 opcodes */
    02396 /*  5. GL_ARB_multisample - see GL 1.3 opcodes */
    02397 /* 12. GL_ARB_texture_compression - see GL 1.3 opcodes */
    02398 /* 14. GL_ARB_point_parameters - see GL 1.4 opcodees */
    02399
    02400 /* 15. GL_ARB_vertex_blend */
    02401 #define X_GLrop_WeightbvARB                  220
    02402 #define X_GLrop_WeightubvARB                 221
    02403 #define X_GLrop_WeightsvARB                  222
    02404 #define X_GLrop_WeightusvARB                 223
    02405 #define X_GLrop_WeightivARB                  224
    02406 #define X_GLrop_WeightuivARB                 225
    02407 #define X_GLrop_VertexBlendARB               226
    02408 #define X_GLrop_WeightfvARB                  227
    02409 #define X_GLrop_WeightdvARB                  228
    02410
    02411 /* 16. GL_ARB_matrix_palette */
    02412 /* XXX opcodes not defined in the spec */
    02413
    02414 /* 25. GL_ARB_window_pos - see GL 1.4 opcodes */
    02415
    02416 /* 26. GL_ARB_vertex_program */
    02417 #define X_GLrop_BindProgramARB              4180
    02418 #define X_GLrop_ProgramEnvParameter4fvARB   4184
    02419 #define X_GLrop_ProgramEnvParameter4dvARB   4185
    02420 #define X_GLrop_VertexAttrib1svARB          4189
    02421 #define X_GLrop_VertexAttrib2svARB          4190
    02422 #define X_GLrop_VertexAttrib3svARB          4191
    02423 #define X_GLrop_VertexAttrib4svARB          4192
    02424 #define X_GLrop_VertexAttrib1fvARB          4193
    02425 #define X_GLrop_VertexAttrib2fvARB          4194
    02426 #define X_GLrop_VertexAttrib3fvARB          4195
    02427 #define X_GLrop_VertexAttrib4fvARB          4196
    02428 #define X_GLrop_VertexAttrib1dvARB          4197
    02429 #define X_GLrop_VertexAttrib2dvARB          4198
    02430 #define X_GLrop_VertexAttrib3dvARB          4199
    02431 #define X_GLrop_ProgramLocalParameter4fvARB 4215
    02432 #define X_GLrop_ProgramLocalParameter4dvARB 4216
    02433 #define X_GLrop_ProgramStringARB            4217
    02434 #define X_GLrop_VertexAttrib4dvARB          4200
    02435 #define X_GLrop_VertexAttrib4NubvARB        4201
    02436 #define X_GLrop_VertexAttrib4bvARB          4230
    02437 #define X_GLrop_VertexAttrib4ivARB          4231
    02438 #define X_GLrop_VertexAttrib4ubvARB         4232
    02439 #define X_GLrop_VertexAttrib4usvARB         4233
    02440 #define X_GLrop_VertexAttrib4uivARB         4234
    02441 #define X_GLrop_VertexAttrib4NbvARB         4235
    02442 #define X_GLrop_VertexAttrib4NsvARB         4236
    02443 #define X_GLrop_VertexAttrib4NivARB         4237
    02444 #define X_GLrop_VertexAttrib4NusvARB        4238
    02445 #define X_GLrop_VertexAttrib4NuivARB        4239
    02446
    02447 /* 27. GL_ARB_fragment_program - see GL_ARB_vertex_program opcodes */
    02448
    02449 /* 29. GL_ARB_occlusion_query */
    02450 /* XXX opcodes not defined in the spec */
    02451
    02452
    02453 /* New extension opcodes */
    02454
    02455 /* 145. GL_EXT_secondary_color - see GL 1.4 opcodes */
    02456
    02457 /* 188. GL_EXT_vertex_weighting */
    02458 #define X_GLrop_VertexWeightfvEXT           4135
    02459
    02460 /* 191. GL_NV_register_combiners */
    02461 #define X_GLrop_CombinerParameterfNV        4136
    02462 #define X_GLrop_CombinerParameterfvNV       4137
    02463 #define X_GLrop_CombinerParameteriNV        4138
    02464 #define X_GLrop_CombinerParameterivNV       4139
    02465 #define X_GLrop_CombinerInputNV             4140
    02466 #define X_GLrop_CombinerOutputNV            4141
    02467 #define X_GLrop_FinalCombinerInputNV        4142
    02468
    02469 /* 222. GL_NV_fence */
    02470 #define X_GLrop_SetFenceNV                  4143
    02471 #define X_GLrop_FinishFenceNV               4144
    02472
    02473 /* 227. GL_NV_register_combiners2 */
    02474 /* XXX opcodes not defined in the spec */
    02475
    02476 /* 233. GL_NV_vertex_program - see also GL_ARB_vertex_program opcodes */
    02477 #define X_GLrop_ExecuteProgramNV            4181
    02478 #define X_GLrop_RequestResidentProgramsNV   4182
    02479 #define X_GLrop_LoadProgamNV                4183
    02480 #define X_GLrop_ProgramParameters4fvNV      4186
    02481 #define X_GLrop_ProgramParameters4dvNV      4187
    02482 #define X_GLrop_TrackMatrixNV               4188
    02483 #define X_GLrop_VertexAttribs1svNV          4202
    02484 #define X_GLrop_VertexAttribs2svNV          4203
    02485 #define X_GLrop_VertexAttribs3svNV          4204
    02486 #define X_GLrop_VertexAttribs4svNV          4205
    02487 #define X_GLrop_VertexAttribs1fvNV          4206
    02488 #define X_GLrop_VertexAttribs2fvNV          4207
    02489 #define X_GLrop_VertexAttribs3fvNV          4208
    02490 #define X_GLrop_VertexAttribs4fvNV          4209
    02491 #define X_GLrop_VertexAttribs1dvNV          4210
    02492 #define X_GLrop_VertexAttribs2dvNV          4211
    02493 #define X_GLrop_VertexAttribs3dvNV          4212
    02494 #define X_GLrop_VertexAttribs4dvNV          4213
    02495 #define X_GLrop_VertexAttribs4ubvNV         4214
    02496
    02497 /* 261. GL_NV_occlusion_query */
    02498 /* XXX opcodes not defined in the spec */
    02499
    02500 /* 262. GL_NV_point_sprite - see GL 1.4 opcodes */
    02501
    02502 /* 268. GL_EXT_stencil_two_side */
    02503 #define X_GLrop_ActiveStencilFaceEXT        4220
    02504
    02505 /* 282. GL_NV_fragment_program - see also GL_NV_vertex_program and GL_ARB_vertex_program opcodes */
    02506 #define X_GLrop_ProgramNamedParameter4fvNV  4218
    02507 #define X_GLrop_ProgramNamedParameter4dvNV  4219
    02508
    02509 /* 285. GL_NV_primitive_restart */
    02510 /* XXX opcodes not defined in the spec */
    02511
    02512 /* 297. GL_EXT_depth_bounds_test */
    02513 #define X_GLrop_DepthBoundsEXT              4229
    02514
    02515 /* 299. GL_EXT_blend_equation_separate */
    02516 #define X_GLrop_BlendEquationSeparateEXT    4228
    02517
    02518 /* 310. GL_EXT_framebuffer_object */
    02519 #define X_GLvop_IsRenderbufferEXT                      1422
    02520 #define X_GLvop_GenRenderbuffersEXT                    1423
    02521 #define X_GLvop_GetRenderbufferParameterivEXT          1424
    02522 #define X_GLvop_IsFramebufferEXT                       1425
    02523 #define X_GLvop_GenFramebuffersEXT                     1426
    02524 #define X_GLvop_CheckFramebufferStatusEXT              1427
    02525 #define X_GLvop_GetFramebufferAttachmentParameterivEXT 1428
    02526
    02527 #endif /* _GLX_glxproto_h_ */

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines