xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

indirect_dispatch.c (131894B)


      1 /* DO NOT EDIT - This file generated automatically by glX_proto_recv.py (from Mesa) script */
      2 
      3 /*
      4  * (C) Copyright IBM Corporation 2005
      5  * All Rights Reserved.
      6  *
      7  * Permission is hereby granted, free of charge, to any person obtaining a
      8  * copy of this software and associated documentation files (the "Software"),
      9  * to deal in the Software without restriction, including without limitation
     10  * the rights to use, copy, modify, merge, publish, distribute, sub license,
     11  * and/or sell copies of the Software, and to permit persons to whom the
     12  * Software is furnished to do so, subject to the following conditions:
     13  *
     14  * The above copyright notice and this permission notice (including the next
     15  * paragraph) shall be included in all copies or substantial portions of the
     16  * Software.
     17  *
     18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     19  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     20  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
     21  * IBM,
     22  * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     23  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
     24  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     25  * SOFTWARE.
     26  */
     27 
     28 #include <inttypes.h>
     29 #include "glxserver.h"
     30 #include "indirect_size.h"
     31 #include "indirect_size_get.h"
     32 #include "indirect_dispatch.h"
     33 #include "glxbyteorder.h"
     34 #include "indirect_util.h"
     35 #include "singlesize.h"
     36 
     37 #define __GLX_PAD(x)  (((x) + 3) & ~3)
     38 
     39 typedef struct {
     40     __GLX_PIXEL_3D_HDR;
     41 } __GLXpixel3DHeader;
     42 
     43 extern GLboolean __glXErrorOccured(void);
     44 extern void __glXClearErrorOccured(void);
     45 
     46 static const unsigned dummy_answer[2] = { 0, 0 };
     47 
     48 int
     49 __glXDisp_NewList(__GLXclientState * cl, GLbyte * pc)
     50 {
     51     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
     52     int error;
     53     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
     54 
     55     pc += __GLX_SINGLE_HDR_SIZE;
     56     if (cx != NULL) {
     57         glNewList(*(GLuint *) (pc + 0), *(GLenum *) (pc + 4));
     58         error = Success;
     59     }
     60 
     61     return error;
     62 }
     63 
     64 int
     65 __glXDisp_EndList(__GLXclientState * cl, GLbyte * pc)
     66 {
     67     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
     68     int error;
     69     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
     70 
     71     pc += __GLX_SINGLE_HDR_SIZE;
     72     if (cx != NULL) {
     73         glEndList();
     74         error = Success;
     75     }
     76 
     77     return error;
     78 }
     79 
     80 void
     81 __glXDisp_CallList(GLbyte * pc)
     82 {
     83     glCallList(*(GLuint *) (pc + 0));
     84 }
     85 
     86 void
     87 __glXDisp_CallLists(GLbyte * pc)
     88 {
     89     const GLsizei n = *(GLsizei *) (pc + 0);
     90     const GLenum type = *(GLenum *) (pc + 4);
     91     const GLvoid *lists = (const GLvoid *) (pc + 8);
     92 
     93     lists = (const GLvoid *) (pc + 8);
     94 
     95     glCallLists(n, type, lists);
     96 }
     97 
     98 int
     99 __glXDisp_DeleteLists(__GLXclientState * cl, GLbyte * pc)
    100 {
    101     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
    102     int error;
    103     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
    104 
    105     pc += __GLX_SINGLE_HDR_SIZE;
    106     if (cx != NULL) {
    107         glDeleteLists(*(GLuint *) (pc + 0), *(GLsizei *) (pc + 4));
    108         error = Success;
    109     }
    110 
    111     return error;
    112 }
    113 
    114 int
    115 __glXDisp_GenLists(__GLXclientState * cl, GLbyte * pc)
    116 {
    117     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
    118     int error;
    119     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
    120 
    121     pc += __GLX_SINGLE_HDR_SIZE;
    122     if (cx != NULL) {
    123         GLuint retval;
    124 
    125         retval = glGenLists(*(GLsizei *) (pc + 0));
    126         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
    127         error = Success;
    128     }
    129 
    130     return error;
    131 }
    132 
    133 void
    134 __glXDisp_ListBase(GLbyte * pc)
    135 {
    136     glListBase(*(GLuint *) (pc + 0));
    137 }
    138 
    139 void
    140 __glXDisp_Begin(GLbyte * pc)
    141 {
    142     glBegin(*(GLenum *) (pc + 0));
    143 }
    144 
    145 void
    146 __glXDisp_Bitmap(GLbyte * pc)
    147 {
    148     const GLubyte *const bitmap = (const GLubyte *) ((pc + 44));
    149     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
    150 
    151     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
    152     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
    153     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
    154     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
    155     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
    156 
    157     glBitmap(*(GLsizei *) (pc + 20),
    158              *(GLsizei *) (pc + 24),
    159              *(GLfloat *) (pc + 28),
    160              *(GLfloat *) (pc + 32),
    161              *(GLfloat *) (pc + 36), *(GLfloat *) (pc + 40), bitmap);
    162 }
    163 
    164 void
    165 __glXDisp_Color3bv(GLbyte * pc)
    166 {
    167     glColor3bv((const GLbyte *) (pc + 0));
    168 }
    169 
    170 void
    171 __glXDisp_Color3dv(GLbyte * pc)
    172 {
    173 #ifdef __GLX_ALIGN64
    174     if ((unsigned long) (pc) & 7) {
    175         (void) memmove(pc - 4, pc, 24);
    176         pc -= 4;
    177     }
    178 #endif
    179 
    180     glColor3dv((const GLdouble *) (pc + 0));
    181 }
    182 
    183 void
    184 __glXDisp_Color3fv(GLbyte * pc)
    185 {
    186     glColor3fv((const GLfloat *) (pc + 0));
    187 }
    188 
    189 void
    190 __glXDisp_Color3iv(GLbyte * pc)
    191 {
    192     glColor3iv((const GLint *) (pc + 0));
    193 }
    194 
    195 void
    196 __glXDisp_Color3sv(GLbyte * pc)
    197 {
    198     glColor3sv((const GLshort *) (pc + 0));
    199 }
    200 
    201 void
    202 __glXDisp_Color3ubv(GLbyte * pc)
    203 {
    204     glColor3ubv((const GLubyte *) (pc + 0));
    205 }
    206 
    207 void
    208 __glXDisp_Color3uiv(GLbyte * pc)
    209 {
    210     glColor3uiv((const GLuint *) (pc + 0));
    211 }
    212 
    213 void
    214 __glXDisp_Color3usv(GLbyte * pc)
    215 {
    216     glColor3usv((const GLushort *) (pc + 0));
    217 }
    218 
    219 void
    220 __glXDisp_Color4bv(GLbyte * pc)
    221 {
    222     glColor4bv((const GLbyte *) (pc + 0));
    223 }
    224 
    225 void
    226 __glXDisp_Color4dv(GLbyte * pc)
    227 {
    228 #ifdef __GLX_ALIGN64
    229     if ((unsigned long) (pc) & 7) {
    230         (void) memmove(pc - 4, pc, 32);
    231         pc -= 4;
    232     }
    233 #endif
    234 
    235     glColor4dv((const GLdouble *) (pc + 0));
    236 }
    237 
    238 void
    239 __glXDisp_Color4fv(GLbyte * pc)
    240 {
    241     glColor4fv((const GLfloat *) (pc + 0));
    242 }
    243 
    244 void
    245 __glXDisp_Color4iv(GLbyte * pc)
    246 {
    247     glColor4iv((const GLint *) (pc + 0));
    248 }
    249 
    250 void
    251 __glXDisp_Color4sv(GLbyte * pc)
    252 {
    253     glColor4sv((const GLshort *) (pc + 0));
    254 }
    255 
    256 void
    257 __glXDisp_Color4ubv(GLbyte * pc)
    258 {
    259     glColor4ubv((const GLubyte *) (pc + 0));
    260 }
    261 
    262 void
    263 __glXDisp_Color4uiv(GLbyte * pc)
    264 {
    265     glColor4uiv((const GLuint *) (pc + 0));
    266 }
    267 
    268 void
    269 __glXDisp_Color4usv(GLbyte * pc)
    270 {
    271     glColor4usv((const GLushort *) (pc + 0));
    272 }
    273 
    274 void
    275 __glXDisp_EdgeFlagv(GLbyte * pc)
    276 {
    277     glEdgeFlagv((const GLboolean *) (pc + 0));
    278 }
    279 
    280 void
    281 __glXDisp_End(GLbyte * pc)
    282 {
    283     glEnd();
    284 }
    285 
    286 void
    287 __glXDisp_Indexdv(GLbyte * pc)
    288 {
    289 #ifdef __GLX_ALIGN64
    290     if ((unsigned long) (pc) & 7) {
    291         (void) memmove(pc - 4, pc, 8);
    292         pc -= 4;
    293     }
    294 #endif
    295 
    296     glIndexdv((const GLdouble *) (pc + 0));
    297 }
    298 
    299 void
    300 __glXDisp_Indexfv(GLbyte * pc)
    301 {
    302     glIndexfv((const GLfloat *) (pc + 0));
    303 }
    304 
    305 void
    306 __glXDisp_Indexiv(GLbyte * pc)
    307 {
    308     glIndexiv((const GLint *) (pc + 0));
    309 }
    310 
    311 void
    312 __glXDisp_Indexsv(GLbyte * pc)
    313 {
    314     glIndexsv((const GLshort *) (pc + 0));
    315 }
    316 
    317 void
    318 __glXDisp_Normal3bv(GLbyte * pc)
    319 {
    320     glNormal3bv((const GLbyte *) (pc + 0));
    321 }
    322 
    323 void
    324 __glXDisp_Normal3dv(GLbyte * pc)
    325 {
    326 #ifdef __GLX_ALIGN64
    327     if ((unsigned long) (pc) & 7) {
    328         (void) memmove(pc - 4, pc, 24);
    329         pc -= 4;
    330     }
    331 #endif
    332 
    333     glNormal3dv((const GLdouble *) (pc + 0));
    334 }
    335 
    336 void
    337 __glXDisp_Normal3fv(GLbyte * pc)
    338 {
    339     glNormal3fv((const GLfloat *) (pc + 0));
    340 }
    341 
    342 void
    343 __glXDisp_Normal3iv(GLbyte * pc)
    344 {
    345     glNormal3iv((const GLint *) (pc + 0));
    346 }
    347 
    348 void
    349 __glXDisp_Normal3sv(GLbyte * pc)
    350 {
    351     glNormal3sv((const GLshort *) (pc + 0));
    352 }
    353 
    354 void
    355 __glXDisp_RasterPos2dv(GLbyte * pc)
    356 {
    357 #ifdef __GLX_ALIGN64
    358     if ((unsigned long) (pc) & 7) {
    359         (void) memmove(pc - 4, pc, 16);
    360         pc -= 4;
    361     }
    362 #endif
    363 
    364     glRasterPos2dv((const GLdouble *) (pc + 0));
    365 }
    366 
    367 void
    368 __glXDisp_RasterPos2fv(GLbyte * pc)
    369 {
    370     glRasterPos2fv((const GLfloat *) (pc + 0));
    371 }
    372 
    373 void
    374 __glXDisp_RasterPos2iv(GLbyte * pc)
    375 {
    376     glRasterPos2iv((const GLint *) (pc + 0));
    377 }
    378 
    379 void
    380 __glXDisp_RasterPos2sv(GLbyte * pc)
    381 {
    382     glRasterPos2sv((const GLshort *) (pc + 0));
    383 }
    384 
    385 void
    386 __glXDisp_RasterPos3dv(GLbyte * pc)
    387 {
    388 #ifdef __GLX_ALIGN64
    389     if ((unsigned long) (pc) & 7) {
    390         (void) memmove(pc - 4, pc, 24);
    391         pc -= 4;
    392     }
    393 #endif
    394 
    395     glRasterPos3dv((const GLdouble *) (pc + 0));
    396 }
    397 
    398 void
    399 __glXDisp_RasterPos3fv(GLbyte * pc)
    400 {
    401     glRasterPos3fv((const GLfloat *) (pc + 0));
    402 }
    403 
    404 void
    405 __glXDisp_RasterPos3iv(GLbyte * pc)
    406 {
    407     glRasterPos3iv((const GLint *) (pc + 0));
    408 }
    409 
    410 void
    411 __glXDisp_RasterPos3sv(GLbyte * pc)
    412 {
    413     glRasterPos3sv((const GLshort *) (pc + 0));
    414 }
    415 
    416 void
    417 __glXDisp_RasterPos4dv(GLbyte * pc)
    418 {
    419 #ifdef __GLX_ALIGN64
    420     if ((unsigned long) (pc) & 7) {
    421         (void) memmove(pc - 4, pc, 32);
    422         pc -= 4;
    423     }
    424 #endif
    425 
    426     glRasterPos4dv((const GLdouble *) (pc + 0));
    427 }
    428 
    429 void
    430 __glXDisp_RasterPos4fv(GLbyte * pc)
    431 {
    432     glRasterPos4fv((const GLfloat *) (pc + 0));
    433 }
    434 
    435 void
    436 __glXDisp_RasterPos4iv(GLbyte * pc)
    437 {
    438     glRasterPos4iv((const GLint *) (pc + 0));
    439 }
    440 
    441 void
    442 __glXDisp_RasterPos4sv(GLbyte * pc)
    443 {
    444     glRasterPos4sv((const GLshort *) (pc + 0));
    445 }
    446 
    447 void
    448 __glXDisp_Rectdv(GLbyte * pc)
    449 {
    450 #ifdef __GLX_ALIGN64
    451     if ((unsigned long) (pc) & 7) {
    452         (void) memmove(pc - 4, pc, 32);
    453         pc -= 4;
    454     }
    455 #endif
    456 
    457     glRectdv((const GLdouble *) (pc + 0), (const GLdouble *) (pc + 16));
    458 }
    459 
    460 void
    461 __glXDisp_Rectfv(GLbyte * pc)
    462 {
    463     glRectfv((const GLfloat *) (pc + 0), (const GLfloat *) (pc + 8));
    464 }
    465 
    466 void
    467 __glXDisp_Rectiv(GLbyte * pc)
    468 {
    469     glRectiv((const GLint *) (pc + 0), (const GLint *) (pc + 8));
    470 }
    471 
    472 void
    473 __glXDisp_Rectsv(GLbyte * pc)
    474 {
    475     glRectsv((const GLshort *) (pc + 0), (const GLshort *) (pc + 4));
    476 }
    477 
    478 void
    479 __glXDisp_TexCoord1dv(GLbyte * pc)
    480 {
    481 #ifdef __GLX_ALIGN64
    482     if ((unsigned long) (pc) & 7) {
    483         (void) memmove(pc - 4, pc, 8);
    484         pc -= 4;
    485     }
    486 #endif
    487 
    488     glTexCoord1dv((const GLdouble *) (pc + 0));
    489 }
    490 
    491 void
    492 __glXDisp_TexCoord1fv(GLbyte * pc)
    493 {
    494     glTexCoord1fv((const GLfloat *) (pc + 0));
    495 }
    496 
    497 void
    498 __glXDisp_TexCoord1iv(GLbyte * pc)
    499 {
    500     glTexCoord1iv((const GLint *) (pc + 0));
    501 }
    502 
    503 void
    504 __glXDisp_TexCoord1sv(GLbyte * pc)
    505 {
    506     glTexCoord1sv((const GLshort *) (pc + 0));
    507 }
    508 
    509 void
    510 __glXDisp_TexCoord2dv(GLbyte * pc)
    511 {
    512 #ifdef __GLX_ALIGN64
    513     if ((unsigned long) (pc) & 7) {
    514         (void) memmove(pc - 4, pc, 16);
    515         pc -= 4;
    516     }
    517 #endif
    518 
    519     glTexCoord2dv((const GLdouble *) (pc + 0));
    520 }
    521 
    522 void
    523 __glXDisp_TexCoord2fv(GLbyte * pc)
    524 {
    525     glTexCoord2fv((const GLfloat *) (pc + 0));
    526 }
    527 
    528 void
    529 __glXDisp_TexCoord2iv(GLbyte * pc)
    530 {
    531     glTexCoord2iv((const GLint *) (pc + 0));
    532 }
    533 
    534 void
    535 __glXDisp_TexCoord2sv(GLbyte * pc)
    536 {
    537     glTexCoord2sv((const GLshort *) (pc + 0));
    538 }
    539 
    540 void
    541 __glXDisp_TexCoord3dv(GLbyte * pc)
    542 {
    543 #ifdef __GLX_ALIGN64
    544     if ((unsigned long) (pc) & 7) {
    545         (void) memmove(pc - 4, pc, 24);
    546         pc -= 4;
    547     }
    548 #endif
    549 
    550     glTexCoord3dv((const GLdouble *) (pc + 0));
    551 }
    552 
    553 void
    554 __glXDisp_TexCoord3fv(GLbyte * pc)
    555 {
    556     glTexCoord3fv((const GLfloat *) (pc + 0));
    557 }
    558 
    559 void
    560 __glXDisp_TexCoord3iv(GLbyte * pc)
    561 {
    562     glTexCoord3iv((const GLint *) (pc + 0));
    563 }
    564 
    565 void
    566 __glXDisp_TexCoord3sv(GLbyte * pc)
    567 {
    568     glTexCoord3sv((const GLshort *) (pc + 0));
    569 }
    570 
    571 void
    572 __glXDisp_TexCoord4dv(GLbyte * pc)
    573 {
    574 #ifdef __GLX_ALIGN64
    575     if ((unsigned long) (pc) & 7) {
    576         (void) memmove(pc - 4, pc, 32);
    577         pc -= 4;
    578     }
    579 #endif
    580 
    581     glTexCoord4dv((const GLdouble *) (pc + 0));
    582 }
    583 
    584 void
    585 __glXDisp_TexCoord4fv(GLbyte * pc)
    586 {
    587     glTexCoord4fv((const GLfloat *) (pc + 0));
    588 }
    589 
    590 void
    591 __glXDisp_TexCoord4iv(GLbyte * pc)
    592 {
    593     glTexCoord4iv((const GLint *) (pc + 0));
    594 }
    595 
    596 void
    597 __glXDisp_TexCoord4sv(GLbyte * pc)
    598 {
    599     glTexCoord4sv((const GLshort *) (pc + 0));
    600 }
    601 
    602 void
    603 __glXDisp_Vertex2dv(GLbyte * pc)
    604 {
    605 #ifdef __GLX_ALIGN64
    606     if ((unsigned long) (pc) & 7) {
    607         (void) memmove(pc - 4, pc, 16);
    608         pc -= 4;
    609     }
    610 #endif
    611 
    612     glVertex2dv((const GLdouble *) (pc + 0));
    613 }
    614 
    615 void
    616 __glXDisp_Vertex2fv(GLbyte * pc)
    617 {
    618     glVertex2fv((const GLfloat *) (pc + 0));
    619 }
    620 
    621 void
    622 __glXDisp_Vertex2iv(GLbyte * pc)
    623 {
    624     glVertex2iv((const GLint *) (pc + 0));
    625 }
    626 
    627 void
    628 __glXDisp_Vertex2sv(GLbyte * pc)
    629 {
    630     glVertex2sv((const GLshort *) (pc + 0));
    631 }
    632 
    633 void
    634 __glXDisp_Vertex3dv(GLbyte * pc)
    635 {
    636 #ifdef __GLX_ALIGN64
    637     if ((unsigned long) (pc) & 7) {
    638         (void) memmove(pc - 4, pc, 24);
    639         pc -= 4;
    640     }
    641 #endif
    642 
    643     glVertex3dv((const GLdouble *) (pc + 0));
    644 }
    645 
    646 void
    647 __glXDisp_Vertex3fv(GLbyte * pc)
    648 {
    649     glVertex3fv((const GLfloat *) (pc + 0));
    650 }
    651 
    652 void
    653 __glXDisp_Vertex3iv(GLbyte * pc)
    654 {
    655     glVertex3iv((const GLint *) (pc + 0));
    656 }
    657 
    658 void
    659 __glXDisp_Vertex3sv(GLbyte * pc)
    660 {
    661     glVertex3sv((const GLshort *) (pc + 0));
    662 }
    663 
    664 void
    665 __glXDisp_Vertex4dv(GLbyte * pc)
    666 {
    667 #ifdef __GLX_ALIGN64
    668     if ((unsigned long) (pc) & 7) {
    669         (void) memmove(pc - 4, pc, 32);
    670         pc -= 4;
    671     }
    672 #endif
    673 
    674     glVertex4dv((const GLdouble *) (pc + 0));
    675 }
    676 
    677 void
    678 __glXDisp_Vertex4fv(GLbyte * pc)
    679 {
    680     glVertex4fv((const GLfloat *) (pc + 0));
    681 }
    682 
    683 void
    684 __glXDisp_Vertex4iv(GLbyte * pc)
    685 {
    686     glVertex4iv((const GLint *) (pc + 0));
    687 }
    688 
    689 void
    690 __glXDisp_Vertex4sv(GLbyte * pc)
    691 {
    692     glVertex4sv((const GLshort *) (pc + 0));
    693 }
    694 
    695 void
    696 __glXDisp_ClipPlane(GLbyte * pc)
    697 {
    698 #ifdef __GLX_ALIGN64
    699     if ((unsigned long) (pc) & 7) {
    700         (void) memmove(pc - 4, pc, 36);
    701         pc -= 4;
    702     }
    703 #endif
    704 
    705     glClipPlane(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0));
    706 }
    707 
    708 void
    709 __glXDisp_ColorMaterial(GLbyte * pc)
    710 {
    711     glColorMaterial(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
    712 }
    713 
    714 void
    715 __glXDisp_CullFace(GLbyte * pc)
    716 {
    717     glCullFace(*(GLenum *) (pc + 0));
    718 }
    719 
    720 void
    721 __glXDisp_Fogf(GLbyte * pc)
    722 {
    723     glFogf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
    724 }
    725 
    726 void
    727 __glXDisp_Fogfv(GLbyte * pc)
    728 {
    729     const GLenum pname = *(GLenum *) (pc + 0);
    730     const GLfloat *params;
    731 
    732     params = (const GLfloat *) (pc + 4);
    733 
    734     glFogfv(pname, params);
    735 }
    736 
    737 void
    738 __glXDisp_Fogi(GLbyte * pc)
    739 {
    740     glFogi(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
    741 }
    742 
    743 void
    744 __glXDisp_Fogiv(GLbyte * pc)
    745 {
    746     const GLenum pname = *(GLenum *) (pc + 0);
    747     const GLint *params;
    748 
    749     params = (const GLint *) (pc + 4);
    750 
    751     glFogiv(pname, params);
    752 }
    753 
    754 void
    755 __glXDisp_FrontFace(GLbyte * pc)
    756 {
    757     glFrontFace(*(GLenum *) (pc + 0));
    758 }
    759 
    760 void
    761 __glXDisp_Hint(GLbyte * pc)
    762 {
    763     glHint(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
    764 }
    765 
    766 void
    767 __glXDisp_Lightf(GLbyte * pc)
    768 {
    769     glLightf(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
    770 }
    771 
    772 void
    773 __glXDisp_Lightfv(GLbyte * pc)
    774 {
    775     const GLenum pname = *(GLenum *) (pc + 4);
    776     const GLfloat *params;
    777 
    778     params = (const GLfloat *) (pc + 8);
    779 
    780     glLightfv(*(GLenum *) (pc + 0), pname, params);
    781 }
    782 
    783 void
    784 __glXDisp_Lighti(GLbyte * pc)
    785 {
    786     glLighti(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
    787 }
    788 
    789 void
    790 __glXDisp_Lightiv(GLbyte * pc)
    791 {
    792     const GLenum pname = *(GLenum *) (pc + 4);
    793     const GLint *params;
    794 
    795     params = (const GLint *) (pc + 8);
    796 
    797     glLightiv(*(GLenum *) (pc + 0), pname, params);
    798 }
    799 
    800 void
    801 __glXDisp_LightModelf(GLbyte * pc)
    802 {
    803     glLightModelf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
    804 }
    805 
    806 void
    807 __glXDisp_LightModelfv(GLbyte * pc)
    808 {
    809     const GLenum pname = *(GLenum *) (pc + 0);
    810     const GLfloat *params;
    811 
    812     params = (const GLfloat *) (pc + 4);
    813 
    814     glLightModelfv(pname, params);
    815 }
    816 
    817 void
    818 __glXDisp_LightModeli(GLbyte * pc)
    819 {
    820     glLightModeli(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
    821 }
    822 
    823 void
    824 __glXDisp_LightModeliv(GLbyte * pc)
    825 {
    826     const GLenum pname = *(GLenum *) (pc + 0);
    827     const GLint *params;
    828 
    829     params = (const GLint *) (pc + 4);
    830 
    831     glLightModeliv(pname, params);
    832 }
    833 
    834 void
    835 __glXDisp_LineStipple(GLbyte * pc)
    836 {
    837     glLineStipple(*(GLint *) (pc + 0), *(GLushort *) (pc + 4));
    838 }
    839 
    840 void
    841 __glXDisp_LineWidth(GLbyte * pc)
    842 {
    843     glLineWidth(*(GLfloat *) (pc + 0));
    844 }
    845 
    846 void
    847 __glXDisp_Materialf(GLbyte * pc)
    848 {
    849     glMaterialf(*(GLenum *) (pc + 0),
    850                 *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
    851 }
    852 
    853 void
    854 __glXDisp_Materialfv(GLbyte * pc)
    855 {
    856     const GLenum pname = *(GLenum *) (pc + 4);
    857     const GLfloat *params;
    858 
    859     params = (const GLfloat *) (pc + 8);
    860 
    861     glMaterialfv(*(GLenum *) (pc + 0), pname, params);
    862 }
    863 
    864 void
    865 __glXDisp_Materiali(GLbyte * pc)
    866 {
    867     glMateriali(*(GLenum *) (pc + 0),
    868                 *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
    869 }
    870 
    871 void
    872 __glXDisp_Materialiv(GLbyte * pc)
    873 {
    874     const GLenum pname = *(GLenum *) (pc + 4);
    875     const GLint *params;
    876 
    877     params = (const GLint *) (pc + 8);
    878 
    879     glMaterialiv(*(GLenum *) (pc + 0), pname, params);
    880 }
    881 
    882 void
    883 __glXDisp_PointSize(GLbyte * pc)
    884 {
    885     glPointSize(*(GLfloat *) (pc + 0));
    886 }
    887 
    888 void
    889 __glXDisp_PolygonMode(GLbyte * pc)
    890 {
    891     glPolygonMode(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
    892 }
    893 
    894 void
    895 __glXDisp_PolygonStipple(GLbyte * pc)
    896 {
    897     const GLubyte *const mask = (const GLubyte *) ((pc + 20));
    898     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
    899 
    900     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
    901     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
    902     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
    903     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
    904     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
    905 
    906     glPolygonStipple(mask);
    907 }
    908 
    909 void
    910 __glXDisp_Scissor(GLbyte * pc)
    911 {
    912     glScissor(*(GLint *) (pc + 0),
    913               *(GLint *) (pc + 4),
    914               *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
    915 }
    916 
    917 void
    918 __glXDisp_ShadeModel(GLbyte * pc)
    919 {
    920     glShadeModel(*(GLenum *) (pc + 0));
    921 }
    922 
    923 void
    924 __glXDisp_TexParameterf(GLbyte * pc)
    925 {
    926     glTexParameterf(*(GLenum *) (pc + 0),
    927                     *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
    928 }
    929 
    930 void
    931 __glXDisp_TexParameterfv(GLbyte * pc)
    932 {
    933     const GLenum pname = *(GLenum *) (pc + 4);
    934     const GLfloat *params;
    935 
    936     params = (const GLfloat *) (pc + 8);
    937 
    938     glTexParameterfv(*(GLenum *) (pc + 0), pname, params);
    939 }
    940 
    941 void
    942 __glXDisp_TexParameteri(GLbyte * pc)
    943 {
    944     glTexParameteri(*(GLenum *) (pc + 0),
    945                     *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
    946 }
    947 
    948 void
    949 __glXDisp_TexParameteriv(GLbyte * pc)
    950 {
    951     const GLenum pname = *(GLenum *) (pc + 4);
    952     const GLint *params;
    953 
    954     params = (const GLint *) (pc + 8);
    955 
    956     glTexParameteriv(*(GLenum *) (pc + 0), pname, params);
    957 }
    958 
    959 void
    960 __glXDisp_TexImage1D(GLbyte * pc)
    961 {
    962     const GLvoid *const pixels = (const GLvoid *) ((pc + 52));
    963     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
    964 
    965     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
    966     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
    967     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
    968     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
    969     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
    970     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
    971 
    972     glTexImage1D(*(GLenum *) (pc + 20),
    973                  *(GLint *) (pc + 24),
    974                  *(GLint *) (pc + 28),
    975                  *(GLsizei *) (pc + 32),
    976                  *(GLint *) (pc + 40),
    977                  *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
    978 }
    979 
    980 void
    981 __glXDisp_TexImage2D(GLbyte * pc)
    982 {
    983     const GLvoid *const pixels = (const GLvoid *) ((pc + 52));
    984     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
    985 
    986     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
    987     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
    988     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
    989     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
    990     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
    991     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
    992 
    993     glTexImage2D(*(GLenum *) (pc + 20),
    994                  *(GLint *) (pc + 24),
    995                  *(GLint *) (pc + 28),
    996                  *(GLsizei *) (pc + 32),
    997                  *(GLsizei *) (pc + 36),
    998                  *(GLint *) (pc + 40),
    999                  *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
   1000 }
   1001 
   1002 void
   1003 __glXDisp_TexEnvf(GLbyte * pc)
   1004 {
   1005     glTexEnvf(*(GLenum *) (pc + 0),
   1006               *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
   1007 }
   1008 
   1009 void
   1010 __glXDisp_TexEnvfv(GLbyte * pc)
   1011 {
   1012     const GLenum pname = *(GLenum *) (pc + 4);
   1013     const GLfloat *params;
   1014 
   1015     params = (const GLfloat *) (pc + 8);
   1016 
   1017     glTexEnvfv(*(GLenum *) (pc + 0), pname, params);
   1018 }
   1019 
   1020 void
   1021 __glXDisp_TexEnvi(GLbyte * pc)
   1022 {
   1023     glTexEnvi(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
   1024 }
   1025 
   1026 void
   1027 __glXDisp_TexEnviv(GLbyte * pc)
   1028 {
   1029     const GLenum pname = *(GLenum *) (pc + 4);
   1030     const GLint *params;
   1031 
   1032     params = (const GLint *) (pc + 8);
   1033 
   1034     glTexEnviv(*(GLenum *) (pc + 0), pname, params);
   1035 }
   1036 
   1037 void
   1038 __glXDisp_TexGend(GLbyte * pc)
   1039 {
   1040 #ifdef __GLX_ALIGN64
   1041     if ((unsigned long) (pc) & 7) {
   1042         (void) memmove(pc - 4, pc, 16);
   1043         pc -= 4;
   1044     }
   1045 #endif
   1046 
   1047     glTexGend(*(GLenum *) (pc + 8),
   1048               *(GLenum *) (pc + 12), *(GLdouble *) (pc + 0));
   1049 }
   1050 
   1051 void
   1052 __glXDisp_TexGendv(GLbyte * pc)
   1053 {
   1054     const GLenum pname = *(GLenum *) (pc + 4);
   1055     const GLdouble *params;
   1056 
   1057 #ifdef __GLX_ALIGN64
   1058     const GLuint compsize = __glTexGendv_size(pname);
   1059     const GLuint cmdlen = 12 + __GLX_PAD((compsize * 8)) - 4;
   1060 
   1061     if ((unsigned long) (pc) & 7) {
   1062         (void) memmove(pc - 4, pc, cmdlen);
   1063         pc -= 4;
   1064     }
   1065 #endif
   1066 
   1067     params = (const GLdouble *) (pc + 8);
   1068 
   1069     glTexGendv(*(GLenum *) (pc + 0), pname, params);
   1070 }
   1071 
   1072 void
   1073 __glXDisp_TexGenf(GLbyte * pc)
   1074 {
   1075     glTexGenf(*(GLenum *) (pc + 0),
   1076               *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
   1077 }
   1078 
   1079 void
   1080 __glXDisp_TexGenfv(GLbyte * pc)
   1081 {
   1082     const GLenum pname = *(GLenum *) (pc + 4);
   1083     const GLfloat *params;
   1084 
   1085     params = (const GLfloat *) (pc + 8);
   1086 
   1087     glTexGenfv(*(GLenum *) (pc + 0), pname, params);
   1088 }
   1089 
   1090 void
   1091 __glXDisp_TexGeni(GLbyte * pc)
   1092 {
   1093     glTexGeni(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
   1094 }
   1095 
   1096 void
   1097 __glXDisp_TexGeniv(GLbyte * pc)
   1098 {
   1099     const GLenum pname = *(GLenum *) (pc + 4);
   1100     const GLint *params;
   1101 
   1102     params = (const GLint *) (pc + 8);
   1103 
   1104     glTexGeniv(*(GLenum *) (pc + 0), pname, params);
   1105 }
   1106 
   1107 void
   1108 __glXDisp_InitNames(GLbyte * pc)
   1109 {
   1110     glInitNames();
   1111 }
   1112 
   1113 void
   1114 __glXDisp_LoadName(GLbyte * pc)
   1115 {
   1116     glLoadName(*(GLuint *) (pc + 0));
   1117 }
   1118 
   1119 void
   1120 __glXDisp_PassThrough(GLbyte * pc)
   1121 {
   1122     glPassThrough(*(GLfloat *) (pc + 0));
   1123 }
   1124 
   1125 void
   1126 __glXDisp_PopName(GLbyte * pc)
   1127 {
   1128     glPopName();
   1129 }
   1130 
   1131 void
   1132 __glXDisp_PushName(GLbyte * pc)
   1133 {
   1134     glPushName(*(GLuint *) (pc + 0));
   1135 }
   1136 
   1137 void
   1138 __glXDisp_DrawBuffer(GLbyte * pc)
   1139 {
   1140     glDrawBuffer(*(GLenum *) (pc + 0));
   1141 }
   1142 
   1143 void
   1144 __glXDisp_Clear(GLbyte * pc)
   1145 {
   1146     glClear(*(GLbitfield *) (pc + 0));
   1147 }
   1148 
   1149 void
   1150 __glXDisp_ClearAccum(GLbyte * pc)
   1151 {
   1152     glClearAccum(*(GLfloat *) (pc + 0),
   1153                  *(GLfloat *) (pc + 4),
   1154                  *(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12));
   1155 }
   1156 
   1157 void
   1158 __glXDisp_ClearIndex(GLbyte * pc)
   1159 {
   1160     glClearIndex(*(GLfloat *) (pc + 0));
   1161 }
   1162 
   1163 void
   1164 __glXDisp_ClearColor(GLbyte * pc)
   1165 {
   1166     glClearColor(*(GLclampf *) (pc + 0),
   1167                  *(GLclampf *) (pc + 4),
   1168                  *(GLclampf *) (pc + 8), *(GLclampf *) (pc + 12));
   1169 }
   1170 
   1171 void
   1172 __glXDisp_ClearStencil(GLbyte * pc)
   1173 {
   1174     glClearStencil(*(GLint *) (pc + 0));
   1175 }
   1176 
   1177 void
   1178 __glXDisp_ClearDepth(GLbyte * pc)
   1179 {
   1180 #ifdef __GLX_ALIGN64
   1181     if ((unsigned long) (pc) & 7) {
   1182         (void) memmove(pc - 4, pc, 8);
   1183         pc -= 4;
   1184     }
   1185 #endif
   1186 
   1187     glClearDepth(*(GLclampd *) (pc + 0));
   1188 }
   1189 
   1190 void
   1191 __glXDisp_StencilMask(GLbyte * pc)
   1192 {
   1193     glStencilMask(*(GLuint *) (pc + 0));
   1194 }
   1195 
   1196 void
   1197 __glXDisp_ColorMask(GLbyte * pc)
   1198 {
   1199     glColorMask(*(GLboolean *) (pc + 0),
   1200                 *(GLboolean *) (pc + 1),
   1201                 *(GLboolean *) (pc + 2), *(GLboolean *) (pc + 3));
   1202 }
   1203 
   1204 void
   1205 __glXDisp_DepthMask(GLbyte * pc)
   1206 {
   1207     glDepthMask(*(GLboolean *) (pc + 0));
   1208 }
   1209 
   1210 void
   1211 __glXDisp_IndexMask(GLbyte * pc)
   1212 {
   1213     glIndexMask(*(GLuint *) (pc + 0));
   1214 }
   1215 
   1216 void
   1217 __glXDisp_Accum(GLbyte * pc)
   1218 {
   1219     glAccum(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
   1220 }
   1221 
   1222 void
   1223 __glXDisp_Disable(GLbyte * pc)
   1224 {
   1225     glDisable(*(GLenum *) (pc + 0));
   1226 }
   1227 
   1228 void
   1229 __glXDisp_Enable(GLbyte * pc)
   1230 {
   1231     glEnable(*(GLenum *) (pc + 0));
   1232 }
   1233 
   1234 void
   1235 __glXDisp_PopAttrib(GLbyte * pc)
   1236 {
   1237     glPopAttrib();
   1238 }
   1239 
   1240 void
   1241 __glXDisp_PushAttrib(GLbyte * pc)
   1242 {
   1243     glPushAttrib(*(GLbitfield *) (pc + 0));
   1244 }
   1245 
   1246 void
   1247 __glXDisp_MapGrid1d(GLbyte * pc)
   1248 {
   1249 #ifdef __GLX_ALIGN64
   1250     if ((unsigned long) (pc) & 7) {
   1251         (void) memmove(pc - 4, pc, 20);
   1252         pc -= 4;
   1253     }
   1254 #endif
   1255 
   1256     glMapGrid1d(*(GLint *) (pc + 16),
   1257                 *(GLdouble *) (pc + 0), *(GLdouble *) (pc + 8));
   1258 }
   1259 
   1260 void
   1261 __glXDisp_MapGrid1f(GLbyte * pc)
   1262 {
   1263     glMapGrid1f(*(GLint *) (pc + 0),
   1264                 *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
   1265 }
   1266 
   1267 void
   1268 __glXDisp_MapGrid2d(GLbyte * pc)
   1269 {
   1270 #ifdef __GLX_ALIGN64
   1271     if ((unsigned long) (pc) & 7) {
   1272         (void) memmove(pc - 4, pc, 40);
   1273         pc -= 4;
   1274     }
   1275 #endif
   1276 
   1277     glMapGrid2d(*(GLint *) (pc + 32),
   1278                 *(GLdouble *) (pc + 0),
   1279                 *(GLdouble *) (pc + 8),
   1280                 *(GLint *) (pc + 36),
   1281                 *(GLdouble *) (pc + 16), *(GLdouble *) (pc + 24));
   1282 }
   1283 
   1284 void
   1285 __glXDisp_MapGrid2f(GLbyte * pc)
   1286 {
   1287     glMapGrid2f(*(GLint *) (pc + 0),
   1288                 *(GLfloat *) (pc + 4),
   1289                 *(GLfloat *) (pc + 8),
   1290                 *(GLint *) (pc + 12),
   1291                 *(GLfloat *) (pc + 16), *(GLfloat *) (pc + 20));
   1292 }
   1293 
   1294 void
   1295 __glXDisp_EvalCoord1dv(GLbyte * pc)
   1296 {
   1297 #ifdef __GLX_ALIGN64
   1298     if ((unsigned long) (pc) & 7) {
   1299         (void) memmove(pc - 4, pc, 8);
   1300         pc -= 4;
   1301     }
   1302 #endif
   1303 
   1304     glEvalCoord1dv((const GLdouble *) (pc + 0));
   1305 }
   1306 
   1307 void
   1308 __glXDisp_EvalCoord1fv(GLbyte * pc)
   1309 {
   1310     glEvalCoord1fv((const GLfloat *) (pc + 0));
   1311 }
   1312 
   1313 void
   1314 __glXDisp_EvalCoord2dv(GLbyte * pc)
   1315 {
   1316 #ifdef __GLX_ALIGN64
   1317     if ((unsigned long) (pc) & 7) {
   1318         (void) memmove(pc - 4, pc, 16);
   1319         pc -= 4;
   1320     }
   1321 #endif
   1322 
   1323     glEvalCoord2dv((const GLdouble *) (pc + 0));
   1324 }
   1325 
   1326 void
   1327 __glXDisp_EvalCoord2fv(GLbyte * pc)
   1328 {
   1329     glEvalCoord2fv((const GLfloat *) (pc + 0));
   1330 }
   1331 
   1332 void
   1333 __glXDisp_EvalMesh1(GLbyte * pc)
   1334 {
   1335     glEvalMesh1(*(GLenum *) (pc + 0), *(GLint *) (pc + 4), *(GLint *) (pc + 8));
   1336 }
   1337 
   1338 void
   1339 __glXDisp_EvalPoint1(GLbyte * pc)
   1340 {
   1341     glEvalPoint1(*(GLint *) (pc + 0));
   1342 }
   1343 
   1344 void
   1345 __glXDisp_EvalMesh2(GLbyte * pc)
   1346 {
   1347     glEvalMesh2(*(GLenum *) (pc + 0),
   1348                 *(GLint *) (pc + 4),
   1349                 *(GLint *) (pc + 8),
   1350                 *(GLint *) (pc + 12), *(GLint *) (pc + 16));
   1351 }
   1352 
   1353 void
   1354 __glXDisp_EvalPoint2(GLbyte * pc)
   1355 {
   1356     glEvalPoint2(*(GLint *) (pc + 0), *(GLint *) (pc + 4));
   1357 }
   1358 
   1359 void
   1360 __glXDisp_AlphaFunc(GLbyte * pc)
   1361 {
   1362     glAlphaFunc(*(GLenum *) (pc + 0), *(GLclampf *) (pc + 4));
   1363 }
   1364 
   1365 void
   1366 __glXDisp_BlendFunc(GLbyte * pc)
   1367 {
   1368     glBlendFunc(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
   1369 }
   1370 
   1371 void
   1372 __glXDisp_LogicOp(GLbyte * pc)
   1373 {
   1374     glLogicOp(*(GLenum *) (pc + 0));
   1375 }
   1376 
   1377 void
   1378 __glXDisp_StencilFunc(GLbyte * pc)
   1379 {
   1380     glStencilFunc(*(GLenum *) (pc + 0),
   1381                   *(GLint *) (pc + 4), *(GLuint *) (pc + 8));
   1382 }
   1383 
   1384 void
   1385 __glXDisp_StencilOp(GLbyte * pc)
   1386 {
   1387     glStencilOp(*(GLenum *) (pc + 0),
   1388                 *(GLenum *) (pc + 4), *(GLenum *) (pc + 8));
   1389 }
   1390 
   1391 void
   1392 __glXDisp_DepthFunc(GLbyte * pc)
   1393 {
   1394     glDepthFunc(*(GLenum *) (pc + 0));
   1395 }
   1396 
   1397 void
   1398 __glXDisp_PixelZoom(GLbyte * pc)
   1399 {
   1400     glPixelZoom(*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4));
   1401 }
   1402 
   1403 void
   1404 __glXDisp_PixelTransferf(GLbyte * pc)
   1405 {
   1406     glPixelTransferf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
   1407 }
   1408 
   1409 void
   1410 __glXDisp_PixelTransferi(GLbyte * pc)
   1411 {
   1412     glPixelTransferi(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
   1413 }
   1414 
   1415 int
   1416 __glXDisp_PixelStoref(__GLXclientState * cl, GLbyte * pc)
   1417 {
   1418     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1419     int error;
   1420     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1421 
   1422     pc += __GLX_SINGLE_HDR_SIZE;
   1423     if (cx != NULL) {
   1424         glPixelStoref(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
   1425         error = Success;
   1426     }
   1427 
   1428     return error;
   1429 }
   1430 
   1431 int
   1432 __glXDisp_PixelStorei(__GLXclientState * cl, GLbyte * pc)
   1433 {
   1434     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1435     int error;
   1436     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1437 
   1438     pc += __GLX_SINGLE_HDR_SIZE;
   1439     if (cx != NULL) {
   1440         glPixelStorei(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
   1441         error = Success;
   1442     }
   1443 
   1444     return error;
   1445 }
   1446 
   1447 void
   1448 __glXDisp_PixelMapfv(GLbyte * pc)
   1449 {
   1450     const GLsizei mapsize = *(GLsizei *) (pc + 4);
   1451 
   1452     glPixelMapfv(*(GLenum *) (pc + 0), mapsize, (const GLfloat *) (pc + 8));
   1453 }
   1454 
   1455 void
   1456 __glXDisp_PixelMapuiv(GLbyte * pc)
   1457 {
   1458     const GLsizei mapsize = *(GLsizei *) (pc + 4);
   1459 
   1460     glPixelMapuiv(*(GLenum *) (pc + 0), mapsize, (const GLuint *) (pc + 8));
   1461 }
   1462 
   1463 void
   1464 __glXDisp_PixelMapusv(GLbyte * pc)
   1465 {
   1466     const GLsizei mapsize = *(GLsizei *) (pc + 4);
   1467 
   1468     glPixelMapusv(*(GLenum *) (pc + 0), mapsize, (const GLushort *) (pc + 8));
   1469 }
   1470 
   1471 void
   1472 __glXDisp_ReadBuffer(GLbyte * pc)
   1473 {
   1474     glReadBuffer(*(GLenum *) (pc + 0));
   1475 }
   1476 
   1477 void
   1478 __glXDisp_CopyPixels(GLbyte * pc)
   1479 {
   1480     glCopyPixels(*(GLint *) (pc + 0),
   1481                  *(GLint *) (pc + 4),
   1482                  *(GLsizei *) (pc + 8),
   1483                  *(GLsizei *) (pc + 12), *(GLenum *) (pc + 16));
   1484 }
   1485 
   1486 void
   1487 __glXDisp_DrawPixels(GLbyte * pc)
   1488 {
   1489     const GLvoid *const pixels = (const GLvoid *) ((pc + 36));
   1490     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
   1491 
   1492     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   1493     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   1494     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   1495     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   1496     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   1497     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   1498 
   1499     glDrawPixels(*(GLsizei *) (pc + 20),
   1500                  *(GLsizei *) (pc + 24),
   1501                  *(GLenum *) (pc + 28), *(GLenum *) (pc + 32), pixels);
   1502 }
   1503 
   1504 int
   1505 __glXDisp_GetBooleanv(__GLXclientState * cl, GLbyte * pc)
   1506 {
   1507     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1508     int error;
   1509     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1510 
   1511     pc += __GLX_SINGLE_HDR_SIZE;
   1512     if (cx != NULL) {
   1513         const GLenum pname = *(GLenum *) (pc + 0);
   1514 
   1515         const GLuint compsize = __glGetBooleanv_size(pname);
   1516         GLboolean answerBuffer[200];
   1517         GLboolean *params =
   1518             __glXGetAnswerBuffer(cl, compsize, answerBuffer,
   1519                                  sizeof(answerBuffer), 1);
   1520 
   1521         if (params == NULL)
   1522             return BadAlloc;
   1523         __glXClearErrorOccured();
   1524 
   1525         glGetBooleanv(pname, params);
   1526         __glXSendReply(cl->client, params, compsize, 1, GL_FALSE, 0);
   1527         error = Success;
   1528     }
   1529 
   1530     return error;
   1531 }
   1532 
   1533 int
   1534 __glXDisp_GetClipPlane(__GLXclientState * cl, GLbyte * pc)
   1535 {
   1536     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1537     int error;
   1538     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1539 
   1540     pc += __GLX_SINGLE_HDR_SIZE;
   1541     if (cx != NULL) {
   1542         GLdouble equation[4];
   1543 
   1544         glGetClipPlane(*(GLenum *) (pc + 0), equation);
   1545         __glXSendReply(cl->client, equation, 4, 8, GL_TRUE, 0);
   1546         error = Success;
   1547     }
   1548 
   1549     return error;
   1550 }
   1551 
   1552 int
   1553 __glXDisp_GetDoublev(__GLXclientState * cl, GLbyte * pc)
   1554 {
   1555     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1556     int error;
   1557     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1558 
   1559     pc += __GLX_SINGLE_HDR_SIZE;
   1560     if (cx != NULL) {
   1561         const GLenum pname = *(GLenum *) (pc + 0);
   1562 
   1563         const GLuint compsize = __glGetDoublev_size(pname);
   1564         GLdouble answerBuffer[200];
   1565         GLdouble *params =
   1566             __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
   1567                                  sizeof(answerBuffer), 8);
   1568 
   1569         if (params == NULL)
   1570             return BadAlloc;
   1571         __glXClearErrorOccured();
   1572 
   1573         glGetDoublev(pname, params);
   1574         __glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0);
   1575         error = Success;
   1576     }
   1577 
   1578     return error;
   1579 }
   1580 
   1581 int
   1582 __glXDisp_GetError(__GLXclientState * cl, GLbyte * pc)
   1583 {
   1584     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1585     int error;
   1586     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1587 
   1588     pc += __GLX_SINGLE_HDR_SIZE;
   1589     if (cx != NULL) {
   1590         GLenum retval;
   1591 
   1592         retval = glGetError();
   1593         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   1594         error = Success;
   1595     }
   1596 
   1597     return error;
   1598 }
   1599 
   1600 int
   1601 __glXDisp_GetFloatv(__GLXclientState * cl, GLbyte * pc)
   1602 {
   1603     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1604     int error;
   1605     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1606 
   1607     pc += __GLX_SINGLE_HDR_SIZE;
   1608     if (cx != NULL) {
   1609         const GLenum pname = *(GLenum *) (pc + 0);
   1610 
   1611         const GLuint compsize = __glGetFloatv_size(pname);
   1612         GLfloat answerBuffer[200];
   1613         GLfloat *params =
   1614             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1615                                  sizeof(answerBuffer), 4);
   1616 
   1617         if (params == NULL)
   1618             return BadAlloc;
   1619         __glXClearErrorOccured();
   1620 
   1621         glGetFloatv(pname, params);
   1622         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   1623         error = Success;
   1624     }
   1625 
   1626     return error;
   1627 }
   1628 
   1629 int
   1630 __glXDisp_GetIntegerv(__GLXclientState * cl, GLbyte * pc)
   1631 {
   1632     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1633     int error;
   1634     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1635 
   1636     pc += __GLX_SINGLE_HDR_SIZE;
   1637     if (cx != NULL) {
   1638         const GLenum pname = *(GLenum *) (pc + 0);
   1639 
   1640         const GLuint compsize = __glGetIntegerv_size(pname);
   1641         GLint answerBuffer[200];
   1642         GLint *params =
   1643             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1644                                  sizeof(answerBuffer), 4);
   1645 
   1646         if (params == NULL)
   1647             return BadAlloc;
   1648         __glXClearErrorOccured();
   1649 
   1650         glGetIntegerv(pname, params);
   1651         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   1652         error = Success;
   1653     }
   1654 
   1655     return error;
   1656 }
   1657 
   1658 int
   1659 __glXDisp_GetLightfv(__GLXclientState * cl, GLbyte * pc)
   1660 {
   1661     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1662     int error;
   1663     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1664 
   1665     pc += __GLX_SINGLE_HDR_SIZE;
   1666     if (cx != NULL) {
   1667         const GLenum pname = *(GLenum *) (pc + 4);
   1668 
   1669         const GLuint compsize = __glGetLightfv_size(pname);
   1670         GLfloat answerBuffer[200];
   1671         GLfloat *params =
   1672             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1673                                  sizeof(answerBuffer), 4);
   1674 
   1675         if (params == NULL)
   1676             return BadAlloc;
   1677         __glXClearErrorOccured();
   1678 
   1679         glGetLightfv(*(GLenum *) (pc + 0), pname, params);
   1680         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   1681         error = Success;
   1682     }
   1683 
   1684     return error;
   1685 }
   1686 
   1687 int
   1688 __glXDisp_GetLightiv(__GLXclientState * cl, GLbyte * pc)
   1689 {
   1690     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1691     int error;
   1692     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1693 
   1694     pc += __GLX_SINGLE_HDR_SIZE;
   1695     if (cx != NULL) {
   1696         const GLenum pname = *(GLenum *) (pc + 4);
   1697 
   1698         const GLuint compsize = __glGetLightiv_size(pname);
   1699         GLint answerBuffer[200];
   1700         GLint *params =
   1701             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1702                                  sizeof(answerBuffer), 4);
   1703 
   1704         if (params == NULL)
   1705             return BadAlloc;
   1706         __glXClearErrorOccured();
   1707 
   1708         glGetLightiv(*(GLenum *) (pc + 0), pname, params);
   1709         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   1710         error = Success;
   1711     }
   1712 
   1713     return error;
   1714 }
   1715 
   1716 int
   1717 __glXDisp_GetMapdv(__GLXclientState * cl, GLbyte * pc)
   1718 {
   1719     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1720     int error;
   1721     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1722 
   1723     pc += __GLX_SINGLE_HDR_SIZE;
   1724     if (cx != NULL) {
   1725         const GLenum target = *(GLenum *) (pc + 0);
   1726         const GLenum query = *(GLenum *) (pc + 4);
   1727 
   1728         const GLuint compsize = __glGetMapdv_size(target, query);
   1729         GLdouble answerBuffer[200];
   1730         GLdouble *v =
   1731             __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
   1732                                  sizeof(answerBuffer), 8);
   1733 
   1734         if (v == NULL)
   1735             return BadAlloc;
   1736         __glXClearErrorOccured();
   1737 
   1738         glGetMapdv(target, query, v);
   1739         __glXSendReply(cl->client, v, compsize, 8, GL_FALSE, 0);
   1740         error = Success;
   1741     }
   1742 
   1743     return error;
   1744 }
   1745 
   1746 int
   1747 __glXDisp_GetMapfv(__GLXclientState * cl, GLbyte * pc)
   1748 {
   1749     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1750     int error;
   1751     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1752 
   1753     pc += __GLX_SINGLE_HDR_SIZE;
   1754     if (cx != NULL) {
   1755         const GLenum target = *(GLenum *) (pc + 0);
   1756         const GLenum query = *(GLenum *) (pc + 4);
   1757 
   1758         const GLuint compsize = __glGetMapfv_size(target, query);
   1759         GLfloat answerBuffer[200];
   1760         GLfloat *v =
   1761             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1762                                  sizeof(answerBuffer), 4);
   1763 
   1764         if (v == NULL)
   1765             return BadAlloc;
   1766         __glXClearErrorOccured();
   1767 
   1768         glGetMapfv(target, query, v);
   1769         __glXSendReply(cl->client, v, compsize, 4, GL_FALSE, 0);
   1770         error = Success;
   1771     }
   1772 
   1773     return error;
   1774 }
   1775 
   1776 int
   1777 __glXDisp_GetMapiv(__GLXclientState * cl, GLbyte * pc)
   1778 {
   1779     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1780     int error;
   1781     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1782 
   1783     pc += __GLX_SINGLE_HDR_SIZE;
   1784     if (cx != NULL) {
   1785         const GLenum target = *(GLenum *) (pc + 0);
   1786         const GLenum query = *(GLenum *) (pc + 4);
   1787 
   1788         const GLuint compsize = __glGetMapiv_size(target, query);
   1789         GLint answerBuffer[200];
   1790         GLint *v =
   1791             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1792                                  sizeof(answerBuffer), 4);
   1793 
   1794         if (v == NULL)
   1795             return BadAlloc;
   1796         __glXClearErrorOccured();
   1797 
   1798         glGetMapiv(target, query, v);
   1799         __glXSendReply(cl->client, v, compsize, 4, GL_FALSE, 0);
   1800         error = Success;
   1801     }
   1802 
   1803     return error;
   1804 }
   1805 
   1806 int
   1807 __glXDisp_GetMaterialfv(__GLXclientState * cl, GLbyte * pc)
   1808 {
   1809     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1810     int error;
   1811     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1812 
   1813     pc += __GLX_SINGLE_HDR_SIZE;
   1814     if (cx != NULL) {
   1815         const GLenum pname = *(GLenum *) (pc + 4);
   1816 
   1817         const GLuint compsize = __glGetMaterialfv_size(pname);
   1818         GLfloat answerBuffer[200];
   1819         GLfloat *params =
   1820             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1821                                  sizeof(answerBuffer), 4);
   1822 
   1823         if (params == NULL)
   1824             return BadAlloc;
   1825         __glXClearErrorOccured();
   1826 
   1827         glGetMaterialfv(*(GLenum *) (pc + 0), pname, params);
   1828         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   1829         error = Success;
   1830     }
   1831 
   1832     return error;
   1833 }
   1834 
   1835 int
   1836 __glXDisp_GetMaterialiv(__GLXclientState * cl, GLbyte * pc)
   1837 {
   1838     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1839     int error;
   1840     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1841 
   1842     pc += __GLX_SINGLE_HDR_SIZE;
   1843     if (cx != NULL) {
   1844         const GLenum pname = *(GLenum *) (pc + 4);
   1845 
   1846         const GLuint compsize = __glGetMaterialiv_size(pname);
   1847         GLint answerBuffer[200];
   1848         GLint *params =
   1849             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1850                                  sizeof(answerBuffer), 4);
   1851 
   1852         if (params == NULL)
   1853             return BadAlloc;
   1854         __glXClearErrorOccured();
   1855 
   1856         glGetMaterialiv(*(GLenum *) (pc + 0), pname, params);
   1857         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   1858         error = Success;
   1859     }
   1860 
   1861     return error;
   1862 }
   1863 
   1864 int
   1865 __glXDisp_GetPixelMapfv(__GLXclientState * cl, GLbyte * pc)
   1866 {
   1867     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1868     int error;
   1869     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1870 
   1871     pc += __GLX_SINGLE_HDR_SIZE;
   1872     if (cx != NULL) {
   1873         const GLenum map = *(GLenum *) (pc + 0);
   1874 
   1875         const GLuint compsize = __glGetPixelMapfv_size(map);
   1876         GLfloat answerBuffer[200];
   1877         GLfloat *values =
   1878             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1879                                  sizeof(answerBuffer), 4);
   1880 
   1881         if (values == NULL)
   1882             return BadAlloc;
   1883         __glXClearErrorOccured();
   1884 
   1885         glGetPixelMapfv(map, values);
   1886         __glXSendReply(cl->client, values, compsize, 4, GL_FALSE, 0);
   1887         error = Success;
   1888     }
   1889 
   1890     return error;
   1891 }
   1892 
   1893 int
   1894 __glXDisp_GetPixelMapuiv(__GLXclientState * cl, GLbyte * pc)
   1895 {
   1896     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1897     int error;
   1898     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1899 
   1900     pc += __GLX_SINGLE_HDR_SIZE;
   1901     if (cx != NULL) {
   1902         const GLenum map = *(GLenum *) (pc + 0);
   1903 
   1904         const GLuint compsize = __glGetPixelMapuiv_size(map);
   1905         GLuint answerBuffer[200];
   1906         GLuint *values =
   1907             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1908                                  sizeof(answerBuffer), 4);
   1909 
   1910         if (values == NULL)
   1911             return BadAlloc;
   1912         __glXClearErrorOccured();
   1913 
   1914         glGetPixelMapuiv(map, values);
   1915         __glXSendReply(cl->client, values, compsize, 4, GL_FALSE, 0);
   1916         error = Success;
   1917     }
   1918 
   1919     return error;
   1920 }
   1921 
   1922 int
   1923 __glXDisp_GetPixelMapusv(__GLXclientState * cl, GLbyte * pc)
   1924 {
   1925     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1926     int error;
   1927     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1928 
   1929     pc += __GLX_SINGLE_HDR_SIZE;
   1930     if (cx != NULL) {
   1931         const GLenum map = *(GLenum *) (pc + 0);
   1932 
   1933         const GLuint compsize = __glGetPixelMapusv_size(map);
   1934         GLushort answerBuffer[200];
   1935         GLushort *values =
   1936             __glXGetAnswerBuffer(cl, compsize * 2, answerBuffer,
   1937                                  sizeof(answerBuffer), 2);
   1938 
   1939         if (values == NULL)
   1940             return BadAlloc;
   1941         __glXClearErrorOccured();
   1942 
   1943         glGetPixelMapusv(map, values);
   1944         __glXSendReply(cl->client, values, compsize, 2, GL_FALSE, 0);
   1945         error = Success;
   1946     }
   1947 
   1948     return error;
   1949 }
   1950 
   1951 int
   1952 __glXDisp_GetTexEnvfv(__GLXclientState * cl, GLbyte * pc)
   1953 {
   1954     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1955     int error;
   1956     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1957 
   1958     pc += __GLX_SINGLE_HDR_SIZE;
   1959     if (cx != NULL) {
   1960         const GLenum pname = *(GLenum *) (pc + 4);
   1961 
   1962         const GLuint compsize = __glGetTexEnvfv_size(pname);
   1963         GLfloat answerBuffer[200];
   1964         GLfloat *params =
   1965             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1966                                  sizeof(answerBuffer), 4);
   1967 
   1968         if (params == NULL)
   1969             return BadAlloc;
   1970         __glXClearErrorOccured();
   1971 
   1972         glGetTexEnvfv(*(GLenum *) (pc + 0), pname, params);
   1973         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   1974         error = Success;
   1975     }
   1976 
   1977     return error;
   1978 }
   1979 
   1980 int
   1981 __glXDisp_GetTexEnviv(__GLXclientState * cl, GLbyte * pc)
   1982 {
   1983     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   1984     int error;
   1985     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   1986 
   1987     pc += __GLX_SINGLE_HDR_SIZE;
   1988     if (cx != NULL) {
   1989         const GLenum pname = *(GLenum *) (pc + 4);
   1990 
   1991         const GLuint compsize = __glGetTexEnviv_size(pname);
   1992         GLint answerBuffer[200];
   1993         GLint *params =
   1994             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   1995                                  sizeof(answerBuffer), 4);
   1996 
   1997         if (params == NULL)
   1998             return BadAlloc;
   1999         __glXClearErrorOccured();
   2000 
   2001         glGetTexEnviv(*(GLenum *) (pc + 0), pname, params);
   2002         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2003         error = Success;
   2004     }
   2005 
   2006     return error;
   2007 }
   2008 
   2009 int
   2010 __glXDisp_GetTexGendv(__GLXclientState * cl, GLbyte * pc)
   2011 {
   2012     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2013     int error;
   2014     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2015 
   2016     pc += __GLX_SINGLE_HDR_SIZE;
   2017     if (cx != NULL) {
   2018         const GLenum pname = *(GLenum *) (pc + 4);
   2019 
   2020         const GLuint compsize = __glGetTexGendv_size(pname);
   2021         GLdouble answerBuffer[200];
   2022         GLdouble *params =
   2023             __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
   2024                                  sizeof(answerBuffer), 8);
   2025 
   2026         if (params == NULL)
   2027             return BadAlloc;
   2028         __glXClearErrorOccured();
   2029 
   2030         glGetTexGendv(*(GLenum *) (pc + 0), pname, params);
   2031         __glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0);
   2032         error = Success;
   2033     }
   2034 
   2035     return error;
   2036 }
   2037 
   2038 int
   2039 __glXDisp_GetTexGenfv(__GLXclientState * cl, GLbyte * pc)
   2040 {
   2041     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2042     int error;
   2043     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2044 
   2045     pc += __GLX_SINGLE_HDR_SIZE;
   2046     if (cx != NULL) {
   2047         const GLenum pname = *(GLenum *) (pc + 4);
   2048 
   2049         const GLuint compsize = __glGetTexGenfv_size(pname);
   2050         GLfloat answerBuffer[200];
   2051         GLfloat *params =
   2052             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2053                                  sizeof(answerBuffer), 4);
   2054 
   2055         if (params == NULL)
   2056             return BadAlloc;
   2057         __glXClearErrorOccured();
   2058 
   2059         glGetTexGenfv(*(GLenum *) (pc + 0), pname, params);
   2060         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2061         error = Success;
   2062     }
   2063 
   2064     return error;
   2065 }
   2066 
   2067 int
   2068 __glXDisp_GetTexGeniv(__GLXclientState * cl, GLbyte * pc)
   2069 {
   2070     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2071     int error;
   2072     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2073 
   2074     pc += __GLX_SINGLE_HDR_SIZE;
   2075     if (cx != NULL) {
   2076         const GLenum pname = *(GLenum *) (pc + 4);
   2077 
   2078         const GLuint compsize = __glGetTexGeniv_size(pname);
   2079         GLint answerBuffer[200];
   2080         GLint *params =
   2081             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2082                                  sizeof(answerBuffer), 4);
   2083 
   2084         if (params == NULL)
   2085             return BadAlloc;
   2086         __glXClearErrorOccured();
   2087 
   2088         glGetTexGeniv(*(GLenum *) (pc + 0), pname, params);
   2089         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2090         error = Success;
   2091     }
   2092 
   2093     return error;
   2094 }
   2095 
   2096 int
   2097 __glXDisp_GetTexParameterfv(__GLXclientState * cl, GLbyte * pc)
   2098 {
   2099     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2100     int error;
   2101     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2102 
   2103     pc += __GLX_SINGLE_HDR_SIZE;
   2104     if (cx != NULL) {
   2105         const GLenum pname = *(GLenum *) (pc + 4);
   2106 
   2107         const GLuint compsize = __glGetTexParameterfv_size(pname);
   2108         GLfloat answerBuffer[200];
   2109         GLfloat *params =
   2110             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2111                                  sizeof(answerBuffer), 4);
   2112 
   2113         if (params == NULL)
   2114             return BadAlloc;
   2115         __glXClearErrorOccured();
   2116 
   2117         glGetTexParameterfv(*(GLenum *) (pc + 0), pname, params);
   2118         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2119         error = Success;
   2120     }
   2121 
   2122     return error;
   2123 }
   2124 
   2125 int
   2126 __glXDisp_GetTexParameteriv(__GLXclientState * cl, GLbyte * pc)
   2127 {
   2128     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2129     int error;
   2130     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2131 
   2132     pc += __GLX_SINGLE_HDR_SIZE;
   2133     if (cx != NULL) {
   2134         const GLenum pname = *(GLenum *) (pc + 4);
   2135 
   2136         const GLuint compsize = __glGetTexParameteriv_size(pname);
   2137         GLint answerBuffer[200];
   2138         GLint *params =
   2139             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2140                                  sizeof(answerBuffer), 4);
   2141 
   2142         if (params == NULL)
   2143             return BadAlloc;
   2144         __glXClearErrorOccured();
   2145 
   2146         glGetTexParameteriv(*(GLenum *) (pc + 0), pname, params);
   2147         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2148         error = Success;
   2149     }
   2150 
   2151     return error;
   2152 }
   2153 
   2154 int
   2155 __glXDisp_GetTexLevelParameterfv(__GLXclientState * cl, GLbyte * pc)
   2156 {
   2157     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2158     int error;
   2159     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2160 
   2161     pc += __GLX_SINGLE_HDR_SIZE;
   2162     if (cx != NULL) {
   2163         const GLenum pname = *(GLenum *) (pc + 8);
   2164 
   2165         const GLuint compsize = __glGetTexLevelParameterfv_size(pname);
   2166         GLfloat answerBuffer[200];
   2167         GLfloat *params =
   2168             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2169                                  sizeof(answerBuffer), 4);
   2170 
   2171         if (params == NULL)
   2172             return BadAlloc;
   2173         __glXClearErrorOccured();
   2174 
   2175         glGetTexLevelParameterfv(*(GLenum *) (pc + 0),
   2176                                  *(GLint *) (pc + 4), pname, params);
   2177         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2178         error = Success;
   2179     }
   2180 
   2181     return error;
   2182 }
   2183 
   2184 int
   2185 __glXDisp_GetTexLevelParameteriv(__GLXclientState * cl, GLbyte * pc)
   2186 {
   2187     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2188     int error;
   2189     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2190 
   2191     pc += __GLX_SINGLE_HDR_SIZE;
   2192     if (cx != NULL) {
   2193         const GLenum pname = *(GLenum *) (pc + 8);
   2194 
   2195         const GLuint compsize = __glGetTexLevelParameteriv_size(pname);
   2196         GLint answerBuffer[200];
   2197         GLint *params =
   2198             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2199                                  sizeof(answerBuffer), 4);
   2200 
   2201         if (params == NULL)
   2202             return BadAlloc;
   2203         __glXClearErrorOccured();
   2204 
   2205         glGetTexLevelParameteriv(*(GLenum *) (pc + 0),
   2206                                  *(GLint *) (pc + 4), pname, params);
   2207         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2208         error = Success;
   2209     }
   2210 
   2211     return error;
   2212 }
   2213 
   2214 int
   2215 __glXDisp_IsEnabled(__GLXclientState * cl, GLbyte * pc)
   2216 {
   2217     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2218     int error;
   2219     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2220 
   2221     pc += __GLX_SINGLE_HDR_SIZE;
   2222     if (cx != NULL) {
   2223         GLboolean retval;
   2224 
   2225         retval = glIsEnabled(*(GLenum *) (pc + 0));
   2226         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   2227         error = Success;
   2228     }
   2229 
   2230     return error;
   2231 }
   2232 
   2233 int
   2234 __glXDisp_IsList(__GLXclientState * cl, GLbyte * pc)
   2235 {
   2236     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2237     int error;
   2238     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2239 
   2240     pc += __GLX_SINGLE_HDR_SIZE;
   2241     if (cx != NULL) {
   2242         GLboolean retval;
   2243 
   2244         retval = glIsList(*(GLuint *) (pc + 0));
   2245         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   2246         error = Success;
   2247     }
   2248 
   2249     return error;
   2250 }
   2251 
   2252 void
   2253 __glXDisp_DepthRange(GLbyte * pc)
   2254 {
   2255 #ifdef __GLX_ALIGN64
   2256     if ((unsigned long) (pc) & 7) {
   2257         (void) memmove(pc - 4, pc, 16);
   2258         pc -= 4;
   2259     }
   2260 #endif
   2261 
   2262     glDepthRange(*(GLclampd *) (pc + 0), *(GLclampd *) (pc + 8));
   2263 }
   2264 
   2265 void
   2266 __glXDisp_Frustum(GLbyte * pc)
   2267 {
   2268 #ifdef __GLX_ALIGN64
   2269     if ((unsigned long) (pc) & 7) {
   2270         (void) memmove(pc - 4, pc, 48);
   2271         pc -= 4;
   2272     }
   2273 #endif
   2274 
   2275     glFrustum(*(GLdouble *) (pc + 0),
   2276               *(GLdouble *) (pc + 8),
   2277               *(GLdouble *) (pc + 16),
   2278               *(GLdouble *) (pc + 24),
   2279               *(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40));
   2280 }
   2281 
   2282 void
   2283 __glXDisp_LoadIdentity(GLbyte * pc)
   2284 {
   2285     glLoadIdentity();
   2286 }
   2287 
   2288 void
   2289 __glXDisp_LoadMatrixf(GLbyte * pc)
   2290 {
   2291     glLoadMatrixf((const GLfloat *) (pc + 0));
   2292 }
   2293 
   2294 void
   2295 __glXDisp_LoadMatrixd(GLbyte * pc)
   2296 {
   2297 #ifdef __GLX_ALIGN64
   2298     if ((unsigned long) (pc) & 7) {
   2299         (void) memmove(pc - 4, pc, 128);
   2300         pc -= 4;
   2301     }
   2302 #endif
   2303 
   2304     glLoadMatrixd((const GLdouble *) (pc + 0));
   2305 }
   2306 
   2307 void
   2308 __glXDisp_MatrixMode(GLbyte * pc)
   2309 {
   2310     glMatrixMode(*(GLenum *) (pc + 0));
   2311 }
   2312 
   2313 void
   2314 __glXDisp_MultMatrixf(GLbyte * pc)
   2315 {
   2316     glMultMatrixf((const GLfloat *) (pc + 0));
   2317 }
   2318 
   2319 void
   2320 __glXDisp_MultMatrixd(GLbyte * pc)
   2321 {
   2322 #ifdef __GLX_ALIGN64
   2323     if ((unsigned long) (pc) & 7) {
   2324         (void) memmove(pc - 4, pc, 128);
   2325         pc -= 4;
   2326     }
   2327 #endif
   2328 
   2329     glMultMatrixd((const GLdouble *) (pc + 0));
   2330 }
   2331 
   2332 void
   2333 __glXDisp_Ortho(GLbyte * pc)
   2334 {
   2335 #ifdef __GLX_ALIGN64
   2336     if ((unsigned long) (pc) & 7) {
   2337         (void) memmove(pc - 4, pc, 48);
   2338         pc -= 4;
   2339     }
   2340 #endif
   2341 
   2342     glOrtho(*(GLdouble *) (pc + 0),
   2343             *(GLdouble *) (pc + 8),
   2344             *(GLdouble *) (pc + 16),
   2345             *(GLdouble *) (pc + 24),
   2346             *(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40));
   2347 }
   2348 
   2349 void
   2350 __glXDisp_PopMatrix(GLbyte * pc)
   2351 {
   2352     glPopMatrix();
   2353 }
   2354 
   2355 void
   2356 __glXDisp_PushMatrix(GLbyte * pc)
   2357 {
   2358     glPushMatrix();
   2359 }
   2360 
   2361 void
   2362 __glXDisp_Rotated(GLbyte * pc)
   2363 {
   2364 #ifdef __GLX_ALIGN64
   2365     if ((unsigned long) (pc) & 7) {
   2366         (void) memmove(pc - 4, pc, 32);
   2367         pc -= 4;
   2368     }
   2369 #endif
   2370 
   2371     glRotated(*(GLdouble *) (pc + 0),
   2372               *(GLdouble *) (pc + 8),
   2373               *(GLdouble *) (pc + 16), *(GLdouble *) (pc + 24));
   2374 }
   2375 
   2376 void
   2377 __glXDisp_Rotatef(GLbyte * pc)
   2378 {
   2379     glRotatef(*(GLfloat *) (pc + 0),
   2380               *(GLfloat *) (pc + 4),
   2381               *(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12));
   2382 }
   2383 
   2384 void
   2385 __glXDisp_Scaled(GLbyte * pc)
   2386 {
   2387 #ifdef __GLX_ALIGN64
   2388     if ((unsigned long) (pc) & 7) {
   2389         (void) memmove(pc - 4, pc, 24);
   2390         pc -= 4;
   2391     }
   2392 #endif
   2393 
   2394     glScaled(*(GLdouble *) (pc + 0),
   2395              *(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16));
   2396 }
   2397 
   2398 void
   2399 __glXDisp_Scalef(GLbyte * pc)
   2400 {
   2401     glScalef(*(GLfloat *) (pc + 0),
   2402              *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
   2403 }
   2404 
   2405 void
   2406 __glXDisp_Translated(GLbyte * pc)
   2407 {
   2408 #ifdef __GLX_ALIGN64
   2409     if ((unsigned long) (pc) & 7) {
   2410         (void) memmove(pc - 4, pc, 24);
   2411         pc -= 4;
   2412     }
   2413 #endif
   2414 
   2415     glTranslated(*(GLdouble *) (pc + 0),
   2416                  *(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16));
   2417 }
   2418 
   2419 void
   2420 __glXDisp_Translatef(GLbyte * pc)
   2421 {
   2422     glTranslatef(*(GLfloat *) (pc + 0),
   2423                  *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
   2424 }
   2425 
   2426 void
   2427 __glXDisp_Viewport(GLbyte * pc)
   2428 {
   2429     glViewport(*(GLint *) (pc + 0),
   2430                *(GLint *) (pc + 4),
   2431                *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
   2432 }
   2433 
   2434 void
   2435 __glXDisp_BindTexture(GLbyte * pc)
   2436 {
   2437     glBindTexture(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
   2438 }
   2439 
   2440 void
   2441 __glXDisp_Indexubv(GLbyte * pc)
   2442 {
   2443     glIndexubv((const GLubyte *) (pc + 0));
   2444 }
   2445 
   2446 void
   2447 __glXDisp_PolygonOffset(GLbyte * pc)
   2448 {
   2449     glPolygonOffset(*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4));
   2450 }
   2451 
   2452 int
   2453 __glXDisp_AreTexturesResident(__GLXclientState * cl, GLbyte * pc)
   2454 {
   2455     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2456     int error;
   2457     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2458 
   2459     pc += __GLX_SINGLE_HDR_SIZE;
   2460     if (cx != NULL) {
   2461         const GLsizei n = *(GLsizei *) (pc + 0);
   2462 
   2463         GLboolean retval;
   2464         GLboolean answerBuffer[200];
   2465         GLboolean *residences =
   2466             __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
   2467 
   2468         if (residences == NULL)
   2469             return BadAlloc;
   2470         retval =
   2471             glAreTexturesResident(n, (const GLuint *) (pc + 4), residences);
   2472         __glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval);
   2473         error = Success;
   2474     }
   2475 
   2476     return error;
   2477 }
   2478 
   2479 int
   2480 __glXDisp_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc)
   2481 {
   2482     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   2483     int error;
   2484     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2485 
   2486     pc += __GLX_VENDPRIV_HDR_SIZE;
   2487     if (cx != NULL) {
   2488         const GLsizei n = *(GLsizei *) (pc + 0);
   2489 
   2490         GLboolean retval;
   2491         GLboolean answerBuffer[200];
   2492         GLboolean *residences =
   2493             __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
   2494 
   2495         if (residences == NULL)
   2496             return BadAlloc;
   2497         retval =
   2498             glAreTexturesResident(n, (const GLuint *) (pc + 4), residences);
   2499         __glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval);
   2500         error = Success;
   2501     }
   2502 
   2503     return error;
   2504 }
   2505 
   2506 void
   2507 __glXDisp_CopyTexImage1D(GLbyte * pc)
   2508 {
   2509     glCopyTexImage1D(*(GLenum *) (pc + 0),
   2510                      *(GLint *) (pc + 4),
   2511                      *(GLenum *) (pc + 8),
   2512                      *(GLint *) (pc + 12),
   2513                      *(GLint *) (pc + 16),
   2514                      *(GLsizei *) (pc + 20), *(GLint *) (pc + 24));
   2515 }
   2516 
   2517 void
   2518 __glXDisp_CopyTexImage2D(GLbyte * pc)
   2519 {
   2520     glCopyTexImage2D(*(GLenum *) (pc + 0),
   2521                      *(GLint *) (pc + 4),
   2522                      *(GLenum *) (pc + 8),
   2523                      *(GLint *) (pc + 12),
   2524                      *(GLint *) (pc + 16),
   2525                      *(GLsizei *) (pc + 20),
   2526                      *(GLsizei *) (pc + 24), *(GLint *) (pc + 28));
   2527 }
   2528 
   2529 void
   2530 __glXDisp_CopyTexSubImage1D(GLbyte * pc)
   2531 {
   2532     glCopyTexSubImage1D(*(GLenum *) (pc + 0),
   2533                         *(GLint *) (pc + 4),
   2534                         *(GLint *) (pc + 8),
   2535                         *(GLint *) (pc + 12),
   2536                         *(GLint *) (pc + 16), *(GLsizei *) (pc + 20));
   2537 }
   2538 
   2539 void
   2540 __glXDisp_CopyTexSubImage2D(GLbyte * pc)
   2541 {
   2542     glCopyTexSubImage2D(*(GLenum *) (pc + 0),
   2543                         *(GLint *) (pc + 4),
   2544                         *(GLint *) (pc + 8),
   2545                         *(GLint *) (pc + 12),
   2546                         *(GLint *) (pc + 16),
   2547                         *(GLint *) (pc + 20),
   2548                         *(GLsizei *) (pc + 24), *(GLsizei *) (pc + 28));
   2549 }
   2550 
   2551 int
   2552 __glXDisp_DeleteTextures(__GLXclientState * cl, GLbyte * pc)
   2553 {
   2554     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2555     int error;
   2556     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2557 
   2558     pc += __GLX_SINGLE_HDR_SIZE;
   2559     if (cx != NULL) {
   2560         const GLsizei n = *(GLsizei *) (pc + 0);
   2561 
   2562         glDeleteTextures(n, (const GLuint *) (pc + 4));
   2563         error = Success;
   2564     }
   2565 
   2566     return error;
   2567 }
   2568 
   2569 int
   2570 __glXDisp_DeleteTexturesEXT(__GLXclientState * cl, GLbyte * pc)
   2571 {
   2572     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   2573     int error;
   2574     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2575 
   2576     pc += __GLX_VENDPRIV_HDR_SIZE;
   2577     if (cx != NULL) {
   2578         const GLsizei n = *(GLsizei *) (pc + 0);
   2579 
   2580         glDeleteTextures(n, (const GLuint *) (pc + 4));
   2581         error = Success;
   2582     }
   2583 
   2584     return error;
   2585 }
   2586 
   2587 int
   2588 __glXDisp_GenTextures(__GLXclientState * cl, GLbyte * pc)
   2589 {
   2590     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2591     int error;
   2592     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2593 
   2594     pc += __GLX_SINGLE_HDR_SIZE;
   2595     if (cx != NULL) {
   2596         const GLsizei n = *(GLsizei *) (pc + 0);
   2597 
   2598         GLuint answerBuffer[200];
   2599         GLuint *textures =
   2600             __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
   2601                                  4);
   2602 
   2603         if (textures == NULL)
   2604             return BadAlloc;
   2605         glGenTextures(n, textures);
   2606         __glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0);
   2607         error = Success;
   2608     }
   2609 
   2610     return error;
   2611 }
   2612 
   2613 int
   2614 __glXDisp_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc)
   2615 {
   2616     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   2617     int error;
   2618     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2619 
   2620     pc += __GLX_VENDPRIV_HDR_SIZE;
   2621     if (cx != NULL) {
   2622         const GLsizei n = *(GLsizei *) (pc + 0);
   2623 
   2624         GLuint answerBuffer[200];
   2625         GLuint *textures =
   2626             __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
   2627                                  4);
   2628 
   2629         if (textures == NULL)
   2630             return BadAlloc;
   2631         glGenTextures(n, textures);
   2632         __glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0);
   2633         error = Success;
   2634     }
   2635 
   2636     return error;
   2637 }
   2638 
   2639 int
   2640 __glXDisp_IsTexture(__GLXclientState * cl, GLbyte * pc)
   2641 {
   2642     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2643     int error;
   2644     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2645 
   2646     pc += __GLX_SINGLE_HDR_SIZE;
   2647     if (cx != NULL) {
   2648         GLboolean retval;
   2649 
   2650         retval = glIsTexture(*(GLuint *) (pc + 0));
   2651         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   2652         error = Success;
   2653     }
   2654 
   2655     return error;
   2656 }
   2657 
   2658 int
   2659 __glXDisp_IsTextureEXT(__GLXclientState * cl, GLbyte * pc)
   2660 {
   2661     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   2662     int error;
   2663     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2664 
   2665     pc += __GLX_VENDPRIV_HDR_SIZE;
   2666     if (cx != NULL) {
   2667         GLboolean retval;
   2668 
   2669         retval = glIsTexture(*(GLuint *) (pc + 0));
   2670         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   2671         error = Success;
   2672     }
   2673 
   2674     return error;
   2675 }
   2676 
   2677 void
   2678 __glXDisp_PrioritizeTextures(GLbyte * pc)
   2679 {
   2680     const GLsizei n = *(GLsizei *) (pc + 0);
   2681 
   2682     glPrioritizeTextures(n,
   2683                          (const GLuint *) (pc + 4),
   2684                          (const GLclampf *) (pc + 4));
   2685 }
   2686 
   2687 void
   2688 __glXDisp_TexSubImage1D(GLbyte * pc)
   2689 {
   2690     const GLvoid *const pixels = (const GLvoid *) ((pc + 56));
   2691     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
   2692 
   2693     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   2694     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   2695     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   2696     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   2697     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   2698     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   2699 
   2700     glTexSubImage1D(*(GLenum *) (pc + 20),
   2701                     *(GLint *) (pc + 24),
   2702                     *(GLint *) (pc + 28),
   2703                     *(GLsizei *) (pc + 36),
   2704                     *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
   2705 }
   2706 
   2707 void
   2708 __glXDisp_TexSubImage2D(GLbyte * pc)
   2709 {
   2710     const GLvoid *const pixels = (const GLvoid *) ((pc + 56));
   2711     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
   2712 
   2713     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   2714     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   2715     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   2716     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   2717     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   2718     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   2719 
   2720     glTexSubImage2D(*(GLenum *) (pc + 20),
   2721                     *(GLint *) (pc + 24),
   2722                     *(GLint *) (pc + 28),
   2723                     *(GLint *) (pc + 32),
   2724                     *(GLsizei *) (pc + 36),
   2725                     *(GLsizei *) (pc + 40),
   2726                     *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
   2727 }
   2728 
   2729 void
   2730 __glXDisp_BlendColor(GLbyte * pc)
   2731 {
   2732     glBlendColor(*(GLclampf *) (pc + 0),
   2733                  *(GLclampf *) (pc + 4),
   2734                  *(GLclampf *) (pc + 8), *(GLclampf *) (pc + 12));
   2735 }
   2736 
   2737 void
   2738 __glXDisp_BlendEquation(GLbyte * pc)
   2739 {
   2740     glBlendEquation(*(GLenum *) (pc + 0));
   2741 }
   2742 
   2743 void
   2744 __glXDisp_ColorTable(GLbyte * pc)
   2745 {
   2746     const GLvoid *const table = (const GLvoid *) ((pc + 40));
   2747     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
   2748 
   2749     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   2750     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   2751     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   2752     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   2753     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   2754     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   2755 
   2756     glColorTable(*(GLenum *) (pc + 20),
   2757                  *(GLenum *) (pc + 24),
   2758                  *(GLsizei *) (pc + 28),
   2759                  *(GLenum *) (pc + 32), *(GLenum *) (pc + 36), table);
   2760 }
   2761 
   2762 void
   2763 __glXDisp_ColorTableParameterfv(GLbyte * pc)
   2764 {
   2765     const GLenum pname = *(GLenum *) (pc + 4);
   2766     const GLfloat *params;
   2767 
   2768     params = (const GLfloat *) (pc + 8);
   2769 
   2770     glColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
   2771 }
   2772 
   2773 void
   2774 __glXDisp_ColorTableParameteriv(GLbyte * pc)
   2775 {
   2776     const GLenum pname = *(GLenum *) (pc + 4);
   2777     const GLint *params;
   2778 
   2779     params = (const GLint *) (pc + 8);
   2780 
   2781     glColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
   2782 }
   2783 
   2784 void
   2785 __glXDisp_CopyColorTable(GLbyte * pc)
   2786 {
   2787     glCopyColorTable(*(GLenum *) (pc + 0),
   2788                      *(GLenum *) (pc + 4),
   2789                      *(GLint *) (pc + 8),
   2790                      *(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
   2791 }
   2792 
   2793 int
   2794 __glXDisp_GetColorTableParameterfv(__GLXclientState * cl, GLbyte * pc)
   2795 {
   2796     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2797     int error;
   2798     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2799 
   2800     pc += __GLX_SINGLE_HDR_SIZE;
   2801     if (cx != NULL) {
   2802         const GLenum pname = *(GLenum *) (pc + 4);
   2803 
   2804         const GLuint compsize = __glGetColorTableParameterfv_size(pname);
   2805         GLfloat answerBuffer[200];
   2806         GLfloat *params =
   2807             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2808                                  sizeof(answerBuffer), 4);
   2809 
   2810         if (params == NULL)
   2811             return BadAlloc;
   2812         __glXClearErrorOccured();
   2813 
   2814         glGetColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
   2815         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2816         error = Success;
   2817     }
   2818 
   2819     return error;
   2820 }
   2821 
   2822 int
   2823 __glXDisp_GetColorTableParameterfvSGI(__GLXclientState * cl, GLbyte * pc)
   2824 {
   2825     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   2826     int error;
   2827     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2828 
   2829     pc += __GLX_VENDPRIV_HDR_SIZE;
   2830     if (cx != NULL) {
   2831         const GLenum pname = *(GLenum *) (pc + 4);
   2832 
   2833         const GLuint compsize = __glGetColorTableParameterfv_size(pname);
   2834         GLfloat answerBuffer[200];
   2835         GLfloat *params =
   2836             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2837                                  sizeof(answerBuffer), 4);
   2838 
   2839         if (params == NULL)
   2840             return BadAlloc;
   2841         __glXClearErrorOccured();
   2842 
   2843         glGetColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
   2844         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2845         error = Success;
   2846     }
   2847 
   2848     return error;
   2849 }
   2850 
   2851 int
   2852 __glXDisp_GetColorTableParameteriv(__GLXclientState * cl, GLbyte * pc)
   2853 {
   2854     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   2855     int error;
   2856     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2857 
   2858     pc += __GLX_SINGLE_HDR_SIZE;
   2859     if (cx != NULL) {
   2860         const GLenum pname = *(GLenum *) (pc + 4);
   2861 
   2862         const GLuint compsize = __glGetColorTableParameteriv_size(pname);
   2863         GLint answerBuffer[200];
   2864         GLint *params =
   2865             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2866                                  sizeof(answerBuffer), 4);
   2867 
   2868         if (params == NULL)
   2869             return BadAlloc;
   2870         __glXClearErrorOccured();
   2871 
   2872         glGetColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
   2873         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2874         error = Success;
   2875     }
   2876 
   2877     return error;
   2878 }
   2879 
   2880 int
   2881 __glXDisp_GetColorTableParameterivSGI(__GLXclientState * cl, GLbyte * pc)
   2882 {
   2883     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   2884     int error;
   2885     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   2886 
   2887     pc += __GLX_VENDPRIV_HDR_SIZE;
   2888     if (cx != NULL) {
   2889         const GLenum pname = *(GLenum *) (pc + 4);
   2890 
   2891         const GLuint compsize = __glGetColorTableParameteriv_size(pname);
   2892         GLint answerBuffer[200];
   2893         GLint *params =
   2894             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   2895                                  sizeof(answerBuffer), 4);
   2896 
   2897         if (params == NULL)
   2898             return BadAlloc;
   2899         __glXClearErrorOccured();
   2900 
   2901         glGetColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
   2902         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   2903         error = Success;
   2904     }
   2905 
   2906     return error;
   2907 }
   2908 
   2909 void
   2910 __glXDisp_ColorSubTable(GLbyte * pc)
   2911 {
   2912     const GLvoid *const data = (const GLvoid *) ((pc + 40));
   2913     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
   2914 
   2915     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   2916     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   2917     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   2918     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   2919     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   2920     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   2921 
   2922     glColorSubTable(*(GLenum *) (pc + 20),
   2923                     *(GLsizei *) (pc + 24),
   2924                     *(GLsizei *) (pc + 28),
   2925                     *(GLenum *) (pc + 32), *(GLenum *) (pc + 36), data);
   2926 }
   2927 
   2928 void
   2929 __glXDisp_CopyColorSubTable(GLbyte * pc)
   2930 {
   2931     glCopyColorSubTable(*(GLenum *) (pc + 0),
   2932                         *(GLsizei *) (pc + 4),
   2933                         *(GLint *) (pc + 8),
   2934                         *(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
   2935 }
   2936 
   2937 void
   2938 __glXDisp_ConvolutionFilter1D(GLbyte * pc)
   2939 {
   2940     const GLvoid *const image = (const GLvoid *) ((pc + 44));
   2941     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
   2942 
   2943     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   2944     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   2945     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   2946     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   2947     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   2948     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   2949 
   2950     glConvolutionFilter1D(*(GLenum *) (pc + 20),
   2951                           *(GLenum *) (pc + 24),
   2952                           *(GLsizei *) (pc + 28),
   2953                           *(GLenum *) (pc + 36), *(GLenum *) (pc + 40), image);
   2954 }
   2955 
   2956 void
   2957 __glXDisp_ConvolutionFilter2D(GLbyte * pc)
   2958 {
   2959     const GLvoid *const image = (const GLvoid *) ((pc + 44));
   2960     __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
   2961 
   2962     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   2963     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   2964     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   2965     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   2966     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   2967     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   2968 
   2969     glConvolutionFilter2D(*(GLenum *) (pc + 20),
   2970                           *(GLenum *) (pc + 24),
   2971                           *(GLsizei *) (pc + 28),
   2972                           *(GLsizei *) (pc + 32),
   2973                           *(GLenum *) (pc + 36), *(GLenum *) (pc + 40), image);
   2974 }
   2975 
   2976 void
   2977 __glXDisp_ConvolutionParameterf(GLbyte * pc)
   2978 {
   2979     glConvolutionParameterf(*(GLenum *) (pc + 0),
   2980                             *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
   2981 }
   2982 
   2983 void
   2984 __glXDisp_ConvolutionParameterfv(GLbyte * pc)
   2985 {
   2986     const GLenum pname = *(GLenum *) (pc + 4);
   2987     const GLfloat *params;
   2988 
   2989     params = (const GLfloat *) (pc + 8);
   2990 
   2991     glConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
   2992 }
   2993 
   2994 void
   2995 __glXDisp_ConvolutionParameteri(GLbyte * pc)
   2996 {
   2997     glConvolutionParameteri(*(GLenum *) (pc + 0),
   2998                             *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
   2999 }
   3000 
   3001 void
   3002 __glXDisp_ConvolutionParameteriv(GLbyte * pc)
   3003 {
   3004     const GLenum pname = *(GLenum *) (pc + 4);
   3005     const GLint *params;
   3006 
   3007     params = (const GLint *) (pc + 8);
   3008 
   3009     glConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
   3010 }
   3011 
   3012 void
   3013 __glXDisp_CopyConvolutionFilter1D(GLbyte * pc)
   3014 {
   3015     glCopyConvolutionFilter1D(*(GLenum *) (pc + 0),
   3016                               *(GLenum *) (pc + 4),
   3017                               *(GLint *) (pc + 8),
   3018                               *(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
   3019 }
   3020 
   3021 void
   3022 __glXDisp_CopyConvolutionFilter2D(GLbyte * pc)
   3023 {
   3024     glCopyConvolutionFilter2D(*(GLenum *) (pc + 0),
   3025                               *(GLenum *) (pc + 4),
   3026                               *(GLint *) (pc + 8),
   3027                               *(GLint *) (pc + 12),
   3028                               *(GLsizei *) (pc + 16), *(GLsizei *) (pc + 20));
   3029 }
   3030 
   3031 int
   3032 __glXDisp_GetConvolutionParameterfv(__GLXclientState * cl, GLbyte * pc)
   3033 {
   3034     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3035     int error;
   3036     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3037 
   3038     pc += __GLX_SINGLE_HDR_SIZE;
   3039     if (cx != NULL) {
   3040         const GLenum pname = *(GLenum *) (pc + 4);
   3041 
   3042         const GLuint compsize = __glGetConvolutionParameterfv_size(pname);
   3043         GLfloat answerBuffer[200];
   3044         GLfloat *params =
   3045             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3046                                  sizeof(answerBuffer), 4);
   3047 
   3048         if (params == NULL)
   3049             return BadAlloc;
   3050         __glXClearErrorOccured();
   3051 
   3052         glGetConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
   3053         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3054         error = Success;
   3055     }
   3056 
   3057     return error;
   3058 }
   3059 
   3060 int
   3061 __glXDisp_GetConvolutionParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
   3062 {
   3063     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   3064     int error;
   3065     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3066 
   3067     pc += __GLX_VENDPRIV_HDR_SIZE;
   3068     if (cx != NULL) {
   3069         const GLenum pname = *(GLenum *) (pc + 4);
   3070 
   3071         const GLuint compsize = __glGetConvolutionParameterfv_size(pname);
   3072         GLfloat answerBuffer[200];
   3073         GLfloat *params =
   3074             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3075                                  sizeof(answerBuffer), 4);
   3076 
   3077         if (params == NULL)
   3078             return BadAlloc;
   3079         __glXClearErrorOccured();
   3080 
   3081         glGetConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
   3082         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3083         error = Success;
   3084     }
   3085 
   3086     return error;
   3087 }
   3088 
   3089 int
   3090 __glXDisp_GetConvolutionParameteriv(__GLXclientState * cl, GLbyte * pc)
   3091 {
   3092     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3093     int error;
   3094     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3095 
   3096     pc += __GLX_SINGLE_HDR_SIZE;
   3097     if (cx != NULL) {
   3098         const GLenum pname = *(GLenum *) (pc + 4);
   3099 
   3100         const GLuint compsize = __glGetConvolutionParameteriv_size(pname);
   3101         GLint answerBuffer[200];
   3102         GLint *params =
   3103             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3104                                  sizeof(answerBuffer), 4);
   3105 
   3106         if (params == NULL)
   3107             return BadAlloc;
   3108         __glXClearErrorOccured();
   3109 
   3110         glGetConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
   3111         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3112         error = Success;
   3113     }
   3114 
   3115     return error;
   3116 }
   3117 
   3118 int
   3119 __glXDisp_GetConvolutionParameterivEXT(__GLXclientState * cl, GLbyte * pc)
   3120 {
   3121     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   3122     int error;
   3123     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3124 
   3125     pc += __GLX_VENDPRIV_HDR_SIZE;
   3126     if (cx != NULL) {
   3127         const GLenum pname = *(GLenum *) (pc + 4);
   3128 
   3129         const GLuint compsize = __glGetConvolutionParameteriv_size(pname);
   3130         GLint answerBuffer[200];
   3131         GLint *params =
   3132             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3133                                  sizeof(answerBuffer), 4);
   3134 
   3135         if (params == NULL)
   3136             return BadAlloc;
   3137         __glXClearErrorOccured();
   3138 
   3139         glGetConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
   3140         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3141         error = Success;
   3142     }
   3143 
   3144     return error;
   3145 }
   3146 
   3147 int
   3148 __glXDisp_GetHistogramParameterfv(__GLXclientState * cl, GLbyte * pc)
   3149 {
   3150     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3151     int error;
   3152     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3153 
   3154     pc += __GLX_SINGLE_HDR_SIZE;
   3155     if (cx != NULL) {
   3156         const GLenum pname = *(GLenum *) (pc + 4);
   3157 
   3158         const GLuint compsize = __glGetHistogramParameterfv_size(pname);
   3159         GLfloat answerBuffer[200];
   3160         GLfloat *params =
   3161             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3162                                  sizeof(answerBuffer), 4);
   3163 
   3164         if (params == NULL)
   3165             return BadAlloc;
   3166         __glXClearErrorOccured();
   3167 
   3168         glGetHistogramParameterfv(*(GLenum *) (pc + 0), pname, params);
   3169         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3170         error = Success;
   3171     }
   3172 
   3173     return error;
   3174 }
   3175 
   3176 int
   3177 __glXDisp_GetHistogramParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
   3178 {
   3179     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   3180     int error;
   3181     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3182 
   3183     pc += __GLX_VENDPRIV_HDR_SIZE;
   3184     if (cx != NULL) {
   3185         const GLenum pname = *(GLenum *) (pc + 4);
   3186 
   3187         const GLuint compsize = __glGetHistogramParameterfv_size(pname);
   3188         GLfloat answerBuffer[200];
   3189         GLfloat *params =
   3190             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3191                                  sizeof(answerBuffer), 4);
   3192 
   3193         if (params == NULL)
   3194             return BadAlloc;
   3195         __glXClearErrorOccured();
   3196 
   3197         glGetHistogramParameterfv(*(GLenum *) (pc + 0), pname, params);
   3198         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3199         error = Success;
   3200     }
   3201 
   3202     return error;
   3203 }
   3204 
   3205 int
   3206 __glXDisp_GetHistogramParameteriv(__GLXclientState * cl, GLbyte * pc)
   3207 {
   3208     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3209     int error;
   3210     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3211 
   3212     pc += __GLX_SINGLE_HDR_SIZE;
   3213     if (cx != NULL) {
   3214         const GLenum pname = *(GLenum *) (pc + 4);
   3215 
   3216         const GLuint compsize = __glGetHistogramParameteriv_size(pname);
   3217         GLint answerBuffer[200];
   3218         GLint *params =
   3219             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3220                                  sizeof(answerBuffer), 4);
   3221 
   3222         if (params == NULL)
   3223             return BadAlloc;
   3224         __glXClearErrorOccured();
   3225 
   3226         glGetHistogramParameteriv(*(GLenum *) (pc + 0), pname, params);
   3227         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3228         error = Success;
   3229     }
   3230 
   3231     return error;
   3232 }
   3233 
   3234 int
   3235 __glXDisp_GetHistogramParameterivEXT(__GLXclientState * cl, GLbyte * pc)
   3236 {
   3237     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   3238     int error;
   3239     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3240 
   3241     pc += __GLX_VENDPRIV_HDR_SIZE;
   3242     if (cx != NULL) {
   3243         const GLenum pname = *(GLenum *) (pc + 4);
   3244 
   3245         const GLuint compsize = __glGetHistogramParameteriv_size(pname);
   3246         GLint answerBuffer[200];
   3247         GLint *params =
   3248             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3249                                  sizeof(answerBuffer), 4);
   3250 
   3251         if (params == NULL)
   3252             return BadAlloc;
   3253         __glXClearErrorOccured();
   3254 
   3255         glGetHistogramParameteriv(*(GLenum *) (pc + 0), pname, params);
   3256         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3257         error = Success;
   3258     }
   3259 
   3260     return error;
   3261 }
   3262 
   3263 int
   3264 __glXDisp_GetMinmaxParameterfv(__GLXclientState * cl, GLbyte * pc)
   3265 {
   3266     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3267     int error;
   3268     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3269 
   3270     pc += __GLX_SINGLE_HDR_SIZE;
   3271     if (cx != NULL) {
   3272         const GLenum pname = *(GLenum *) (pc + 4);
   3273 
   3274         const GLuint compsize = __glGetMinmaxParameterfv_size(pname);
   3275         GLfloat answerBuffer[200];
   3276         GLfloat *params =
   3277             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3278                                  sizeof(answerBuffer), 4);
   3279 
   3280         if (params == NULL)
   3281             return BadAlloc;
   3282         __glXClearErrorOccured();
   3283 
   3284         glGetMinmaxParameterfv(*(GLenum *) (pc + 0), pname, params);
   3285         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3286         error = Success;
   3287     }
   3288 
   3289     return error;
   3290 }
   3291 
   3292 int
   3293 __glXDisp_GetMinmaxParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
   3294 {
   3295     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   3296     int error;
   3297     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3298 
   3299     pc += __GLX_VENDPRIV_HDR_SIZE;
   3300     if (cx != NULL) {
   3301         const GLenum pname = *(GLenum *) (pc + 4);
   3302 
   3303         const GLuint compsize = __glGetMinmaxParameterfv_size(pname);
   3304         GLfloat answerBuffer[200];
   3305         GLfloat *params =
   3306             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3307                                  sizeof(answerBuffer), 4);
   3308 
   3309         if (params == NULL)
   3310             return BadAlloc;
   3311         __glXClearErrorOccured();
   3312 
   3313         glGetMinmaxParameterfv(*(GLenum *) (pc + 0), pname, params);
   3314         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3315         error = Success;
   3316     }
   3317 
   3318     return error;
   3319 }
   3320 
   3321 int
   3322 __glXDisp_GetMinmaxParameteriv(__GLXclientState * cl, GLbyte * pc)
   3323 {
   3324     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3325     int error;
   3326     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3327 
   3328     pc += __GLX_SINGLE_HDR_SIZE;
   3329     if (cx != NULL) {
   3330         const GLenum pname = *(GLenum *) (pc + 4);
   3331 
   3332         const GLuint compsize = __glGetMinmaxParameteriv_size(pname);
   3333         GLint answerBuffer[200];
   3334         GLint *params =
   3335             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3336                                  sizeof(answerBuffer), 4);
   3337 
   3338         if (params == NULL)
   3339             return BadAlloc;
   3340         __glXClearErrorOccured();
   3341 
   3342         glGetMinmaxParameteriv(*(GLenum *) (pc + 0), pname, params);
   3343         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3344         error = Success;
   3345     }
   3346 
   3347     return error;
   3348 }
   3349 
   3350 int
   3351 __glXDisp_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc)
   3352 {
   3353     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   3354     int error;
   3355     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3356 
   3357     pc += __GLX_VENDPRIV_HDR_SIZE;
   3358     if (cx != NULL) {
   3359         const GLenum pname = *(GLenum *) (pc + 4);
   3360 
   3361         const GLuint compsize = __glGetMinmaxParameteriv_size(pname);
   3362         GLint answerBuffer[200];
   3363         GLint *params =
   3364             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3365                                  sizeof(answerBuffer), 4);
   3366 
   3367         if (params == NULL)
   3368             return BadAlloc;
   3369         __glXClearErrorOccured();
   3370 
   3371         glGetMinmaxParameteriv(*(GLenum *) (pc + 0), pname, params);
   3372         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3373         error = Success;
   3374     }
   3375 
   3376     return error;
   3377 }
   3378 
   3379 void
   3380 __glXDisp_Histogram(GLbyte * pc)
   3381 {
   3382     glHistogram(*(GLenum *) (pc + 0),
   3383                 *(GLsizei *) (pc + 4),
   3384                 *(GLenum *) (pc + 8), *(GLboolean *) (pc + 12));
   3385 }
   3386 
   3387 void
   3388 __glXDisp_Minmax(GLbyte * pc)
   3389 {
   3390     glMinmax(*(GLenum *) (pc + 0),
   3391              *(GLenum *) (pc + 4), *(GLboolean *) (pc + 8));
   3392 }
   3393 
   3394 void
   3395 __glXDisp_ResetHistogram(GLbyte * pc)
   3396 {
   3397     glResetHistogram(*(GLenum *) (pc + 0));
   3398 }
   3399 
   3400 void
   3401 __glXDisp_ResetMinmax(GLbyte * pc)
   3402 {
   3403     glResetMinmax(*(GLenum *) (pc + 0));
   3404 }
   3405 
   3406 void
   3407 __glXDisp_TexImage3D(GLbyte * pc)
   3408 {
   3409     const CARD32 ptr_is_null = *(CARD32 *) (pc + 76);
   3410     const GLvoid *const pixels =
   3411         (const GLvoid *) ((ptr_is_null != 0) ? NULL : (pc + 80));
   3412     __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc);
   3413 
   3414     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   3415     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   3416     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   3417     glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, (GLint) hdr->imageHeight);
   3418     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   3419     glPixelStorei(GL_UNPACK_SKIP_IMAGES, (GLint) hdr->skipImages);
   3420     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   3421     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   3422 
   3423     glTexImage3D(*(GLenum *) (pc + 36),
   3424                  *(GLint *) (pc + 40),
   3425                  *(GLint *) (pc + 44),
   3426                  *(GLsizei *) (pc + 48),
   3427                  *(GLsizei *) (pc + 52),
   3428                  *(GLsizei *) (pc + 56),
   3429                  *(GLint *) (pc + 64),
   3430                  *(GLenum *) (pc + 68), *(GLenum *) (pc + 72), pixels);
   3431 }
   3432 
   3433 void
   3434 __glXDisp_TexSubImage3D(GLbyte * pc)
   3435 {
   3436     const GLvoid *const pixels = (const GLvoid *) ((pc + 88));
   3437     __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc);
   3438 
   3439     glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
   3440     glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
   3441     glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
   3442     glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, (GLint) hdr->imageHeight);
   3443     glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
   3444     glPixelStorei(GL_UNPACK_SKIP_IMAGES, (GLint) hdr->skipImages);
   3445     glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
   3446     glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
   3447 
   3448     glTexSubImage3D(*(GLenum *) (pc + 36),
   3449                     *(GLint *) (pc + 40),
   3450                     *(GLint *) (pc + 44),
   3451                     *(GLint *) (pc + 48),
   3452                     *(GLint *) (pc + 52),
   3453                     *(GLsizei *) (pc + 60),
   3454                     *(GLsizei *) (pc + 64),
   3455                     *(GLsizei *) (pc + 68),
   3456                     *(GLenum *) (pc + 76), *(GLenum *) (pc + 80), pixels);
   3457 }
   3458 
   3459 void
   3460 __glXDisp_CopyTexSubImage3D(GLbyte * pc)
   3461 {
   3462     glCopyTexSubImage3D(*(GLenum *) (pc + 0),
   3463                         *(GLint *) (pc + 4),
   3464                         *(GLint *) (pc + 8),
   3465                         *(GLint *) (pc + 12),
   3466                         *(GLint *) (pc + 16),
   3467                         *(GLint *) (pc + 20),
   3468                         *(GLint *) (pc + 24),
   3469                         *(GLsizei *) (pc + 28), *(GLsizei *) (pc + 32));
   3470 }
   3471 
   3472 void
   3473 __glXDisp_ActiveTexture(GLbyte * pc)
   3474 {
   3475     glActiveTextureARB(*(GLenum *) (pc + 0));
   3476 }
   3477 
   3478 void
   3479 __glXDisp_MultiTexCoord1dv(GLbyte * pc)
   3480 {
   3481 #ifdef __GLX_ALIGN64
   3482     if ((unsigned long) (pc) & 7) {
   3483         (void) memmove(pc - 4, pc, 12);
   3484         pc -= 4;
   3485     }
   3486 #endif
   3487 
   3488     glMultiTexCoord1dvARB(*(GLenum *) (pc + 8), (const GLdouble *) (pc + 0));
   3489 }
   3490 
   3491 void
   3492 __glXDisp_MultiTexCoord1fvARB(GLbyte * pc)
   3493 {
   3494     glMultiTexCoord1fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
   3495 }
   3496 
   3497 void
   3498 __glXDisp_MultiTexCoord1iv(GLbyte * pc)
   3499 {
   3500     glMultiTexCoord1ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
   3501 }
   3502 
   3503 void
   3504 __glXDisp_MultiTexCoord1sv(GLbyte * pc)
   3505 {
   3506     glMultiTexCoord1svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
   3507 }
   3508 
   3509 void
   3510 __glXDisp_MultiTexCoord2dv(GLbyte * pc)
   3511 {
   3512 #ifdef __GLX_ALIGN64
   3513     if ((unsigned long) (pc) & 7) {
   3514         (void) memmove(pc - 4, pc, 20);
   3515         pc -= 4;
   3516     }
   3517 #endif
   3518 
   3519     glMultiTexCoord2dvARB(*(GLenum *) (pc + 16), (const GLdouble *) (pc + 0));
   3520 }
   3521 
   3522 void
   3523 __glXDisp_MultiTexCoord2fvARB(GLbyte * pc)
   3524 {
   3525     glMultiTexCoord2fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
   3526 }
   3527 
   3528 void
   3529 __glXDisp_MultiTexCoord2iv(GLbyte * pc)
   3530 {
   3531     glMultiTexCoord2ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
   3532 }
   3533 
   3534 void
   3535 __glXDisp_MultiTexCoord2sv(GLbyte * pc)
   3536 {
   3537     glMultiTexCoord2svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
   3538 }
   3539 
   3540 void
   3541 __glXDisp_MultiTexCoord3dv(GLbyte * pc)
   3542 {
   3543 #ifdef __GLX_ALIGN64
   3544     if ((unsigned long) (pc) & 7) {
   3545         (void) memmove(pc - 4, pc, 28);
   3546         pc -= 4;
   3547     }
   3548 #endif
   3549 
   3550     glMultiTexCoord3dvARB(*(GLenum *) (pc + 24), (const GLdouble *) (pc + 0));
   3551 }
   3552 
   3553 void
   3554 __glXDisp_MultiTexCoord3fvARB(GLbyte * pc)
   3555 {
   3556     glMultiTexCoord3fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
   3557 }
   3558 
   3559 void
   3560 __glXDisp_MultiTexCoord3iv(GLbyte * pc)
   3561 {
   3562     glMultiTexCoord3ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
   3563 }
   3564 
   3565 void
   3566 __glXDisp_MultiTexCoord3sv(GLbyte * pc)
   3567 {
   3568     glMultiTexCoord3svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
   3569 }
   3570 
   3571 void
   3572 __glXDisp_MultiTexCoord4dv(GLbyte * pc)
   3573 {
   3574 #ifdef __GLX_ALIGN64
   3575     if ((unsigned long) (pc) & 7) {
   3576         (void) memmove(pc - 4, pc, 36);
   3577         pc -= 4;
   3578     }
   3579 #endif
   3580 
   3581     glMultiTexCoord4dvARB(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0));
   3582 }
   3583 
   3584 void
   3585 __glXDisp_MultiTexCoord4fvARB(GLbyte * pc)
   3586 {
   3587     glMultiTexCoord4fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
   3588 }
   3589 
   3590 void
   3591 __glXDisp_MultiTexCoord4iv(GLbyte * pc)
   3592 {
   3593     glMultiTexCoord4ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
   3594 }
   3595 
   3596 void
   3597 __glXDisp_MultiTexCoord4sv(GLbyte * pc)
   3598 {
   3599     glMultiTexCoord4svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
   3600 }
   3601 
   3602 void
   3603 __glXDisp_CompressedTexImage1D(GLbyte * pc)
   3604 {
   3605     PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D =
   3606         __glGetProcAddress("glCompressedTexImage1D");
   3607     const GLsizei imageSize = *(GLsizei *) (pc + 20);
   3608 
   3609     CompressedTexImage1D(*(GLenum *) (pc + 0),
   3610                          *(GLint *) (pc + 4),
   3611                          *(GLenum *) (pc + 8),
   3612                          *(GLsizei *) (pc + 12),
   3613                          *(GLint *) (pc + 16),
   3614                          imageSize, (const GLvoid *) (pc + 24));
   3615 }
   3616 
   3617 void
   3618 __glXDisp_CompressedTexImage2D(GLbyte * pc)
   3619 {
   3620     PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D =
   3621         __glGetProcAddress("glCompressedTexImage2D");
   3622     const GLsizei imageSize = *(GLsizei *) (pc + 24);
   3623 
   3624     CompressedTexImage2D(*(GLenum *) (pc + 0),
   3625                          *(GLint *) (pc + 4),
   3626                          *(GLenum *) (pc + 8),
   3627                          *(GLsizei *) (pc + 12),
   3628                          *(GLsizei *) (pc + 16),
   3629                          *(GLint *) (pc + 20),
   3630                          imageSize, (const GLvoid *) (pc + 28));
   3631 }
   3632 
   3633 void
   3634 __glXDisp_CompressedTexImage3D(GLbyte * pc)
   3635 {
   3636     PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D =
   3637         __glGetProcAddress("glCompressedTexImage3D");
   3638     const GLsizei imageSize = *(GLsizei *) (pc + 28);
   3639 
   3640     CompressedTexImage3D(*(GLenum *) (pc + 0),
   3641                          *(GLint *) (pc + 4),
   3642                          *(GLenum *) (pc + 8),
   3643                          *(GLsizei *) (pc + 12),
   3644                          *(GLsizei *) (pc + 16),
   3645                          *(GLsizei *) (pc + 20),
   3646                          *(GLint *) (pc + 24),
   3647                          imageSize, (const GLvoid *) (pc + 32));
   3648 }
   3649 
   3650 void
   3651 __glXDisp_CompressedTexSubImage1D(GLbyte * pc)
   3652 {
   3653     PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D =
   3654         __glGetProcAddress("glCompressedTexSubImage1D");
   3655     const GLsizei imageSize = *(GLsizei *) (pc + 20);
   3656 
   3657     CompressedTexSubImage1D(*(GLenum *) (pc + 0),
   3658                             *(GLint *) (pc + 4),
   3659                             *(GLint *) (pc + 8),
   3660                             *(GLsizei *) (pc + 12),
   3661                             *(GLenum *) (pc + 16),
   3662                             imageSize, (const GLvoid *) (pc + 24));
   3663 }
   3664 
   3665 void
   3666 __glXDisp_CompressedTexSubImage2D(GLbyte * pc)
   3667 {
   3668     PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D =
   3669         __glGetProcAddress("glCompressedTexSubImage2D");
   3670     const GLsizei imageSize = *(GLsizei *) (pc + 28);
   3671 
   3672     CompressedTexSubImage2D(*(GLenum *) (pc + 0),
   3673                             *(GLint *) (pc + 4),
   3674                             *(GLint *) (pc + 8),
   3675                             *(GLint *) (pc + 12),
   3676                             *(GLsizei *) (pc + 16),
   3677                             *(GLsizei *) (pc + 20),
   3678                             *(GLenum *) (pc + 24),
   3679                             imageSize, (const GLvoid *) (pc + 32));
   3680 }
   3681 
   3682 void
   3683 __glXDisp_CompressedTexSubImage3D(GLbyte * pc)
   3684 {
   3685     PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D =
   3686         __glGetProcAddress("glCompressedTexSubImage3D");
   3687     const GLsizei imageSize = *(GLsizei *) (pc + 36);
   3688 
   3689     CompressedTexSubImage3D(*(GLenum *) (pc + 0),
   3690                             *(GLint *) (pc + 4),
   3691                             *(GLint *) (pc + 8),
   3692                             *(GLint *) (pc + 12),
   3693                             *(GLint *) (pc + 16),
   3694                             *(GLsizei *) (pc + 20),
   3695                             *(GLsizei *) (pc + 24),
   3696                             *(GLsizei *) (pc + 28),
   3697                             *(GLenum *) (pc + 32),
   3698                             imageSize, (const GLvoid *) (pc + 40));
   3699 }
   3700 
   3701 void
   3702 __glXDisp_SampleCoverage(GLbyte * pc)
   3703 {
   3704     PFNGLSAMPLECOVERAGEPROC SampleCoverage =
   3705         __glGetProcAddress("glSampleCoverage");
   3706     SampleCoverage(*(GLclampf *) (pc + 0), *(GLboolean *) (pc + 4));
   3707 }
   3708 
   3709 void
   3710 __glXDisp_BlendFuncSeparate(GLbyte * pc)
   3711 {
   3712     PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate =
   3713         __glGetProcAddress("glBlendFuncSeparate");
   3714     BlendFuncSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
   3715                       *(GLenum *) (pc + 8), *(GLenum *) (pc + 12));
   3716 }
   3717 
   3718 void
   3719 __glXDisp_FogCoorddv(GLbyte * pc)
   3720 {
   3721     PFNGLFOGCOORDDVPROC FogCoorddv = __glGetProcAddress("glFogCoorddv");
   3722 
   3723 #ifdef __GLX_ALIGN64
   3724     if ((unsigned long) (pc) & 7) {
   3725         (void) memmove(pc - 4, pc, 8);
   3726         pc -= 4;
   3727     }
   3728 #endif
   3729 
   3730     FogCoorddv((const GLdouble *) (pc + 0));
   3731 }
   3732 
   3733 void
   3734 __glXDisp_PointParameterf(GLbyte * pc)
   3735 {
   3736     PFNGLPOINTPARAMETERFPROC PointParameterf =
   3737         __glGetProcAddress("glPointParameterf");
   3738     PointParameterf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
   3739 }
   3740 
   3741 void
   3742 __glXDisp_PointParameterfv(GLbyte * pc)
   3743 {
   3744     PFNGLPOINTPARAMETERFVPROC PointParameterfv =
   3745         __glGetProcAddress("glPointParameterfv");
   3746     const GLenum pname = *(GLenum *) (pc + 0);
   3747     const GLfloat *params;
   3748 
   3749     params = (const GLfloat *) (pc + 4);
   3750 
   3751     PointParameterfv(pname, params);
   3752 }
   3753 
   3754 void
   3755 __glXDisp_PointParameteri(GLbyte * pc)
   3756 {
   3757     PFNGLPOINTPARAMETERIPROC PointParameteri =
   3758         __glGetProcAddress("glPointParameteri");
   3759     PointParameteri(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
   3760 }
   3761 
   3762 void
   3763 __glXDisp_PointParameteriv(GLbyte * pc)
   3764 {
   3765     PFNGLPOINTPARAMETERIVPROC PointParameteriv =
   3766         __glGetProcAddress("glPointParameteriv");
   3767     const GLenum pname = *(GLenum *) (pc + 0);
   3768     const GLint *params;
   3769 
   3770     params = (const GLint *) (pc + 4);
   3771 
   3772     PointParameteriv(pname, params);
   3773 }
   3774 
   3775 void
   3776 __glXDisp_SecondaryColor3bv(GLbyte * pc)
   3777 {
   3778     PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv =
   3779         __glGetProcAddress("glSecondaryColor3bv");
   3780     SecondaryColor3bv((const GLbyte *) (pc + 0));
   3781 }
   3782 
   3783 void
   3784 __glXDisp_SecondaryColor3dv(GLbyte * pc)
   3785 {
   3786     PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv =
   3787         __glGetProcAddress("glSecondaryColor3dv");
   3788 #ifdef __GLX_ALIGN64
   3789     if ((unsigned long) (pc) & 7) {
   3790         (void) memmove(pc - 4, pc, 24);
   3791         pc -= 4;
   3792     }
   3793 #endif
   3794 
   3795     SecondaryColor3dv((const GLdouble *) (pc + 0));
   3796 }
   3797 
   3798 void
   3799 __glXDisp_SecondaryColor3iv(GLbyte * pc)
   3800 {
   3801     PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv =
   3802         __glGetProcAddress("glSecondaryColor3iv");
   3803     SecondaryColor3iv((const GLint *) (pc + 0));
   3804 }
   3805 
   3806 void
   3807 __glXDisp_SecondaryColor3sv(GLbyte * pc)
   3808 {
   3809     PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv =
   3810         __glGetProcAddress("glSecondaryColor3sv");
   3811     SecondaryColor3sv((const GLshort *) (pc + 0));
   3812 }
   3813 
   3814 void
   3815 __glXDisp_SecondaryColor3ubv(GLbyte * pc)
   3816 {
   3817     PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv =
   3818         __glGetProcAddress("glSecondaryColor3ubv");
   3819     SecondaryColor3ubv((const GLubyte *) (pc + 0));
   3820 }
   3821 
   3822 void
   3823 __glXDisp_SecondaryColor3uiv(GLbyte * pc)
   3824 {
   3825     PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv =
   3826         __glGetProcAddress("glSecondaryColor3uiv");
   3827     SecondaryColor3uiv((const GLuint *) (pc + 0));
   3828 }
   3829 
   3830 void
   3831 __glXDisp_SecondaryColor3usv(GLbyte * pc)
   3832 {
   3833     PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv =
   3834         __glGetProcAddress("glSecondaryColor3usv");
   3835     SecondaryColor3usv((const GLushort *) (pc + 0));
   3836 }
   3837 
   3838 void
   3839 __glXDisp_WindowPos3fv(GLbyte * pc)
   3840 {
   3841     PFNGLWINDOWPOS3FVPROC WindowPos3fv = __glGetProcAddress("glWindowPos3fv");
   3842 
   3843     WindowPos3fv((const GLfloat *) (pc + 0));
   3844 }
   3845 
   3846 void
   3847 __glXDisp_BeginQuery(GLbyte * pc)
   3848 {
   3849     PFNGLBEGINQUERYPROC BeginQuery = __glGetProcAddress("glBeginQuery");
   3850 
   3851     BeginQuery(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
   3852 }
   3853 
   3854 int
   3855 __glXDisp_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
   3856 {
   3857     PFNGLDELETEQUERIESPROC DeleteQueries =
   3858         __glGetProcAddress("glDeleteQueries");
   3859     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3860     int error;
   3861     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3862 
   3863     pc += __GLX_SINGLE_HDR_SIZE;
   3864     if (cx != NULL) {
   3865         const GLsizei n = *(GLsizei *) (pc + 0);
   3866 
   3867         DeleteQueries(n, (const GLuint *) (pc + 4));
   3868         error = Success;
   3869     }
   3870 
   3871     return error;
   3872 }
   3873 
   3874 void
   3875 __glXDisp_EndQuery(GLbyte * pc)
   3876 {
   3877     PFNGLENDQUERYPROC EndQuery = __glGetProcAddress("glEndQuery");
   3878 
   3879     EndQuery(*(GLenum *) (pc + 0));
   3880 }
   3881 
   3882 int
   3883 __glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc)
   3884 {
   3885     PFNGLGENQUERIESPROC GenQueries = __glGetProcAddress("glGenQueries");
   3886     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3887     int error;
   3888     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3889 
   3890     pc += __GLX_SINGLE_HDR_SIZE;
   3891     if (cx != NULL) {
   3892         const GLsizei n = *(GLsizei *) (pc + 0);
   3893 
   3894         GLuint answerBuffer[200];
   3895         GLuint *ids =
   3896             __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
   3897                                  4);
   3898 
   3899         if (ids == NULL)
   3900             return BadAlloc;
   3901         GenQueries(n, ids);
   3902         __glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0);
   3903         error = Success;
   3904     }
   3905 
   3906     return error;
   3907 }
   3908 
   3909 int
   3910 __glXDisp_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
   3911 {
   3912     PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv =
   3913         __glGetProcAddress("glGetQueryObjectiv");
   3914     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3915     int error;
   3916     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3917 
   3918     pc += __GLX_SINGLE_HDR_SIZE;
   3919     if (cx != NULL) {
   3920         const GLenum pname = *(GLenum *) (pc + 4);
   3921 
   3922         const GLuint compsize = __glGetQueryObjectiv_size(pname);
   3923         GLint answerBuffer[200];
   3924         GLint *params =
   3925             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3926                                  sizeof(answerBuffer), 4);
   3927 
   3928         if (params == NULL)
   3929             return BadAlloc;
   3930         __glXClearErrorOccured();
   3931 
   3932         GetQueryObjectiv(*(GLuint *) (pc + 0), pname, params);
   3933         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3934         error = Success;
   3935     }
   3936 
   3937     return error;
   3938 }
   3939 
   3940 int
   3941 __glXDisp_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
   3942 {
   3943     PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv =
   3944         __glGetProcAddress("glGetQueryObjectuiv");
   3945     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3946     int error;
   3947     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3948 
   3949     pc += __GLX_SINGLE_HDR_SIZE;
   3950     if (cx != NULL) {
   3951         const GLenum pname = *(GLenum *) (pc + 4);
   3952 
   3953         const GLuint compsize = __glGetQueryObjectuiv_size(pname);
   3954         GLuint answerBuffer[200];
   3955         GLuint *params =
   3956             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3957                                  sizeof(answerBuffer), 4);
   3958 
   3959         if (params == NULL)
   3960             return BadAlloc;
   3961         __glXClearErrorOccured();
   3962 
   3963         GetQueryObjectuiv(*(GLuint *) (pc + 0), pname, params);
   3964         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3965         error = Success;
   3966     }
   3967 
   3968     return error;
   3969 }
   3970 
   3971 int
   3972 __glXDisp_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
   3973 {
   3974     PFNGLGETQUERYIVPROC GetQueryiv = __glGetProcAddress("glGetQueryiv");
   3975     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   3976     int error;
   3977     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   3978 
   3979     pc += __GLX_SINGLE_HDR_SIZE;
   3980     if (cx != NULL) {
   3981         const GLenum pname = *(GLenum *) (pc + 4);
   3982 
   3983         const GLuint compsize = __glGetQueryiv_size(pname);
   3984         GLint answerBuffer[200];
   3985         GLint *params =
   3986             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   3987                                  sizeof(answerBuffer), 4);
   3988 
   3989         if (params == NULL)
   3990             return BadAlloc;
   3991         __glXClearErrorOccured();
   3992 
   3993         GetQueryiv(*(GLenum *) (pc + 0), pname, params);
   3994         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   3995         error = Success;
   3996     }
   3997 
   3998     return error;
   3999 }
   4000 
   4001 int
   4002 __glXDisp_IsQuery(__GLXclientState * cl, GLbyte * pc)
   4003 {
   4004     PFNGLISQUERYPROC IsQuery = __glGetProcAddress("glIsQuery");
   4005     xGLXSingleReq *const req = (xGLXSingleReq *) pc;
   4006     int error;
   4007     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4008 
   4009     pc += __GLX_SINGLE_HDR_SIZE;
   4010     if (cx != NULL) {
   4011         GLboolean retval;
   4012 
   4013         retval = IsQuery(*(GLuint *) (pc + 0));
   4014         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   4015         error = Success;
   4016     }
   4017 
   4018     return error;
   4019 }
   4020 
   4021 void
   4022 __glXDisp_BlendEquationSeparate(GLbyte * pc)
   4023 {
   4024     PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate =
   4025         __glGetProcAddress("glBlendEquationSeparate");
   4026     BlendEquationSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
   4027 }
   4028 
   4029 void
   4030 __glXDisp_DrawBuffers(GLbyte * pc)
   4031 {
   4032     PFNGLDRAWBUFFERSPROC DrawBuffers = __glGetProcAddress("glDrawBuffers");
   4033     const GLsizei n = *(GLsizei *) (pc + 0);
   4034 
   4035     DrawBuffers(n, (const GLenum *) (pc + 4));
   4036 }
   4037 
   4038 void
   4039 __glXDisp_VertexAttrib1dv(GLbyte * pc)
   4040 {
   4041     PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv =
   4042         __glGetProcAddress("glVertexAttrib1dv");
   4043 #ifdef __GLX_ALIGN64
   4044     if ((unsigned long) (pc) & 7) {
   4045         (void) memmove(pc - 4, pc, 12);
   4046         pc -= 4;
   4047     }
   4048 #endif
   4049 
   4050     VertexAttrib1dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
   4051 }
   4052 
   4053 void
   4054 __glXDisp_VertexAttrib1sv(GLbyte * pc)
   4055 {
   4056     PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv =
   4057         __glGetProcAddress("glVertexAttrib1sv");
   4058     VertexAttrib1sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4059 }
   4060 
   4061 void
   4062 __glXDisp_VertexAttrib2dv(GLbyte * pc)
   4063 {
   4064     PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv =
   4065         __glGetProcAddress("glVertexAttrib2dv");
   4066 #ifdef __GLX_ALIGN64
   4067     if ((unsigned long) (pc) & 7) {
   4068         (void) memmove(pc - 4, pc, 20);
   4069         pc -= 4;
   4070     }
   4071 #endif
   4072 
   4073     VertexAttrib2dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
   4074 }
   4075 
   4076 void
   4077 __glXDisp_VertexAttrib2sv(GLbyte * pc)
   4078 {
   4079     PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv =
   4080         __glGetProcAddress("glVertexAttrib2sv");
   4081     VertexAttrib2sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4082 }
   4083 
   4084 void
   4085 __glXDisp_VertexAttrib3dv(GLbyte * pc)
   4086 {
   4087     PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv =
   4088         __glGetProcAddress("glVertexAttrib3dv");
   4089 #ifdef __GLX_ALIGN64
   4090     if ((unsigned long) (pc) & 7) {
   4091         (void) memmove(pc - 4, pc, 28);
   4092         pc -= 4;
   4093     }
   4094 #endif
   4095 
   4096     VertexAttrib3dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
   4097 }
   4098 
   4099 void
   4100 __glXDisp_VertexAttrib3sv(GLbyte * pc)
   4101 {
   4102     PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv =
   4103         __glGetProcAddress("glVertexAttrib3sv");
   4104     VertexAttrib3sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4105 }
   4106 
   4107 void
   4108 __glXDisp_VertexAttrib4Nbv(GLbyte * pc)
   4109 {
   4110     PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv =
   4111         __glGetProcAddress("glVertexAttrib4Nbv");
   4112     VertexAttrib4Nbv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
   4113 }
   4114 
   4115 void
   4116 __glXDisp_VertexAttrib4Niv(GLbyte * pc)
   4117 {
   4118     PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv =
   4119         __glGetProcAddress("glVertexAttrib4Niv");
   4120     VertexAttrib4Niv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
   4121 }
   4122 
   4123 void
   4124 __glXDisp_VertexAttrib4Nsv(GLbyte * pc)
   4125 {
   4126     PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv =
   4127         __glGetProcAddress("glVertexAttrib4Nsv");
   4128     VertexAttrib4Nsv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4129 }
   4130 
   4131 void
   4132 __glXDisp_VertexAttrib4Nubv(GLbyte * pc)
   4133 {
   4134     PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv =
   4135         __glGetProcAddress("glVertexAttrib4Nubv");
   4136     VertexAttrib4Nubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
   4137 }
   4138 
   4139 void
   4140 __glXDisp_VertexAttrib4Nuiv(GLbyte * pc)
   4141 {
   4142     PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv =
   4143         __glGetProcAddress("glVertexAttrib4Nuiv");
   4144     VertexAttrib4Nuiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
   4145 }
   4146 
   4147 void
   4148 __glXDisp_VertexAttrib4Nusv(GLbyte * pc)
   4149 {
   4150     PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv =
   4151         __glGetProcAddress("glVertexAttrib4Nusv");
   4152     VertexAttrib4Nusv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
   4153 }
   4154 
   4155 void
   4156 __glXDisp_VertexAttrib4bv(GLbyte * pc)
   4157 {
   4158     PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv =
   4159         __glGetProcAddress("glVertexAttrib4bv");
   4160     VertexAttrib4bv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
   4161 }
   4162 
   4163 void
   4164 __glXDisp_VertexAttrib4dv(GLbyte * pc)
   4165 {
   4166     PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv =
   4167         __glGetProcAddress("glVertexAttrib4dv");
   4168 #ifdef __GLX_ALIGN64
   4169     if ((unsigned long) (pc) & 7) {
   4170         (void) memmove(pc - 4, pc, 36);
   4171         pc -= 4;
   4172     }
   4173 #endif
   4174 
   4175     VertexAttrib4dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
   4176 }
   4177 
   4178 void
   4179 __glXDisp_VertexAttrib4iv(GLbyte * pc)
   4180 {
   4181     PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv =
   4182         __glGetProcAddress("glVertexAttrib4iv");
   4183     VertexAttrib4iv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
   4184 }
   4185 
   4186 void
   4187 __glXDisp_VertexAttrib4sv(GLbyte * pc)
   4188 {
   4189     PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv =
   4190         __glGetProcAddress("glVertexAttrib4sv");
   4191     VertexAttrib4sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4192 }
   4193 
   4194 void
   4195 __glXDisp_VertexAttrib4ubv(GLbyte * pc)
   4196 {
   4197     PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv =
   4198         __glGetProcAddress("glVertexAttrib4ubv");
   4199     VertexAttrib4ubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
   4200 }
   4201 
   4202 void
   4203 __glXDisp_VertexAttrib4uiv(GLbyte * pc)
   4204 {
   4205     PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv =
   4206         __glGetProcAddress("glVertexAttrib4uiv");
   4207     VertexAttrib4uiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
   4208 }
   4209 
   4210 void
   4211 __glXDisp_VertexAttrib4usv(GLbyte * pc)
   4212 {
   4213     PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv =
   4214         __glGetProcAddress("glVertexAttrib4usv");
   4215     VertexAttrib4usv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
   4216 }
   4217 
   4218 void
   4219 __glXDisp_ClampColor(GLbyte * pc)
   4220 {
   4221     PFNGLCLAMPCOLORPROC ClampColor = __glGetProcAddress("glClampColor");
   4222 
   4223     ClampColor(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
   4224 }
   4225 
   4226 void
   4227 __glXDisp_BindProgramARB(GLbyte * pc)
   4228 {
   4229     PFNGLBINDPROGRAMARBPROC BindProgramARB =
   4230         __glGetProcAddress("glBindProgramARB");
   4231     BindProgramARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
   4232 }
   4233 
   4234 int
   4235 __glXDisp_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
   4236 {
   4237     PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB =
   4238         __glGetProcAddress("glDeleteProgramsARB");
   4239     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4240     int error;
   4241     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4242 
   4243     pc += __GLX_VENDPRIV_HDR_SIZE;
   4244     if (cx != NULL) {
   4245         const GLsizei n = *(GLsizei *) (pc + 0);
   4246 
   4247         DeleteProgramsARB(n, (const GLuint *) (pc + 4));
   4248         error = Success;
   4249     }
   4250 
   4251     return error;
   4252 }
   4253 
   4254 int
   4255 __glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
   4256 {
   4257     PFNGLGENPROGRAMSARBPROC GenProgramsARB =
   4258         __glGetProcAddress("glGenProgramsARB");
   4259     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4260     int error;
   4261     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4262 
   4263     pc += __GLX_VENDPRIV_HDR_SIZE;
   4264     if (cx != NULL) {
   4265         const GLsizei n = *(GLsizei *) (pc + 0);
   4266 
   4267         GLuint answerBuffer[200];
   4268         GLuint *programs =
   4269             __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
   4270                                  4);
   4271 
   4272         if (programs == NULL)
   4273             return BadAlloc;
   4274         GenProgramsARB(n, programs);
   4275         __glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0);
   4276         error = Success;
   4277     }
   4278 
   4279     return error;
   4280 }
   4281 
   4282 int
   4283 __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
   4284 {
   4285     PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB =
   4286         __glGetProcAddress("glGetProgramEnvParameterdvARB");
   4287     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4288     int error;
   4289     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4290 
   4291     pc += __GLX_VENDPRIV_HDR_SIZE;
   4292     if (cx != NULL) {
   4293         GLdouble params[4];
   4294 
   4295         GetProgramEnvParameterdvARB(*(GLenum *) (pc + 0),
   4296                                     *(GLuint *) (pc + 4), params);
   4297         __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
   4298         error = Success;
   4299     }
   4300 
   4301     return error;
   4302 }
   4303 
   4304 int
   4305 __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
   4306 {
   4307     PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB =
   4308         __glGetProcAddress("glGetProgramEnvParameterfvARB");
   4309     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4310     int error;
   4311     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4312 
   4313     pc += __GLX_VENDPRIV_HDR_SIZE;
   4314     if (cx != NULL) {
   4315         GLfloat params[4];
   4316 
   4317         GetProgramEnvParameterfvARB(*(GLenum *) (pc + 0),
   4318                                     *(GLuint *) (pc + 4), params);
   4319         __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
   4320         error = Success;
   4321     }
   4322 
   4323     return error;
   4324 }
   4325 
   4326 int
   4327 __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
   4328 {
   4329     PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB =
   4330         __glGetProcAddress("glGetProgramLocalParameterdvARB");
   4331     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4332     int error;
   4333     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4334 
   4335     pc += __GLX_VENDPRIV_HDR_SIZE;
   4336     if (cx != NULL) {
   4337         GLdouble params[4];
   4338 
   4339         GetProgramLocalParameterdvARB(*(GLenum *) (pc + 0),
   4340                                       *(GLuint *) (pc + 4), params);
   4341         __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
   4342         error = Success;
   4343     }
   4344 
   4345     return error;
   4346 }
   4347 
   4348 int
   4349 __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
   4350 {
   4351     PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB =
   4352         __glGetProcAddress("glGetProgramLocalParameterfvARB");
   4353     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4354     int error;
   4355     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4356 
   4357     pc += __GLX_VENDPRIV_HDR_SIZE;
   4358     if (cx != NULL) {
   4359         GLfloat params[4];
   4360 
   4361         GetProgramLocalParameterfvARB(*(GLenum *) (pc + 0),
   4362                                       *(GLuint *) (pc + 4), params);
   4363         __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
   4364         error = Success;
   4365     }
   4366 
   4367     return error;
   4368 }
   4369 
   4370 int
   4371 __glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
   4372 {
   4373     PFNGLGETPROGRAMIVARBPROC GetProgramivARB =
   4374         __glGetProcAddress("glGetProgramivARB");
   4375     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4376     int error;
   4377     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4378 
   4379     pc += __GLX_VENDPRIV_HDR_SIZE;
   4380     if (cx != NULL) {
   4381         const GLenum pname = *(GLenum *) (pc + 4);
   4382 
   4383         const GLuint compsize = __glGetProgramivARB_size(pname);
   4384         GLint answerBuffer[200];
   4385         GLint *params =
   4386             __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
   4387                                  sizeof(answerBuffer), 4);
   4388 
   4389         if (params == NULL)
   4390             return BadAlloc;
   4391         __glXClearErrorOccured();
   4392 
   4393         GetProgramivARB(*(GLenum *) (pc + 0), pname, params);
   4394         __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
   4395         error = Success;
   4396     }
   4397 
   4398     return error;
   4399 }
   4400 
   4401 int
   4402 __glXDisp_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
   4403 {
   4404     PFNGLISPROGRAMARBPROC IsProgramARB = __glGetProcAddress("glIsProgramARB");
   4405     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4406     int error;
   4407     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4408 
   4409     pc += __GLX_VENDPRIV_HDR_SIZE;
   4410     if (cx != NULL) {
   4411         GLboolean retval;
   4412 
   4413         retval = IsProgramARB(*(GLuint *) (pc + 0));
   4414         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   4415         error = Success;
   4416     }
   4417 
   4418     return error;
   4419 }
   4420 
   4421 void
   4422 __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc)
   4423 {
   4424     PFNGLPROGRAMENVPARAMETER4DVARBPROC ProgramEnvParameter4dvARB =
   4425         __glGetProcAddress("glProgramEnvParameter4dvARB");
   4426 #ifdef __GLX_ALIGN64
   4427     if ((unsigned long) (pc) & 7) {
   4428         (void) memmove(pc - 4, pc, 40);
   4429         pc -= 4;
   4430     }
   4431 #endif
   4432 
   4433     ProgramEnvParameter4dvARB(*(GLenum *) (pc + 0),
   4434                               *(GLuint *) (pc + 4),
   4435                               (const GLdouble *) (pc + 8));
   4436 }
   4437 
   4438 void
   4439 __glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc)
   4440 {
   4441     PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB =
   4442         __glGetProcAddress("glProgramEnvParameter4fvARB");
   4443     ProgramEnvParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4),
   4444                               (const GLfloat *) (pc + 8));
   4445 }
   4446 
   4447 void
   4448 __glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc)
   4449 {
   4450     PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB =
   4451         __glGetProcAddress("glProgramLocalParameter4dvARB");
   4452 #ifdef __GLX_ALIGN64
   4453     if ((unsigned long) (pc) & 7) {
   4454         (void) memmove(pc - 4, pc, 40);
   4455         pc -= 4;
   4456     }
   4457 #endif
   4458 
   4459     ProgramLocalParameter4dvARB(*(GLenum *) (pc + 0),
   4460                                 *(GLuint *) (pc + 4),
   4461                                 (const GLdouble *) (pc + 8));
   4462 }
   4463 
   4464 void
   4465 __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc)
   4466 {
   4467     PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB =
   4468         __glGetProcAddress("glProgramLocalParameter4fvARB");
   4469     ProgramLocalParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4),
   4470                                 (const GLfloat *) (pc + 8));
   4471 }
   4472 
   4473 void
   4474 __glXDisp_ProgramStringARB(GLbyte * pc)
   4475 {
   4476     PFNGLPROGRAMSTRINGARBPROC ProgramStringARB =
   4477         __glGetProcAddress("glProgramStringARB");
   4478     const GLsizei len = *(GLsizei *) (pc + 8);
   4479 
   4480     ProgramStringARB(*(GLenum *) (pc + 0),
   4481                      *(GLenum *) (pc + 4), len, (const GLvoid *) (pc + 12));
   4482 }
   4483 
   4484 void
   4485 __glXDisp_VertexAttrib1fvARB(GLbyte * pc)
   4486 {
   4487     PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB =
   4488         __glGetProcAddress("glVertexAttrib1fvARB");
   4489     VertexAttrib1fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
   4490 }
   4491 
   4492 void
   4493 __glXDisp_VertexAttrib2fvARB(GLbyte * pc)
   4494 {
   4495     PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB =
   4496         __glGetProcAddress("glVertexAttrib2fvARB");
   4497     VertexAttrib2fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
   4498 }
   4499 
   4500 void
   4501 __glXDisp_VertexAttrib3fvARB(GLbyte * pc)
   4502 {
   4503     PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB =
   4504         __glGetProcAddress("glVertexAttrib3fvARB");
   4505     VertexAttrib3fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
   4506 }
   4507 
   4508 void
   4509 __glXDisp_VertexAttrib4fvARB(GLbyte * pc)
   4510 {
   4511     PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB =
   4512         __glGetProcAddress("glVertexAttrib4fvARB");
   4513     VertexAttrib4fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
   4514 }
   4515 
   4516 void
   4517 __glXDisp_BindFramebuffer(GLbyte * pc)
   4518 {
   4519     PFNGLBINDFRAMEBUFFERPROC BindFramebuffer =
   4520         __glGetProcAddress("glBindFramebuffer");
   4521     BindFramebuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
   4522 }
   4523 
   4524 void
   4525 __glXDisp_BindRenderbuffer(GLbyte * pc)
   4526 {
   4527     PFNGLBINDRENDERBUFFERPROC BindRenderbuffer =
   4528         __glGetProcAddress("glBindRenderbuffer");
   4529     BindRenderbuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
   4530 }
   4531 
   4532 void
   4533 __glXDisp_BlitFramebuffer(GLbyte * pc)
   4534 {
   4535     PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer =
   4536         __glGetProcAddress("glBlitFramebuffer");
   4537     BlitFramebuffer(*(GLint *) (pc + 0), *(GLint *) (pc + 4),
   4538                     *(GLint *) (pc + 8), *(GLint *) (pc + 12),
   4539                     *(GLint *) (pc + 16), *(GLint *) (pc + 20),
   4540                     *(GLint *) (pc + 24), *(GLint *) (pc + 28),
   4541                     *(GLbitfield *) (pc + 32), *(GLenum *) (pc + 36));
   4542 }
   4543 
   4544 int
   4545 __glXDisp_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
   4546 {
   4547     PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus =
   4548         __glGetProcAddress("glCheckFramebufferStatus");
   4549     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4550     int error;
   4551     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4552 
   4553     pc += __GLX_VENDPRIV_HDR_SIZE;
   4554     if (cx != NULL) {
   4555         GLenum retval;
   4556 
   4557         retval = CheckFramebufferStatus(*(GLenum *) (pc + 0));
   4558         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   4559         error = Success;
   4560     }
   4561 
   4562     return error;
   4563 }
   4564 
   4565 void
   4566 __glXDisp_DeleteFramebuffers(GLbyte * pc)
   4567 {
   4568     PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers =
   4569         __glGetProcAddress("glDeleteFramebuffers");
   4570     const GLsizei n = *(GLsizei *) (pc + 0);
   4571 
   4572     DeleteFramebuffers(n, (const GLuint *) (pc + 4));
   4573 }
   4574 
   4575 void
   4576 __glXDisp_DeleteRenderbuffers(GLbyte * pc)
   4577 {
   4578     PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers =
   4579         __glGetProcAddress("glDeleteRenderbuffers");
   4580     const GLsizei n = *(GLsizei *) (pc + 0);
   4581 
   4582     DeleteRenderbuffers(n, (const GLuint *) (pc + 4));
   4583 }
   4584 
   4585 void
   4586 __glXDisp_FramebufferRenderbuffer(GLbyte * pc)
   4587 {
   4588     PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer =
   4589         __glGetProcAddress("glFramebufferRenderbuffer");
   4590     FramebufferRenderbuffer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
   4591                             *(GLenum *) (pc + 8), *(GLuint *) (pc + 12));
   4592 }
   4593 
   4594 void
   4595 __glXDisp_FramebufferTexture1D(GLbyte * pc)
   4596 {
   4597     PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D =
   4598         __glGetProcAddress("glFramebufferTexture1D");
   4599     FramebufferTexture1D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
   4600                          *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
   4601                          *(GLint *) (pc + 16));
   4602 }
   4603 
   4604 void
   4605 __glXDisp_FramebufferTexture2D(GLbyte * pc)
   4606 {
   4607     PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D =
   4608         __glGetProcAddress("glFramebufferTexture2D");
   4609     FramebufferTexture2D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
   4610                          *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
   4611                          *(GLint *) (pc + 16));
   4612 }
   4613 
   4614 void
   4615 __glXDisp_FramebufferTexture3D(GLbyte * pc)
   4616 {
   4617     PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D =
   4618         __glGetProcAddress("glFramebufferTexture3D");
   4619     FramebufferTexture3D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
   4620                          *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
   4621                          *(GLint *) (pc + 16), *(GLint *) (pc + 20));
   4622 }
   4623 
   4624 void
   4625 __glXDisp_FramebufferTextureLayer(GLbyte * pc)
   4626 {
   4627     PFNGLFRAMEBUFFERTEXTURELAYERPROC FramebufferTextureLayer =
   4628         __glGetProcAddress("glFramebufferTextureLayer");
   4629     FramebufferTextureLayer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
   4630                             *(GLuint *) (pc + 8), *(GLint *) (pc + 12),
   4631                             *(GLint *) (pc + 16));
   4632 }
   4633 
   4634 int
   4635 __glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
   4636 {
   4637     PFNGLGENFRAMEBUFFERSPROC GenFramebuffers =
   4638         __glGetProcAddress("glGenFramebuffers");
   4639     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4640     int error;
   4641     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4642 
   4643     pc += __GLX_VENDPRIV_HDR_SIZE;
   4644     if (cx != NULL) {
   4645         const GLsizei n = *(GLsizei *) (pc + 0);
   4646 
   4647         GLuint answerBuffer[200];
   4648         GLuint *framebuffers =
   4649             __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
   4650                                  4);
   4651 
   4652         if (framebuffers == NULL)
   4653             return BadAlloc;
   4654 
   4655         GenFramebuffers(n, framebuffers);
   4656         __glXSendReply(cl->client, framebuffers, n, 4, GL_TRUE, 0);
   4657         error = Success;
   4658     }
   4659 
   4660     return error;
   4661 }
   4662 
   4663 int
   4664 __glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
   4665 {
   4666     PFNGLGENRENDERBUFFERSPROC GenRenderbuffers =
   4667         __glGetProcAddress("glGenRenderbuffers");
   4668     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4669     int error;
   4670     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4671 
   4672     pc += __GLX_VENDPRIV_HDR_SIZE;
   4673     if (cx != NULL) {
   4674         const GLsizei n = *(GLsizei *) (pc + 0);
   4675 
   4676         GLuint answerBuffer[200];
   4677         GLuint *renderbuffers =
   4678             __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
   4679                                  4);
   4680 
   4681         if (renderbuffers == NULL)
   4682             return BadAlloc;
   4683         GenRenderbuffers(n, renderbuffers);
   4684         __glXSendReply(cl->client, renderbuffers, n, 4, GL_TRUE, 0);
   4685         error = Success;
   4686     }
   4687 
   4688     return error;
   4689 }
   4690 
   4691 void
   4692 __glXDisp_GenerateMipmap(GLbyte * pc)
   4693 {
   4694     PFNGLGENERATEMIPMAPPROC GenerateMipmap =
   4695         __glGetProcAddress("glGenerateMipmap");
   4696     GenerateMipmap(*(GLenum *) (pc + 0));
   4697 }
   4698 
   4699 int
   4700 __glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
   4701                                               GLbyte * pc)
   4702 {
   4703     PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
   4704         GetFramebufferAttachmentParameteriv =
   4705         __glGetProcAddress("glGetFramebufferAttachmentParameteriv");
   4706     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4707     int error;
   4708     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4709 
   4710     pc += __GLX_VENDPRIV_HDR_SIZE;
   4711     if (cx != NULL) {
   4712         GLint params[1];
   4713 
   4714         GetFramebufferAttachmentParameteriv(*(GLenum *) (pc + 0),
   4715                                             *(GLenum *) (pc + 4),
   4716                                             *(GLenum *) (pc + 8), params);
   4717         __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
   4718         error = Success;
   4719     }
   4720 
   4721     return error;
   4722 }
   4723 
   4724 int
   4725 __glXDisp_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
   4726 {
   4727     PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv =
   4728         __glGetProcAddress("glGetRenderbufferParameteriv");
   4729     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4730     int error;
   4731     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4732 
   4733     pc += __GLX_VENDPRIV_HDR_SIZE;
   4734     if (cx != NULL) {
   4735         GLint params[1];
   4736 
   4737         GetRenderbufferParameteriv(*(GLenum *) (pc + 0),
   4738                                    *(GLenum *) (pc + 4), params);
   4739         __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
   4740         error = Success;
   4741     }
   4742 
   4743     return error;
   4744 }
   4745 
   4746 int
   4747 __glXDisp_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
   4748 {
   4749     PFNGLISFRAMEBUFFERPROC IsFramebuffer =
   4750         __glGetProcAddress("glIsFramebuffer");
   4751     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4752     int error;
   4753     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4754 
   4755     pc += __GLX_VENDPRIV_HDR_SIZE;
   4756     if (cx != NULL) {
   4757         GLboolean retval;
   4758 
   4759         retval = IsFramebuffer(*(GLuint *) (pc + 0));
   4760         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   4761         error = Success;
   4762     }
   4763 
   4764     return error;
   4765 }
   4766 
   4767 int
   4768 __glXDisp_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
   4769 {
   4770     PFNGLISRENDERBUFFERPROC IsRenderbuffer =
   4771         __glGetProcAddress("glIsRenderbuffer");
   4772     xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
   4773     int error;
   4774     __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
   4775 
   4776     pc += __GLX_VENDPRIV_HDR_SIZE;
   4777     if (cx != NULL) {
   4778         GLboolean retval;
   4779 
   4780         retval = IsRenderbuffer(*(GLuint *) (pc + 0));
   4781         __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
   4782         error = Success;
   4783     }
   4784 
   4785     return error;
   4786 }
   4787 
   4788 void
   4789 __glXDisp_RenderbufferStorage(GLbyte * pc)
   4790 {
   4791     PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage =
   4792         __glGetProcAddress("glRenderbufferStorage");
   4793     RenderbufferStorage(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
   4794                         *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
   4795 }
   4796 
   4797 void
   4798 __glXDisp_RenderbufferStorageMultisample(GLbyte * pc)
   4799 {
   4800     PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample =
   4801         __glGetProcAddress("glRenderbufferStorageMultisample");
   4802     RenderbufferStorageMultisample(*(GLenum *) (pc + 0), *(GLsizei *) (pc + 4),
   4803                                    *(GLenum *) (pc + 8), *(GLsizei *) (pc + 12),
   4804                                    *(GLsizei *) (pc + 16));
   4805 }
   4806 
   4807 void
   4808 __glXDisp_SecondaryColor3fvEXT(GLbyte * pc)
   4809 {
   4810     PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT =
   4811         __glGetProcAddress("glSecondaryColor3fvEXT");
   4812     SecondaryColor3fvEXT((const GLfloat *) (pc + 0));
   4813 }
   4814 
   4815 void
   4816 __glXDisp_FogCoordfvEXT(GLbyte * pc)
   4817 {
   4818     PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT =
   4819         __glGetProcAddress("glFogCoordfvEXT");
   4820     FogCoordfvEXT((const GLfloat *) (pc + 0));
   4821 }
   4822 
   4823 void
   4824 __glXDisp_VertexAttrib1dvNV(GLbyte * pc)
   4825 {
   4826     PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV =
   4827         __glGetProcAddress("glVertexAttrib1dvNV");
   4828 #ifdef __GLX_ALIGN64
   4829     if ((unsigned long) (pc) & 7) {
   4830         (void) memmove(pc - 4, pc, 12);
   4831         pc -= 4;
   4832     }
   4833 #endif
   4834 
   4835     VertexAttrib1dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
   4836 }
   4837 
   4838 void
   4839 __glXDisp_VertexAttrib1fvNV(GLbyte * pc)
   4840 {
   4841     PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV =
   4842         __glGetProcAddress("glVertexAttrib1fvNV");
   4843     VertexAttrib1fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
   4844 }
   4845 
   4846 void
   4847 __glXDisp_VertexAttrib1svNV(GLbyte * pc)
   4848 {
   4849     PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV =
   4850         __glGetProcAddress("glVertexAttrib1svNV");
   4851     VertexAttrib1svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4852 }
   4853 
   4854 void
   4855 __glXDisp_VertexAttrib2dvNV(GLbyte * pc)
   4856 {
   4857     PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV =
   4858         __glGetProcAddress("glVertexAttrib2dvNV");
   4859 #ifdef __GLX_ALIGN64
   4860     if ((unsigned long) (pc) & 7) {
   4861         (void) memmove(pc - 4, pc, 20);
   4862         pc -= 4;
   4863     }
   4864 #endif
   4865 
   4866     VertexAttrib2dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
   4867 }
   4868 
   4869 void
   4870 __glXDisp_VertexAttrib2fvNV(GLbyte * pc)
   4871 {
   4872     PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV =
   4873         __glGetProcAddress("glVertexAttrib2fvNV");
   4874     VertexAttrib2fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
   4875 }
   4876 
   4877 void
   4878 __glXDisp_VertexAttrib2svNV(GLbyte * pc)
   4879 {
   4880     PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV =
   4881         __glGetProcAddress("glVertexAttrib2svNV");
   4882     VertexAttrib2svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4883 }
   4884 
   4885 void
   4886 __glXDisp_VertexAttrib3dvNV(GLbyte * pc)
   4887 {
   4888     PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV =
   4889         __glGetProcAddress("glVertexAttrib3dvNV");
   4890 #ifdef __GLX_ALIGN64
   4891     if ((unsigned long) (pc) & 7) {
   4892         (void) memmove(pc - 4, pc, 28);
   4893         pc -= 4;
   4894     }
   4895 #endif
   4896 
   4897     VertexAttrib3dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
   4898 }
   4899 
   4900 void
   4901 __glXDisp_VertexAttrib3fvNV(GLbyte * pc)
   4902 {
   4903     PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV =
   4904         __glGetProcAddress("glVertexAttrib3fvNV");
   4905     VertexAttrib3fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
   4906 }
   4907 
   4908 void
   4909 __glXDisp_VertexAttrib3svNV(GLbyte * pc)
   4910 {
   4911     PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV =
   4912         __glGetProcAddress("glVertexAttrib3svNV");
   4913     VertexAttrib3svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4914 }
   4915 
   4916 void
   4917 __glXDisp_VertexAttrib4dvNV(GLbyte * pc)
   4918 {
   4919     PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV =
   4920         __glGetProcAddress("glVertexAttrib4dvNV");
   4921 #ifdef __GLX_ALIGN64
   4922     if ((unsigned long) (pc) & 7) {
   4923         (void) memmove(pc - 4, pc, 36);
   4924         pc -= 4;
   4925     }
   4926 #endif
   4927 
   4928     VertexAttrib4dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
   4929 }
   4930 
   4931 void
   4932 __glXDisp_VertexAttrib4fvNV(GLbyte * pc)
   4933 {
   4934     PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV =
   4935         __glGetProcAddress("glVertexAttrib4fvNV");
   4936     VertexAttrib4fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
   4937 }
   4938 
   4939 void
   4940 __glXDisp_VertexAttrib4svNV(GLbyte * pc)
   4941 {
   4942     PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV =
   4943         __glGetProcAddress("glVertexAttrib4svNV");
   4944     VertexAttrib4svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
   4945 }
   4946 
   4947 void
   4948 __glXDisp_VertexAttrib4ubvNV(GLbyte * pc)
   4949 {
   4950     PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV =
   4951         __glGetProcAddress("glVertexAttrib4ubvNV");
   4952     VertexAttrib4ubvNV(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
   4953 }
   4954 
   4955 void
   4956 __glXDisp_VertexAttribs1dvNV(GLbyte * pc)
   4957 {
   4958     PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV =
   4959         __glGetProcAddress("glVertexAttribs1dvNV");
   4960     const GLsizei n = *(GLsizei *) (pc + 4);
   4961 
   4962 #ifdef __GLX_ALIGN64
   4963     const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4;
   4964 
   4965     if ((unsigned long) (pc) & 7) {
   4966         (void) memmove(pc - 4, pc, cmdlen);
   4967         pc -= 4;
   4968     }
   4969 #endif
   4970 
   4971     VertexAttribs1dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
   4972 }
   4973 
   4974 void
   4975 __glXDisp_VertexAttribs1fvNV(GLbyte * pc)
   4976 {
   4977     PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV =
   4978         __glGetProcAddress("glVertexAttribs1fvNV");
   4979     const GLsizei n = *(GLsizei *) (pc + 4);
   4980 
   4981     VertexAttribs1fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
   4982 }
   4983 
   4984 void
   4985 __glXDisp_VertexAttribs1svNV(GLbyte * pc)
   4986 {
   4987     PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV =
   4988         __glGetProcAddress("glVertexAttribs1svNV");
   4989     const GLsizei n = *(GLsizei *) (pc + 4);
   4990 
   4991     VertexAttribs1svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
   4992 }
   4993 
   4994 void
   4995 __glXDisp_VertexAttribs2dvNV(GLbyte * pc)
   4996 {
   4997     PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV =
   4998         __glGetProcAddress("glVertexAttribs2dvNV");
   4999     const GLsizei n = *(GLsizei *) (pc + 4);
   5000 
   5001 #ifdef __GLX_ALIGN64
   5002     const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4;
   5003 
   5004     if ((unsigned long) (pc) & 7) {
   5005         (void) memmove(pc - 4, pc, cmdlen);
   5006         pc -= 4;
   5007     }
   5008 #endif
   5009 
   5010     VertexAttribs2dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
   5011 }
   5012 
   5013 void
   5014 __glXDisp_VertexAttribs2fvNV(GLbyte * pc)
   5015 {
   5016     PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV =
   5017         __glGetProcAddress("glVertexAttribs2fvNV");
   5018     const GLsizei n = *(GLsizei *) (pc + 4);
   5019 
   5020     VertexAttribs2fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
   5021 }
   5022 
   5023 void
   5024 __glXDisp_VertexAttribs2svNV(GLbyte * pc)
   5025 {
   5026     PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV =
   5027         __glGetProcAddress("glVertexAttribs2svNV");
   5028     const GLsizei n = *(GLsizei *) (pc + 4);
   5029 
   5030     VertexAttribs2svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
   5031 }
   5032 
   5033 void
   5034 __glXDisp_VertexAttribs3dvNV(GLbyte * pc)
   5035 {
   5036     PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV =
   5037         __glGetProcAddress("glVertexAttribs3dvNV");
   5038     const GLsizei n = *(GLsizei *) (pc + 4);
   5039 
   5040 #ifdef __GLX_ALIGN64
   5041     const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4;
   5042 
   5043     if ((unsigned long) (pc) & 7) {
   5044         (void) memmove(pc - 4, pc, cmdlen);
   5045         pc -= 4;
   5046     }
   5047 #endif
   5048 
   5049     VertexAttribs3dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
   5050 }
   5051 
   5052 void
   5053 __glXDisp_VertexAttribs3fvNV(GLbyte * pc)
   5054 {
   5055     PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV =
   5056         __glGetProcAddress("glVertexAttribs3fvNV");
   5057     const GLsizei n = *(GLsizei *) (pc + 4);
   5058 
   5059     VertexAttribs3fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
   5060 }
   5061 
   5062 void
   5063 __glXDisp_VertexAttribs3svNV(GLbyte * pc)
   5064 {
   5065     PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV =
   5066         __glGetProcAddress("glVertexAttribs3svNV");
   5067     const GLsizei n = *(GLsizei *) (pc + 4);
   5068 
   5069     VertexAttribs3svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
   5070 }
   5071 
   5072 void
   5073 __glXDisp_VertexAttribs4dvNV(GLbyte * pc)
   5074 {
   5075     PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV =
   5076         __glGetProcAddress("glVertexAttribs4dvNV");
   5077     const GLsizei n = *(GLsizei *) (pc + 4);
   5078 
   5079 #ifdef __GLX_ALIGN64
   5080     const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4;
   5081 
   5082     if ((unsigned long) (pc) & 7) {
   5083         (void) memmove(pc - 4, pc, cmdlen);
   5084         pc -= 4;
   5085     }
   5086 #endif
   5087 
   5088     VertexAttribs4dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
   5089 }
   5090 
   5091 void
   5092 __glXDisp_VertexAttribs4fvNV(GLbyte * pc)
   5093 {
   5094     PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV =
   5095         __glGetProcAddress("glVertexAttribs4fvNV");
   5096     const GLsizei n = *(GLsizei *) (pc + 4);
   5097 
   5098     VertexAttribs4fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
   5099 }
   5100 
   5101 void
   5102 __glXDisp_VertexAttribs4svNV(GLbyte * pc)
   5103 {
   5104     PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV =
   5105         __glGetProcAddress("glVertexAttribs4svNV");
   5106     const GLsizei n = *(GLsizei *) (pc + 4);
   5107 
   5108     VertexAttribs4svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
   5109 }
   5110 
   5111 void
   5112 __glXDisp_VertexAttribs4ubvNV(GLbyte * pc)
   5113 {
   5114     PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV =
   5115         __glGetProcAddress("glVertexAttribs4ubvNV");
   5116     const GLsizei n = *(GLsizei *) (pc + 4);
   5117 
   5118     VertexAttribs4ubvNV(*(GLuint *) (pc + 0), n, (const GLubyte *) (pc + 8));
   5119 }
   5120 
   5121 void
   5122 __glXDisp_ActiveStencilFaceEXT(GLbyte * pc)
   5123 {
   5124     PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT =
   5125         __glGetProcAddress("glActiveStencilFaceEXT");
   5126     ActiveStencilFaceEXT(*(GLenum *) (pc + 0));
   5127 }