14642e01fSmrg/* DO NOT EDIT - This file generated automatically by glX_proto_size.py (from Mesa) script */
24642e01fSmrg
34642e01fSmrg/*
44642e01fSmrg * (C) Copyright IBM Corporation 2005
54642e01fSmrg * All Rights Reserved.
6f7df2e56Smrg *
74642e01fSmrg * Permission is hereby granted, free of charge, to any person obtaining a
84642e01fSmrg * copy of this software and associated documentation files (the "Software"),
94642e01fSmrg * to deal in the Software without restriction, including without limitation
104642e01fSmrg * the rights to use, copy, modify, merge, publish, distribute, sub license,
114642e01fSmrg * and/or sell copies of the Software, and to permit persons to whom the
124642e01fSmrg * Software is furnished to do so, subject to the following conditions:
13f7df2e56Smrg *
144642e01fSmrg * The above copyright notice and this permission notice (including the next
154642e01fSmrg * paragraph) shall be included in all copies or substantial portions of the
164642e01fSmrg * Software.
17f7df2e56Smrg *
184642e01fSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
194642e01fSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
204642e01fSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
214642e01fSmrg * IBM,
224642e01fSmrg * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
234642e01fSmrg * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
244642e01fSmrg * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
254642e01fSmrg * SOFTWARE.
264642e01fSmrg */
274642e01fSmrg
284642e01fSmrg#include <GL/gl.h>
294642e01fSmrg#include "glxserver.h"
304642e01fSmrg#include "glxbyteorder.h"
314642e01fSmrg#include "indirect_size.h"
324642e01fSmrg#include "indirect_reqsize.h"
334642e01fSmrg
344642e01fSmrg#if defined(__CYGWIN__) || defined(__MINGW32__)
35f7df2e56Smrg#undef HAVE_ALIAS
364642e01fSmrg#endif
374642e01fSmrg#ifdef HAVE_ALIAS
38f7df2e56Smrg#define ALIAS2(from,to) \
39f7df2e56Smrg    GLint __glX ## from ## ReqSize( const GLbyte * pc, Bool swap, int reqlen ) \
404642e01fSmrg        __attribute__ ((alias( # to )));
41f7df2e56Smrg#define ALIAS(from,to) ALIAS2( from, __glX ## to ## ReqSize )
424642e01fSmrg#else
43f7df2e56Smrg#define ALIAS(from,to) \
44f7df2e56Smrg    GLint __glX ## from ## ReqSize( const GLbyte * pc, Bool swap, int reqlen ) \
450b0d8713Smrg    { return __glX ## to ## ReqSize( pc, swap, reqlen ); }
464642e01fSmrg#endif
474642e01fSmrg
484642e01fSmrgint
49f7df2e56Smrg__glXCallListsReqSize(const GLbyte * pc, Bool swap, int reqlen)
504642e01fSmrg{
514642e01fSmrg    GLsizei n = *(GLsizei *) (pc + 0);
524642e01fSmrg    GLenum type = *(GLenum *) (pc + 4);
534642e01fSmrg    GLsizei compsize;
544642e01fSmrg
554642e01fSmrg    if (swap) {
564642e01fSmrg        n = bswap_32(n);
574642e01fSmrg        type = bswap_32(type);
584642e01fSmrg    }
594642e01fSmrg
604642e01fSmrg    compsize = __glCallLists_size(type);
610b0d8713Smrg    return safe_pad(safe_mul(compsize, n));
624642e01fSmrg}
634642e01fSmrg
644642e01fSmrgint
65f7df2e56Smrg__glXBitmapReqSize(const GLbyte * pc, Bool swap, int reqlen)
664642e01fSmrg{
674642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
684642e01fSmrg    GLint image_height = 0;
694642e01fSmrg    GLint skip_images = 0;
704642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
714642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
724642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 20);
734642e01fSmrg    GLsizei height = *(GLsizei *) (pc + 24);
744642e01fSmrg
754642e01fSmrg    if (swap) {
764642e01fSmrg        row_length = bswap_32(row_length);
774642e01fSmrg        skip_rows = bswap_32(skip_rows);
784642e01fSmrg        alignment = bswap_32(alignment);
794642e01fSmrg        width = bswap_32(width);
804642e01fSmrg        height = bswap_32(height);
814642e01fSmrg    }
824642e01fSmrg
834642e01fSmrg    return __glXImageSize(GL_COLOR_INDEX, GL_BITMAP, 0, width, height, 1,
844642e01fSmrg                          image_height, row_length, skip_images,
854642e01fSmrg                          skip_rows, alignment);
864642e01fSmrg}
874642e01fSmrg
884642e01fSmrgint
89f7df2e56Smrg__glXFogfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
904642e01fSmrg{
914642e01fSmrg    GLenum pname = *(GLenum *) (pc + 0);
924642e01fSmrg    GLsizei compsize;
934642e01fSmrg
944642e01fSmrg    if (swap) {
954642e01fSmrg        pname = bswap_32(pname);
964642e01fSmrg    }
974642e01fSmrg
984642e01fSmrg    compsize = __glFogfv_size(pname);
990b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
1004642e01fSmrg}
1014642e01fSmrg
1024642e01fSmrgint
103f7df2e56Smrg__glXLightfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
1044642e01fSmrg{
1054642e01fSmrg    GLenum pname = *(GLenum *) (pc + 4);
1064642e01fSmrg    GLsizei compsize;
1074642e01fSmrg
1084642e01fSmrg    if (swap) {
1094642e01fSmrg        pname = bswap_32(pname);
1104642e01fSmrg    }
1114642e01fSmrg
1124642e01fSmrg    compsize = __glLightfv_size(pname);
1130b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
1144642e01fSmrg}
1154642e01fSmrg
1164642e01fSmrgint
1170b0d8713Smrg__glXLightModelfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
1184642e01fSmrg{
1194642e01fSmrg    GLenum pname = *(GLenum *) (pc + 0);
1204642e01fSmrg    GLsizei compsize;
1214642e01fSmrg
1224642e01fSmrg    if (swap) {
1234642e01fSmrg        pname = bswap_32(pname);
1244642e01fSmrg    }
1254642e01fSmrg
1264642e01fSmrg    compsize = __glLightModelfv_size(pname);
1270b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
1284642e01fSmrg}
1294642e01fSmrg
1304642e01fSmrgint
131f7df2e56Smrg__glXMaterialfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
1324642e01fSmrg{
1334642e01fSmrg    GLenum pname = *(GLenum *) (pc + 4);
1344642e01fSmrg    GLsizei compsize;
1354642e01fSmrg
1364642e01fSmrg    if (swap) {
1374642e01fSmrg        pname = bswap_32(pname);
1384642e01fSmrg    }
1394642e01fSmrg
1404642e01fSmrg    compsize = __glMaterialfv_size(pname);
1410b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
1424642e01fSmrg}
1434642e01fSmrg
1444642e01fSmrgint
145f7df2e56Smrg__glXPolygonStippleReqSize(const GLbyte * pc, Bool swap, int reqlen)
1464642e01fSmrg{
1474642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
1484642e01fSmrg    GLint image_height = 0;
1494642e01fSmrg    GLint skip_images = 0;
1504642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
1514642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
1524642e01fSmrg
1534642e01fSmrg    if (swap) {
1544642e01fSmrg        row_length = bswap_32(row_length);
1554642e01fSmrg        skip_rows = bswap_32(skip_rows);
1564642e01fSmrg        alignment = bswap_32(alignment);
1574642e01fSmrg    }
1584642e01fSmrg
1594642e01fSmrg    return __glXImageSize(GL_COLOR_INDEX, GL_BITMAP, 0, 32, 32, 1,
1604642e01fSmrg                          image_height, row_length, skip_images,
1614642e01fSmrg                          skip_rows, alignment);
1624642e01fSmrg}
1634642e01fSmrg
1644642e01fSmrgint
165f7df2e56Smrg__glXTexParameterfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
1664642e01fSmrg{
1674642e01fSmrg    GLenum pname = *(GLenum *) (pc + 4);
1684642e01fSmrg    GLsizei compsize;
1694642e01fSmrg
1704642e01fSmrg    if (swap) {
1714642e01fSmrg        pname = bswap_32(pname);
1724642e01fSmrg    }
1734642e01fSmrg
1744642e01fSmrg    compsize = __glTexParameterfv_size(pname);
1750b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
1764642e01fSmrg}
1774642e01fSmrg
1784642e01fSmrgint
179f7df2e56Smrg__glXTexImage1DReqSize(const GLbyte * pc, Bool swap, int reqlen)
1804642e01fSmrg{
1814642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
1824642e01fSmrg    GLint image_height = 0;
1834642e01fSmrg    GLint skip_images = 0;
1844642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
1854642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
1864642e01fSmrg    GLenum target = *(GLenum *) (pc + 20);
1874642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 32);
1884642e01fSmrg    GLenum format = *(GLenum *) (pc + 44);
1894642e01fSmrg    GLenum type = *(GLenum *) (pc + 48);
1904642e01fSmrg
1914642e01fSmrg    if (swap) {
1924642e01fSmrg        row_length = bswap_32(row_length);
1934642e01fSmrg        skip_rows = bswap_32(skip_rows);
1944642e01fSmrg        alignment = bswap_32(alignment);
1954642e01fSmrg        target = bswap_32(target);
1964642e01fSmrg        width = bswap_32(width);
1974642e01fSmrg        format = bswap_32(format);
1984642e01fSmrg        type = bswap_32(type);
1994642e01fSmrg    }
2004642e01fSmrg
2014642e01fSmrg    return __glXImageSize(format, type, target, width, 1, 1,
2024642e01fSmrg                          image_height, row_length, skip_images,
2034642e01fSmrg                          skip_rows, alignment);
2044642e01fSmrg}
2054642e01fSmrg
2064642e01fSmrgint
207f7df2e56Smrg__glXTexImage2DReqSize(const GLbyte * pc, Bool swap, int reqlen)
2084642e01fSmrg{
2094642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
2104642e01fSmrg    GLint image_height = 0;
2114642e01fSmrg    GLint skip_images = 0;
2124642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
2134642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
2144642e01fSmrg    GLenum target = *(GLenum *) (pc + 20);
2154642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 32);
2164642e01fSmrg    GLsizei height = *(GLsizei *) (pc + 36);
2174642e01fSmrg    GLenum format = *(GLenum *) (pc + 44);
2184642e01fSmrg    GLenum type = *(GLenum *) (pc + 48);
2194642e01fSmrg
2204642e01fSmrg    if (swap) {
2214642e01fSmrg        row_length = bswap_32(row_length);
2224642e01fSmrg        skip_rows = bswap_32(skip_rows);
2234642e01fSmrg        alignment = bswap_32(alignment);
2244642e01fSmrg        target = bswap_32(target);
2254642e01fSmrg        width = bswap_32(width);
2264642e01fSmrg        height = bswap_32(height);
2274642e01fSmrg        format = bswap_32(format);
2284642e01fSmrg        type = bswap_32(type);
2294642e01fSmrg    }
2304642e01fSmrg
2314642e01fSmrg    return __glXImageSize(format, type, target, width, height, 1,
2324642e01fSmrg                          image_height, row_length, skip_images,
2334642e01fSmrg                          skip_rows, alignment);
2344642e01fSmrg}
2354642e01fSmrg
2364642e01fSmrgint
237f7df2e56Smrg__glXTexEnvfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
2384642e01fSmrg{
2394642e01fSmrg    GLenum pname = *(GLenum *) (pc + 4);
2404642e01fSmrg    GLsizei compsize;
2414642e01fSmrg
2424642e01fSmrg    if (swap) {
2434642e01fSmrg        pname = bswap_32(pname);
2444642e01fSmrg    }
2454642e01fSmrg
2464642e01fSmrg    compsize = __glTexEnvfv_size(pname);
2470b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
2484642e01fSmrg}
2494642e01fSmrg
2504642e01fSmrgint
251f7df2e56Smrg__glXTexGendvReqSize(const GLbyte * pc, Bool swap, int reqlen)
2524642e01fSmrg{
2534642e01fSmrg    GLenum pname = *(GLenum *) (pc + 4);
2544642e01fSmrg    GLsizei compsize;
2554642e01fSmrg
2564642e01fSmrg    if (swap) {
2574642e01fSmrg        pname = bswap_32(pname);
2584642e01fSmrg    }
2594642e01fSmrg
2604642e01fSmrg    compsize = __glTexGendv_size(pname);
2610b0d8713Smrg    return safe_pad(safe_mul(compsize, 8));
2624642e01fSmrg}
2634642e01fSmrg
2644642e01fSmrgint
265f7df2e56Smrg__glXTexGenfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
2664642e01fSmrg{
2674642e01fSmrg    GLenum pname = *(GLenum *) (pc + 4);
2684642e01fSmrg    GLsizei compsize;
2694642e01fSmrg
2704642e01fSmrg    if (swap) {
2714642e01fSmrg        pname = bswap_32(pname);
2724642e01fSmrg    }
2734642e01fSmrg
2744642e01fSmrg    compsize = __glTexGenfv_size(pname);
2750b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
2764642e01fSmrg}
2774642e01fSmrg
2784642e01fSmrgint
279f7df2e56Smrg__glXPixelMapfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
2804642e01fSmrg{
2814642e01fSmrg    GLsizei mapsize = *(GLsizei *) (pc + 4);
2824642e01fSmrg
2834642e01fSmrg    if (swap) {
2844642e01fSmrg        mapsize = bswap_32(mapsize);
2854642e01fSmrg    }
2864642e01fSmrg
2870b0d8713Smrg    return safe_pad(safe_mul(mapsize, 4));
2884642e01fSmrg}
2894642e01fSmrg
2904642e01fSmrgint
291f7df2e56Smrg__glXPixelMapusvReqSize(const GLbyte * pc, Bool swap, int reqlen)
2924642e01fSmrg{
2934642e01fSmrg    GLsizei mapsize = *(GLsizei *) (pc + 4);
2944642e01fSmrg
2954642e01fSmrg    if (swap) {
2964642e01fSmrg        mapsize = bswap_32(mapsize);
2974642e01fSmrg    }
2984642e01fSmrg
2990b0d8713Smrg    return safe_pad(safe_mul(mapsize, 2));
3004642e01fSmrg}
3014642e01fSmrg
3024642e01fSmrgint
303f7df2e56Smrg__glXDrawPixelsReqSize(const GLbyte * pc, Bool swap, int reqlen)
3044642e01fSmrg{
3054642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
3064642e01fSmrg    GLint image_height = 0;
3074642e01fSmrg    GLint skip_images = 0;
3084642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
3094642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
3104642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 20);
3114642e01fSmrg    GLsizei height = *(GLsizei *) (pc + 24);
3124642e01fSmrg    GLenum format = *(GLenum *) (pc + 28);
3134642e01fSmrg    GLenum type = *(GLenum *) (pc + 32);
3144642e01fSmrg
3154642e01fSmrg    if (swap) {
3164642e01fSmrg        row_length = bswap_32(row_length);
3174642e01fSmrg        skip_rows = bswap_32(skip_rows);
3184642e01fSmrg        alignment = bswap_32(alignment);
3194642e01fSmrg        width = bswap_32(width);
3204642e01fSmrg        height = bswap_32(height);
3214642e01fSmrg        format = bswap_32(format);
3224642e01fSmrg        type = bswap_32(type);
3234642e01fSmrg    }
3244642e01fSmrg
3254642e01fSmrg    return __glXImageSize(format, type, 0, width, height, 1,
3264642e01fSmrg                          image_height, row_length, skip_images,
3274642e01fSmrg                          skip_rows, alignment);
3284642e01fSmrg}
3294642e01fSmrg
3304642e01fSmrgint
331f7df2e56Smrg__glXPrioritizeTexturesReqSize(const GLbyte * pc, Bool swap, int reqlen)
3324642e01fSmrg{
3334642e01fSmrg    GLsizei n = *(GLsizei *) (pc + 0);
3344642e01fSmrg
3354642e01fSmrg    if (swap) {
3364642e01fSmrg        n = bswap_32(n);
3374642e01fSmrg    }
3384642e01fSmrg
3390b0d8713Smrg    return safe_pad(safe_add(safe_mul(n, 4), safe_mul(n, 4)));
3404642e01fSmrg}
3414642e01fSmrg
3424642e01fSmrgint
343f7df2e56Smrg__glXTexSubImage1DReqSize(const GLbyte * pc, Bool swap, int reqlen)
3444642e01fSmrg{
3454642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
3464642e01fSmrg    GLint image_height = 0;
3474642e01fSmrg    GLint skip_images = 0;
3484642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
3494642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
3504642e01fSmrg    GLenum target = *(GLenum *) (pc + 20);
3514642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 36);
3524642e01fSmrg    GLenum format = *(GLenum *) (pc + 44);
3534642e01fSmrg    GLenum type = *(GLenum *) (pc + 48);
3544642e01fSmrg
3554642e01fSmrg    if (swap) {
3564642e01fSmrg        row_length = bswap_32(row_length);
3574642e01fSmrg        skip_rows = bswap_32(skip_rows);
3584642e01fSmrg        alignment = bswap_32(alignment);
3594642e01fSmrg        target = bswap_32(target);
3604642e01fSmrg        width = bswap_32(width);
3614642e01fSmrg        format = bswap_32(format);
3624642e01fSmrg        type = bswap_32(type);
3634642e01fSmrg    }
3644642e01fSmrg
3654642e01fSmrg    return __glXImageSize(format, type, target, width, 1, 1,
3664642e01fSmrg                          image_height, row_length, skip_images,
3674642e01fSmrg                          skip_rows, alignment);
3684642e01fSmrg}
3694642e01fSmrg
3704642e01fSmrgint
371f7df2e56Smrg__glXTexSubImage2DReqSize(const GLbyte * pc, Bool swap, int reqlen)
3724642e01fSmrg{
3734642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
3744642e01fSmrg    GLint image_height = 0;
3754642e01fSmrg    GLint skip_images = 0;
3764642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
3774642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
3784642e01fSmrg    GLenum target = *(GLenum *) (pc + 20);
3794642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 36);
3804642e01fSmrg    GLsizei height = *(GLsizei *) (pc + 40);
3814642e01fSmrg    GLenum format = *(GLenum *) (pc + 44);
3824642e01fSmrg    GLenum type = *(GLenum *) (pc + 48);
3834642e01fSmrg
3844642e01fSmrg    if (swap) {
3854642e01fSmrg        row_length = bswap_32(row_length);
3864642e01fSmrg        skip_rows = bswap_32(skip_rows);
3874642e01fSmrg        alignment = bswap_32(alignment);
3884642e01fSmrg        target = bswap_32(target);
3894642e01fSmrg        width = bswap_32(width);
3904642e01fSmrg        height = bswap_32(height);
3914642e01fSmrg        format = bswap_32(format);
3924642e01fSmrg        type = bswap_32(type);
3934642e01fSmrg    }
3944642e01fSmrg
3954642e01fSmrg    return __glXImageSize(format, type, target, width, height, 1,
3964642e01fSmrg                          image_height, row_length, skip_images,
3974642e01fSmrg                          skip_rows, alignment);
3984642e01fSmrg}
3994642e01fSmrg
4004642e01fSmrgint
401f7df2e56Smrg__glXColorTableReqSize(const GLbyte * pc, Bool swap, int reqlen)
4024642e01fSmrg{
4034642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
4044642e01fSmrg    GLint image_height = 0;
4054642e01fSmrg    GLint skip_images = 0;
4064642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
4074642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
4084642e01fSmrg    GLenum target = *(GLenum *) (pc + 20);
4094642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 28);
4104642e01fSmrg    GLenum format = *(GLenum *) (pc + 32);
4114642e01fSmrg    GLenum type = *(GLenum *) (pc + 36);
4124642e01fSmrg
4134642e01fSmrg    if (swap) {
4144642e01fSmrg        row_length = bswap_32(row_length);
4154642e01fSmrg        skip_rows = bswap_32(skip_rows);
4164642e01fSmrg        alignment = bswap_32(alignment);
4174642e01fSmrg        target = bswap_32(target);
4184642e01fSmrg        width = bswap_32(width);
4194642e01fSmrg        format = bswap_32(format);
4204642e01fSmrg        type = bswap_32(type);
4214642e01fSmrg    }
4224642e01fSmrg
4234642e01fSmrg    return __glXImageSize(format, type, target, width, 1, 1,
4244642e01fSmrg                          image_height, row_length, skip_images,
4254642e01fSmrg                          skip_rows, alignment);
4264642e01fSmrg}
4274642e01fSmrg
4284642e01fSmrgint
429f7df2e56Smrg__glXColorTableParameterfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
4304642e01fSmrg{
4314642e01fSmrg    GLenum pname = *(GLenum *) (pc + 4);
4324642e01fSmrg    GLsizei compsize;
4334642e01fSmrg
4344642e01fSmrg    if (swap) {
4354642e01fSmrg        pname = bswap_32(pname);
4364642e01fSmrg    }
4374642e01fSmrg
4384642e01fSmrg    compsize = __glColorTableParameterfv_size(pname);
4390b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
4404642e01fSmrg}
4414642e01fSmrg
4424642e01fSmrgint
443f7df2e56Smrg__glXColorSubTableReqSize(const GLbyte * pc, Bool swap, int reqlen)
4444642e01fSmrg{
4454642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
4464642e01fSmrg    GLint image_height = 0;
4474642e01fSmrg    GLint skip_images = 0;
4484642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
4494642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
4504642e01fSmrg    GLenum target = *(GLenum *) (pc + 20);
4514642e01fSmrg    GLsizei count = *(GLsizei *) (pc + 28);
4524642e01fSmrg    GLenum format = *(GLenum *) (pc + 32);
4534642e01fSmrg    GLenum type = *(GLenum *) (pc + 36);
4544642e01fSmrg
4554642e01fSmrg    if (swap) {
4564642e01fSmrg        row_length = bswap_32(row_length);
4574642e01fSmrg        skip_rows = bswap_32(skip_rows);
4584642e01fSmrg        alignment = bswap_32(alignment);
4594642e01fSmrg        target = bswap_32(target);
4604642e01fSmrg        count = bswap_32(count);
4614642e01fSmrg        format = bswap_32(format);
4624642e01fSmrg        type = bswap_32(type);
4634642e01fSmrg    }
4644642e01fSmrg
4654642e01fSmrg    return __glXImageSize(format, type, target, count, 1, 1,
4664642e01fSmrg                          image_height, row_length, skip_images,
4674642e01fSmrg                          skip_rows, alignment);
4684642e01fSmrg}
4694642e01fSmrg
4704642e01fSmrgint
471f7df2e56Smrg__glXConvolutionFilter1DReqSize(const GLbyte * pc, Bool swap, int reqlen)
4724642e01fSmrg{
4734642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
4744642e01fSmrg    GLint image_height = 0;
4754642e01fSmrg    GLint skip_images = 0;
4764642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
4774642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
4784642e01fSmrg    GLenum target = *(GLenum *) (pc + 20);
4794642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 28);
4804642e01fSmrg    GLenum format = *(GLenum *) (pc + 36);
4814642e01fSmrg    GLenum type = *(GLenum *) (pc + 40);
4824642e01fSmrg
4834642e01fSmrg    if (swap) {
4844642e01fSmrg        row_length = bswap_32(row_length);
4854642e01fSmrg        skip_rows = bswap_32(skip_rows);
4864642e01fSmrg        alignment = bswap_32(alignment);
4874642e01fSmrg        target = bswap_32(target);
4884642e01fSmrg        width = bswap_32(width);
4894642e01fSmrg        format = bswap_32(format);
4904642e01fSmrg        type = bswap_32(type);
4914642e01fSmrg    }
4924642e01fSmrg
4934642e01fSmrg    return __glXImageSize(format, type, target, width, 1, 1,
4944642e01fSmrg                          image_height, row_length, skip_images,
4954642e01fSmrg                          skip_rows, alignment);
4964642e01fSmrg}
4974642e01fSmrg
4984642e01fSmrgint
499f7df2e56Smrg__glXConvolutionFilter2DReqSize(const GLbyte * pc, Bool swap, int reqlen)
5004642e01fSmrg{
5014642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
5024642e01fSmrg    GLint image_height = 0;
5034642e01fSmrg    GLint skip_images = 0;
5044642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 8);
5054642e01fSmrg    GLint alignment = *(GLint *) (pc + 16);
5064642e01fSmrg    GLenum target = *(GLenum *) (pc + 20);
5074642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 28);
5084642e01fSmrg    GLsizei height = *(GLsizei *) (pc + 32);
5094642e01fSmrg    GLenum format = *(GLenum *) (pc + 36);
5104642e01fSmrg    GLenum type = *(GLenum *) (pc + 40);
5114642e01fSmrg
5124642e01fSmrg    if (swap) {
5134642e01fSmrg        row_length = bswap_32(row_length);
5144642e01fSmrg        skip_rows = bswap_32(skip_rows);
5154642e01fSmrg        alignment = bswap_32(alignment);
5164642e01fSmrg        target = bswap_32(target);
5174642e01fSmrg        width = bswap_32(width);
5184642e01fSmrg        height = bswap_32(height);
5194642e01fSmrg        format = bswap_32(format);
5204642e01fSmrg        type = bswap_32(type);
5214642e01fSmrg    }
5224642e01fSmrg
5234642e01fSmrg    return __glXImageSize(format, type, target, width, height, 1,
5244642e01fSmrg                          image_height, row_length, skip_images,
5254642e01fSmrg                          skip_rows, alignment);
5264642e01fSmrg}
5274642e01fSmrg
5284642e01fSmrgint
529f7df2e56Smrg__glXConvolutionParameterfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
5304642e01fSmrg{
5314642e01fSmrg    GLenum pname = *(GLenum *) (pc + 4);
5324642e01fSmrg    GLsizei compsize;
5334642e01fSmrg
5344642e01fSmrg    if (swap) {
5354642e01fSmrg        pname = bswap_32(pname);
5364642e01fSmrg    }
5374642e01fSmrg
5384642e01fSmrg    compsize = __glConvolutionParameterfv_size(pname);
5390b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
5404642e01fSmrg}
5414642e01fSmrg
5424642e01fSmrgint
543f7df2e56Smrg__glXTexImage3DReqSize(const GLbyte * pc, Bool swap, int reqlen)
5444642e01fSmrg{
5454642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
5464642e01fSmrg    GLint image_height = *(GLint *) (pc + 8);
5474642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 16);
5484642e01fSmrg    GLint skip_images = *(GLint *) (pc + 20);
5494642e01fSmrg    GLint alignment = *(GLint *) (pc + 32);
5504642e01fSmrg    GLenum target = *(GLenum *) (pc + 36);
5514642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 48);
5524642e01fSmrg    GLsizei height = *(GLsizei *) (pc + 52);
5534642e01fSmrg    GLsizei depth = *(GLsizei *) (pc + 56);
5544642e01fSmrg    GLenum format = *(GLenum *) (pc + 68);
5554642e01fSmrg    GLenum type = *(GLenum *) (pc + 72);
5564642e01fSmrg
5574642e01fSmrg    if (swap) {
5584642e01fSmrg        row_length = bswap_32(row_length);
5594642e01fSmrg        image_height = bswap_32(image_height);
5604642e01fSmrg        skip_rows = bswap_32(skip_rows);
5614642e01fSmrg        skip_images = bswap_32(skip_images);
5624642e01fSmrg        alignment = bswap_32(alignment);
5634642e01fSmrg        target = bswap_32(target);
5644642e01fSmrg        width = bswap_32(width);
5654642e01fSmrg        height = bswap_32(height);
5664642e01fSmrg        depth = bswap_32(depth);
5674642e01fSmrg        format = bswap_32(format);
5684642e01fSmrg        type = bswap_32(type);
5694642e01fSmrg    }
5704642e01fSmrg
5714642e01fSmrg    if (*(CARD32 *) (pc + 76))
5724642e01fSmrg        return 0;
5734642e01fSmrg
5744642e01fSmrg    return __glXImageSize(format, type, target, width, height, depth,
5754642e01fSmrg                          image_height, row_length, skip_images,
5764642e01fSmrg                          skip_rows, alignment);
5774642e01fSmrg}
5784642e01fSmrg
5794642e01fSmrgint
580f7df2e56Smrg__glXTexSubImage3DReqSize(const GLbyte * pc, Bool swap, int reqlen)
5814642e01fSmrg{
5824642e01fSmrg    GLint row_length = *(GLint *) (pc + 4);
5834642e01fSmrg    GLint image_height = *(GLint *) (pc + 8);
5844642e01fSmrg    GLint skip_rows = *(GLint *) (pc + 16);
5854642e01fSmrg    GLint skip_images = *(GLint *) (pc + 20);
5864642e01fSmrg    GLint alignment = *(GLint *) (pc + 32);
5874642e01fSmrg    GLenum target = *(GLenum *) (pc + 36);
5884642e01fSmrg    GLsizei width = *(GLsizei *) (pc + 60);
5894642e01fSmrg    GLsizei height = *(GLsizei *) (pc + 64);
5904642e01fSmrg    GLsizei depth = *(GLsizei *) (pc + 68);
5914642e01fSmrg    GLenum format = *(GLenum *) (pc + 76);
5924642e01fSmrg    GLenum type = *(GLenum *) (pc + 80);
5934642e01fSmrg
5944642e01fSmrg    if (swap) {
5954642e01fSmrg        row_length = bswap_32(row_length);
5964642e01fSmrg        image_height = bswap_32(image_height);
5974642e01fSmrg        skip_rows = bswap_32(skip_rows);
5984642e01fSmrg        skip_images = bswap_32(skip_images);
5994642e01fSmrg        alignment = bswap_32(alignment);
6004642e01fSmrg        target = bswap_32(target);
6014642e01fSmrg        width = bswap_32(width);
6024642e01fSmrg        height = bswap_32(height);
6034642e01fSmrg        depth = bswap_32(depth);
6044642e01fSmrg        format = bswap_32(format);
6054642e01fSmrg        type = bswap_32(type);
6064642e01fSmrg    }
6074642e01fSmrg
6084642e01fSmrg    return __glXImageSize(format, type, target, width, height, depth,
6094642e01fSmrg                          image_height, row_length, skip_images,
6104642e01fSmrg                          skip_rows, alignment);
6114642e01fSmrg}
6124642e01fSmrg
6134642e01fSmrgint
614f7df2e56Smrg__glXCompressedTexImage1DReqSize(const GLbyte * pc, Bool swap, int reqlen)
6154642e01fSmrg{
6164642e01fSmrg    GLsizei imageSize = *(GLsizei *) (pc + 20);
6174642e01fSmrg
6184642e01fSmrg    if (swap) {
6194642e01fSmrg        imageSize = bswap_32(imageSize);
6204642e01fSmrg    }
6214642e01fSmrg
6220b0d8713Smrg    return safe_pad(imageSize);
6234642e01fSmrg}
6244642e01fSmrg
6254642e01fSmrgint
626f7df2e56Smrg__glXCompressedTexImage2DReqSize(const GLbyte * pc, Bool swap, int reqlen)
6274642e01fSmrg{
6284642e01fSmrg    GLsizei imageSize = *(GLsizei *) (pc + 24);
6294642e01fSmrg
6304642e01fSmrg    if (swap) {
6314642e01fSmrg        imageSize = bswap_32(imageSize);
6324642e01fSmrg    }
6334642e01fSmrg
6340b0d8713Smrg    return safe_pad(imageSize);
6354642e01fSmrg}
6364642e01fSmrg
6374642e01fSmrgint
638f7df2e56Smrg__glXCompressedTexImage3DReqSize(const GLbyte * pc, Bool swap, int reqlen)
6394642e01fSmrg{
6404642e01fSmrg    GLsizei imageSize = *(GLsizei *) (pc + 28);
6414642e01fSmrg
6424642e01fSmrg    if (swap) {
6434642e01fSmrg        imageSize = bswap_32(imageSize);
6444642e01fSmrg    }
6454642e01fSmrg
6460b0d8713Smrg    return safe_pad(imageSize);
6474642e01fSmrg}
6484642e01fSmrg
6494642e01fSmrgint
650f7df2e56Smrg__glXCompressedTexSubImage3DReqSize(const GLbyte * pc, Bool swap, int reqlen)
6514642e01fSmrg{
6524642e01fSmrg    GLsizei imageSize = *(GLsizei *) (pc + 36);
6534642e01fSmrg
6544642e01fSmrg    if (swap) {
6554642e01fSmrg        imageSize = bswap_32(imageSize);
6564642e01fSmrg    }
6574642e01fSmrg
6580b0d8713Smrg    return safe_pad(imageSize);
6594642e01fSmrg}
6604642e01fSmrg
6614642e01fSmrgint
662f7df2e56Smrg__glXPointParameterfvReqSize(const GLbyte * pc, Bool swap, int reqlen)
6634642e01fSmrg{
6644642e01fSmrg    GLenum pname = *(GLenum *) (pc + 0);
6654642e01fSmrg    GLsizei compsize;
6664642e01fSmrg
6674642e01fSmrg    if (swap) {
6684642e01fSmrg        pname = bswap_32(pname);
6694642e01fSmrg    }
6704642e01fSmrg
671f7df2e56Smrg    compsize = __glPointParameterfv_size(pname);
6720b0d8713Smrg    return safe_pad(safe_mul(compsize, 4));
6734642e01fSmrg}
6744642e01fSmrg
6754642e01fSmrgint
676f7df2e56Smrg__glXDrawBuffersReqSize(const GLbyte * pc, Bool swap, int reqlen)
6774642e01fSmrg{
678f7df2e56Smrg    GLsizei n = *(GLsizei *) (pc + 0);
6794642e01fSmrg
6804642e01fSmrg    if (swap) {
681f7df2e56Smrg        n = bswap_32(n);
6824642e01fSmrg    }
6834642e01fSmrg
684f7df2e56Smrg    return safe_pad(safe_mul(n, 4));
6854642e01fSmrg}
6864642e01fSmrg
6874642e01fSmrgint
688f7df2e56Smrg__glXProgramStringARBReqSize(const GLbyte * pc, Bool swap, int reqlen)
6894642e01fSmrg{
690f7df2e56Smrg    GLsizei len = *(GLsizei *) (pc + 8);
6914642e01fSmrg
6924642e01fSmrg    if (swap) {
693f7df2e56Smrg        len = bswap_32(len);
6944642e01fSmrg    }
6954642e01fSmrg
696f7df2e56Smrg    return safe_pad(len);
6974642e01fSmrg}
6984642e01fSmrg
6994642e01fSmrgint
700f7df2e56Smrg__glXVertexAttribs1dvNVReqSize(const GLbyte * pc, Bool swap, int reqlen)
7014642e01fSmrg{
7024642e01fSmrg    GLsizei n = *(GLsizei *) (pc + 4);
7034642e01fSmrg
7044642e01fSmrg    if (swap) {
7054642e01fSmrg        n = bswap_32(n);
7064642e01fSmrg    }
7074642e01fSmrg
7080b0d8713Smrg    return safe_pad(safe_mul(n, 8));
7094642e01fSmrg}
7104642e01fSmrg
7114642e01fSmrgint
712f7df2e56Smrg__glXVertexAttribs2dvNVReqSize(const GLbyte * pc, Bool swap, int reqlen)
7134642e01fSmrg{
7144642e01fSmrg    GLsizei n = *(GLsizei *) (pc + 4);
7154642e01fSmrg
7164642e01fSmrg    if (swap) {
7174642e01fSmrg        n = bswap_32(n);
7184642e01fSmrg    }
7194642e01fSmrg
7200b0d8713Smrg    return safe_pad(safe_mul(n, 16));
7214642e01fSmrg}
7224642e01fSmrg
7234642e01fSmrgint
724f7df2e56Smrg__glXVertexAttribs3dvNVReqSize(const GLbyte * pc, Bool swap, int reqlen)
7254642e01fSmrg{
7264642e01fSmrg    GLsizei n = *(GLsizei *) (pc + 4);
7274642e01fSmrg
7284642e01fSmrg    if (swap) {
7294642e01fSmrg        n = bswap_32(n);
7304642e01fSmrg    }
7314642e01fSmrg
7320b0d8713Smrg    return safe_pad(safe_mul(n, 24));
7334642e01fSmrg}
7344642e01fSmrg
7354642e01fSmrgint
736f7df2e56Smrg__glXVertexAttribs3fvNVReqSize(const GLbyte * pc, Bool swap, int reqlen)
7374642e01fSmrg{
7384642e01fSmrg    GLsizei n = *(GLsizei *) (pc + 4);
7394642e01fSmrg
7404642e01fSmrg    if (swap) {
7414642e01fSmrg        n = bswap_32(n);
7424642e01fSmrg    }
7434642e01fSmrg
7440b0d8713Smrg    return safe_pad(safe_mul(n, 12));
7454642e01fSmrg}
7464642e01fSmrg
7474642e01fSmrgint
748f7df2e56Smrg__glXVertexAttribs3svNVReqSize(const GLbyte * pc, Bool swap, int reqlen)
7494642e01fSmrg{
7504642e01fSmrg    GLsizei n = *(GLsizei *) (pc + 4);
7514642e01fSmrg
7524642e01fSmrg    if (swap) {
7534642e01fSmrg        n = bswap_32(n);
7544642e01fSmrg    }
7554642e01fSmrg
7560b0d8713Smrg    return safe_pad(safe_mul(n, 6));
7574642e01fSmrg}
7584642e01fSmrg
7594642e01fSmrgint
760f7df2e56Smrg__glXVertexAttribs4dvNVReqSize(const GLbyte * pc, Bool swap, int reqlen)
7614642e01fSmrg{
7624642e01fSmrg    GLsizei n = *(GLsizei *) (pc + 4);
7634642e01fSmrg
7644642e01fSmrg    if (swap) {
7654642e01fSmrg        n = bswap_32(n);
7664642e01fSmrg    }
7674642e01fSmrg
7680b0d8713Smrg    return safe_pad(safe_mul(n, 32));
7694642e01fSmrg}
7704642e01fSmrg
7714642e01fSmrgALIAS(Fogiv, Fogfv)
7724642e01fSmrg    ALIAS(Lightiv, Lightfv)
7734642e01fSmrg    ALIAS(LightModeliv, LightModelfv)
7744642e01fSmrg    ALIAS(Materialiv, Materialfv)
7754642e01fSmrg    ALIAS(TexParameteriv, TexParameterfv)
7764642e01fSmrg    ALIAS(TexEnviv, TexEnvfv)
7774642e01fSmrg    ALIAS(TexGeniv, TexGenfv)
7784642e01fSmrg    ALIAS(PixelMapuiv, PixelMapfv)
7794642e01fSmrg    ALIAS(ColorTableParameteriv, ColorTableParameterfv)
7804642e01fSmrg    ALIAS(ConvolutionParameteriv, ConvolutionParameterfv)
781f7df2e56Smrg    ALIAS(CompressedTexSubImage1D, CompressedTexImage1D)
782f7df2e56Smrg    ALIAS(CompressedTexSubImage2D, CompressedTexImage3D)
783f7df2e56Smrg    ALIAS(PointParameteriv, PointParameterfv)
784f7df2e56Smrg    ALIAS(DeleteFramebuffers, DrawBuffers)
785f7df2e56Smrg    ALIAS(DeleteRenderbuffers, DrawBuffers)
7864642e01fSmrg    ALIAS(VertexAttribs1fvNV, PixelMapfv)
7874642e01fSmrg    ALIAS(VertexAttribs1svNV, PixelMapusv)
7884642e01fSmrg    ALIAS(VertexAttribs2fvNV, VertexAttribs1dvNV)
7894642e01fSmrg    ALIAS(VertexAttribs2svNV, PixelMapfv)
7904642e01fSmrg    ALIAS(VertexAttribs4fvNV, VertexAttribs2dvNV)
7914642e01fSmrg    ALIAS(VertexAttribs4svNV, VertexAttribs1dvNV)
7924642e01fSmrg    ALIAS(VertexAttribs4ubvNV, PixelMapfv)
793