TerraLib 4.1
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