1 /* DO NOT EDIT - This file generated automatically by glX_proto_send.py (from Mesa) script */ 2 3 /* 4 * (C) Copyright IBM Corporation 2004, 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 29 #include <GL/gl.h> 30 #include "indirect.h" 31 #include "glxclient.h" 32 #include "indirect_size.h" 33 #include "glapi.h" 34 #include "glthread.h" 35 #include <GL/glxproto.h> 36 #ifdef USE_XCB 37 #include <X11/Xlib-xcb.h> 38 #include <xcb/xcb.h> 39 #include <xcb/glx.h> 40 #endif /* USE_XCB */ 41 42 #define __GLX_PAD(n) (((n) + 3) & ~3) 43 44 # if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__) 45 # define FASTCALL __attribute__((fastcall)) 46 # else 47 # define FASTCALL 48 # endif 49 # if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) 50 # define NOINLINE __attribute__((noinline)) 51 # else 52 # define NOINLINE 53 # endif 54 55 #ifndef __GNUC__ 56 # define __builtin_expect(x, y) x 57 #endif 58 59 /* If the size and opcode values are known at compile-time, this will, on 60 * x86 at least, emit them with a single instruction. 61 */ 62 #define emit_header(dest, op, size) \ 63 do { union { short s[2]; int i; } temp; \ 64 temp.s[0] = (size); temp.s[1] = (op); \ 65 *((int *)(dest)) = temp.i; } while(0) 66 67 NOINLINE CARD32 68 __glXReadReply( Display *dpy, size_t size, void * dest, GLboolean reply_is_always_array ) 69 { 70 xGLXSingleReply reply; 71 72 (void) _XReply(dpy, (xReply *) & reply, 0, False); 73 if (size != 0) { 74 if ((reply.length > 0) || reply_is_always_array) { 75 const GLint bytes = (reply_is_always_array) 76 ? (4 * reply.length) : (reply.size * size); 77 const GLint extra = 4 - (bytes & 3); 78 79 _XRead(dpy, dest, bytes); 80 if ( extra < 4 ) { 81 _XEatData(dpy, extra); 82 } 83 } 84 else { 85 (void) memcpy( dest, &(reply.pad3), size); 86 } 87 } 88 89 return reply.retval; 90 } 91 92 NOINLINE void 93 __glXReadPixelReply( Display *dpy, struct glx_context * gc, unsigned max_dim, 94 GLint width, GLint height, GLint depth, GLenum format, GLenum type, 95 void * dest, GLboolean dimensions_in_reply ) 96 { 97 xGLXSingleReply reply; 98 GLint size; 99 100 (void) _XReply(dpy, (xReply *) & reply, 0, False); 101 102 if ( dimensions_in_reply ) { 103 width = reply.pad3; 104 height = reply.pad4; 105 depth = reply.pad5; 106 107 if ((height == 0) || (max_dim < 2)) { height = 1; } 108 if ((depth == 0) || (max_dim < 3)) { depth = 1; } 109 } 110 111 size = reply.length * 4; 112 if (size != 0) { 113 void * buf = Xmalloc( size ); 114 115 if ( buf == NULL ) { 116 _XEatData(dpy, size); 117 __glXSetError(gc, GL_OUT_OF_MEMORY); 118 } 119 else { 120 const GLint extra = 4 - (size & 3); 121 122 _XRead(dpy, buf, size); 123 if ( extra < 4 ) { 124 _XEatData(dpy, extra); 125 } 126 127 __glEmptyImage(gc, 3, width, height, depth, format, type, 128 buf, dest); 129 Xfree(buf); 130 } 131 } 132 } 133 134 #define X_GLXSingle 0 135 136 NOINLINE FASTCALL GLubyte * 137 __glXSetupSingleRequest( struct glx_context * gc, GLint sop, GLint cmdlen ) 138 { 139 xGLXSingleReq * req; 140 Display * const dpy = gc->currentDpy; 141 142 (void) __glXFlushRenderBuffer(gc, gc->pc); 143 LockDisplay(dpy); 144 GetReqExtra(GLXSingle, cmdlen, req); 145 req->reqType = gc->majorOpcode; 146 req->contextTag = gc->currentContextTag; 147 req->glxCode = sop; 148 return (GLubyte *)(req) + sz_xGLXSingleReq; 149 } 150 151 NOINLINE FASTCALL GLubyte * 152 __glXSetupVendorRequest( struct glx_context * gc, GLint code, GLint vop, GLint cmdlen ) 153 { 154 xGLXVendorPrivateReq * req; 155 Display * const dpy = gc->currentDpy; 156 157 (void) __glXFlushRenderBuffer(gc, gc->pc); 158 LockDisplay(dpy); 159 GetReqExtra(GLXVendorPrivate, cmdlen, req); 160 req->reqType = gc->majorOpcode; 161 req->glxCode = code; 162 req->vendorCode = vop; 163 req->contextTag = gc->currentContextTag; 164 return (GLubyte *)(req) + sz_xGLXVendorPrivateReq; 165 } 166 167 const GLuint __glXDefaultPixelStore[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 1 }; 168 169 #define zero (__glXDefaultPixelStore+0) 170 #define one (__glXDefaultPixelStore+8) 171 #define default_pixel_store_1D (__glXDefaultPixelStore+4) 172 #define default_pixel_store_1D_size 20 173 #define default_pixel_store_2D (__glXDefaultPixelStore+4) 174 #define default_pixel_store_2D_size 20 175 #define default_pixel_store_3D (__glXDefaultPixelStore+0) 176 #define default_pixel_store_3D_size 36 177 #define default_pixel_store_4D (__glXDefaultPixelStore+0) 178 #define default_pixel_store_4D_size 36 179 180 static FASTCALL NOINLINE void 181 generic_3_byte( GLint rop, const void * ptr ) 182 { 183 struct glx_context * const gc = __glXGetCurrentContext(); 184 const GLuint cmdlen = 8; 185 186 emit_header(gc->pc, rop, cmdlen); 187 (void) memcpy((void *)(gc->pc + 4), ptr, 4); 188 gc->pc += cmdlen; 189 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 190 } 191 192 static FASTCALL NOINLINE void 193 generic_4_byte( GLint rop, const void * ptr ) 194 { 195 struct glx_context * const gc = __glXGetCurrentContext(); 196 const GLuint cmdlen = 8; 197 198 emit_header(gc->pc, rop, cmdlen); 199 (void) memcpy((void *)(gc->pc + 4), ptr, 4); 200 gc->pc += cmdlen; 201 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 202 } 203 204 static FASTCALL NOINLINE void 205 generic_6_byte( GLint rop, const void * ptr ) 206 { 207 struct glx_context * const gc = __glXGetCurrentContext(); 208 const GLuint cmdlen = 12; 209 210 emit_header(gc->pc, rop, cmdlen); 211 (void) memcpy((void *)(gc->pc + 4), ptr, 8); 212 gc->pc += cmdlen; 213 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 214 } 215 216 static FASTCALL NOINLINE void 217 generic_8_byte( GLint rop, const void * ptr ) 218 { 219 struct glx_context * const gc = __glXGetCurrentContext(); 220 const GLuint cmdlen = 12; 221 222 emit_header(gc->pc, rop, cmdlen); 223 (void) memcpy((void *)(gc->pc + 4), ptr, 8); 224 gc->pc += cmdlen; 225 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 226 } 227 228 static FASTCALL NOINLINE void 229 generic_12_byte( GLint rop, const void * ptr ) 230 { 231 struct glx_context * const gc = __glXGetCurrentContext(); 232 const GLuint cmdlen = 16; 233 234 emit_header(gc->pc, rop, cmdlen); 235 (void) memcpy((void *)(gc->pc + 4), ptr, 12); 236 gc->pc += cmdlen; 237 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 238 } 239 240 static FASTCALL NOINLINE void 241 generic_16_byte( GLint rop, const void * ptr ) 242 { 243 struct glx_context * const gc = __glXGetCurrentContext(); 244 const GLuint cmdlen = 20; 245 246 emit_header(gc->pc, rop, cmdlen); 247 (void) memcpy((void *)(gc->pc + 4), ptr, 16); 248 gc->pc += cmdlen; 249 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 250 } 251 252 static FASTCALL NOINLINE void 253 generic_24_byte( GLint rop, const void * ptr ) 254 { 255 struct glx_context * const gc = __glXGetCurrentContext(); 256 const GLuint cmdlen = 28; 257 258 emit_header(gc->pc, rop, cmdlen); 259 (void) memcpy((void *)(gc->pc + 4), ptr, 24); 260 gc->pc += cmdlen; 261 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 262 } 263 264 static FASTCALL NOINLINE void 265 generic_32_byte( GLint rop, const void * ptr ) 266 { 267 struct glx_context * const gc = __glXGetCurrentContext(); 268 const GLuint cmdlen = 36; 269 270 emit_header(gc->pc, rop, cmdlen); 271 (void) memcpy((void *)(gc->pc + 4), ptr, 32); 272 gc->pc += cmdlen; 273 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 274 } 275 276 #define X_GLsop_NewList 101 277 void __indirect_glNewList(GLuint list, GLenum mode) 278 { 279 struct glx_context * const gc = __glXGetCurrentContext(); 280 Display * const dpy = gc->currentDpy; 281 #ifndef USE_XCB 282 const GLuint cmdlen = 8; 283 #endif 284 if (__builtin_expect(dpy != NULL, 1)) { 285 #ifdef USE_XCB 286 xcb_connection_t *c = XGetXCBConnection(dpy); 287 (void) __glXFlushRenderBuffer(gc, gc->pc); 288 xcb_glx_new_list(c, gc->currentContextTag, list, mode); 289 #else 290 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_NewList, cmdlen); 291 (void) memcpy((void *)(pc + 0), (void *)(&list), 4); 292 (void) memcpy((void *)(pc + 4), (void *)(&mode), 4); 293 UnlockDisplay(dpy); SyncHandle(); 294 #endif /* USE_XCB */ 295 } 296 return; 297 } 298 299 #define X_GLsop_EndList 102 300 void __indirect_glEndList(void) 301 { 302 struct glx_context * const gc = __glXGetCurrentContext(); 303 Display * const dpy = gc->currentDpy; 304 #ifndef USE_XCB 305 const GLuint cmdlen = 0; 306 #endif 307 if (__builtin_expect(dpy != NULL, 1)) { 308 #ifdef USE_XCB 309 xcb_connection_t *c = XGetXCBConnection(dpy); 310 (void) __glXFlushRenderBuffer(gc, gc->pc); 311 xcb_glx_end_list(c, gc->currentContextTag); 312 #else 313 (void) __glXSetupSingleRequest(gc, X_GLsop_EndList, cmdlen); 314 UnlockDisplay(dpy); SyncHandle(); 315 #endif /* USE_XCB */ 316 } 317 return; 318 } 319 320 #define X_GLrop_CallList 1 321 void __indirect_glCallList(GLuint list) 322 { 323 struct glx_context * const gc = __glXGetCurrentContext(); 324 const GLuint cmdlen = 8; 325 emit_header(gc->pc, X_GLrop_CallList, cmdlen); 326 (void) memcpy((void *)(gc->pc + 4), (void *)(&list), 4); 327 gc->pc += cmdlen; 328 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 329 } 330 331 #define X_GLrop_CallLists 2 332 void __indirect_glCallLists(GLsizei n, GLenum type, const GLvoid * lists) 333 { 334 struct glx_context * const gc = __glXGetCurrentContext(); 335 const GLuint compsize = __glCallLists_size(type); 336 const GLuint cmdlen = 12 + __GLX_PAD((compsize * n)); 337 if (n < 0) { 338 __glXSetError(gc, GL_INVALID_VALUE); 339 return; 340 } 341 if (__builtin_expect((n >= 0) && (gc->currentDpy != NULL), 1)) { 342 if (cmdlen <= gc->maxSmallRenderCommandSize) { 343 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 344 (void) __glXFlushRenderBuffer(gc, gc->pc); 345 } 346 emit_header(gc->pc, X_GLrop_CallLists, cmdlen); 347 (void) memcpy((void *)(gc->pc + 4), (void *)(&n), 4); 348 (void) memcpy((void *)(gc->pc + 8), (void *)(&type), 4); 349 (void) memcpy((void *)(gc->pc + 12), (void *)(lists), (compsize * n)); 350 gc->pc += cmdlen; 351 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 352 } 353 else { 354 const GLint op = X_GLrop_CallLists; 355 const GLuint cmdlenLarge = cmdlen + 4; 356 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 357 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 358 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 359 (void) memcpy((void *)(pc + 8), (void *)(&n), 4); 360 (void) memcpy((void *)(pc + 12), (void *)(&type), 4); 361 __glXSendLargeCommand(gc, pc, 16, lists, (compsize * n)); 362 } 363 } 364 } 365 366 #define X_GLsop_DeleteLists 103 367 void __indirect_glDeleteLists(GLuint list, GLsizei range) 368 { 369 struct glx_context * const gc = __glXGetCurrentContext(); 370 Display * const dpy = gc->currentDpy; 371 #ifndef USE_XCB 372 const GLuint cmdlen = 8; 373 #endif 374 if (__builtin_expect(dpy != NULL, 1)) { 375 #ifdef USE_XCB 376 xcb_connection_t *c = XGetXCBConnection(dpy); 377 (void) __glXFlushRenderBuffer(gc, gc->pc); 378 xcb_glx_delete_lists(c, gc->currentContextTag, list, range); 379 #else 380 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_DeleteLists, cmdlen); 381 (void) memcpy((void *)(pc + 0), (void *)(&list), 4); 382 (void) memcpy((void *)(pc + 4), (void *)(&range), 4); 383 UnlockDisplay(dpy); SyncHandle(); 384 #endif /* USE_XCB */ 385 } 386 return; 387 } 388 389 #define X_GLsop_GenLists 104 390 GLuint __indirect_glGenLists(GLsizei range) 391 { 392 struct glx_context * const gc = __glXGetCurrentContext(); 393 Display * const dpy = gc->currentDpy; 394 GLuint retval = (GLuint) 0; 395 #ifndef USE_XCB 396 const GLuint cmdlen = 4; 397 #endif 398 if (__builtin_expect(dpy != NULL, 1)) { 399 #ifdef USE_XCB 400 xcb_connection_t *c = XGetXCBConnection(dpy); 401 (void) __glXFlushRenderBuffer(gc, gc->pc); 402 xcb_glx_gen_lists_reply_t *reply = xcb_glx_gen_lists_reply(c, xcb_glx_gen_lists(c, gc->currentContextTag, range), NULL); 403 retval = reply->ret_val; 404 free(reply); 405 #else 406 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GenLists, cmdlen); 407 (void) memcpy((void *)(pc + 0), (void *)(&range), 4); 408 retval = (GLuint) __glXReadReply(dpy, 0, NULL, GL_FALSE); 409 UnlockDisplay(dpy); SyncHandle(); 410 #endif /* USE_XCB */ 411 } 412 return retval; 413 } 414 415 #define X_GLrop_ListBase 3 416 void __indirect_glListBase(GLuint base) 417 { 418 struct glx_context * const gc = __glXGetCurrentContext(); 419 const GLuint cmdlen = 8; 420 emit_header(gc->pc, X_GLrop_ListBase, cmdlen); 421 (void) memcpy((void *)(gc->pc + 4), (void *)(&base), 4); 422 gc->pc += cmdlen; 423 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 424 } 425 426 #define X_GLrop_Begin 4 427 void __indirect_glBegin(GLenum mode) 428 { 429 struct glx_context * const gc = __glXGetCurrentContext(); 430 const GLuint cmdlen = 8; 431 emit_header(gc->pc, X_GLrop_Begin, cmdlen); 432 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 433 gc->pc += cmdlen; 434 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 435 } 436 437 #define X_GLrop_Bitmap 5 438 void __indirect_glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap) 439 { 440 struct glx_context * const gc = __glXGetCurrentContext(); 441 const GLuint compsize = (bitmap != NULL) ? __glImageSize(width, height, 1, GL_COLOR_INDEX, GL_BITMAP, 0) : 0; 442 const GLuint cmdlen = 48 + __GLX_PAD(compsize); 443 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 444 if (cmdlen <= gc->maxSmallRenderCommandSize) { 445 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 446 (void) __glXFlushRenderBuffer(gc, gc->pc); 447 } 448 emit_header(gc->pc, X_GLrop_Bitmap, cmdlen); 449 (void) memcpy((void *)(gc->pc + 24), (void *)(&width), 4); 450 (void) memcpy((void *)(gc->pc + 28), (void *)(&height), 4); 451 (void) memcpy((void *)(gc->pc + 32), (void *)(&xorig), 4); 452 (void) memcpy((void *)(gc->pc + 36), (void *)(&yorig), 4); 453 (void) memcpy((void *)(gc->pc + 40), (void *)(&xmove), 4); 454 (void) memcpy((void *)(gc->pc + 44), (void *)(&ymove), 4); 455 if (compsize > 0) { 456 (*gc->fillImage)(gc, 2, width, height, 1, GL_COLOR_INDEX, GL_BITMAP, bitmap, gc->pc + 48, gc->pc + 4); 457 } else { 458 (void) memcpy( gc->pc + 4, default_pixel_store_2D, default_pixel_store_2D_size ); 459 } 460 gc->pc += cmdlen; 461 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 462 } 463 else { 464 const GLint op = X_GLrop_Bitmap; 465 const GLuint cmdlenLarge = cmdlen + 4; 466 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 467 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 468 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 469 (void) memcpy((void *)(pc + 28), (void *)(&width), 4); 470 (void) memcpy((void *)(pc + 32), (void *)(&height), 4); 471 (void) memcpy((void *)(pc + 36), (void *)(&xorig), 4); 472 (void) memcpy((void *)(pc + 40), (void *)(&yorig), 4); 473 (void) memcpy((void *)(pc + 44), (void *)(&xmove), 4); 474 (void) memcpy((void *)(pc + 48), (void *)(&ymove), 4); 475 __glXSendLargeImage(gc, compsize, 2, width, height, 1, GL_COLOR_INDEX, GL_BITMAP, bitmap, pc + 52, pc + 8); 476 } 477 } 478 } 479 480 #define X_GLrop_Color3bv 6 481 void __indirect_glColor3b(GLbyte red, GLbyte green, GLbyte blue) 482 { 483 struct glx_context * const gc = __glXGetCurrentContext(); 484 const GLuint cmdlen = 8; 485 emit_header(gc->pc, X_GLrop_Color3bv, cmdlen); 486 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1); 487 (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1); 488 (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1); 489 gc->pc += cmdlen; 490 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 491 } 492 493 #define X_GLrop_Color3bv 6 494 void __indirect_glColor3bv(const GLbyte * v) 495 { 496 generic_3_byte( X_GLrop_Color3bv, v ); 497 } 498 499 #define X_GLrop_Color3dv 7 500 void __indirect_glColor3d(GLdouble red, GLdouble green, GLdouble blue) 501 { 502 struct glx_context * const gc = __glXGetCurrentContext(); 503 const GLuint cmdlen = 28; 504 emit_header(gc->pc, X_GLrop_Color3dv, cmdlen); 505 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 8); 506 (void) memcpy((void *)(gc->pc + 12), (void *)(&green), 8); 507 (void) memcpy((void *)(gc->pc + 20), (void *)(&blue), 8); 508 gc->pc += cmdlen; 509 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 510 } 511 512 #define X_GLrop_Color3dv 7 513 void __indirect_glColor3dv(const GLdouble * v) 514 { 515 generic_24_byte( X_GLrop_Color3dv, v ); 516 } 517 518 #define X_GLrop_Color3fv 8 519 void __indirect_glColor3f(GLfloat red, GLfloat green, GLfloat blue) 520 { 521 struct glx_context * const gc = __glXGetCurrentContext(); 522 const GLuint cmdlen = 16; 523 emit_header(gc->pc, X_GLrop_Color3fv, cmdlen); 524 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 525 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 526 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 527 gc->pc += cmdlen; 528 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 529 } 530 531 #define X_GLrop_Color3fv 8 532 void __indirect_glColor3fv(const GLfloat * v) 533 { 534 generic_12_byte( X_GLrop_Color3fv, v ); 535 } 536 537 #define X_GLrop_Color3iv 9 538 void __indirect_glColor3i(GLint red, GLint green, GLint blue) 539 { 540 struct glx_context * const gc = __glXGetCurrentContext(); 541 const GLuint cmdlen = 16; 542 emit_header(gc->pc, X_GLrop_Color3iv, cmdlen); 543 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 544 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 545 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 546 gc->pc += cmdlen; 547 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 548 } 549 550 #define X_GLrop_Color3iv 9 551 void __indirect_glColor3iv(const GLint * v) 552 { 553 generic_12_byte( X_GLrop_Color3iv, v ); 554 } 555 556 #define X_GLrop_Color3sv 10 557 void __indirect_glColor3s(GLshort red, GLshort green, GLshort blue) 558 { 559 struct glx_context * const gc = __glXGetCurrentContext(); 560 const GLuint cmdlen = 12; 561 emit_header(gc->pc, X_GLrop_Color3sv, cmdlen); 562 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2); 563 (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2); 564 (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2); 565 gc->pc += cmdlen; 566 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 567 } 568 569 #define X_GLrop_Color3sv 10 570 void __indirect_glColor3sv(const GLshort * v) 571 { 572 generic_6_byte( X_GLrop_Color3sv, v ); 573 } 574 575 #define X_GLrop_Color3ubv 11 576 void __indirect_glColor3ub(GLubyte red, GLubyte green, GLubyte blue) 577 { 578 struct glx_context * const gc = __glXGetCurrentContext(); 579 const GLuint cmdlen = 8; 580 emit_header(gc->pc, X_GLrop_Color3ubv, cmdlen); 581 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1); 582 (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1); 583 (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1); 584 gc->pc += cmdlen; 585 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 586 } 587 588 #define X_GLrop_Color3ubv 11 589 void __indirect_glColor3ubv(const GLubyte * v) 590 { 591 generic_3_byte( X_GLrop_Color3ubv, v ); 592 } 593 594 #define X_GLrop_Color3uiv 12 595 void __indirect_glColor3ui(GLuint red, GLuint green, GLuint blue) 596 { 597 struct glx_context * const gc = __glXGetCurrentContext(); 598 const GLuint cmdlen = 16; 599 emit_header(gc->pc, X_GLrop_Color3uiv, cmdlen); 600 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 601 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 602 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 603 gc->pc += cmdlen; 604 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 605 } 606 607 #define X_GLrop_Color3uiv 12 608 void __indirect_glColor3uiv(const GLuint * v) 609 { 610 generic_12_byte( X_GLrop_Color3uiv, v ); 611 } 612 613 #define X_GLrop_Color3usv 13 614 void __indirect_glColor3us(GLushort red, GLushort green, GLushort blue) 615 { 616 struct glx_context * const gc = __glXGetCurrentContext(); 617 const GLuint cmdlen = 12; 618 emit_header(gc->pc, X_GLrop_Color3usv, cmdlen); 619 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2); 620 (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2); 621 (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2); 622 gc->pc += cmdlen; 623 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 624 } 625 626 #define X_GLrop_Color3usv 13 627 void __indirect_glColor3usv(const GLushort * v) 628 { 629 generic_6_byte( X_GLrop_Color3usv, v ); 630 } 631 632 #define X_GLrop_Color4bv 14 633 void __indirect_glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) 634 { 635 struct glx_context * const gc = __glXGetCurrentContext(); 636 const GLuint cmdlen = 8; 637 emit_header(gc->pc, X_GLrop_Color4bv, cmdlen); 638 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1); 639 (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1); 640 (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1); 641 (void) memcpy((void *)(gc->pc + 7), (void *)(&alpha), 1); 642 gc->pc += cmdlen; 643 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 644 } 645 646 #define X_GLrop_Color4bv 14 647 void __indirect_glColor4bv(const GLbyte * v) 648 { 649 generic_4_byte( X_GLrop_Color4bv, v ); 650 } 651 652 #define X_GLrop_Color4dv 15 653 void __indirect_glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) 654 { 655 struct glx_context * const gc = __glXGetCurrentContext(); 656 const GLuint cmdlen = 36; 657 emit_header(gc->pc, X_GLrop_Color4dv, cmdlen); 658 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 8); 659 (void) memcpy((void *)(gc->pc + 12), (void *)(&green), 8); 660 (void) memcpy((void *)(gc->pc + 20), (void *)(&blue), 8); 661 (void) memcpy((void *)(gc->pc + 28), (void *)(&alpha), 8); 662 gc->pc += cmdlen; 663 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 664 } 665 666 #define X_GLrop_Color4dv 15 667 void __indirect_glColor4dv(const GLdouble * v) 668 { 669 generic_32_byte( X_GLrop_Color4dv, v ); 670 } 671 672 #define X_GLrop_Color4fv 16 673 void __indirect_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 674 { 675 struct glx_context * const gc = __glXGetCurrentContext(); 676 const GLuint cmdlen = 20; 677 emit_header(gc->pc, X_GLrop_Color4fv, cmdlen); 678 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 679 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 680 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 681 (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4); 682 gc->pc += cmdlen; 683 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 684 } 685 686 #define X_GLrop_Color4fv 16 687 void __indirect_glColor4fv(const GLfloat * v) 688 { 689 generic_16_byte( X_GLrop_Color4fv, v ); 690 } 691 692 #define X_GLrop_Color4iv 17 693 void __indirect_glColor4i(GLint red, GLint green, GLint blue, GLint alpha) 694 { 695 struct glx_context * const gc = __glXGetCurrentContext(); 696 const GLuint cmdlen = 20; 697 emit_header(gc->pc, X_GLrop_Color4iv, cmdlen); 698 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 699 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 700 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 701 (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4); 702 gc->pc += cmdlen; 703 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 704 } 705 706 #define X_GLrop_Color4iv 17 707 void __indirect_glColor4iv(const GLint * v) 708 { 709 generic_16_byte( X_GLrop_Color4iv, v ); 710 } 711 712 #define X_GLrop_Color4sv 18 713 void __indirect_glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) 714 { 715 struct glx_context * const gc = __glXGetCurrentContext(); 716 const GLuint cmdlen = 12; 717 emit_header(gc->pc, X_GLrop_Color4sv, cmdlen); 718 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2); 719 (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2); 720 (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2); 721 (void) memcpy((void *)(gc->pc + 10), (void *)(&alpha), 2); 722 gc->pc += cmdlen; 723 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 724 } 725 726 #define X_GLrop_Color4sv 18 727 void __indirect_glColor4sv(const GLshort * v) 728 { 729 generic_8_byte( X_GLrop_Color4sv, v ); 730 } 731 732 #define X_GLrop_Color4ubv 19 733 void __indirect_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) 734 { 735 struct glx_context * const gc = __glXGetCurrentContext(); 736 const GLuint cmdlen = 8; 737 emit_header(gc->pc, X_GLrop_Color4ubv, cmdlen); 738 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1); 739 (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1); 740 (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1); 741 (void) memcpy((void *)(gc->pc + 7), (void *)(&alpha), 1); 742 gc->pc += cmdlen; 743 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 744 } 745 746 #define X_GLrop_Color4ubv 19 747 void __indirect_glColor4ubv(const GLubyte * v) 748 { 749 generic_4_byte( X_GLrop_Color4ubv, v ); 750 } 751 752 #define X_GLrop_Color4uiv 20 753 void __indirect_glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) 754 { 755 struct glx_context * const gc = __glXGetCurrentContext(); 756 const GLuint cmdlen = 20; 757 emit_header(gc->pc, X_GLrop_Color4uiv, cmdlen); 758 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 759 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 760 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 761 (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4); 762 gc->pc += cmdlen; 763 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 764 } 765 766 #define X_GLrop_Color4uiv 20 767 void __indirect_glColor4uiv(const GLuint * v) 768 { 769 generic_16_byte( X_GLrop_Color4uiv, v ); 770 } 771 772 #define X_GLrop_Color4usv 21 773 void __indirect_glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) 774 { 775 struct glx_context * const gc = __glXGetCurrentContext(); 776 const GLuint cmdlen = 12; 777 emit_header(gc->pc, X_GLrop_Color4usv, cmdlen); 778 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2); 779 (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2); 780 (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2); 781 (void) memcpy((void *)(gc->pc + 10), (void *)(&alpha), 2); 782 gc->pc += cmdlen; 783 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 784 } 785 786 #define X_GLrop_Color4usv 21 787 void __indirect_glColor4usv(const GLushort * v) 788 { 789 generic_8_byte( X_GLrop_Color4usv, v ); 790 } 791 792 #define X_GLrop_EdgeFlagv 22 793 void __indirect_glEdgeFlag(GLboolean flag) 794 { 795 struct glx_context * const gc = __glXGetCurrentContext(); 796 const GLuint cmdlen = 8; 797 emit_header(gc->pc, X_GLrop_EdgeFlagv, cmdlen); 798 (void) memcpy((void *)(gc->pc + 4), (void *)(&flag), 1); 799 gc->pc += cmdlen; 800 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 801 } 802 803 #define X_GLrop_EdgeFlagv 22 804 void __indirect_glEdgeFlagv(const GLboolean * flag) 805 { 806 struct glx_context * const gc = __glXGetCurrentContext(); 807 const GLuint cmdlen = 8; 808 emit_header(gc->pc, X_GLrop_EdgeFlagv, cmdlen); 809 (void) memcpy((void *)(gc->pc + 4), (void *)(flag), 1); 810 gc->pc += cmdlen; 811 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 812 } 813 814 #define X_GLrop_End 23 815 void __indirect_glEnd(void) 816 { 817 struct glx_context * const gc = __glXGetCurrentContext(); 818 const GLuint cmdlen = 4; 819 emit_header(gc->pc, X_GLrop_End, cmdlen); 820 gc->pc += cmdlen; 821 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 822 } 823 824 #define X_GLrop_Indexdv 24 825 void __indirect_glIndexd(GLdouble c) 826 { 827 struct glx_context * const gc = __glXGetCurrentContext(); 828 const GLuint cmdlen = 12; 829 emit_header(gc->pc, X_GLrop_Indexdv, cmdlen); 830 (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 8); 831 gc->pc += cmdlen; 832 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 833 } 834 835 #define X_GLrop_Indexdv 24 836 void __indirect_glIndexdv(const GLdouble * c) 837 { 838 generic_8_byte( X_GLrop_Indexdv, c ); 839 } 840 841 #define X_GLrop_Indexfv 25 842 void __indirect_glIndexf(GLfloat c) 843 { 844 struct glx_context * const gc = __glXGetCurrentContext(); 845 const GLuint cmdlen = 8; 846 emit_header(gc->pc, X_GLrop_Indexfv, cmdlen); 847 (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 4); 848 gc->pc += cmdlen; 849 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 850 } 851 852 #define X_GLrop_Indexfv 25 853 void __indirect_glIndexfv(const GLfloat * c) 854 { 855 generic_4_byte( X_GLrop_Indexfv, c ); 856 } 857 858 #define X_GLrop_Indexiv 26 859 void __indirect_glIndexi(GLint c) 860 { 861 struct glx_context * const gc = __glXGetCurrentContext(); 862 const GLuint cmdlen = 8; 863 emit_header(gc->pc, X_GLrop_Indexiv, cmdlen); 864 (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 4); 865 gc->pc += cmdlen; 866 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 867 } 868 869 #define X_GLrop_Indexiv 26 870 void __indirect_glIndexiv(const GLint * c) 871 { 872 generic_4_byte( X_GLrop_Indexiv, c ); 873 } 874 875 #define X_GLrop_Indexsv 27 876 void __indirect_glIndexs(GLshort c) 877 { 878 struct glx_context * const gc = __glXGetCurrentContext(); 879 const GLuint cmdlen = 8; 880 emit_header(gc->pc, X_GLrop_Indexsv, cmdlen); 881 (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 2); 882 gc->pc += cmdlen; 883 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 884 } 885 886 #define X_GLrop_Indexsv 27 887 void __indirect_glIndexsv(const GLshort * c) 888 { 889 struct glx_context * const gc = __glXGetCurrentContext(); 890 const GLuint cmdlen = 8; 891 emit_header(gc->pc, X_GLrop_Indexsv, cmdlen); 892 (void) memcpy((void *)(gc->pc + 4), (void *)(c), 2); 893 gc->pc += cmdlen; 894 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 895 } 896 897 #define X_GLrop_Normal3bv 28 898 void __indirect_glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) 899 { 900 struct glx_context * const gc = __glXGetCurrentContext(); 901 const GLuint cmdlen = 8; 902 emit_header(gc->pc, X_GLrop_Normal3bv, cmdlen); 903 (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 1); 904 (void) memcpy((void *)(gc->pc + 5), (void *)(&ny), 1); 905 (void) memcpy((void *)(gc->pc + 6), (void *)(&nz), 1); 906 gc->pc += cmdlen; 907 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 908 } 909 910 #define X_GLrop_Normal3bv 28 911 void __indirect_glNormal3bv(const GLbyte * v) 912 { 913 generic_3_byte( X_GLrop_Normal3bv, v ); 914 } 915 916 #define X_GLrop_Normal3dv 29 917 void __indirect_glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) 918 { 919 struct glx_context * const gc = __glXGetCurrentContext(); 920 const GLuint cmdlen = 28; 921 emit_header(gc->pc, X_GLrop_Normal3dv, cmdlen); 922 (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 8); 923 (void) memcpy((void *)(gc->pc + 12), (void *)(&ny), 8); 924 (void) memcpy((void *)(gc->pc + 20), (void *)(&nz), 8); 925 gc->pc += cmdlen; 926 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 927 } 928 929 #define X_GLrop_Normal3dv 29 930 void __indirect_glNormal3dv(const GLdouble * v) 931 { 932 generic_24_byte( X_GLrop_Normal3dv, v ); 933 } 934 935 #define X_GLrop_Normal3fv 30 936 void __indirect_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) 937 { 938 struct glx_context * const gc = __glXGetCurrentContext(); 939 const GLuint cmdlen = 16; 940 emit_header(gc->pc, X_GLrop_Normal3fv, cmdlen); 941 (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 4); 942 (void) memcpy((void *)(gc->pc + 8), (void *)(&ny), 4); 943 (void) memcpy((void *)(gc->pc + 12), (void *)(&nz), 4); 944 gc->pc += cmdlen; 945 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 946 } 947 948 #define X_GLrop_Normal3fv 30 949 void __indirect_glNormal3fv(const GLfloat * v) 950 { 951 generic_12_byte( X_GLrop_Normal3fv, v ); 952 } 953 954 #define X_GLrop_Normal3iv 31 955 void __indirect_glNormal3i(GLint nx, GLint ny, GLint nz) 956 { 957 struct glx_context * const gc = __glXGetCurrentContext(); 958 const GLuint cmdlen = 16; 959 emit_header(gc->pc, X_GLrop_Normal3iv, cmdlen); 960 (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 4); 961 (void) memcpy((void *)(gc->pc + 8), (void *)(&ny), 4); 962 (void) memcpy((void *)(gc->pc + 12), (void *)(&nz), 4); 963 gc->pc += cmdlen; 964 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 965 } 966 967 #define X_GLrop_Normal3iv 31 968 void __indirect_glNormal3iv(const GLint * v) 969 { 970 generic_12_byte( X_GLrop_Normal3iv, v ); 971 } 972 973 #define X_GLrop_Normal3sv 32 974 void __indirect_glNormal3s(GLshort nx, GLshort ny, GLshort nz) 975 { 976 struct glx_context * const gc = __glXGetCurrentContext(); 977 const GLuint cmdlen = 12; 978 emit_header(gc->pc, X_GLrop_Normal3sv, cmdlen); 979 (void) memcpy((void *)(gc->pc + 4), (void *)(&nx), 2); 980 (void) memcpy((void *)(gc->pc + 6), (void *)(&ny), 2); 981 (void) memcpy((void *)(gc->pc + 8), (void *)(&nz), 2); 982 gc->pc += cmdlen; 983 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 984 } 985 986 #define X_GLrop_Normal3sv 32 987 void __indirect_glNormal3sv(const GLshort * v) 988 { 989 generic_6_byte( X_GLrop_Normal3sv, v ); 990 } 991 992 #define X_GLrop_RasterPos2dv 33 993 void __indirect_glRasterPos2d(GLdouble x, GLdouble y) 994 { 995 struct glx_context * const gc = __glXGetCurrentContext(); 996 const GLuint cmdlen = 20; 997 emit_header(gc->pc, X_GLrop_RasterPos2dv, cmdlen); 998 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 999 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 1000 gc->pc += cmdlen; 1001 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1002 } 1003 1004 #define X_GLrop_RasterPos2dv 33 1005 void __indirect_glRasterPos2dv(const GLdouble * v) 1006 { 1007 generic_16_byte( X_GLrop_RasterPos2dv, v ); 1008 } 1009 1010 #define X_GLrop_RasterPos2fv 34 1011 void __indirect_glRasterPos2f(GLfloat x, GLfloat y) 1012 { 1013 struct glx_context * const gc = __glXGetCurrentContext(); 1014 const GLuint cmdlen = 12; 1015 emit_header(gc->pc, X_GLrop_RasterPos2fv, cmdlen); 1016 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1017 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1018 gc->pc += cmdlen; 1019 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1020 } 1021 1022 #define X_GLrop_RasterPos2fv 34 1023 void __indirect_glRasterPos2fv(const GLfloat * v) 1024 { 1025 generic_8_byte( X_GLrop_RasterPos2fv, v ); 1026 } 1027 1028 #define X_GLrop_RasterPos2iv 35 1029 void __indirect_glRasterPos2i(GLint x, GLint y) 1030 { 1031 struct glx_context * const gc = __glXGetCurrentContext(); 1032 const GLuint cmdlen = 12; 1033 emit_header(gc->pc, X_GLrop_RasterPos2iv, cmdlen); 1034 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1035 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1036 gc->pc += cmdlen; 1037 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1038 } 1039 1040 #define X_GLrop_RasterPos2iv 35 1041 void __indirect_glRasterPos2iv(const GLint * v) 1042 { 1043 generic_8_byte( X_GLrop_RasterPos2iv, v ); 1044 } 1045 1046 #define X_GLrop_RasterPos2sv 36 1047 void __indirect_glRasterPos2s(GLshort x, GLshort y) 1048 { 1049 struct glx_context * const gc = __glXGetCurrentContext(); 1050 const GLuint cmdlen = 8; 1051 emit_header(gc->pc, X_GLrop_RasterPos2sv, cmdlen); 1052 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2); 1053 (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2); 1054 gc->pc += cmdlen; 1055 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1056 } 1057 1058 #define X_GLrop_RasterPos2sv 36 1059 void __indirect_glRasterPos2sv(const GLshort * v) 1060 { 1061 generic_4_byte( X_GLrop_RasterPos2sv, v ); 1062 } 1063 1064 #define X_GLrop_RasterPos3dv 37 1065 void __indirect_glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) 1066 { 1067 struct glx_context * const gc = __glXGetCurrentContext(); 1068 const GLuint cmdlen = 28; 1069 emit_header(gc->pc, X_GLrop_RasterPos3dv, cmdlen); 1070 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 1071 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 1072 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8); 1073 gc->pc += cmdlen; 1074 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1075 } 1076 1077 #define X_GLrop_RasterPos3dv 37 1078 void __indirect_glRasterPos3dv(const GLdouble * v) 1079 { 1080 generic_24_byte( X_GLrop_RasterPos3dv, v ); 1081 } 1082 1083 #define X_GLrop_RasterPos3fv 38 1084 void __indirect_glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) 1085 { 1086 struct glx_context * const gc = __glXGetCurrentContext(); 1087 const GLuint cmdlen = 16; 1088 emit_header(gc->pc, X_GLrop_RasterPos3fv, cmdlen); 1089 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1090 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1091 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 1092 gc->pc += cmdlen; 1093 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1094 } 1095 1096 #define X_GLrop_RasterPos3fv 38 1097 void __indirect_glRasterPos3fv(const GLfloat * v) 1098 { 1099 generic_12_byte( X_GLrop_RasterPos3fv, v ); 1100 } 1101 1102 #define X_GLrop_RasterPos3iv 39 1103 void __indirect_glRasterPos3i(GLint x, GLint y, GLint z) 1104 { 1105 struct glx_context * const gc = __glXGetCurrentContext(); 1106 const GLuint cmdlen = 16; 1107 emit_header(gc->pc, X_GLrop_RasterPos3iv, cmdlen); 1108 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1109 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1110 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 1111 gc->pc += cmdlen; 1112 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1113 } 1114 1115 #define X_GLrop_RasterPos3iv 39 1116 void __indirect_glRasterPos3iv(const GLint * v) 1117 { 1118 generic_12_byte( X_GLrop_RasterPos3iv, v ); 1119 } 1120 1121 #define X_GLrop_RasterPos3sv 40 1122 void __indirect_glRasterPos3s(GLshort x, GLshort y, GLshort z) 1123 { 1124 struct glx_context * const gc = __glXGetCurrentContext(); 1125 const GLuint cmdlen = 12; 1126 emit_header(gc->pc, X_GLrop_RasterPos3sv, cmdlen); 1127 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2); 1128 (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2); 1129 (void) memcpy((void *)(gc->pc + 8), (void *)(&z), 2); 1130 gc->pc += cmdlen; 1131 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1132 } 1133 1134 #define X_GLrop_RasterPos3sv 40 1135 void __indirect_glRasterPos3sv(const GLshort * v) 1136 { 1137 generic_6_byte( X_GLrop_RasterPos3sv, v ); 1138 } 1139 1140 #define X_GLrop_RasterPos4dv 41 1141 void __indirect_glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) 1142 { 1143 struct glx_context * const gc = __glXGetCurrentContext(); 1144 const GLuint cmdlen = 36; 1145 emit_header(gc->pc, X_GLrop_RasterPos4dv, cmdlen); 1146 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 1147 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 1148 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8); 1149 (void) memcpy((void *)(gc->pc + 28), (void *)(&w), 8); 1150 gc->pc += cmdlen; 1151 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1152 } 1153 1154 #define X_GLrop_RasterPos4dv 41 1155 void __indirect_glRasterPos4dv(const GLdouble * v) 1156 { 1157 generic_32_byte( X_GLrop_RasterPos4dv, v ); 1158 } 1159 1160 #define X_GLrop_RasterPos4fv 42 1161 void __indirect_glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) 1162 { 1163 struct glx_context * const gc = __glXGetCurrentContext(); 1164 const GLuint cmdlen = 20; 1165 emit_header(gc->pc, X_GLrop_RasterPos4fv, cmdlen); 1166 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1167 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1168 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 1169 (void) memcpy((void *)(gc->pc + 16), (void *)(&w), 4); 1170 gc->pc += cmdlen; 1171 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1172 } 1173 1174 #define X_GLrop_RasterPos4fv 42 1175 void __indirect_glRasterPos4fv(const GLfloat * v) 1176 { 1177 generic_16_byte( X_GLrop_RasterPos4fv, v ); 1178 } 1179 1180 #define X_GLrop_RasterPos4iv 43 1181 void __indirect_glRasterPos4i(GLint x, GLint y, GLint z, GLint w) 1182 { 1183 struct glx_context * const gc = __glXGetCurrentContext(); 1184 const GLuint cmdlen = 20; 1185 emit_header(gc->pc, X_GLrop_RasterPos4iv, cmdlen); 1186 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1187 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1188 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 1189 (void) memcpy((void *)(gc->pc + 16), (void *)(&w), 4); 1190 gc->pc += cmdlen; 1191 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1192 } 1193 1194 #define X_GLrop_RasterPos4iv 43 1195 void __indirect_glRasterPos4iv(const GLint * v) 1196 { 1197 generic_16_byte( X_GLrop_RasterPos4iv, v ); 1198 } 1199 1200 #define X_GLrop_RasterPos4sv 44 1201 void __indirect_glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) 1202 { 1203 struct glx_context * const gc = __glXGetCurrentContext(); 1204 const GLuint cmdlen = 12; 1205 emit_header(gc->pc, X_GLrop_RasterPos4sv, cmdlen); 1206 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2); 1207 (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2); 1208 (void) memcpy((void *)(gc->pc + 8), (void *)(&z), 2); 1209 (void) memcpy((void *)(gc->pc + 10), (void *)(&w), 2); 1210 gc->pc += cmdlen; 1211 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1212 } 1213 1214 #define X_GLrop_RasterPos4sv 44 1215 void __indirect_glRasterPos4sv(const GLshort * v) 1216 { 1217 generic_8_byte( X_GLrop_RasterPos4sv, v ); 1218 } 1219 1220 #define X_GLrop_Rectdv 45 1221 void __indirect_glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) 1222 { 1223 struct glx_context * const gc = __glXGetCurrentContext(); 1224 const GLuint cmdlen = 36; 1225 emit_header(gc->pc, X_GLrop_Rectdv, cmdlen); 1226 (void) memcpy((void *)(gc->pc + 4), (void *)(&x1), 8); 1227 (void) memcpy((void *)(gc->pc + 12), (void *)(&y1), 8); 1228 (void) memcpy((void *)(gc->pc + 20), (void *)(&x2), 8); 1229 (void) memcpy((void *)(gc->pc + 28), (void *)(&y2), 8); 1230 gc->pc += cmdlen; 1231 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1232 } 1233 1234 #define X_GLrop_Rectdv 45 1235 void __indirect_glRectdv(const GLdouble * v1, const GLdouble * v2) 1236 { 1237 struct glx_context * const gc = __glXGetCurrentContext(); 1238 const GLuint cmdlen = 36; 1239 emit_header(gc->pc, X_GLrop_Rectdv, cmdlen); 1240 (void) memcpy((void *)(gc->pc + 4), (void *)(v1), 16); 1241 (void) memcpy((void *)(gc->pc + 20), (void *)(v2), 16); 1242 gc->pc += cmdlen; 1243 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1244 } 1245 1246 #define X_GLrop_Rectfv 46 1247 void __indirect_glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) 1248 { 1249 struct glx_context * const gc = __glXGetCurrentContext(); 1250 const GLuint cmdlen = 20; 1251 emit_header(gc->pc, X_GLrop_Rectfv, cmdlen); 1252 (void) memcpy((void *)(gc->pc + 4), (void *)(&x1), 4); 1253 (void) memcpy((void *)(gc->pc + 8), (void *)(&y1), 4); 1254 (void) memcpy((void *)(gc->pc + 12), (void *)(&x2), 4); 1255 (void) memcpy((void *)(gc->pc + 16), (void *)(&y2), 4); 1256 gc->pc += cmdlen; 1257 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1258 } 1259 1260 #define X_GLrop_Rectfv 46 1261 void __indirect_glRectfv(const GLfloat * v1, const GLfloat * v2) 1262 { 1263 struct glx_context * const gc = __glXGetCurrentContext(); 1264 const GLuint cmdlen = 20; 1265 emit_header(gc->pc, X_GLrop_Rectfv, cmdlen); 1266 (void) memcpy((void *)(gc->pc + 4), (void *)(v1), 8); 1267 (void) memcpy((void *)(gc->pc + 12), (void *)(v2), 8); 1268 gc->pc += cmdlen; 1269 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1270 } 1271 1272 #define X_GLrop_Rectiv 47 1273 void __indirect_glRecti(GLint x1, GLint y1, GLint x2, GLint y2) 1274 { 1275 struct glx_context * const gc = __glXGetCurrentContext(); 1276 const GLuint cmdlen = 20; 1277 emit_header(gc->pc, X_GLrop_Rectiv, cmdlen); 1278 (void) memcpy((void *)(gc->pc + 4), (void *)(&x1), 4); 1279 (void) memcpy((void *)(gc->pc + 8), (void *)(&y1), 4); 1280 (void) memcpy((void *)(gc->pc + 12), (void *)(&x2), 4); 1281 (void) memcpy((void *)(gc->pc + 16), (void *)(&y2), 4); 1282 gc->pc += cmdlen; 1283 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1284 } 1285 1286 #define X_GLrop_Rectiv 47 1287 void __indirect_glRectiv(const GLint * v1, const GLint * v2) 1288 { 1289 struct glx_context * const gc = __glXGetCurrentContext(); 1290 const GLuint cmdlen = 20; 1291 emit_header(gc->pc, X_GLrop_Rectiv, cmdlen); 1292 (void) memcpy((void *)(gc->pc + 4), (void *)(v1), 8); 1293 (void) memcpy((void *)(gc->pc + 12), (void *)(v2), 8); 1294 gc->pc += cmdlen; 1295 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1296 } 1297 1298 #define X_GLrop_Rectsv 48 1299 void __indirect_glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) 1300 { 1301 struct glx_context * const gc = __glXGetCurrentContext(); 1302 const GLuint cmdlen = 12; 1303 emit_header(gc->pc, X_GLrop_Rectsv, cmdlen); 1304 (void) memcpy((void *)(gc->pc + 4), (void *)(&x1), 2); 1305 (void) memcpy((void *)(gc->pc + 6), (void *)(&y1), 2); 1306 (void) memcpy((void *)(gc->pc + 8), (void *)(&x2), 2); 1307 (void) memcpy((void *)(gc->pc + 10), (void *)(&y2), 2); 1308 gc->pc += cmdlen; 1309 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1310 } 1311 1312 #define X_GLrop_Rectsv 48 1313 void __indirect_glRectsv(const GLshort * v1, const GLshort * v2) 1314 { 1315 struct glx_context * const gc = __glXGetCurrentContext(); 1316 const GLuint cmdlen = 12; 1317 emit_header(gc->pc, X_GLrop_Rectsv, cmdlen); 1318 (void) memcpy((void *)(gc->pc + 4), (void *)(v1), 4); 1319 (void) memcpy((void *)(gc->pc + 8), (void *)(v2), 4); 1320 gc->pc += cmdlen; 1321 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1322 } 1323 1324 #define X_GLrop_TexCoord1dv 49 1325 void __indirect_glTexCoord1d(GLdouble s) 1326 { 1327 struct glx_context * const gc = __glXGetCurrentContext(); 1328 const GLuint cmdlen = 12; 1329 emit_header(gc->pc, X_GLrop_TexCoord1dv, cmdlen); 1330 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8); 1331 gc->pc += cmdlen; 1332 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1333 } 1334 1335 #define X_GLrop_TexCoord1dv 49 1336 void __indirect_glTexCoord1dv(const GLdouble * v) 1337 { 1338 generic_8_byte( X_GLrop_TexCoord1dv, v ); 1339 } 1340 1341 #define X_GLrop_TexCoord1fv 50 1342 void __indirect_glTexCoord1f(GLfloat s) 1343 { 1344 struct glx_context * const gc = __glXGetCurrentContext(); 1345 const GLuint cmdlen = 8; 1346 emit_header(gc->pc, X_GLrop_TexCoord1fv, cmdlen); 1347 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 1348 gc->pc += cmdlen; 1349 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1350 } 1351 1352 #define X_GLrop_TexCoord1fv 50 1353 void __indirect_glTexCoord1fv(const GLfloat * v) 1354 { 1355 generic_4_byte( X_GLrop_TexCoord1fv, v ); 1356 } 1357 1358 #define X_GLrop_TexCoord1iv 51 1359 void __indirect_glTexCoord1i(GLint s) 1360 { 1361 struct glx_context * const gc = __glXGetCurrentContext(); 1362 const GLuint cmdlen = 8; 1363 emit_header(gc->pc, X_GLrop_TexCoord1iv, cmdlen); 1364 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 1365 gc->pc += cmdlen; 1366 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1367 } 1368 1369 #define X_GLrop_TexCoord1iv 51 1370 void __indirect_glTexCoord1iv(const GLint * v) 1371 { 1372 generic_4_byte( X_GLrop_TexCoord1iv, v ); 1373 } 1374 1375 #define X_GLrop_TexCoord1sv 52 1376 void __indirect_glTexCoord1s(GLshort s) 1377 { 1378 struct glx_context * const gc = __glXGetCurrentContext(); 1379 const GLuint cmdlen = 8; 1380 emit_header(gc->pc, X_GLrop_TexCoord1sv, cmdlen); 1381 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 2); 1382 gc->pc += cmdlen; 1383 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1384 } 1385 1386 #define X_GLrop_TexCoord1sv 52 1387 void __indirect_glTexCoord1sv(const GLshort * v) 1388 { 1389 struct glx_context * const gc = __glXGetCurrentContext(); 1390 const GLuint cmdlen = 8; 1391 emit_header(gc->pc, X_GLrop_TexCoord1sv, cmdlen); 1392 (void) memcpy((void *)(gc->pc + 4), (void *)(v), 2); 1393 gc->pc += cmdlen; 1394 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1395 } 1396 1397 #define X_GLrop_TexCoord2dv 53 1398 void __indirect_glTexCoord2d(GLdouble s, GLdouble t) 1399 { 1400 struct glx_context * const gc = __glXGetCurrentContext(); 1401 const GLuint cmdlen = 20; 1402 emit_header(gc->pc, X_GLrop_TexCoord2dv, cmdlen); 1403 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8); 1404 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8); 1405 gc->pc += cmdlen; 1406 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1407 } 1408 1409 #define X_GLrop_TexCoord2dv 53 1410 void __indirect_glTexCoord2dv(const GLdouble * v) 1411 { 1412 generic_16_byte( X_GLrop_TexCoord2dv, v ); 1413 } 1414 1415 #define X_GLrop_TexCoord2fv 54 1416 void __indirect_glTexCoord2f(GLfloat s, GLfloat t) 1417 { 1418 struct glx_context * const gc = __glXGetCurrentContext(); 1419 const GLuint cmdlen = 12; 1420 emit_header(gc->pc, X_GLrop_TexCoord2fv, cmdlen); 1421 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 1422 (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4); 1423 gc->pc += cmdlen; 1424 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1425 } 1426 1427 #define X_GLrop_TexCoord2fv 54 1428 void __indirect_glTexCoord2fv(const GLfloat * v) 1429 { 1430 generic_8_byte( X_GLrop_TexCoord2fv, v ); 1431 } 1432 1433 #define X_GLrop_TexCoord2iv 55 1434 void __indirect_glTexCoord2i(GLint s, GLint t) 1435 { 1436 struct glx_context * const gc = __glXGetCurrentContext(); 1437 const GLuint cmdlen = 12; 1438 emit_header(gc->pc, X_GLrop_TexCoord2iv, cmdlen); 1439 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 1440 (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4); 1441 gc->pc += cmdlen; 1442 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1443 } 1444 1445 #define X_GLrop_TexCoord2iv 55 1446 void __indirect_glTexCoord2iv(const GLint * v) 1447 { 1448 generic_8_byte( X_GLrop_TexCoord2iv, v ); 1449 } 1450 1451 #define X_GLrop_TexCoord2sv 56 1452 void __indirect_glTexCoord2s(GLshort s, GLshort t) 1453 { 1454 struct glx_context * const gc = __glXGetCurrentContext(); 1455 const GLuint cmdlen = 8; 1456 emit_header(gc->pc, X_GLrop_TexCoord2sv, cmdlen); 1457 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 2); 1458 (void) memcpy((void *)(gc->pc + 6), (void *)(&t), 2); 1459 gc->pc += cmdlen; 1460 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1461 } 1462 1463 #define X_GLrop_TexCoord2sv 56 1464 void __indirect_glTexCoord2sv(const GLshort * v) 1465 { 1466 generic_4_byte( X_GLrop_TexCoord2sv, v ); 1467 } 1468 1469 #define X_GLrop_TexCoord3dv 57 1470 void __indirect_glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) 1471 { 1472 struct glx_context * const gc = __glXGetCurrentContext(); 1473 const GLuint cmdlen = 28; 1474 emit_header(gc->pc, X_GLrop_TexCoord3dv, cmdlen); 1475 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8); 1476 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8); 1477 (void) memcpy((void *)(gc->pc + 20), (void *)(&r), 8); 1478 gc->pc += cmdlen; 1479 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1480 } 1481 1482 #define X_GLrop_TexCoord3dv 57 1483 void __indirect_glTexCoord3dv(const GLdouble * v) 1484 { 1485 generic_24_byte( X_GLrop_TexCoord3dv, v ); 1486 } 1487 1488 #define X_GLrop_TexCoord3fv 58 1489 void __indirect_glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) 1490 { 1491 struct glx_context * const gc = __glXGetCurrentContext(); 1492 const GLuint cmdlen = 16; 1493 emit_header(gc->pc, X_GLrop_TexCoord3fv, cmdlen); 1494 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 1495 (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4); 1496 (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 4); 1497 gc->pc += cmdlen; 1498 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1499 } 1500 1501 #define X_GLrop_TexCoord3fv 58 1502 void __indirect_glTexCoord3fv(const GLfloat * v) 1503 { 1504 generic_12_byte( X_GLrop_TexCoord3fv, v ); 1505 } 1506 1507 #define X_GLrop_TexCoord3iv 59 1508 void __indirect_glTexCoord3i(GLint s, GLint t, GLint r) 1509 { 1510 struct glx_context * const gc = __glXGetCurrentContext(); 1511 const GLuint cmdlen = 16; 1512 emit_header(gc->pc, X_GLrop_TexCoord3iv, cmdlen); 1513 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 1514 (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4); 1515 (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 4); 1516 gc->pc += cmdlen; 1517 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1518 } 1519 1520 #define X_GLrop_TexCoord3iv 59 1521 void __indirect_glTexCoord3iv(const GLint * v) 1522 { 1523 generic_12_byte( X_GLrop_TexCoord3iv, v ); 1524 } 1525 1526 #define X_GLrop_TexCoord3sv 60 1527 void __indirect_glTexCoord3s(GLshort s, GLshort t, GLshort r) 1528 { 1529 struct glx_context * const gc = __glXGetCurrentContext(); 1530 const GLuint cmdlen = 12; 1531 emit_header(gc->pc, X_GLrop_TexCoord3sv, cmdlen); 1532 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 2); 1533 (void) memcpy((void *)(gc->pc + 6), (void *)(&t), 2); 1534 (void) memcpy((void *)(gc->pc + 8), (void *)(&r), 2); 1535 gc->pc += cmdlen; 1536 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1537 } 1538 1539 #define X_GLrop_TexCoord3sv 60 1540 void __indirect_glTexCoord3sv(const GLshort * v) 1541 { 1542 generic_6_byte( X_GLrop_TexCoord3sv, v ); 1543 } 1544 1545 #define X_GLrop_TexCoord4dv 61 1546 void __indirect_glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) 1547 { 1548 struct glx_context * const gc = __glXGetCurrentContext(); 1549 const GLuint cmdlen = 36; 1550 emit_header(gc->pc, X_GLrop_TexCoord4dv, cmdlen); 1551 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8); 1552 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8); 1553 (void) memcpy((void *)(gc->pc + 20), (void *)(&r), 8); 1554 (void) memcpy((void *)(gc->pc + 28), (void *)(&q), 8); 1555 gc->pc += cmdlen; 1556 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1557 } 1558 1559 #define X_GLrop_TexCoord4dv 61 1560 void __indirect_glTexCoord4dv(const GLdouble * v) 1561 { 1562 generic_32_byte( X_GLrop_TexCoord4dv, v ); 1563 } 1564 1565 #define X_GLrop_TexCoord4fv 62 1566 void __indirect_glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) 1567 { 1568 struct glx_context * const gc = __glXGetCurrentContext(); 1569 const GLuint cmdlen = 20; 1570 emit_header(gc->pc, X_GLrop_TexCoord4fv, cmdlen); 1571 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 1572 (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4); 1573 (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 4); 1574 (void) memcpy((void *)(gc->pc + 16), (void *)(&q), 4); 1575 gc->pc += cmdlen; 1576 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1577 } 1578 1579 #define X_GLrop_TexCoord4fv 62 1580 void __indirect_glTexCoord4fv(const GLfloat * v) 1581 { 1582 generic_16_byte( X_GLrop_TexCoord4fv, v ); 1583 } 1584 1585 #define X_GLrop_TexCoord4iv 63 1586 void __indirect_glTexCoord4i(GLint s, GLint t, GLint r, GLint q) 1587 { 1588 struct glx_context * const gc = __glXGetCurrentContext(); 1589 const GLuint cmdlen = 20; 1590 emit_header(gc->pc, X_GLrop_TexCoord4iv, cmdlen); 1591 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 1592 (void) memcpy((void *)(gc->pc + 8), (void *)(&t), 4); 1593 (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 4); 1594 (void) memcpy((void *)(gc->pc + 16), (void *)(&q), 4); 1595 gc->pc += cmdlen; 1596 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1597 } 1598 1599 #define X_GLrop_TexCoord4iv 63 1600 void __indirect_glTexCoord4iv(const GLint * v) 1601 { 1602 generic_16_byte( X_GLrop_TexCoord4iv, v ); 1603 } 1604 1605 #define X_GLrop_TexCoord4sv 64 1606 void __indirect_glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) 1607 { 1608 struct glx_context * const gc = __glXGetCurrentContext(); 1609 const GLuint cmdlen = 12; 1610 emit_header(gc->pc, X_GLrop_TexCoord4sv, cmdlen); 1611 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 2); 1612 (void) memcpy((void *)(gc->pc + 6), (void *)(&t), 2); 1613 (void) memcpy((void *)(gc->pc + 8), (void *)(&r), 2); 1614 (void) memcpy((void *)(gc->pc + 10), (void *)(&q), 2); 1615 gc->pc += cmdlen; 1616 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1617 } 1618 1619 #define X_GLrop_TexCoord4sv 64 1620 void __indirect_glTexCoord4sv(const GLshort * v) 1621 { 1622 generic_8_byte( X_GLrop_TexCoord4sv, v ); 1623 } 1624 1625 #define X_GLrop_Vertex2dv 65 1626 void __indirect_glVertex2d(GLdouble x, GLdouble y) 1627 { 1628 struct glx_context * const gc = __glXGetCurrentContext(); 1629 const GLuint cmdlen = 20; 1630 emit_header(gc->pc, X_GLrop_Vertex2dv, cmdlen); 1631 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 1632 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 1633 gc->pc += cmdlen; 1634 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1635 } 1636 1637 #define X_GLrop_Vertex2dv 65 1638 void __indirect_glVertex2dv(const GLdouble * v) 1639 { 1640 generic_16_byte( X_GLrop_Vertex2dv, v ); 1641 } 1642 1643 #define X_GLrop_Vertex2fv 66 1644 void __indirect_glVertex2f(GLfloat x, GLfloat y) 1645 { 1646 struct glx_context * const gc = __glXGetCurrentContext(); 1647 const GLuint cmdlen = 12; 1648 emit_header(gc->pc, X_GLrop_Vertex2fv, cmdlen); 1649 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1650 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1651 gc->pc += cmdlen; 1652 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1653 } 1654 1655 #define X_GLrop_Vertex2fv 66 1656 void __indirect_glVertex2fv(const GLfloat * v) 1657 { 1658 generic_8_byte( X_GLrop_Vertex2fv, v ); 1659 } 1660 1661 #define X_GLrop_Vertex2iv 67 1662 void __indirect_glVertex2i(GLint x, GLint y) 1663 { 1664 struct glx_context * const gc = __glXGetCurrentContext(); 1665 const GLuint cmdlen = 12; 1666 emit_header(gc->pc, X_GLrop_Vertex2iv, cmdlen); 1667 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1668 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1669 gc->pc += cmdlen; 1670 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1671 } 1672 1673 #define X_GLrop_Vertex2iv 67 1674 void __indirect_glVertex2iv(const GLint * v) 1675 { 1676 generic_8_byte( X_GLrop_Vertex2iv, v ); 1677 } 1678 1679 #define X_GLrop_Vertex2sv 68 1680 void __indirect_glVertex2s(GLshort x, GLshort y) 1681 { 1682 struct glx_context * const gc = __glXGetCurrentContext(); 1683 const GLuint cmdlen = 8; 1684 emit_header(gc->pc, X_GLrop_Vertex2sv, cmdlen); 1685 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2); 1686 (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2); 1687 gc->pc += cmdlen; 1688 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1689 } 1690 1691 #define X_GLrop_Vertex2sv 68 1692 void __indirect_glVertex2sv(const GLshort * v) 1693 { 1694 generic_4_byte( X_GLrop_Vertex2sv, v ); 1695 } 1696 1697 #define X_GLrop_Vertex3dv 69 1698 void __indirect_glVertex3d(GLdouble x, GLdouble y, GLdouble z) 1699 { 1700 struct glx_context * const gc = __glXGetCurrentContext(); 1701 const GLuint cmdlen = 28; 1702 emit_header(gc->pc, X_GLrop_Vertex3dv, cmdlen); 1703 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 1704 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 1705 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8); 1706 gc->pc += cmdlen; 1707 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1708 } 1709 1710 #define X_GLrop_Vertex3dv 69 1711 void __indirect_glVertex3dv(const GLdouble * v) 1712 { 1713 generic_24_byte( X_GLrop_Vertex3dv, v ); 1714 } 1715 1716 #define X_GLrop_Vertex3fv 70 1717 void __indirect_glVertex3f(GLfloat x, GLfloat y, GLfloat z) 1718 { 1719 struct glx_context * const gc = __glXGetCurrentContext(); 1720 const GLuint cmdlen = 16; 1721 emit_header(gc->pc, X_GLrop_Vertex3fv, cmdlen); 1722 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1723 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1724 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 1725 gc->pc += cmdlen; 1726 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1727 } 1728 1729 #define X_GLrop_Vertex3fv 70 1730 void __indirect_glVertex3fv(const GLfloat * v) 1731 { 1732 generic_12_byte( X_GLrop_Vertex3fv, v ); 1733 } 1734 1735 #define X_GLrop_Vertex3iv 71 1736 void __indirect_glVertex3i(GLint x, GLint y, GLint z) 1737 { 1738 struct glx_context * const gc = __glXGetCurrentContext(); 1739 const GLuint cmdlen = 16; 1740 emit_header(gc->pc, X_GLrop_Vertex3iv, cmdlen); 1741 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1742 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1743 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 1744 gc->pc += cmdlen; 1745 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1746 } 1747 1748 #define X_GLrop_Vertex3iv 71 1749 void __indirect_glVertex3iv(const GLint * v) 1750 { 1751 generic_12_byte( X_GLrop_Vertex3iv, v ); 1752 } 1753 1754 #define X_GLrop_Vertex3sv 72 1755 void __indirect_glVertex3s(GLshort x, GLshort y, GLshort z) 1756 { 1757 struct glx_context * const gc = __glXGetCurrentContext(); 1758 const GLuint cmdlen = 12; 1759 emit_header(gc->pc, X_GLrop_Vertex3sv, cmdlen); 1760 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2); 1761 (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2); 1762 (void) memcpy((void *)(gc->pc + 8), (void *)(&z), 2); 1763 gc->pc += cmdlen; 1764 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1765 } 1766 1767 #define X_GLrop_Vertex3sv 72 1768 void __indirect_glVertex3sv(const GLshort * v) 1769 { 1770 generic_6_byte( X_GLrop_Vertex3sv, v ); 1771 } 1772 1773 #define X_GLrop_Vertex4dv 73 1774 void __indirect_glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) 1775 { 1776 struct glx_context * const gc = __glXGetCurrentContext(); 1777 const GLuint cmdlen = 36; 1778 emit_header(gc->pc, X_GLrop_Vertex4dv, cmdlen); 1779 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 1780 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 1781 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8); 1782 (void) memcpy((void *)(gc->pc + 28), (void *)(&w), 8); 1783 gc->pc += cmdlen; 1784 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1785 } 1786 1787 #define X_GLrop_Vertex4dv 73 1788 void __indirect_glVertex4dv(const GLdouble * v) 1789 { 1790 generic_32_byte( X_GLrop_Vertex4dv, v ); 1791 } 1792 1793 #define X_GLrop_Vertex4fv 74 1794 void __indirect_glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) 1795 { 1796 struct glx_context * const gc = __glXGetCurrentContext(); 1797 const GLuint cmdlen = 20; 1798 emit_header(gc->pc, X_GLrop_Vertex4fv, cmdlen); 1799 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1800 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1801 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 1802 (void) memcpy((void *)(gc->pc + 16), (void *)(&w), 4); 1803 gc->pc += cmdlen; 1804 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1805 } 1806 1807 #define X_GLrop_Vertex4fv 74 1808 void __indirect_glVertex4fv(const GLfloat * v) 1809 { 1810 generic_16_byte( X_GLrop_Vertex4fv, v ); 1811 } 1812 1813 #define X_GLrop_Vertex4iv 75 1814 void __indirect_glVertex4i(GLint x, GLint y, GLint z, GLint w) 1815 { 1816 struct glx_context * const gc = __glXGetCurrentContext(); 1817 const GLuint cmdlen = 20; 1818 emit_header(gc->pc, X_GLrop_Vertex4iv, cmdlen); 1819 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 1820 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 1821 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 1822 (void) memcpy((void *)(gc->pc + 16), (void *)(&w), 4); 1823 gc->pc += cmdlen; 1824 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1825 } 1826 1827 #define X_GLrop_Vertex4iv 75 1828 void __indirect_glVertex4iv(const GLint * v) 1829 { 1830 generic_16_byte( X_GLrop_Vertex4iv, v ); 1831 } 1832 1833 #define X_GLrop_Vertex4sv 76 1834 void __indirect_glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) 1835 { 1836 struct glx_context * const gc = __glXGetCurrentContext(); 1837 const GLuint cmdlen = 12; 1838 emit_header(gc->pc, X_GLrop_Vertex4sv, cmdlen); 1839 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 2); 1840 (void) memcpy((void *)(gc->pc + 6), (void *)(&y), 2); 1841 (void) memcpy((void *)(gc->pc + 8), (void *)(&z), 2); 1842 (void) memcpy((void *)(gc->pc + 10), (void *)(&w), 2); 1843 gc->pc += cmdlen; 1844 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1845 } 1846 1847 #define X_GLrop_Vertex4sv 76 1848 void __indirect_glVertex4sv(const GLshort * v) 1849 { 1850 generic_8_byte( X_GLrop_Vertex4sv, v ); 1851 } 1852 1853 #define X_GLrop_ClipPlane 77 1854 void __indirect_glClipPlane(GLenum plane, const GLdouble * equation) 1855 { 1856 struct glx_context * const gc = __glXGetCurrentContext(); 1857 const GLuint cmdlen = 40; 1858 emit_header(gc->pc, X_GLrop_ClipPlane, cmdlen); 1859 (void) memcpy((void *)(gc->pc + 4), (void *)(equation), 32); 1860 (void) memcpy((void *)(gc->pc + 36), (void *)(&plane), 4); 1861 gc->pc += cmdlen; 1862 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1863 } 1864 1865 #define X_GLrop_ColorMaterial 78 1866 void __indirect_glColorMaterial(GLenum face, GLenum mode) 1867 { 1868 struct glx_context * const gc = __glXGetCurrentContext(); 1869 const GLuint cmdlen = 12; 1870 emit_header(gc->pc, X_GLrop_ColorMaterial, cmdlen); 1871 (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4); 1872 (void) memcpy((void *)(gc->pc + 8), (void *)(&mode), 4); 1873 gc->pc += cmdlen; 1874 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1875 } 1876 1877 #define X_GLrop_CullFace 79 1878 void __indirect_glCullFace(GLenum mode) 1879 { 1880 struct glx_context * const gc = __glXGetCurrentContext(); 1881 const GLuint cmdlen = 8; 1882 emit_header(gc->pc, X_GLrop_CullFace, cmdlen); 1883 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 1884 gc->pc += cmdlen; 1885 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1886 } 1887 1888 #define X_GLrop_Fogf 80 1889 void __indirect_glFogf(GLenum pname, GLfloat param) 1890 { 1891 struct glx_context * const gc = __glXGetCurrentContext(); 1892 const GLuint cmdlen = 12; 1893 emit_header(gc->pc, X_GLrop_Fogf, cmdlen); 1894 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 1895 (void) memcpy((void *)(gc->pc + 8), (void *)(¶m), 4); 1896 gc->pc += cmdlen; 1897 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1898 } 1899 1900 #define X_GLrop_Fogfv 81 1901 void __indirect_glFogfv(GLenum pname, const GLfloat * params) 1902 { 1903 struct glx_context * const gc = __glXGetCurrentContext(); 1904 const GLuint compsize = __glFogfv_size(pname); 1905 const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4)); 1906 emit_header(gc->pc, X_GLrop_Fogfv, cmdlen); 1907 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 1908 (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4)); 1909 gc->pc += cmdlen; 1910 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1911 } 1912 1913 #define X_GLrop_Fogi 82 1914 void __indirect_glFogi(GLenum pname, GLint param) 1915 { 1916 struct glx_context * const gc = __glXGetCurrentContext(); 1917 const GLuint cmdlen = 12; 1918 emit_header(gc->pc, X_GLrop_Fogi, cmdlen); 1919 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 1920 (void) memcpy((void *)(gc->pc + 8), (void *)(¶m), 4); 1921 gc->pc += cmdlen; 1922 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1923 } 1924 1925 #define X_GLrop_Fogiv 83 1926 void __indirect_glFogiv(GLenum pname, const GLint * params) 1927 { 1928 struct glx_context * const gc = __glXGetCurrentContext(); 1929 const GLuint compsize = __glFogiv_size(pname); 1930 const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4)); 1931 emit_header(gc->pc, X_GLrop_Fogiv, cmdlen); 1932 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 1933 (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4)); 1934 gc->pc += cmdlen; 1935 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1936 } 1937 1938 #define X_GLrop_FrontFace 84 1939 void __indirect_glFrontFace(GLenum mode) 1940 { 1941 struct glx_context * const gc = __glXGetCurrentContext(); 1942 const GLuint cmdlen = 8; 1943 emit_header(gc->pc, X_GLrop_FrontFace, cmdlen); 1944 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 1945 gc->pc += cmdlen; 1946 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1947 } 1948 1949 #define X_GLrop_Hint 85 1950 void __indirect_glHint(GLenum target, GLenum mode) 1951 { 1952 struct glx_context * const gc = __glXGetCurrentContext(); 1953 const GLuint cmdlen = 12; 1954 emit_header(gc->pc, X_GLrop_Hint, cmdlen); 1955 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 1956 (void) memcpy((void *)(gc->pc + 8), (void *)(&mode), 4); 1957 gc->pc += cmdlen; 1958 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1959 } 1960 1961 #define X_GLrop_Lightf 86 1962 void __indirect_glLightf(GLenum light, GLenum pname, GLfloat param) 1963 { 1964 struct glx_context * const gc = __glXGetCurrentContext(); 1965 const GLuint cmdlen = 16; 1966 emit_header(gc->pc, X_GLrop_Lightf, cmdlen); 1967 (void) memcpy((void *)(gc->pc + 4), (void *)(&light), 4); 1968 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 1969 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 1970 gc->pc += cmdlen; 1971 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1972 } 1973 1974 #define X_GLrop_Lightfv 87 1975 void __indirect_glLightfv(GLenum light, GLenum pname, const GLfloat * params) 1976 { 1977 struct glx_context * const gc = __glXGetCurrentContext(); 1978 const GLuint compsize = __glLightfv_size(pname); 1979 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 1980 emit_header(gc->pc, X_GLrop_Lightfv, cmdlen); 1981 (void) memcpy((void *)(gc->pc + 4), (void *)(&light), 4); 1982 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 1983 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 1984 gc->pc += cmdlen; 1985 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1986 } 1987 1988 #define X_GLrop_Lighti 88 1989 void __indirect_glLighti(GLenum light, GLenum pname, GLint param) 1990 { 1991 struct glx_context * const gc = __glXGetCurrentContext(); 1992 const GLuint cmdlen = 16; 1993 emit_header(gc->pc, X_GLrop_Lighti, cmdlen); 1994 (void) memcpy((void *)(gc->pc + 4), (void *)(&light), 4); 1995 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 1996 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 1997 gc->pc += cmdlen; 1998 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 1999 } 2000 2001 #define X_GLrop_Lightiv 89 2002 void __indirect_glLightiv(GLenum light, GLenum pname, const GLint * params) 2003 { 2004 struct glx_context * const gc = __glXGetCurrentContext(); 2005 const GLuint compsize = __glLightiv_size(pname); 2006 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2007 emit_header(gc->pc, X_GLrop_Lightiv, cmdlen); 2008 (void) memcpy((void *)(gc->pc + 4), (void *)(&light), 4); 2009 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2010 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2011 gc->pc += cmdlen; 2012 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2013 } 2014 2015 #define X_GLrop_LightModelf 90 2016 void __indirect_glLightModelf(GLenum pname, GLfloat param) 2017 { 2018 struct glx_context * const gc = __glXGetCurrentContext(); 2019 const GLuint cmdlen = 12; 2020 emit_header(gc->pc, X_GLrop_LightModelf, cmdlen); 2021 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 2022 (void) memcpy((void *)(gc->pc + 8), (void *)(¶m), 4); 2023 gc->pc += cmdlen; 2024 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2025 } 2026 2027 #define X_GLrop_LightModelfv 91 2028 void __indirect_glLightModelfv(GLenum pname, const GLfloat * params) 2029 { 2030 struct glx_context * const gc = __glXGetCurrentContext(); 2031 const GLuint compsize = __glLightModelfv_size(pname); 2032 const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4)); 2033 emit_header(gc->pc, X_GLrop_LightModelfv, cmdlen); 2034 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 2035 (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4)); 2036 gc->pc += cmdlen; 2037 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2038 } 2039 2040 #define X_GLrop_LightModeli 92 2041 void __indirect_glLightModeli(GLenum pname, GLint param) 2042 { 2043 struct glx_context * const gc = __glXGetCurrentContext(); 2044 const GLuint cmdlen = 12; 2045 emit_header(gc->pc, X_GLrop_LightModeli, cmdlen); 2046 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 2047 (void) memcpy((void *)(gc->pc + 8), (void *)(¶m), 4); 2048 gc->pc += cmdlen; 2049 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2050 } 2051 2052 #define X_GLrop_LightModeliv 93 2053 void __indirect_glLightModeliv(GLenum pname, const GLint * params) 2054 { 2055 struct glx_context * const gc = __glXGetCurrentContext(); 2056 const GLuint compsize = __glLightModeliv_size(pname); 2057 const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4)); 2058 emit_header(gc->pc, X_GLrop_LightModeliv, cmdlen); 2059 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 2060 (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4)); 2061 gc->pc += cmdlen; 2062 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2063 } 2064 2065 #define X_GLrop_LineStipple 94 2066 void __indirect_glLineStipple(GLint factor, GLushort pattern) 2067 { 2068 struct glx_context * const gc = __glXGetCurrentContext(); 2069 const GLuint cmdlen = 12; 2070 emit_header(gc->pc, X_GLrop_LineStipple, cmdlen); 2071 (void) memcpy((void *)(gc->pc + 4), (void *)(&factor), 4); 2072 (void) memcpy((void *)(gc->pc + 8), (void *)(&pattern), 2); 2073 gc->pc += cmdlen; 2074 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2075 } 2076 2077 #define X_GLrop_LineWidth 95 2078 void __indirect_glLineWidth(GLfloat width) 2079 { 2080 struct glx_context * const gc = __glXGetCurrentContext(); 2081 const GLuint cmdlen = 8; 2082 emit_header(gc->pc, X_GLrop_LineWidth, cmdlen); 2083 (void) memcpy((void *)(gc->pc + 4), (void *)(&width), 4); 2084 gc->pc += cmdlen; 2085 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2086 } 2087 2088 #define X_GLrop_Materialf 96 2089 void __indirect_glMaterialf(GLenum face, GLenum pname, GLfloat param) 2090 { 2091 struct glx_context * const gc = __glXGetCurrentContext(); 2092 const GLuint cmdlen = 16; 2093 emit_header(gc->pc, X_GLrop_Materialf, cmdlen); 2094 (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4); 2095 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2096 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 2097 gc->pc += cmdlen; 2098 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2099 } 2100 2101 #define X_GLrop_Materialfv 97 2102 void __indirect_glMaterialfv(GLenum face, GLenum pname, const GLfloat * params) 2103 { 2104 struct glx_context * const gc = __glXGetCurrentContext(); 2105 const GLuint compsize = __glMaterialfv_size(pname); 2106 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2107 emit_header(gc->pc, X_GLrop_Materialfv, cmdlen); 2108 (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4); 2109 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2110 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2111 gc->pc += cmdlen; 2112 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2113 } 2114 2115 #define X_GLrop_Materiali 98 2116 void __indirect_glMateriali(GLenum face, GLenum pname, GLint param) 2117 { 2118 struct glx_context * const gc = __glXGetCurrentContext(); 2119 const GLuint cmdlen = 16; 2120 emit_header(gc->pc, X_GLrop_Materiali, cmdlen); 2121 (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4); 2122 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2123 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 2124 gc->pc += cmdlen; 2125 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2126 } 2127 2128 #define X_GLrop_Materialiv 99 2129 void __indirect_glMaterialiv(GLenum face, GLenum pname, const GLint * params) 2130 { 2131 struct glx_context * const gc = __glXGetCurrentContext(); 2132 const GLuint compsize = __glMaterialiv_size(pname); 2133 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2134 emit_header(gc->pc, X_GLrop_Materialiv, cmdlen); 2135 (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4); 2136 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2137 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2138 gc->pc += cmdlen; 2139 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2140 } 2141 2142 #define X_GLrop_PointSize 100 2143 void __indirect_glPointSize(GLfloat size) 2144 { 2145 struct glx_context * const gc = __glXGetCurrentContext(); 2146 const GLuint cmdlen = 8; 2147 emit_header(gc->pc, X_GLrop_PointSize, cmdlen); 2148 (void) memcpy((void *)(gc->pc + 4), (void *)(&size), 4); 2149 gc->pc += cmdlen; 2150 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2151 } 2152 2153 #define X_GLrop_PolygonMode 101 2154 void __indirect_glPolygonMode(GLenum face, GLenum mode) 2155 { 2156 struct glx_context * const gc = __glXGetCurrentContext(); 2157 const GLuint cmdlen = 12; 2158 emit_header(gc->pc, X_GLrop_PolygonMode, cmdlen); 2159 (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4); 2160 (void) memcpy((void *)(gc->pc + 8), (void *)(&mode), 4); 2161 gc->pc += cmdlen; 2162 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2163 } 2164 2165 #define X_GLrop_PolygonStipple 102 2166 void __indirect_glPolygonStipple(const GLubyte * mask) 2167 { 2168 struct glx_context * const gc = __glXGetCurrentContext(); 2169 const GLuint compsize = (mask != NULL) ? __glImageSize(32, 32, 1, GL_COLOR_INDEX, GL_BITMAP, 0) : 0; 2170 const GLuint cmdlen = 24 + __GLX_PAD(compsize); 2171 emit_header(gc->pc, X_GLrop_PolygonStipple, cmdlen); 2172 if (compsize > 0) { 2173 (*gc->fillImage)(gc, 2, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP, mask, gc->pc + 24, gc->pc + 4); 2174 } else { 2175 (void) memcpy( gc->pc + 4, default_pixel_store_2D, default_pixel_store_2D_size ); 2176 } 2177 gc->pc += cmdlen; 2178 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2179 } 2180 2181 #define X_GLrop_Scissor 103 2182 void __indirect_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) 2183 { 2184 struct glx_context * const gc = __glXGetCurrentContext(); 2185 const GLuint cmdlen = 20; 2186 emit_header(gc->pc, X_GLrop_Scissor, cmdlen); 2187 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 2188 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 2189 (void) memcpy((void *)(gc->pc + 12), (void *)(&width), 4); 2190 (void) memcpy((void *)(gc->pc + 16), (void *)(&height), 4); 2191 gc->pc += cmdlen; 2192 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2193 } 2194 2195 #define X_GLrop_ShadeModel 104 2196 void __indirect_glShadeModel(GLenum mode) 2197 { 2198 struct glx_context * const gc = __glXGetCurrentContext(); 2199 const GLuint cmdlen = 8; 2200 emit_header(gc->pc, X_GLrop_ShadeModel, cmdlen); 2201 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 2202 gc->pc += cmdlen; 2203 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2204 } 2205 2206 #define X_GLrop_TexParameterf 105 2207 void __indirect_glTexParameterf(GLenum target, GLenum pname, GLfloat param) 2208 { 2209 struct glx_context * const gc = __glXGetCurrentContext(); 2210 const GLuint cmdlen = 16; 2211 emit_header(gc->pc, X_GLrop_TexParameterf, cmdlen); 2212 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 2213 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2214 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 2215 gc->pc += cmdlen; 2216 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2217 } 2218 2219 #define X_GLrop_TexParameterfv 106 2220 void __indirect_glTexParameterfv(GLenum target, GLenum pname, const GLfloat * params) 2221 { 2222 struct glx_context * const gc = __glXGetCurrentContext(); 2223 const GLuint compsize = __glTexParameterfv_size(pname); 2224 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2225 emit_header(gc->pc, X_GLrop_TexParameterfv, cmdlen); 2226 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 2227 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2228 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2229 gc->pc += cmdlen; 2230 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2231 } 2232 2233 #define X_GLrop_TexParameteri 107 2234 void __indirect_glTexParameteri(GLenum target, GLenum pname, GLint param) 2235 { 2236 struct glx_context * const gc = __glXGetCurrentContext(); 2237 const GLuint cmdlen = 16; 2238 emit_header(gc->pc, X_GLrop_TexParameteri, cmdlen); 2239 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 2240 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2241 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 2242 gc->pc += cmdlen; 2243 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2244 } 2245 2246 #define X_GLrop_TexParameteriv 108 2247 void __indirect_glTexParameteriv(GLenum target, GLenum pname, const GLint * params) 2248 { 2249 struct glx_context * const gc = __glXGetCurrentContext(); 2250 const GLuint compsize = __glTexParameteriv_size(pname); 2251 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2252 emit_header(gc->pc, X_GLrop_TexParameteriv, cmdlen); 2253 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 2254 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2255 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2256 gc->pc += cmdlen; 2257 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2258 } 2259 2260 static void 2261 __glx_TexImage_1D2D( unsigned opcode, unsigned dim, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels ) 2262 { 2263 struct glx_context * const gc = __glXGetCurrentContext(); 2264 const GLuint compsize = __glImageSize(width, height, 1, format, type, target); 2265 const GLuint cmdlen = 56 + __GLX_PAD(compsize); 2266 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 2267 if (cmdlen <= gc->maxSmallRenderCommandSize) { 2268 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 2269 (void) __glXFlushRenderBuffer(gc, gc->pc); 2270 } 2271 emit_header(gc->pc, opcode, cmdlen); 2272 (void) memcpy((void *)(gc->pc + 24), (void *)(&target), 4); 2273 (void) memcpy((void *)(gc->pc + 28), (void *)(&level), 4); 2274 (void) memcpy((void *)(gc->pc + 32), (void *)(&internalformat), 4); 2275 (void) memcpy((void *)(gc->pc + 36), (void *)(&width), 4); 2276 (void) memcpy((void *)(gc->pc + 40), (void *)(&height), 4); 2277 (void) memcpy((void *)(gc->pc + 44), (void *)(&border), 4); 2278 (void) memcpy((void *)(gc->pc + 48), (void *)(&format), 4); 2279 (void) memcpy((void *)(gc->pc + 52), (void *)(&type), 4); 2280 if ((compsize > 0) && (pixels != NULL)) { 2281 (*gc->fillImage)(gc, dim, width, height, 1, format, type, pixels, gc->pc + 56, gc->pc + 4); 2282 } else { 2283 (void) memcpy( gc->pc + 4, default_pixel_store_2D, default_pixel_store_2D_size ); 2284 } 2285 gc->pc += cmdlen; 2286 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2287 } 2288 else { 2289 const GLint op = opcode; 2290 const GLuint cmdlenLarge = cmdlen + 4; 2291 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 2292 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 2293 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 2294 (void) memcpy((void *)(pc + 28), (void *)(&target), 4); 2295 (void) memcpy((void *)(pc + 32), (void *)(&level), 4); 2296 (void) memcpy((void *)(pc + 36), (void *)(&internalformat), 4); 2297 (void) memcpy((void *)(pc + 40), (void *)(&width), 4); 2298 (void) memcpy((void *)(pc + 44), (void *)(&height), 4); 2299 (void) memcpy((void *)(pc + 48), (void *)(&border), 4); 2300 (void) memcpy((void *)(pc + 52), (void *)(&format), 4); 2301 (void) memcpy((void *)(pc + 56), (void *)(&type), 4); 2302 __glXSendLargeImage(gc, compsize, dim, width, height, 1, format, type, pixels, pc + 60, pc + 8); 2303 } 2304 } 2305 } 2306 2307 #define X_GLrop_TexImage1D 109 2308 void __indirect_glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels) 2309 { 2310 __glx_TexImage_1D2D(X_GLrop_TexImage1D, 1, target, level, internalformat, width, 1, border, format, type, pixels ); 2311 } 2312 2313 #define X_GLrop_TexImage2D 110 2314 void __indirect_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels) 2315 { 2316 __glx_TexImage_1D2D(X_GLrop_TexImage2D, 2, target, level, internalformat, width, height, border, format, type, pixels ); 2317 } 2318 2319 #define X_GLrop_TexEnvf 111 2320 void __indirect_glTexEnvf(GLenum target, GLenum pname, GLfloat param) 2321 { 2322 struct glx_context * const gc = __glXGetCurrentContext(); 2323 const GLuint cmdlen = 16; 2324 emit_header(gc->pc, X_GLrop_TexEnvf, cmdlen); 2325 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 2326 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2327 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 2328 gc->pc += cmdlen; 2329 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2330 } 2331 2332 #define X_GLrop_TexEnvfv 112 2333 void __indirect_glTexEnvfv(GLenum target, GLenum pname, const GLfloat * params) 2334 { 2335 struct glx_context * const gc = __glXGetCurrentContext(); 2336 const GLuint compsize = __glTexEnvfv_size(pname); 2337 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2338 emit_header(gc->pc, X_GLrop_TexEnvfv, cmdlen); 2339 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 2340 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2341 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2342 gc->pc += cmdlen; 2343 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2344 } 2345 2346 #define X_GLrop_TexEnvi 113 2347 void __indirect_glTexEnvi(GLenum target, GLenum pname, GLint param) 2348 { 2349 struct glx_context * const gc = __glXGetCurrentContext(); 2350 const GLuint cmdlen = 16; 2351 emit_header(gc->pc, X_GLrop_TexEnvi, cmdlen); 2352 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 2353 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2354 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 2355 gc->pc += cmdlen; 2356 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2357 } 2358 2359 #define X_GLrop_TexEnviv 114 2360 void __indirect_glTexEnviv(GLenum target, GLenum pname, const GLint * params) 2361 { 2362 struct glx_context * const gc = __glXGetCurrentContext(); 2363 const GLuint compsize = __glTexEnviv_size(pname); 2364 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2365 emit_header(gc->pc, X_GLrop_TexEnviv, cmdlen); 2366 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 2367 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2368 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2369 gc->pc += cmdlen; 2370 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2371 } 2372 2373 #define X_GLrop_TexGend 115 2374 void __indirect_glTexGend(GLenum coord, GLenum pname, GLdouble param) 2375 { 2376 struct glx_context * const gc = __glXGetCurrentContext(); 2377 const GLuint cmdlen = 20; 2378 emit_header(gc->pc, X_GLrop_TexGend, cmdlen); 2379 (void) memcpy((void *)(gc->pc + 4), (void *)(¶m), 8); 2380 (void) memcpy((void *)(gc->pc + 12), (void *)(&coord), 4); 2381 (void) memcpy((void *)(gc->pc + 16), (void *)(&pname), 4); 2382 gc->pc += cmdlen; 2383 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2384 } 2385 2386 #define X_GLrop_TexGendv 116 2387 void __indirect_glTexGendv(GLenum coord, GLenum pname, const GLdouble * params) 2388 { 2389 struct glx_context * const gc = __glXGetCurrentContext(); 2390 const GLuint compsize = __glTexGendv_size(pname); 2391 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 8)); 2392 emit_header(gc->pc, X_GLrop_TexGendv, cmdlen); 2393 (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4); 2394 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2395 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 8)); 2396 gc->pc += cmdlen; 2397 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2398 } 2399 2400 #define X_GLrop_TexGenf 117 2401 void __indirect_glTexGenf(GLenum coord, GLenum pname, GLfloat param) 2402 { 2403 struct glx_context * const gc = __glXGetCurrentContext(); 2404 const GLuint cmdlen = 16; 2405 emit_header(gc->pc, X_GLrop_TexGenf, cmdlen); 2406 (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4); 2407 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2408 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 2409 gc->pc += cmdlen; 2410 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2411 } 2412 2413 #define X_GLrop_TexGenfv 118 2414 void __indirect_glTexGenfv(GLenum coord, GLenum pname, const GLfloat * params) 2415 { 2416 struct glx_context * const gc = __glXGetCurrentContext(); 2417 const GLuint compsize = __glTexGenfv_size(pname); 2418 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2419 emit_header(gc->pc, X_GLrop_TexGenfv, cmdlen); 2420 (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4); 2421 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2422 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2423 gc->pc += cmdlen; 2424 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2425 } 2426 2427 #define X_GLrop_TexGeni 119 2428 void __indirect_glTexGeni(GLenum coord, GLenum pname, GLint param) 2429 { 2430 struct glx_context * const gc = __glXGetCurrentContext(); 2431 const GLuint cmdlen = 16; 2432 emit_header(gc->pc, X_GLrop_TexGeni, cmdlen); 2433 (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4); 2434 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2435 (void) memcpy((void *)(gc->pc + 12), (void *)(¶m), 4); 2436 gc->pc += cmdlen; 2437 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2438 } 2439 2440 #define X_GLrop_TexGeniv 120 2441 void __indirect_glTexGeniv(GLenum coord, GLenum pname, const GLint * params) 2442 { 2443 struct glx_context * const gc = __glXGetCurrentContext(); 2444 const GLuint compsize = __glTexGeniv_size(pname); 2445 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 2446 emit_header(gc->pc, X_GLrop_TexGeniv, cmdlen); 2447 (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4); 2448 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 2449 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 2450 gc->pc += cmdlen; 2451 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2452 } 2453 2454 #define X_GLrop_InitNames 121 2455 void __indirect_glInitNames(void) 2456 { 2457 struct glx_context * const gc = __glXGetCurrentContext(); 2458 const GLuint cmdlen = 4; 2459 emit_header(gc->pc, X_GLrop_InitNames, cmdlen); 2460 gc->pc += cmdlen; 2461 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2462 } 2463 2464 #define X_GLrop_LoadName 122 2465 void __indirect_glLoadName(GLuint name) 2466 { 2467 struct glx_context * const gc = __glXGetCurrentContext(); 2468 const GLuint cmdlen = 8; 2469 emit_header(gc->pc, X_GLrop_LoadName, cmdlen); 2470 (void) memcpy((void *)(gc->pc + 4), (void *)(&name), 4); 2471 gc->pc += cmdlen; 2472 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2473 } 2474 2475 #define X_GLrop_PassThrough 123 2476 void __indirect_glPassThrough(GLfloat token) 2477 { 2478 struct glx_context * const gc = __glXGetCurrentContext(); 2479 const GLuint cmdlen = 8; 2480 emit_header(gc->pc, X_GLrop_PassThrough, cmdlen); 2481 (void) memcpy((void *)(gc->pc + 4), (void *)(&token), 4); 2482 gc->pc += cmdlen; 2483 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2484 } 2485 2486 #define X_GLrop_PopName 124 2487 void __indirect_glPopName(void) 2488 { 2489 struct glx_context * const gc = __glXGetCurrentContext(); 2490 const GLuint cmdlen = 4; 2491 emit_header(gc->pc, X_GLrop_PopName, cmdlen); 2492 gc->pc += cmdlen; 2493 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2494 } 2495 2496 #define X_GLrop_PushName 125 2497 void __indirect_glPushName(GLuint name) 2498 { 2499 struct glx_context * const gc = __glXGetCurrentContext(); 2500 const GLuint cmdlen = 8; 2501 emit_header(gc->pc, X_GLrop_PushName, cmdlen); 2502 (void) memcpy((void *)(gc->pc + 4), (void *)(&name), 4); 2503 gc->pc += cmdlen; 2504 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2505 } 2506 2507 #define X_GLrop_DrawBuffer 126 2508 void __indirect_glDrawBuffer(GLenum mode) 2509 { 2510 struct glx_context * const gc = __glXGetCurrentContext(); 2511 const GLuint cmdlen = 8; 2512 emit_header(gc->pc, X_GLrop_DrawBuffer, cmdlen); 2513 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 2514 gc->pc += cmdlen; 2515 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2516 } 2517 2518 #define X_GLrop_Clear 127 2519 void __indirect_glClear(GLbitfield mask) 2520 { 2521 struct glx_context * const gc = __glXGetCurrentContext(); 2522 const GLuint cmdlen = 8; 2523 emit_header(gc->pc, X_GLrop_Clear, cmdlen); 2524 (void) memcpy((void *)(gc->pc + 4), (void *)(&mask), 4); 2525 gc->pc += cmdlen; 2526 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2527 } 2528 2529 #define X_GLrop_ClearAccum 128 2530 void __indirect_glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 2531 { 2532 struct glx_context * const gc = __glXGetCurrentContext(); 2533 const GLuint cmdlen = 20; 2534 emit_header(gc->pc, X_GLrop_ClearAccum, cmdlen); 2535 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 2536 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 2537 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 2538 (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4); 2539 gc->pc += cmdlen; 2540 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2541 } 2542 2543 #define X_GLrop_ClearIndex 129 2544 void __indirect_glClearIndex(GLfloat c) 2545 { 2546 struct glx_context * const gc = __glXGetCurrentContext(); 2547 const GLuint cmdlen = 8; 2548 emit_header(gc->pc, X_GLrop_ClearIndex, cmdlen); 2549 (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 4); 2550 gc->pc += cmdlen; 2551 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2552 } 2553 2554 #define X_GLrop_ClearColor 130 2555 void __indirect_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) 2556 { 2557 struct glx_context * const gc = __glXGetCurrentContext(); 2558 const GLuint cmdlen = 20; 2559 emit_header(gc->pc, X_GLrop_ClearColor, cmdlen); 2560 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 2561 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 2562 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 2563 (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4); 2564 gc->pc += cmdlen; 2565 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2566 } 2567 2568 #define X_GLrop_ClearStencil 131 2569 void __indirect_glClearStencil(GLint s) 2570 { 2571 struct glx_context * const gc = __glXGetCurrentContext(); 2572 const GLuint cmdlen = 8; 2573 emit_header(gc->pc, X_GLrop_ClearStencil, cmdlen); 2574 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 4); 2575 gc->pc += cmdlen; 2576 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2577 } 2578 2579 #define X_GLrop_ClearDepth 132 2580 void __indirect_glClearDepth(GLclampd depth) 2581 { 2582 struct glx_context * const gc = __glXGetCurrentContext(); 2583 const GLuint cmdlen = 12; 2584 emit_header(gc->pc, X_GLrop_ClearDepth, cmdlen); 2585 (void) memcpy((void *)(gc->pc + 4), (void *)(&depth), 8); 2586 gc->pc += cmdlen; 2587 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2588 } 2589 2590 #define X_GLrop_StencilMask 133 2591 void __indirect_glStencilMask(GLuint mask) 2592 { 2593 struct glx_context * const gc = __glXGetCurrentContext(); 2594 const GLuint cmdlen = 8; 2595 emit_header(gc->pc, X_GLrop_StencilMask, cmdlen); 2596 (void) memcpy((void *)(gc->pc + 4), (void *)(&mask), 4); 2597 gc->pc += cmdlen; 2598 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2599 } 2600 2601 #define X_GLrop_ColorMask 134 2602 void __indirect_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) 2603 { 2604 struct glx_context * const gc = __glXGetCurrentContext(); 2605 const GLuint cmdlen = 8; 2606 emit_header(gc->pc, X_GLrop_ColorMask, cmdlen); 2607 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1); 2608 (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1); 2609 (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1); 2610 (void) memcpy((void *)(gc->pc + 7), (void *)(&alpha), 1); 2611 gc->pc += cmdlen; 2612 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2613 } 2614 2615 #define X_GLrop_DepthMask 135 2616 void __indirect_glDepthMask(GLboolean flag) 2617 { 2618 struct glx_context * const gc = __glXGetCurrentContext(); 2619 const GLuint cmdlen = 8; 2620 emit_header(gc->pc, X_GLrop_DepthMask, cmdlen); 2621 (void) memcpy((void *)(gc->pc + 4), (void *)(&flag), 1); 2622 gc->pc += cmdlen; 2623 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2624 } 2625 2626 #define X_GLrop_IndexMask 136 2627 void __indirect_glIndexMask(GLuint mask) 2628 { 2629 struct glx_context * const gc = __glXGetCurrentContext(); 2630 const GLuint cmdlen = 8; 2631 emit_header(gc->pc, X_GLrop_IndexMask, cmdlen); 2632 (void) memcpy((void *)(gc->pc + 4), (void *)(&mask), 4); 2633 gc->pc += cmdlen; 2634 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2635 } 2636 2637 #define X_GLrop_Accum 137 2638 void __indirect_glAccum(GLenum op, GLfloat value) 2639 { 2640 struct glx_context * const gc = __glXGetCurrentContext(); 2641 const GLuint cmdlen = 12; 2642 emit_header(gc->pc, X_GLrop_Accum, cmdlen); 2643 (void) memcpy((void *)(gc->pc + 4), (void *)(&op), 4); 2644 (void) memcpy((void *)(gc->pc + 8), (void *)(&value), 4); 2645 gc->pc += cmdlen; 2646 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2647 } 2648 2649 #define X_GLrop_PopAttrib 141 2650 void __indirect_glPopAttrib(void) 2651 { 2652 struct glx_context * const gc = __glXGetCurrentContext(); 2653 const GLuint cmdlen = 4; 2654 emit_header(gc->pc, X_GLrop_PopAttrib, cmdlen); 2655 gc->pc += cmdlen; 2656 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2657 } 2658 2659 #define X_GLrop_PushAttrib 142 2660 void __indirect_glPushAttrib(GLbitfield mask) 2661 { 2662 struct glx_context * const gc = __glXGetCurrentContext(); 2663 const GLuint cmdlen = 8; 2664 emit_header(gc->pc, X_GLrop_PushAttrib, cmdlen); 2665 (void) memcpy((void *)(gc->pc + 4), (void *)(&mask), 4); 2666 gc->pc += cmdlen; 2667 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2668 } 2669 2670 #define X_GLrop_MapGrid1d 147 2671 void __indirect_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) 2672 { 2673 struct glx_context * const gc = __glXGetCurrentContext(); 2674 const GLuint cmdlen = 24; 2675 emit_header(gc->pc, X_GLrop_MapGrid1d, cmdlen); 2676 (void) memcpy((void *)(gc->pc + 4), (void *)(&u1), 8); 2677 (void) memcpy((void *)(gc->pc + 12), (void *)(&u2), 8); 2678 (void) memcpy((void *)(gc->pc + 20), (void *)(&un), 4); 2679 gc->pc += cmdlen; 2680 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2681 } 2682 2683 #define X_GLrop_MapGrid1f 148 2684 void __indirect_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) 2685 { 2686 struct glx_context * const gc = __glXGetCurrentContext(); 2687 const GLuint cmdlen = 16; 2688 emit_header(gc->pc, X_GLrop_MapGrid1f, cmdlen); 2689 (void) memcpy((void *)(gc->pc + 4), (void *)(&un), 4); 2690 (void) memcpy((void *)(gc->pc + 8), (void *)(&u1), 4); 2691 (void) memcpy((void *)(gc->pc + 12), (void *)(&u2), 4); 2692 gc->pc += cmdlen; 2693 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2694 } 2695 2696 #define X_GLrop_MapGrid2d 149 2697 void __indirect_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) 2698 { 2699 struct glx_context * const gc = __glXGetCurrentContext(); 2700 const GLuint cmdlen = 44; 2701 emit_header(gc->pc, X_GLrop_MapGrid2d, cmdlen); 2702 (void) memcpy((void *)(gc->pc + 4), (void *)(&u1), 8); 2703 (void) memcpy((void *)(gc->pc + 12), (void *)(&u2), 8); 2704 (void) memcpy((void *)(gc->pc + 20), (void *)(&v1), 8); 2705 (void) memcpy((void *)(gc->pc + 28), (void *)(&v2), 8); 2706 (void) memcpy((void *)(gc->pc + 36), (void *)(&un), 4); 2707 (void) memcpy((void *)(gc->pc + 40), (void *)(&vn), 4); 2708 gc->pc += cmdlen; 2709 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2710 } 2711 2712 #define X_GLrop_MapGrid2f 150 2713 void __indirect_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) 2714 { 2715 struct glx_context * const gc = __glXGetCurrentContext(); 2716 const GLuint cmdlen = 28; 2717 emit_header(gc->pc, X_GLrop_MapGrid2f, cmdlen); 2718 (void) memcpy((void *)(gc->pc + 4), (void *)(&un), 4); 2719 (void) memcpy((void *)(gc->pc + 8), (void *)(&u1), 4); 2720 (void) memcpy((void *)(gc->pc + 12), (void *)(&u2), 4); 2721 (void) memcpy((void *)(gc->pc + 16), (void *)(&vn), 4); 2722 (void) memcpy((void *)(gc->pc + 20), (void *)(&v1), 4); 2723 (void) memcpy((void *)(gc->pc + 24), (void *)(&v2), 4); 2724 gc->pc += cmdlen; 2725 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2726 } 2727 2728 #define X_GLrop_EvalCoord1dv 151 2729 void __indirect_glEvalCoord1d(GLdouble u) 2730 { 2731 struct glx_context * const gc = __glXGetCurrentContext(); 2732 const GLuint cmdlen = 12; 2733 emit_header(gc->pc, X_GLrop_EvalCoord1dv, cmdlen); 2734 (void) memcpy((void *)(gc->pc + 4), (void *)(&u), 8); 2735 gc->pc += cmdlen; 2736 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2737 } 2738 2739 #define X_GLrop_EvalCoord1dv 151 2740 void __indirect_glEvalCoord1dv(const GLdouble * u) 2741 { 2742 generic_8_byte( X_GLrop_EvalCoord1dv, u ); 2743 } 2744 2745 #define X_GLrop_EvalCoord1fv 152 2746 void __indirect_glEvalCoord1f(GLfloat u) 2747 { 2748 struct glx_context * const gc = __glXGetCurrentContext(); 2749 const GLuint cmdlen = 8; 2750 emit_header(gc->pc, X_GLrop_EvalCoord1fv, cmdlen); 2751 (void) memcpy((void *)(gc->pc + 4), (void *)(&u), 4); 2752 gc->pc += cmdlen; 2753 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2754 } 2755 2756 #define X_GLrop_EvalCoord1fv 152 2757 void __indirect_glEvalCoord1fv(const GLfloat * u) 2758 { 2759 generic_4_byte( X_GLrop_EvalCoord1fv, u ); 2760 } 2761 2762 #define X_GLrop_EvalCoord2dv 153 2763 void __indirect_glEvalCoord2d(GLdouble u, GLdouble v) 2764 { 2765 struct glx_context * const gc = __glXGetCurrentContext(); 2766 const GLuint cmdlen = 20; 2767 emit_header(gc->pc, X_GLrop_EvalCoord2dv, cmdlen); 2768 (void) memcpy((void *)(gc->pc + 4), (void *)(&u), 8); 2769 (void) memcpy((void *)(gc->pc + 12), (void *)(&v), 8); 2770 gc->pc += cmdlen; 2771 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2772 } 2773 2774 #define X_GLrop_EvalCoord2dv 153 2775 void __indirect_glEvalCoord2dv(const GLdouble * u) 2776 { 2777 generic_16_byte( X_GLrop_EvalCoord2dv, u ); 2778 } 2779 2780 #define X_GLrop_EvalCoord2fv 154 2781 void __indirect_glEvalCoord2f(GLfloat u, GLfloat v) 2782 { 2783 struct glx_context * const gc = __glXGetCurrentContext(); 2784 const GLuint cmdlen = 12; 2785 emit_header(gc->pc, X_GLrop_EvalCoord2fv, cmdlen); 2786 (void) memcpy((void *)(gc->pc + 4), (void *)(&u), 4); 2787 (void) memcpy((void *)(gc->pc + 8), (void *)(&v), 4); 2788 gc->pc += cmdlen; 2789 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2790 } 2791 2792 #define X_GLrop_EvalCoord2fv 154 2793 void __indirect_glEvalCoord2fv(const GLfloat * u) 2794 { 2795 generic_8_byte( X_GLrop_EvalCoord2fv, u ); 2796 } 2797 2798 #define X_GLrop_EvalMesh1 155 2799 void __indirect_glEvalMesh1(GLenum mode, GLint i1, GLint i2) 2800 { 2801 struct glx_context * const gc = __glXGetCurrentContext(); 2802 const GLuint cmdlen = 16; 2803 emit_header(gc->pc, X_GLrop_EvalMesh1, cmdlen); 2804 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 2805 (void) memcpy((void *)(gc->pc + 8), (void *)(&i1), 4); 2806 (void) memcpy((void *)(gc->pc + 12), (void *)(&i2), 4); 2807 gc->pc += cmdlen; 2808 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2809 } 2810 2811 #define X_GLrop_EvalPoint1 156 2812 void __indirect_glEvalPoint1(GLint i) 2813 { 2814 struct glx_context * const gc = __glXGetCurrentContext(); 2815 const GLuint cmdlen = 8; 2816 emit_header(gc->pc, X_GLrop_EvalPoint1, cmdlen); 2817 (void) memcpy((void *)(gc->pc + 4), (void *)(&i), 4); 2818 gc->pc += cmdlen; 2819 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2820 } 2821 2822 #define X_GLrop_EvalMesh2 157 2823 void __indirect_glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) 2824 { 2825 struct glx_context * const gc = __glXGetCurrentContext(); 2826 const GLuint cmdlen = 24; 2827 emit_header(gc->pc, X_GLrop_EvalMesh2, cmdlen); 2828 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 2829 (void) memcpy((void *)(gc->pc + 8), (void *)(&i1), 4); 2830 (void) memcpy((void *)(gc->pc + 12), (void *)(&i2), 4); 2831 (void) memcpy((void *)(gc->pc + 16), (void *)(&j1), 4); 2832 (void) memcpy((void *)(gc->pc + 20), (void *)(&j2), 4); 2833 gc->pc += cmdlen; 2834 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2835 } 2836 2837 #define X_GLrop_EvalPoint2 158 2838 void __indirect_glEvalPoint2(GLint i, GLint j) 2839 { 2840 struct glx_context * const gc = __glXGetCurrentContext(); 2841 const GLuint cmdlen = 12; 2842 emit_header(gc->pc, X_GLrop_EvalPoint2, cmdlen); 2843 (void) memcpy((void *)(gc->pc + 4), (void *)(&i), 4); 2844 (void) memcpy((void *)(gc->pc + 8), (void *)(&j), 4); 2845 gc->pc += cmdlen; 2846 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2847 } 2848 2849 #define X_GLrop_AlphaFunc 159 2850 void __indirect_glAlphaFunc(GLenum func, GLclampf ref) 2851 { 2852 struct glx_context * const gc = __glXGetCurrentContext(); 2853 const GLuint cmdlen = 12; 2854 emit_header(gc->pc, X_GLrop_AlphaFunc, cmdlen); 2855 (void) memcpy((void *)(gc->pc + 4), (void *)(&func), 4); 2856 (void) memcpy((void *)(gc->pc + 8), (void *)(&ref), 4); 2857 gc->pc += cmdlen; 2858 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2859 } 2860 2861 #define X_GLrop_BlendFunc 160 2862 void __indirect_glBlendFunc(GLenum sfactor, GLenum dfactor) 2863 { 2864 struct glx_context * const gc = __glXGetCurrentContext(); 2865 const GLuint cmdlen = 12; 2866 emit_header(gc->pc, X_GLrop_BlendFunc, cmdlen); 2867 (void) memcpy((void *)(gc->pc + 4), (void *)(&sfactor), 4); 2868 (void) memcpy((void *)(gc->pc + 8), (void *)(&dfactor), 4); 2869 gc->pc += cmdlen; 2870 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2871 } 2872 2873 #define X_GLrop_LogicOp 161 2874 void __indirect_glLogicOp(GLenum opcode) 2875 { 2876 struct glx_context * const gc = __glXGetCurrentContext(); 2877 const GLuint cmdlen = 8; 2878 emit_header(gc->pc, X_GLrop_LogicOp, cmdlen); 2879 (void) memcpy((void *)(gc->pc + 4), (void *)(&opcode), 4); 2880 gc->pc += cmdlen; 2881 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2882 } 2883 2884 #define X_GLrop_StencilFunc 162 2885 void __indirect_glStencilFunc(GLenum func, GLint ref, GLuint mask) 2886 { 2887 struct glx_context * const gc = __glXGetCurrentContext(); 2888 const GLuint cmdlen = 16; 2889 emit_header(gc->pc, X_GLrop_StencilFunc, cmdlen); 2890 (void) memcpy((void *)(gc->pc + 4), (void *)(&func), 4); 2891 (void) memcpy((void *)(gc->pc + 8), (void *)(&ref), 4); 2892 (void) memcpy((void *)(gc->pc + 12), (void *)(&mask), 4); 2893 gc->pc += cmdlen; 2894 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2895 } 2896 2897 #define X_GLrop_StencilOp 163 2898 void __indirect_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) 2899 { 2900 struct glx_context * const gc = __glXGetCurrentContext(); 2901 const GLuint cmdlen = 16; 2902 emit_header(gc->pc, X_GLrop_StencilOp, cmdlen); 2903 (void) memcpy((void *)(gc->pc + 4), (void *)(&fail), 4); 2904 (void) memcpy((void *)(gc->pc + 8), (void *)(&zfail), 4); 2905 (void) memcpy((void *)(gc->pc + 12), (void *)(&zpass), 4); 2906 gc->pc += cmdlen; 2907 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2908 } 2909 2910 #define X_GLrop_DepthFunc 164 2911 void __indirect_glDepthFunc(GLenum func) 2912 { 2913 struct glx_context * const gc = __glXGetCurrentContext(); 2914 const GLuint cmdlen = 8; 2915 emit_header(gc->pc, X_GLrop_DepthFunc, cmdlen); 2916 (void) memcpy((void *)(gc->pc + 4), (void *)(&func), 4); 2917 gc->pc += cmdlen; 2918 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2919 } 2920 2921 #define X_GLrop_PixelZoom 165 2922 void __indirect_glPixelZoom(GLfloat xfactor, GLfloat yfactor) 2923 { 2924 struct glx_context * const gc = __glXGetCurrentContext(); 2925 const GLuint cmdlen = 12; 2926 emit_header(gc->pc, X_GLrop_PixelZoom, cmdlen); 2927 (void) memcpy((void *)(gc->pc + 4), (void *)(&xfactor), 4); 2928 (void) memcpy((void *)(gc->pc + 8), (void *)(&yfactor), 4); 2929 gc->pc += cmdlen; 2930 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2931 } 2932 2933 #define X_GLrop_PixelTransferf 166 2934 void __indirect_glPixelTransferf(GLenum pname, GLfloat param) 2935 { 2936 struct glx_context * const gc = __glXGetCurrentContext(); 2937 const GLuint cmdlen = 12; 2938 emit_header(gc->pc, X_GLrop_PixelTransferf, cmdlen); 2939 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 2940 (void) memcpy((void *)(gc->pc + 8), (void *)(¶m), 4); 2941 gc->pc += cmdlen; 2942 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2943 } 2944 2945 #define X_GLrop_PixelTransferi 167 2946 void __indirect_glPixelTransferi(GLenum pname, GLint param) 2947 { 2948 struct glx_context * const gc = __glXGetCurrentContext(); 2949 const GLuint cmdlen = 12; 2950 emit_header(gc->pc, X_GLrop_PixelTransferi, cmdlen); 2951 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 2952 (void) memcpy((void *)(gc->pc + 8), (void *)(¶m), 4); 2953 gc->pc += cmdlen; 2954 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2955 } 2956 2957 #define X_GLrop_PixelMapfv 168 2958 void __indirect_glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat * values) 2959 { 2960 struct glx_context * const gc = __glXGetCurrentContext(); 2961 const GLuint cmdlen = 12 + __GLX_PAD((mapsize * 4)); 2962 if (mapsize < 0) { 2963 __glXSetError(gc, GL_INVALID_VALUE); 2964 return; 2965 } 2966 if (__builtin_expect((mapsize >= 0) && (gc->currentDpy != NULL), 1)) { 2967 if (cmdlen <= gc->maxSmallRenderCommandSize) { 2968 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 2969 (void) __glXFlushRenderBuffer(gc, gc->pc); 2970 } 2971 emit_header(gc->pc, X_GLrop_PixelMapfv, cmdlen); 2972 (void) memcpy((void *)(gc->pc + 4), (void *)(&map), 4); 2973 (void) memcpy((void *)(gc->pc + 8), (void *)(&mapsize), 4); 2974 (void) memcpy((void *)(gc->pc + 12), (void *)(values), (mapsize * 4)); 2975 gc->pc += cmdlen; 2976 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 2977 } 2978 else { 2979 const GLint op = X_GLrop_PixelMapfv; 2980 const GLuint cmdlenLarge = cmdlen + 4; 2981 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 2982 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 2983 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 2984 (void) memcpy((void *)(pc + 8), (void *)(&map), 4); 2985 (void) memcpy((void *)(pc + 12), (void *)(&mapsize), 4); 2986 __glXSendLargeCommand(gc, pc, 16, values, (mapsize * 4)); 2987 } 2988 } 2989 } 2990 2991 #define X_GLrop_PixelMapuiv 169 2992 void __indirect_glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint * values) 2993 { 2994 struct glx_context * const gc = __glXGetCurrentContext(); 2995 const GLuint cmdlen = 12 + __GLX_PAD((mapsize * 4)); 2996 if (mapsize < 0) { 2997 __glXSetError(gc, GL_INVALID_VALUE); 2998 return; 2999 } 3000 if (__builtin_expect((mapsize >= 0) && (gc->currentDpy != NULL), 1)) { 3001 if (cmdlen <= gc->maxSmallRenderCommandSize) { 3002 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 3003 (void) __glXFlushRenderBuffer(gc, gc->pc); 3004 } 3005 emit_header(gc->pc, X_GLrop_PixelMapuiv, cmdlen); 3006 (void) memcpy((void *)(gc->pc + 4), (void *)(&map), 4); 3007 (void) memcpy((void *)(gc->pc + 8), (void *)(&mapsize), 4); 3008 (void) memcpy((void *)(gc->pc + 12), (void *)(values), (mapsize * 4)); 3009 gc->pc += cmdlen; 3010 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3011 } 3012 else { 3013 const GLint op = X_GLrop_PixelMapuiv; 3014 const GLuint cmdlenLarge = cmdlen + 4; 3015 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 3016 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 3017 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 3018 (void) memcpy((void *)(pc + 8), (void *)(&map), 4); 3019 (void) memcpy((void *)(pc + 12), (void *)(&mapsize), 4); 3020 __glXSendLargeCommand(gc, pc, 16, values, (mapsize * 4)); 3021 } 3022 } 3023 } 3024 3025 #define X_GLrop_PixelMapusv 170 3026 void __indirect_glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort * values) 3027 { 3028 struct glx_context * const gc = __glXGetCurrentContext(); 3029 const GLuint cmdlen = 12 + __GLX_PAD((mapsize * 2)); 3030 if (mapsize < 0) { 3031 __glXSetError(gc, GL_INVALID_VALUE); 3032 return; 3033 } 3034 if (__builtin_expect((mapsize >= 0) && (gc->currentDpy != NULL), 1)) { 3035 if (cmdlen <= gc->maxSmallRenderCommandSize) { 3036 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 3037 (void) __glXFlushRenderBuffer(gc, gc->pc); 3038 } 3039 emit_header(gc->pc, X_GLrop_PixelMapusv, cmdlen); 3040 (void) memcpy((void *)(gc->pc + 4), (void *)(&map), 4); 3041 (void) memcpy((void *)(gc->pc + 8), (void *)(&mapsize), 4); 3042 (void) memcpy((void *)(gc->pc + 12), (void *)(values), (mapsize * 2)); 3043 gc->pc += cmdlen; 3044 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3045 } 3046 else { 3047 const GLint op = X_GLrop_PixelMapusv; 3048 const GLuint cmdlenLarge = cmdlen + 4; 3049 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 3050 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 3051 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 3052 (void) memcpy((void *)(pc + 8), (void *)(&map), 4); 3053 (void) memcpy((void *)(pc + 12), (void *)(&mapsize), 4); 3054 __glXSendLargeCommand(gc, pc, 16, values, (mapsize * 2)); 3055 } 3056 } 3057 } 3058 3059 #define X_GLrop_ReadBuffer 171 3060 void __indirect_glReadBuffer(GLenum mode) 3061 { 3062 struct glx_context * const gc = __glXGetCurrentContext(); 3063 const GLuint cmdlen = 8; 3064 emit_header(gc->pc, X_GLrop_ReadBuffer, cmdlen); 3065 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 3066 gc->pc += cmdlen; 3067 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3068 } 3069 3070 #define X_GLrop_CopyPixels 172 3071 void __indirect_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) 3072 { 3073 struct glx_context * const gc = __glXGetCurrentContext(); 3074 const GLuint cmdlen = 24; 3075 emit_header(gc->pc, X_GLrop_CopyPixels, cmdlen); 3076 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 3077 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 3078 (void) memcpy((void *)(gc->pc + 12), (void *)(&width), 4); 3079 (void) memcpy((void *)(gc->pc + 16), (void *)(&height), 4); 3080 (void) memcpy((void *)(gc->pc + 20), (void *)(&type), 4); 3081 gc->pc += cmdlen; 3082 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3083 } 3084 3085 #define X_GLsop_ReadPixels 111 3086 void __indirect_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels) 3087 { 3088 struct glx_context * const gc = __glXGetCurrentContext(); 3089 const __GLXattribute * const state = gc->client_state_private; 3090 Display * const dpy = gc->currentDpy; 3091 #ifndef USE_XCB 3092 const GLuint cmdlen = 28; 3093 #endif 3094 if (__builtin_expect(dpy != NULL, 1)) { 3095 #ifdef USE_XCB 3096 xcb_connection_t *c = XGetXCBConnection(dpy); 3097 (void) __glXFlushRenderBuffer(gc, gc->pc); 3098 xcb_glx_read_pixels_reply_t *reply = xcb_glx_read_pixels_reply(c, xcb_glx_read_pixels(c, gc->currentContextTag, x, y, width, height, format, type, state->storePack.swapEndian, 0), NULL); 3099 __glEmptyImage(gc, 3, width, height, 1, format, type, xcb_glx_read_pixels_data(reply), pixels); 3100 free(reply); 3101 #else 3102 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_ReadPixels, cmdlen); 3103 (void) memcpy((void *)(pc + 0), (void *)(&x), 4); 3104 (void) memcpy((void *)(pc + 4), (void *)(&y), 4); 3105 (void) memcpy((void *)(pc + 8), (void *)(&width), 4); 3106 (void) memcpy((void *)(pc + 12), (void *)(&height), 4); 3107 (void) memcpy((void *)(pc + 16), (void *)(&format), 4); 3108 (void) memcpy((void *)(pc + 20), (void *)(&type), 4); 3109 *(int32_t *)(pc + 24) = 0; 3110 * (int8_t *)(pc + 24) = state->storePack.swapEndian; 3111 __glXReadPixelReply(dpy, gc, 2, width, height, 1, format, type, pixels, GL_FALSE); 3112 UnlockDisplay(dpy); SyncHandle(); 3113 #endif /* USE_XCB */ 3114 } 3115 return; 3116 } 3117 3118 #define X_GLrop_DrawPixels 173 3119 void __indirect_glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) 3120 { 3121 struct glx_context * const gc = __glXGetCurrentContext(); 3122 const GLuint compsize = (pixels != NULL) ? __glImageSize(width, height, 1, format, type, 0) : 0; 3123 const GLuint cmdlen = 40 + __GLX_PAD(compsize); 3124 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 3125 if (cmdlen <= gc->maxSmallRenderCommandSize) { 3126 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 3127 (void) __glXFlushRenderBuffer(gc, gc->pc); 3128 } 3129 emit_header(gc->pc, X_GLrop_DrawPixels, cmdlen); 3130 (void) memcpy((void *)(gc->pc + 24), (void *)(&width), 4); 3131 (void) memcpy((void *)(gc->pc + 28), (void *)(&height), 4); 3132 (void) memcpy((void *)(gc->pc + 32), (void *)(&format), 4); 3133 (void) memcpy((void *)(gc->pc + 36), (void *)(&type), 4); 3134 if (compsize > 0) { 3135 (*gc->fillImage)(gc, 2, width, height, 1, format, type, pixels, gc->pc + 40, gc->pc + 4); 3136 } else { 3137 (void) memcpy( gc->pc + 4, default_pixel_store_2D, default_pixel_store_2D_size ); 3138 } 3139 gc->pc += cmdlen; 3140 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3141 } 3142 else { 3143 const GLint op = X_GLrop_DrawPixels; 3144 const GLuint cmdlenLarge = cmdlen + 4; 3145 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 3146 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 3147 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 3148 (void) memcpy((void *)(pc + 28), (void *)(&width), 4); 3149 (void) memcpy((void *)(pc + 32), (void *)(&height), 4); 3150 (void) memcpy((void *)(pc + 36), (void *)(&format), 4); 3151 (void) memcpy((void *)(pc + 40), (void *)(&type), 4); 3152 __glXSendLargeImage(gc, compsize, 2, width, height, 1, format, type, pixels, pc + 44, pc + 8); 3153 } 3154 } 3155 } 3156 3157 #define X_GLsop_GetClipPlane 113 3158 void __indirect_glGetClipPlane(GLenum plane, GLdouble * equation) 3159 { 3160 struct glx_context * const gc = __glXGetCurrentContext(); 3161 Display * const dpy = gc->currentDpy; 3162 #ifndef USE_XCB 3163 const GLuint cmdlen = 4; 3164 #endif 3165 if (__builtin_expect(dpy != NULL, 1)) { 3166 #ifdef USE_XCB 3167 xcb_connection_t *c = XGetXCBConnection(dpy); 3168 (void) __glXFlushRenderBuffer(gc, gc->pc); 3169 xcb_glx_get_clip_plane_reply_t *reply = xcb_glx_get_clip_plane_reply(c, xcb_glx_get_clip_plane(c, gc->currentContextTag, plane), NULL); 3170 (void)memcpy(equation, xcb_glx_get_clip_plane_data(reply), xcb_glx_get_clip_plane_data_length(reply) * sizeof(GLdouble)); 3171 free(reply); 3172 #else 3173 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetClipPlane, cmdlen); 3174 (void) memcpy((void *)(pc + 0), (void *)(&plane), 4); 3175 (void) __glXReadReply(dpy, 8, equation, GL_TRUE); 3176 UnlockDisplay(dpy); SyncHandle(); 3177 #endif /* USE_XCB */ 3178 } 3179 return; 3180 } 3181 3182 #define X_GLsop_GetLightfv 118 3183 void __indirect_glGetLightfv(GLenum light, GLenum pname, GLfloat * params) 3184 { 3185 struct glx_context * const gc = __glXGetCurrentContext(); 3186 Display * const dpy = gc->currentDpy; 3187 #ifndef USE_XCB 3188 const GLuint cmdlen = 8; 3189 #endif 3190 if (__builtin_expect(dpy != NULL, 1)) { 3191 #ifdef USE_XCB 3192 xcb_connection_t *c = XGetXCBConnection(dpy); 3193 (void) __glXFlushRenderBuffer(gc, gc->pc); 3194 xcb_glx_get_lightfv_reply_t *reply = xcb_glx_get_lightfv_reply(c, xcb_glx_get_lightfv(c, gc->currentContextTag, light, pname), NULL); 3195 if (xcb_glx_get_lightfv_data_length(reply) == 0) 3196 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3197 else 3198 (void)memcpy(params, xcb_glx_get_lightfv_data(reply), xcb_glx_get_lightfv_data_length(reply) * sizeof(GLfloat)); 3199 free(reply); 3200 #else 3201 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetLightfv, cmdlen); 3202 (void) memcpy((void *)(pc + 0), (void *)(&light), 4); 3203 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3204 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3205 UnlockDisplay(dpy); SyncHandle(); 3206 #endif /* USE_XCB */ 3207 } 3208 return; 3209 } 3210 3211 #define X_GLsop_GetLightiv 119 3212 void __indirect_glGetLightiv(GLenum light, GLenum pname, GLint * params) 3213 { 3214 struct glx_context * const gc = __glXGetCurrentContext(); 3215 Display * const dpy = gc->currentDpy; 3216 #ifndef USE_XCB 3217 const GLuint cmdlen = 8; 3218 #endif 3219 if (__builtin_expect(dpy != NULL, 1)) { 3220 #ifdef USE_XCB 3221 xcb_connection_t *c = XGetXCBConnection(dpy); 3222 (void) __glXFlushRenderBuffer(gc, gc->pc); 3223 xcb_glx_get_lightiv_reply_t *reply = xcb_glx_get_lightiv_reply(c, xcb_glx_get_lightiv(c, gc->currentContextTag, light, pname), NULL); 3224 if (xcb_glx_get_lightiv_data_length(reply) == 0) 3225 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3226 else 3227 (void)memcpy(params, xcb_glx_get_lightiv_data(reply), xcb_glx_get_lightiv_data_length(reply) * sizeof(GLint)); 3228 free(reply); 3229 #else 3230 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetLightiv, cmdlen); 3231 (void) memcpy((void *)(pc + 0), (void *)(&light), 4); 3232 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3233 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3234 UnlockDisplay(dpy); SyncHandle(); 3235 #endif /* USE_XCB */ 3236 } 3237 return; 3238 } 3239 3240 #define X_GLsop_GetMapdv 120 3241 void __indirect_glGetMapdv(GLenum target, GLenum query, GLdouble * v) 3242 { 3243 struct glx_context * const gc = __glXGetCurrentContext(); 3244 Display * const dpy = gc->currentDpy; 3245 #ifndef USE_XCB 3246 const GLuint cmdlen = 8; 3247 #endif 3248 if (__builtin_expect(dpy != NULL, 1)) { 3249 #ifdef USE_XCB 3250 xcb_connection_t *c = XGetXCBConnection(dpy); 3251 (void) __glXFlushRenderBuffer(gc, gc->pc); 3252 xcb_glx_get_mapdv_reply_t *reply = xcb_glx_get_mapdv_reply(c, xcb_glx_get_mapdv(c, gc->currentContextTag, target, query), NULL); 3253 if (xcb_glx_get_mapdv_data_length(reply) == 0) 3254 (void)memcpy(v, &reply->datum, sizeof(reply->datum)); 3255 else 3256 (void)memcpy(v, xcb_glx_get_mapdv_data(reply), xcb_glx_get_mapdv_data_length(reply) * sizeof(GLdouble)); 3257 free(reply); 3258 #else 3259 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMapdv, cmdlen); 3260 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3261 (void) memcpy((void *)(pc + 4), (void *)(&query), 4); 3262 (void) __glXReadReply(dpy, 8, v, GL_FALSE); 3263 UnlockDisplay(dpy); SyncHandle(); 3264 #endif /* USE_XCB */ 3265 } 3266 return; 3267 } 3268 3269 #define X_GLsop_GetMapfv 121 3270 void __indirect_glGetMapfv(GLenum target, GLenum query, GLfloat * v) 3271 { 3272 struct glx_context * const gc = __glXGetCurrentContext(); 3273 Display * const dpy = gc->currentDpy; 3274 #ifndef USE_XCB 3275 const GLuint cmdlen = 8; 3276 #endif 3277 if (__builtin_expect(dpy != NULL, 1)) { 3278 #ifdef USE_XCB 3279 xcb_connection_t *c = XGetXCBConnection(dpy); 3280 (void) __glXFlushRenderBuffer(gc, gc->pc); 3281 xcb_glx_get_mapfv_reply_t *reply = xcb_glx_get_mapfv_reply(c, xcb_glx_get_mapfv(c, gc->currentContextTag, target, query), NULL); 3282 if (xcb_glx_get_mapfv_data_length(reply) == 0) 3283 (void)memcpy(v, &reply->datum, sizeof(reply->datum)); 3284 else 3285 (void)memcpy(v, xcb_glx_get_mapfv_data(reply), xcb_glx_get_mapfv_data_length(reply) * sizeof(GLfloat)); 3286 free(reply); 3287 #else 3288 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMapfv, cmdlen); 3289 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3290 (void) memcpy((void *)(pc + 4), (void *)(&query), 4); 3291 (void) __glXReadReply(dpy, 4, v, GL_FALSE); 3292 UnlockDisplay(dpy); SyncHandle(); 3293 #endif /* USE_XCB */ 3294 } 3295 return; 3296 } 3297 3298 #define X_GLsop_GetMapiv 122 3299 void __indirect_glGetMapiv(GLenum target, GLenum query, GLint * v) 3300 { 3301 struct glx_context * const gc = __glXGetCurrentContext(); 3302 Display * const dpy = gc->currentDpy; 3303 #ifndef USE_XCB 3304 const GLuint cmdlen = 8; 3305 #endif 3306 if (__builtin_expect(dpy != NULL, 1)) { 3307 #ifdef USE_XCB 3308 xcb_connection_t *c = XGetXCBConnection(dpy); 3309 (void) __glXFlushRenderBuffer(gc, gc->pc); 3310 xcb_glx_get_mapiv_reply_t *reply = xcb_glx_get_mapiv_reply(c, xcb_glx_get_mapiv(c, gc->currentContextTag, target, query), NULL); 3311 if (xcb_glx_get_mapiv_data_length(reply) == 0) 3312 (void)memcpy(v, &reply->datum, sizeof(reply->datum)); 3313 else 3314 (void)memcpy(v, xcb_glx_get_mapiv_data(reply), xcb_glx_get_mapiv_data_length(reply) * sizeof(GLint)); 3315 free(reply); 3316 #else 3317 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMapiv, cmdlen); 3318 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3319 (void) memcpy((void *)(pc + 4), (void *)(&query), 4); 3320 (void) __glXReadReply(dpy, 4, v, GL_FALSE); 3321 UnlockDisplay(dpy); SyncHandle(); 3322 #endif /* USE_XCB */ 3323 } 3324 return; 3325 } 3326 3327 #define X_GLsop_GetMaterialfv 123 3328 void __indirect_glGetMaterialfv(GLenum face, GLenum pname, GLfloat * params) 3329 { 3330 struct glx_context * const gc = __glXGetCurrentContext(); 3331 Display * const dpy = gc->currentDpy; 3332 #ifndef USE_XCB 3333 const GLuint cmdlen = 8; 3334 #endif 3335 if (__builtin_expect(dpy != NULL, 1)) { 3336 #ifdef USE_XCB 3337 xcb_connection_t *c = XGetXCBConnection(dpy); 3338 (void) __glXFlushRenderBuffer(gc, gc->pc); 3339 xcb_glx_get_materialfv_reply_t *reply = xcb_glx_get_materialfv_reply(c, xcb_glx_get_materialfv(c, gc->currentContextTag, face, pname), NULL); 3340 if (xcb_glx_get_materialfv_data_length(reply) == 0) 3341 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3342 else 3343 (void)memcpy(params, xcb_glx_get_materialfv_data(reply), xcb_glx_get_materialfv_data_length(reply) * sizeof(GLfloat)); 3344 free(reply); 3345 #else 3346 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMaterialfv, cmdlen); 3347 (void) memcpy((void *)(pc + 0), (void *)(&face), 4); 3348 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3349 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3350 UnlockDisplay(dpy); SyncHandle(); 3351 #endif /* USE_XCB */ 3352 } 3353 return; 3354 } 3355 3356 #define X_GLsop_GetMaterialiv 124 3357 void __indirect_glGetMaterialiv(GLenum face, GLenum pname, GLint * params) 3358 { 3359 struct glx_context * const gc = __glXGetCurrentContext(); 3360 Display * const dpy = gc->currentDpy; 3361 #ifndef USE_XCB 3362 const GLuint cmdlen = 8; 3363 #endif 3364 if (__builtin_expect(dpy != NULL, 1)) { 3365 #ifdef USE_XCB 3366 xcb_connection_t *c = XGetXCBConnection(dpy); 3367 (void) __glXFlushRenderBuffer(gc, gc->pc); 3368 xcb_glx_get_materialiv_reply_t *reply = xcb_glx_get_materialiv_reply(c, xcb_glx_get_materialiv(c, gc->currentContextTag, face, pname), NULL); 3369 if (xcb_glx_get_materialiv_data_length(reply) == 0) 3370 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3371 else 3372 (void)memcpy(params, xcb_glx_get_materialiv_data(reply), xcb_glx_get_materialiv_data_length(reply) * sizeof(GLint)); 3373 free(reply); 3374 #else 3375 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMaterialiv, cmdlen); 3376 (void) memcpy((void *)(pc + 0), (void *)(&face), 4); 3377 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3378 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3379 UnlockDisplay(dpy); SyncHandle(); 3380 #endif /* USE_XCB */ 3381 } 3382 return; 3383 } 3384 3385 #define X_GLsop_GetPixelMapfv 125 3386 void __indirect_glGetPixelMapfv(GLenum map, GLfloat * values) 3387 { 3388 struct glx_context * const gc = __glXGetCurrentContext(); 3389 Display * const dpy = gc->currentDpy; 3390 #ifndef USE_XCB 3391 const GLuint cmdlen = 4; 3392 #endif 3393 if (__builtin_expect(dpy != NULL, 1)) { 3394 #ifdef USE_XCB 3395 xcb_connection_t *c = XGetXCBConnection(dpy); 3396 (void) __glXFlushRenderBuffer(gc, gc->pc); 3397 xcb_glx_get_pixel_mapfv_reply_t *reply = xcb_glx_get_pixel_mapfv_reply(c, xcb_glx_get_pixel_mapfv(c, gc->currentContextTag, map), NULL); 3398 if (xcb_glx_get_pixel_mapfv_data_length(reply) == 0) 3399 (void)memcpy(values, &reply->datum, sizeof(reply->datum)); 3400 else 3401 (void)memcpy(values, xcb_glx_get_pixel_mapfv_data(reply), xcb_glx_get_pixel_mapfv_data_length(reply) * sizeof(GLfloat)); 3402 free(reply); 3403 #else 3404 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetPixelMapfv, cmdlen); 3405 (void) memcpy((void *)(pc + 0), (void *)(&map), 4); 3406 (void) __glXReadReply(dpy, 4, values, GL_FALSE); 3407 UnlockDisplay(dpy); SyncHandle(); 3408 #endif /* USE_XCB */ 3409 } 3410 return; 3411 } 3412 3413 #define X_GLsop_GetPixelMapuiv 126 3414 void __indirect_glGetPixelMapuiv(GLenum map, GLuint * values) 3415 { 3416 struct glx_context * const gc = __glXGetCurrentContext(); 3417 Display * const dpy = gc->currentDpy; 3418 #ifndef USE_XCB 3419 const GLuint cmdlen = 4; 3420 #endif 3421 if (__builtin_expect(dpy != NULL, 1)) { 3422 #ifdef USE_XCB 3423 xcb_connection_t *c = XGetXCBConnection(dpy); 3424 (void) __glXFlushRenderBuffer(gc, gc->pc); 3425 xcb_glx_get_pixel_mapuiv_reply_t *reply = xcb_glx_get_pixel_mapuiv_reply(c, xcb_glx_get_pixel_mapuiv(c, gc->currentContextTag, map), NULL); 3426 if (xcb_glx_get_pixel_mapuiv_data_length(reply) == 0) 3427 (void)memcpy(values, &reply->datum, sizeof(reply->datum)); 3428 else 3429 (void)memcpy(values, xcb_glx_get_pixel_mapuiv_data(reply), xcb_glx_get_pixel_mapuiv_data_length(reply) * sizeof(GLuint)); 3430 free(reply); 3431 #else 3432 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetPixelMapuiv, cmdlen); 3433 (void) memcpy((void *)(pc + 0), (void *)(&map), 4); 3434 (void) __glXReadReply(dpy, 4, values, GL_FALSE); 3435 UnlockDisplay(dpy); SyncHandle(); 3436 #endif /* USE_XCB */ 3437 } 3438 return; 3439 } 3440 3441 #define X_GLsop_GetPixelMapusv 127 3442 void __indirect_glGetPixelMapusv(GLenum map, GLushort * values) 3443 { 3444 struct glx_context * const gc = __glXGetCurrentContext(); 3445 Display * const dpy = gc->currentDpy; 3446 #ifndef USE_XCB 3447 const GLuint cmdlen = 4; 3448 #endif 3449 if (__builtin_expect(dpy != NULL, 1)) { 3450 #ifdef USE_XCB 3451 xcb_connection_t *c = XGetXCBConnection(dpy); 3452 (void) __glXFlushRenderBuffer(gc, gc->pc); 3453 xcb_glx_get_pixel_mapusv_reply_t *reply = xcb_glx_get_pixel_mapusv_reply(c, xcb_glx_get_pixel_mapusv(c, gc->currentContextTag, map), NULL); 3454 if (xcb_glx_get_pixel_mapusv_data_length(reply) == 0) 3455 (void)memcpy(values, &reply->datum, sizeof(reply->datum)); 3456 else 3457 (void)memcpy(values, xcb_glx_get_pixel_mapusv_data(reply), xcb_glx_get_pixel_mapusv_data_length(reply) * sizeof(GLushort)); 3458 free(reply); 3459 #else 3460 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetPixelMapusv, cmdlen); 3461 (void) memcpy((void *)(pc + 0), (void *)(&map), 4); 3462 (void) __glXReadReply(dpy, 2, values, GL_FALSE); 3463 UnlockDisplay(dpy); SyncHandle(); 3464 #endif /* USE_XCB */ 3465 } 3466 return; 3467 } 3468 3469 #define X_GLsop_GetPolygonStipple 128 3470 void __indirect_glGetPolygonStipple(GLubyte * mask) 3471 { 3472 struct glx_context * const gc = __glXGetCurrentContext(); 3473 Display * const dpy = gc->currentDpy; 3474 #ifndef USE_XCB 3475 const GLuint cmdlen = 4; 3476 #endif 3477 if (__builtin_expect(dpy != NULL, 1)) { 3478 #ifdef USE_XCB 3479 xcb_connection_t *c = XGetXCBConnection(dpy); 3480 (void) __glXFlushRenderBuffer(gc, gc->pc); 3481 xcb_glx_get_polygon_stipple_reply_t *reply = xcb_glx_get_polygon_stipple_reply(c, xcb_glx_get_polygon_stipple(c, gc->currentContextTag, 0), NULL); 3482 __glEmptyImage(gc, 3, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP, xcb_glx_get_polygon_stipple_data(reply), mask); 3483 free(reply); 3484 #else 3485 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetPolygonStipple, cmdlen); 3486 *(int32_t *)(pc + 0) = 0; 3487 __glXReadPixelReply(dpy, gc, 2, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP, mask, GL_FALSE); 3488 UnlockDisplay(dpy); SyncHandle(); 3489 #endif /* USE_XCB */ 3490 } 3491 return; 3492 } 3493 3494 #define X_GLsop_GetTexEnvfv 130 3495 void __indirect_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat * params) 3496 { 3497 struct glx_context * const gc = __glXGetCurrentContext(); 3498 Display * const dpy = gc->currentDpy; 3499 #ifndef USE_XCB 3500 const GLuint cmdlen = 8; 3501 #endif 3502 if (__builtin_expect(dpy != NULL, 1)) { 3503 #ifdef USE_XCB 3504 xcb_connection_t *c = XGetXCBConnection(dpy); 3505 (void) __glXFlushRenderBuffer(gc, gc->pc); 3506 xcb_glx_get_tex_envfv_reply_t *reply = xcb_glx_get_tex_envfv_reply(c, xcb_glx_get_tex_envfv(c, gc->currentContextTag, target, pname), NULL); 3507 if (xcb_glx_get_tex_envfv_data_length(reply) == 0) 3508 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3509 else 3510 (void)memcpy(params, xcb_glx_get_tex_envfv_data(reply), xcb_glx_get_tex_envfv_data_length(reply) * sizeof(GLfloat)); 3511 free(reply); 3512 #else 3513 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexEnvfv, cmdlen); 3514 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3515 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3516 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3517 UnlockDisplay(dpy); SyncHandle(); 3518 #endif /* USE_XCB */ 3519 } 3520 return; 3521 } 3522 3523 #define X_GLsop_GetTexEnviv 131 3524 void __indirect_glGetTexEnviv(GLenum target, GLenum pname, GLint * params) 3525 { 3526 struct glx_context * const gc = __glXGetCurrentContext(); 3527 Display * const dpy = gc->currentDpy; 3528 #ifndef USE_XCB 3529 const GLuint cmdlen = 8; 3530 #endif 3531 if (__builtin_expect(dpy != NULL, 1)) { 3532 #ifdef USE_XCB 3533 xcb_connection_t *c = XGetXCBConnection(dpy); 3534 (void) __glXFlushRenderBuffer(gc, gc->pc); 3535 xcb_glx_get_tex_enviv_reply_t *reply = xcb_glx_get_tex_enviv_reply(c, xcb_glx_get_tex_enviv(c, gc->currentContextTag, target, pname), NULL); 3536 if (xcb_glx_get_tex_enviv_data_length(reply) == 0) 3537 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3538 else 3539 (void)memcpy(params, xcb_glx_get_tex_enviv_data(reply), xcb_glx_get_tex_enviv_data_length(reply) * sizeof(GLint)); 3540 free(reply); 3541 #else 3542 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexEnviv, cmdlen); 3543 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3544 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3545 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3546 UnlockDisplay(dpy); SyncHandle(); 3547 #endif /* USE_XCB */ 3548 } 3549 return; 3550 } 3551 3552 #define X_GLsop_GetTexGendv 132 3553 void __indirect_glGetTexGendv(GLenum coord, GLenum pname, GLdouble * params) 3554 { 3555 struct glx_context * const gc = __glXGetCurrentContext(); 3556 Display * const dpy = gc->currentDpy; 3557 #ifndef USE_XCB 3558 const GLuint cmdlen = 8; 3559 #endif 3560 if (__builtin_expect(dpy != NULL, 1)) { 3561 #ifdef USE_XCB 3562 xcb_connection_t *c = XGetXCBConnection(dpy); 3563 (void) __glXFlushRenderBuffer(gc, gc->pc); 3564 xcb_glx_get_tex_gendv_reply_t *reply = xcb_glx_get_tex_gendv_reply(c, xcb_glx_get_tex_gendv(c, gc->currentContextTag, coord, pname), NULL); 3565 if (xcb_glx_get_tex_gendv_data_length(reply) == 0) 3566 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3567 else 3568 (void)memcpy(params, xcb_glx_get_tex_gendv_data(reply), xcb_glx_get_tex_gendv_data_length(reply) * sizeof(GLdouble)); 3569 free(reply); 3570 #else 3571 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexGendv, cmdlen); 3572 (void) memcpy((void *)(pc + 0), (void *)(&coord), 4); 3573 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3574 (void) __glXReadReply(dpy, 8, params, GL_FALSE); 3575 UnlockDisplay(dpy); SyncHandle(); 3576 #endif /* USE_XCB */ 3577 } 3578 return; 3579 } 3580 3581 #define X_GLsop_GetTexGenfv 133 3582 void __indirect_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat * params) 3583 { 3584 struct glx_context * const gc = __glXGetCurrentContext(); 3585 Display * const dpy = gc->currentDpy; 3586 #ifndef USE_XCB 3587 const GLuint cmdlen = 8; 3588 #endif 3589 if (__builtin_expect(dpy != NULL, 1)) { 3590 #ifdef USE_XCB 3591 xcb_connection_t *c = XGetXCBConnection(dpy); 3592 (void) __glXFlushRenderBuffer(gc, gc->pc); 3593 xcb_glx_get_tex_genfv_reply_t *reply = xcb_glx_get_tex_genfv_reply(c, xcb_glx_get_tex_genfv(c, gc->currentContextTag, coord, pname), NULL); 3594 if (xcb_glx_get_tex_genfv_data_length(reply) == 0) 3595 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3596 else 3597 (void)memcpy(params, xcb_glx_get_tex_genfv_data(reply), xcb_glx_get_tex_genfv_data_length(reply) * sizeof(GLfloat)); 3598 free(reply); 3599 #else 3600 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexGenfv, cmdlen); 3601 (void) memcpy((void *)(pc + 0), (void *)(&coord), 4); 3602 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3603 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3604 UnlockDisplay(dpy); SyncHandle(); 3605 #endif /* USE_XCB */ 3606 } 3607 return; 3608 } 3609 3610 #define X_GLsop_GetTexGeniv 134 3611 void __indirect_glGetTexGeniv(GLenum coord, GLenum pname, GLint * params) 3612 { 3613 struct glx_context * const gc = __glXGetCurrentContext(); 3614 Display * const dpy = gc->currentDpy; 3615 #ifndef USE_XCB 3616 const GLuint cmdlen = 8; 3617 #endif 3618 if (__builtin_expect(dpy != NULL, 1)) { 3619 #ifdef USE_XCB 3620 xcb_connection_t *c = XGetXCBConnection(dpy); 3621 (void) __glXFlushRenderBuffer(gc, gc->pc); 3622 xcb_glx_get_tex_geniv_reply_t *reply = xcb_glx_get_tex_geniv_reply(c, xcb_glx_get_tex_geniv(c, gc->currentContextTag, coord, pname), NULL); 3623 if (xcb_glx_get_tex_geniv_data_length(reply) == 0) 3624 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3625 else 3626 (void)memcpy(params, xcb_glx_get_tex_geniv_data(reply), xcb_glx_get_tex_geniv_data_length(reply) * sizeof(GLint)); 3627 free(reply); 3628 #else 3629 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexGeniv, cmdlen); 3630 (void) memcpy((void *)(pc + 0), (void *)(&coord), 4); 3631 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3632 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3633 UnlockDisplay(dpy); SyncHandle(); 3634 #endif /* USE_XCB */ 3635 } 3636 return; 3637 } 3638 3639 #define X_GLsop_GetTexImage 135 3640 void __indirect_glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels) 3641 { 3642 struct glx_context * const gc = __glXGetCurrentContext(); 3643 const __GLXattribute * const state = gc->client_state_private; 3644 Display * const dpy = gc->currentDpy; 3645 #ifndef USE_XCB 3646 const GLuint cmdlen = 20; 3647 #endif 3648 if (__builtin_expect(dpy != NULL, 1)) { 3649 #ifdef USE_XCB 3650 xcb_connection_t *c = XGetXCBConnection(dpy); 3651 (void) __glXFlushRenderBuffer(gc, gc->pc); 3652 xcb_glx_get_tex_image_reply_t *reply = xcb_glx_get_tex_image_reply(c, xcb_glx_get_tex_image(c, gc->currentContextTag, target, level, format, type, state->storePack.swapEndian), NULL); 3653 if (reply->height == 0) { reply->height = 1; } 3654 if (reply->depth == 0) { reply->depth = 1; } 3655 __glEmptyImage(gc, 3, reply->width, reply->height, reply->depth, format, type, xcb_glx_get_tex_image_data(reply), pixels); 3656 free(reply); 3657 #else 3658 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexImage, cmdlen); 3659 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3660 (void) memcpy((void *)(pc + 4), (void *)(&level), 4); 3661 (void) memcpy((void *)(pc + 8), (void *)(&format), 4); 3662 (void) memcpy((void *)(pc + 12), (void *)(&type), 4); 3663 *(int32_t *)(pc + 16) = 0; 3664 * (int8_t *)(pc + 16) = state->storePack.swapEndian; 3665 __glXReadPixelReply(dpy, gc, 3, 0, 0, 0, format, type, pixels, GL_TRUE); 3666 UnlockDisplay(dpy); SyncHandle(); 3667 #endif /* USE_XCB */ 3668 } 3669 return; 3670 } 3671 3672 #define X_GLsop_GetTexParameterfv 136 3673 void __indirect_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat * params) 3674 { 3675 struct glx_context * const gc = __glXGetCurrentContext(); 3676 Display * const dpy = gc->currentDpy; 3677 #ifndef USE_XCB 3678 const GLuint cmdlen = 8; 3679 #endif 3680 if (__builtin_expect(dpy != NULL, 1)) { 3681 #ifdef USE_XCB 3682 xcb_connection_t *c = XGetXCBConnection(dpy); 3683 (void) __glXFlushRenderBuffer(gc, gc->pc); 3684 xcb_glx_get_tex_parameterfv_reply_t *reply = xcb_glx_get_tex_parameterfv_reply(c, xcb_glx_get_tex_parameterfv(c, gc->currentContextTag, target, pname), NULL); 3685 if (xcb_glx_get_tex_parameterfv_data_length(reply) == 0) 3686 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3687 else 3688 (void)memcpy(params, xcb_glx_get_tex_parameterfv_data(reply), xcb_glx_get_tex_parameterfv_data_length(reply) * sizeof(GLfloat)); 3689 free(reply); 3690 #else 3691 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexParameterfv, cmdlen); 3692 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3693 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3694 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3695 UnlockDisplay(dpy); SyncHandle(); 3696 #endif /* USE_XCB */ 3697 } 3698 return; 3699 } 3700 3701 #define X_GLsop_GetTexParameteriv 137 3702 void __indirect_glGetTexParameteriv(GLenum target, GLenum pname, GLint * params) 3703 { 3704 struct glx_context * const gc = __glXGetCurrentContext(); 3705 Display * const dpy = gc->currentDpy; 3706 #ifndef USE_XCB 3707 const GLuint cmdlen = 8; 3708 #endif 3709 if (__builtin_expect(dpy != NULL, 1)) { 3710 #ifdef USE_XCB 3711 xcb_connection_t *c = XGetXCBConnection(dpy); 3712 (void) __glXFlushRenderBuffer(gc, gc->pc); 3713 xcb_glx_get_tex_parameteriv_reply_t *reply = xcb_glx_get_tex_parameteriv_reply(c, xcb_glx_get_tex_parameteriv(c, gc->currentContextTag, target, pname), NULL); 3714 if (xcb_glx_get_tex_parameteriv_data_length(reply) == 0) 3715 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3716 else 3717 (void)memcpy(params, xcb_glx_get_tex_parameteriv_data(reply), xcb_glx_get_tex_parameteriv_data_length(reply) * sizeof(GLint)); 3718 free(reply); 3719 #else 3720 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexParameteriv, cmdlen); 3721 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3722 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 3723 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3724 UnlockDisplay(dpy); SyncHandle(); 3725 #endif /* USE_XCB */ 3726 } 3727 return; 3728 } 3729 3730 #define X_GLsop_GetTexLevelParameterfv 138 3731 void __indirect_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params) 3732 { 3733 struct glx_context * const gc = __glXGetCurrentContext(); 3734 Display * const dpy = gc->currentDpy; 3735 #ifndef USE_XCB 3736 const GLuint cmdlen = 12; 3737 #endif 3738 if (__builtin_expect(dpy != NULL, 1)) { 3739 #ifdef USE_XCB 3740 xcb_connection_t *c = XGetXCBConnection(dpy); 3741 (void) __glXFlushRenderBuffer(gc, gc->pc); 3742 xcb_glx_get_tex_level_parameterfv_reply_t *reply = xcb_glx_get_tex_level_parameterfv_reply(c, xcb_glx_get_tex_level_parameterfv(c, gc->currentContextTag, target, level, pname), NULL); 3743 if (xcb_glx_get_tex_level_parameterfv_data_length(reply) == 0) 3744 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3745 else 3746 (void)memcpy(params, xcb_glx_get_tex_level_parameterfv_data(reply), xcb_glx_get_tex_level_parameterfv_data_length(reply) * sizeof(GLfloat)); 3747 free(reply); 3748 #else 3749 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexLevelParameterfv, cmdlen); 3750 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3751 (void) memcpy((void *)(pc + 4), (void *)(&level), 4); 3752 (void) memcpy((void *)(pc + 8), (void *)(&pname), 4); 3753 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3754 UnlockDisplay(dpy); SyncHandle(); 3755 #endif /* USE_XCB */ 3756 } 3757 return; 3758 } 3759 3760 #define X_GLsop_GetTexLevelParameteriv 139 3761 void __indirect_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params) 3762 { 3763 struct glx_context * const gc = __glXGetCurrentContext(); 3764 Display * const dpy = gc->currentDpy; 3765 #ifndef USE_XCB 3766 const GLuint cmdlen = 12; 3767 #endif 3768 if (__builtin_expect(dpy != NULL, 1)) { 3769 #ifdef USE_XCB 3770 xcb_connection_t *c = XGetXCBConnection(dpy); 3771 (void) __glXFlushRenderBuffer(gc, gc->pc); 3772 xcb_glx_get_tex_level_parameteriv_reply_t *reply = xcb_glx_get_tex_level_parameteriv_reply(c, xcb_glx_get_tex_level_parameteriv(c, gc->currentContextTag, target, level, pname), NULL); 3773 if (xcb_glx_get_tex_level_parameteriv_data_length(reply) == 0) 3774 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 3775 else 3776 (void)memcpy(params, xcb_glx_get_tex_level_parameteriv_data(reply), xcb_glx_get_tex_level_parameteriv_data_length(reply) * sizeof(GLint)); 3777 free(reply); 3778 #else 3779 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexLevelParameteriv, cmdlen); 3780 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 3781 (void) memcpy((void *)(pc + 4), (void *)(&level), 4); 3782 (void) memcpy((void *)(pc + 8), (void *)(&pname), 4); 3783 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 3784 UnlockDisplay(dpy); SyncHandle(); 3785 #endif /* USE_XCB */ 3786 } 3787 return; 3788 } 3789 3790 #define X_GLsop_IsList 141 3791 GLboolean __indirect_glIsList(GLuint list) 3792 { 3793 struct glx_context * const gc = __glXGetCurrentContext(); 3794 Display * const dpy = gc->currentDpy; 3795 GLboolean retval = (GLboolean) 0; 3796 #ifndef USE_XCB 3797 const GLuint cmdlen = 4; 3798 #endif 3799 if (__builtin_expect(dpy != NULL, 1)) { 3800 #ifdef USE_XCB 3801 xcb_connection_t *c = XGetXCBConnection(dpy); 3802 (void) __glXFlushRenderBuffer(gc, gc->pc); 3803 xcb_glx_is_list_reply_t *reply = xcb_glx_is_list_reply(c, xcb_glx_is_list(c, gc->currentContextTag, list), NULL); 3804 retval = reply->ret_val; 3805 free(reply); 3806 #else 3807 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_IsList, cmdlen); 3808 (void) memcpy((void *)(pc + 0), (void *)(&list), 4); 3809 retval = (GLboolean) __glXReadReply(dpy, 0, NULL, GL_FALSE); 3810 UnlockDisplay(dpy); SyncHandle(); 3811 #endif /* USE_XCB */ 3812 } 3813 return retval; 3814 } 3815 3816 #define X_GLrop_DepthRange 174 3817 void __indirect_glDepthRange(GLclampd zNear, GLclampd zFar) 3818 { 3819 struct glx_context * const gc = __glXGetCurrentContext(); 3820 const GLuint cmdlen = 20; 3821 emit_header(gc->pc, X_GLrop_DepthRange, cmdlen); 3822 (void) memcpy((void *)(gc->pc + 4), (void *)(&zNear), 8); 3823 (void) memcpy((void *)(gc->pc + 12), (void *)(&zFar), 8); 3824 gc->pc += cmdlen; 3825 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3826 } 3827 3828 #define X_GLrop_Frustum 175 3829 void __indirect_glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) 3830 { 3831 struct glx_context * const gc = __glXGetCurrentContext(); 3832 const GLuint cmdlen = 52; 3833 emit_header(gc->pc, X_GLrop_Frustum, cmdlen); 3834 (void) memcpy((void *)(gc->pc + 4), (void *)(&left), 8); 3835 (void) memcpy((void *)(gc->pc + 12), (void *)(&right), 8); 3836 (void) memcpy((void *)(gc->pc + 20), (void *)(&bottom), 8); 3837 (void) memcpy((void *)(gc->pc + 28), (void *)(&top), 8); 3838 (void) memcpy((void *)(gc->pc + 36), (void *)(&zNear), 8); 3839 (void) memcpy((void *)(gc->pc + 44), (void *)(&zFar), 8); 3840 gc->pc += cmdlen; 3841 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3842 } 3843 3844 #define X_GLrop_LoadIdentity 176 3845 void __indirect_glLoadIdentity(void) 3846 { 3847 struct glx_context * const gc = __glXGetCurrentContext(); 3848 const GLuint cmdlen = 4; 3849 emit_header(gc->pc, X_GLrop_LoadIdentity, cmdlen); 3850 gc->pc += cmdlen; 3851 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3852 } 3853 3854 #define X_GLrop_LoadMatrixf 177 3855 void __indirect_glLoadMatrixf(const GLfloat * m) 3856 { 3857 struct glx_context * const gc = __glXGetCurrentContext(); 3858 const GLuint cmdlen = 68; 3859 emit_header(gc->pc, X_GLrop_LoadMatrixf, cmdlen); 3860 (void) memcpy((void *)(gc->pc + 4), (void *)(m), 64); 3861 gc->pc += cmdlen; 3862 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3863 } 3864 3865 #define X_GLrop_LoadMatrixd 178 3866 void __indirect_glLoadMatrixd(const GLdouble * m) 3867 { 3868 struct glx_context * const gc = __glXGetCurrentContext(); 3869 const GLuint cmdlen = 132; 3870 emit_header(gc->pc, X_GLrop_LoadMatrixd, cmdlen); 3871 (void) memcpy((void *)(gc->pc + 4), (void *)(m), 128); 3872 gc->pc += cmdlen; 3873 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3874 } 3875 3876 #define X_GLrop_MatrixMode 179 3877 void __indirect_glMatrixMode(GLenum mode) 3878 { 3879 struct glx_context * const gc = __glXGetCurrentContext(); 3880 const GLuint cmdlen = 8; 3881 emit_header(gc->pc, X_GLrop_MatrixMode, cmdlen); 3882 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 3883 gc->pc += cmdlen; 3884 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3885 } 3886 3887 #define X_GLrop_MultMatrixf 180 3888 void __indirect_glMultMatrixf(const GLfloat * m) 3889 { 3890 struct glx_context * const gc = __glXGetCurrentContext(); 3891 const GLuint cmdlen = 68; 3892 emit_header(gc->pc, X_GLrop_MultMatrixf, cmdlen); 3893 (void) memcpy((void *)(gc->pc + 4), (void *)(m), 64); 3894 gc->pc += cmdlen; 3895 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3896 } 3897 3898 #define X_GLrop_MultMatrixd 181 3899 void __indirect_glMultMatrixd(const GLdouble * m) 3900 { 3901 struct glx_context * const gc = __glXGetCurrentContext(); 3902 const GLuint cmdlen = 132; 3903 emit_header(gc->pc, X_GLrop_MultMatrixd, cmdlen); 3904 (void) memcpy((void *)(gc->pc + 4), (void *)(m), 128); 3905 gc->pc += cmdlen; 3906 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3907 } 3908 3909 #define X_GLrop_Ortho 182 3910 void __indirect_glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) 3911 { 3912 struct glx_context * const gc = __glXGetCurrentContext(); 3913 const GLuint cmdlen = 52; 3914 emit_header(gc->pc, X_GLrop_Ortho, cmdlen); 3915 (void) memcpy((void *)(gc->pc + 4), (void *)(&left), 8); 3916 (void) memcpy((void *)(gc->pc + 12), (void *)(&right), 8); 3917 (void) memcpy((void *)(gc->pc + 20), (void *)(&bottom), 8); 3918 (void) memcpy((void *)(gc->pc + 28), (void *)(&top), 8); 3919 (void) memcpy((void *)(gc->pc + 36), (void *)(&zNear), 8); 3920 (void) memcpy((void *)(gc->pc + 44), (void *)(&zFar), 8); 3921 gc->pc += cmdlen; 3922 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3923 } 3924 3925 #define X_GLrop_PopMatrix 183 3926 void __indirect_glPopMatrix(void) 3927 { 3928 struct glx_context * const gc = __glXGetCurrentContext(); 3929 const GLuint cmdlen = 4; 3930 emit_header(gc->pc, X_GLrop_PopMatrix, cmdlen); 3931 gc->pc += cmdlen; 3932 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3933 } 3934 3935 #define X_GLrop_PushMatrix 184 3936 void __indirect_glPushMatrix(void) 3937 { 3938 struct glx_context * const gc = __glXGetCurrentContext(); 3939 const GLuint cmdlen = 4; 3940 emit_header(gc->pc, X_GLrop_PushMatrix, cmdlen); 3941 gc->pc += cmdlen; 3942 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3943 } 3944 3945 #define X_GLrop_Rotated 185 3946 void __indirect_glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) 3947 { 3948 struct glx_context * const gc = __glXGetCurrentContext(); 3949 const GLuint cmdlen = 36; 3950 emit_header(gc->pc, X_GLrop_Rotated, cmdlen); 3951 (void) memcpy((void *)(gc->pc + 4), (void *)(&angle), 8); 3952 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 8); 3953 (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 8); 3954 (void) memcpy((void *)(gc->pc + 28), (void *)(&z), 8); 3955 gc->pc += cmdlen; 3956 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3957 } 3958 3959 #define X_GLrop_Rotatef 186 3960 void __indirect_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) 3961 { 3962 struct glx_context * const gc = __glXGetCurrentContext(); 3963 const GLuint cmdlen = 20; 3964 emit_header(gc->pc, X_GLrop_Rotatef, cmdlen); 3965 (void) memcpy((void *)(gc->pc + 4), (void *)(&angle), 4); 3966 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 3967 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 4); 3968 (void) memcpy((void *)(gc->pc + 16), (void *)(&z), 4); 3969 gc->pc += cmdlen; 3970 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3971 } 3972 3973 #define X_GLrop_Scaled 187 3974 void __indirect_glScaled(GLdouble x, GLdouble y, GLdouble z) 3975 { 3976 struct glx_context * const gc = __glXGetCurrentContext(); 3977 const GLuint cmdlen = 28; 3978 emit_header(gc->pc, X_GLrop_Scaled, cmdlen); 3979 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 3980 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 3981 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8); 3982 gc->pc += cmdlen; 3983 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3984 } 3985 3986 #define X_GLrop_Scalef 188 3987 void __indirect_glScalef(GLfloat x, GLfloat y, GLfloat z) 3988 { 3989 struct glx_context * const gc = __glXGetCurrentContext(); 3990 const GLuint cmdlen = 16; 3991 emit_header(gc->pc, X_GLrop_Scalef, cmdlen); 3992 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 3993 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 3994 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 3995 gc->pc += cmdlen; 3996 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 3997 } 3998 3999 #define X_GLrop_Translated 189 4000 void __indirect_glTranslated(GLdouble x, GLdouble y, GLdouble z) 4001 { 4002 struct glx_context * const gc = __glXGetCurrentContext(); 4003 const GLuint cmdlen = 28; 4004 emit_header(gc->pc, X_GLrop_Translated, cmdlen); 4005 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 4006 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 4007 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8); 4008 gc->pc += cmdlen; 4009 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4010 } 4011 4012 #define X_GLrop_Translatef 190 4013 void __indirect_glTranslatef(GLfloat x, GLfloat y, GLfloat z) 4014 { 4015 struct glx_context * const gc = __glXGetCurrentContext(); 4016 const GLuint cmdlen = 16; 4017 emit_header(gc->pc, X_GLrop_Translatef, cmdlen); 4018 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 4019 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 4020 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 4021 gc->pc += cmdlen; 4022 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4023 } 4024 4025 #define X_GLrop_Viewport 191 4026 void __indirect_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) 4027 { 4028 struct glx_context * const gc = __glXGetCurrentContext(); 4029 const GLuint cmdlen = 20; 4030 emit_header(gc->pc, X_GLrop_Viewport, cmdlen); 4031 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 4032 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 4033 (void) memcpy((void *)(gc->pc + 12), (void *)(&width), 4); 4034 (void) memcpy((void *)(gc->pc + 16), (void *)(&height), 4); 4035 gc->pc += cmdlen; 4036 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4037 } 4038 4039 #define X_GLrop_BindTexture 4117 4040 void __indirect_glBindTexture(GLenum target, GLuint texture) 4041 { 4042 struct glx_context * const gc = __glXGetCurrentContext(); 4043 const GLuint cmdlen = 12; 4044 emit_header(gc->pc, X_GLrop_BindTexture, cmdlen); 4045 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4046 (void) memcpy((void *)(gc->pc + 8), (void *)(&texture), 4); 4047 gc->pc += cmdlen; 4048 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4049 } 4050 4051 #define X_GLrop_Indexubv 194 4052 void __indirect_glIndexub(GLubyte c) 4053 { 4054 struct glx_context * const gc = __glXGetCurrentContext(); 4055 const GLuint cmdlen = 8; 4056 emit_header(gc->pc, X_GLrop_Indexubv, cmdlen); 4057 (void) memcpy((void *)(gc->pc + 4), (void *)(&c), 1); 4058 gc->pc += cmdlen; 4059 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4060 } 4061 4062 #define X_GLrop_Indexubv 194 4063 void __indirect_glIndexubv(const GLubyte * c) 4064 { 4065 struct glx_context * const gc = __glXGetCurrentContext(); 4066 const GLuint cmdlen = 8; 4067 emit_header(gc->pc, X_GLrop_Indexubv, cmdlen); 4068 (void) memcpy((void *)(gc->pc + 4), (void *)(c), 1); 4069 gc->pc += cmdlen; 4070 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4071 } 4072 4073 #define X_GLrop_PolygonOffset 192 4074 void __indirect_glPolygonOffset(GLfloat factor, GLfloat units) 4075 { 4076 struct glx_context * const gc = __glXGetCurrentContext(); 4077 const GLuint cmdlen = 12; 4078 emit_header(gc->pc, X_GLrop_PolygonOffset, cmdlen); 4079 (void) memcpy((void *)(gc->pc + 4), (void *)(&factor), 4); 4080 (void) memcpy((void *)(gc->pc + 8), (void *)(&units), 4); 4081 gc->pc += cmdlen; 4082 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4083 } 4084 4085 #define X_GLrop_CopyTexImage1D 4119 4086 void __indirect_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) 4087 { 4088 struct glx_context * const gc = __glXGetCurrentContext(); 4089 const GLuint cmdlen = 32; 4090 emit_header(gc->pc, X_GLrop_CopyTexImage1D, cmdlen); 4091 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4092 (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4); 4093 (void) memcpy((void *)(gc->pc + 12), (void *)(&internalformat), 4); 4094 (void) memcpy((void *)(gc->pc + 16), (void *)(&x), 4); 4095 (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 4); 4096 (void) memcpy((void *)(gc->pc + 24), (void *)(&width), 4); 4097 (void) memcpy((void *)(gc->pc + 28), (void *)(&border), 4); 4098 gc->pc += cmdlen; 4099 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4100 } 4101 4102 #define X_GLrop_CopyTexImage2D 4120 4103 void __indirect_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) 4104 { 4105 struct glx_context * const gc = __glXGetCurrentContext(); 4106 const GLuint cmdlen = 36; 4107 emit_header(gc->pc, X_GLrop_CopyTexImage2D, cmdlen); 4108 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4109 (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4); 4110 (void) memcpy((void *)(gc->pc + 12), (void *)(&internalformat), 4); 4111 (void) memcpy((void *)(gc->pc + 16), (void *)(&x), 4); 4112 (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 4); 4113 (void) memcpy((void *)(gc->pc + 24), (void *)(&width), 4); 4114 (void) memcpy((void *)(gc->pc + 28), (void *)(&height), 4); 4115 (void) memcpy((void *)(gc->pc + 32), (void *)(&border), 4); 4116 gc->pc += cmdlen; 4117 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4118 } 4119 4120 #define X_GLrop_CopyTexSubImage1D 4121 4121 void __indirect_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) 4122 { 4123 struct glx_context * const gc = __glXGetCurrentContext(); 4124 const GLuint cmdlen = 28; 4125 emit_header(gc->pc, X_GLrop_CopyTexSubImage1D, cmdlen); 4126 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4127 (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4); 4128 (void) memcpy((void *)(gc->pc + 12), (void *)(&xoffset), 4); 4129 (void) memcpy((void *)(gc->pc + 16), (void *)(&x), 4); 4130 (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 4); 4131 (void) memcpy((void *)(gc->pc + 24), (void *)(&width), 4); 4132 gc->pc += cmdlen; 4133 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4134 } 4135 4136 #define X_GLrop_CopyTexSubImage2D 4122 4137 void __indirect_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 4138 { 4139 struct glx_context * const gc = __glXGetCurrentContext(); 4140 const GLuint cmdlen = 36; 4141 emit_header(gc->pc, X_GLrop_CopyTexSubImage2D, cmdlen); 4142 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4143 (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4); 4144 (void) memcpy((void *)(gc->pc + 12), (void *)(&xoffset), 4); 4145 (void) memcpy((void *)(gc->pc + 16), (void *)(&yoffset), 4); 4146 (void) memcpy((void *)(gc->pc + 20), (void *)(&x), 4); 4147 (void) memcpy((void *)(gc->pc + 24), (void *)(&y), 4); 4148 (void) memcpy((void *)(gc->pc + 28), (void *)(&width), 4); 4149 (void) memcpy((void *)(gc->pc + 32), (void *)(&height), 4); 4150 gc->pc += cmdlen; 4151 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4152 } 4153 4154 #define X_GLsop_DeleteTextures 144 4155 void __indirect_glDeleteTextures(GLsizei n, const GLuint * textures) 4156 { 4157 struct glx_context * const gc = __glXGetCurrentContext(); 4158 Display * const dpy = gc->currentDpy; 4159 #ifndef USE_XCB 4160 const GLuint cmdlen = 4 + __GLX_PAD((n * 4)); 4161 #endif 4162 if (n < 0) { 4163 __glXSetError(gc, GL_INVALID_VALUE); 4164 return; 4165 } 4166 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 4167 #ifdef USE_XCB 4168 xcb_connection_t *c = XGetXCBConnection(dpy); 4169 (void) __glXFlushRenderBuffer(gc, gc->pc); 4170 xcb_glx_delete_textures(c, gc->currentContextTag, n, textures); 4171 #else 4172 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_DeleteTextures, cmdlen); 4173 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 4174 (void) memcpy((void *)(pc + 4), (void *)(textures), (n * 4)); 4175 UnlockDisplay(dpy); SyncHandle(); 4176 #endif /* USE_XCB */ 4177 } 4178 return; 4179 } 4180 4181 #define X_GLvop_DeleteTexturesEXT 12 4182 void glDeleteTexturesEXT(GLsizei n, const GLuint * textures) 4183 { 4184 struct glx_context * const gc = __glXGetCurrentContext(); 4185 4186 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 4187 if (gc->isDirect) { 4188 const _glapi_proc *const disp_table = GET_DISPATCH(); 4189 PFNGLDELETETEXTURESEXTPROC p = 4190 (PFNGLDELETETEXTURESEXTPROC) disp_table[327]; 4191 p(n, textures); 4192 } else 4193 #endif 4194 { 4195 struct glx_context * const gc = __glXGetCurrentContext(); 4196 Display * const dpy = gc->currentDpy; 4197 const GLuint cmdlen = 4 + __GLX_PAD((n * 4)); 4198 if (n < 0) { 4199 __glXSetError(gc, GL_INVALID_VALUE); 4200 return; 4201 } 4202 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 4203 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivate, X_GLvop_DeleteTexturesEXT, cmdlen); 4204 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 4205 (void) memcpy((void *)(pc + 4), (void *)(textures), (n * 4)); 4206 UnlockDisplay(dpy); SyncHandle(); 4207 } 4208 return; 4209 } 4210 } 4211 4212 #define X_GLsop_GenTextures 145 4213 void __indirect_glGenTextures(GLsizei n, GLuint * textures) 4214 { 4215 struct glx_context * const gc = __glXGetCurrentContext(); 4216 Display * const dpy = gc->currentDpy; 4217 #ifndef USE_XCB 4218 const GLuint cmdlen = 4; 4219 #endif 4220 if (n < 0) { 4221 __glXSetError(gc, GL_INVALID_VALUE); 4222 return; 4223 } 4224 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 4225 #ifdef USE_XCB 4226 xcb_connection_t *c = XGetXCBConnection(dpy); 4227 (void) __glXFlushRenderBuffer(gc, gc->pc); 4228 xcb_glx_gen_textures_reply_t *reply = xcb_glx_gen_textures_reply(c, xcb_glx_gen_textures(c, gc->currentContextTag, n), NULL); 4229 (void)memcpy(textures, xcb_glx_gen_textures_data(reply), xcb_glx_gen_textures_data_length(reply) * sizeof(GLuint)); 4230 free(reply); 4231 #else 4232 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GenTextures, cmdlen); 4233 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 4234 (void) __glXReadReply(dpy, 4, textures, GL_TRUE); 4235 UnlockDisplay(dpy); SyncHandle(); 4236 #endif /* USE_XCB */ 4237 } 4238 return; 4239 } 4240 4241 #define X_GLvop_GenTexturesEXT 13 4242 void glGenTexturesEXT(GLsizei n, GLuint * textures) 4243 { 4244 struct glx_context * const gc = __glXGetCurrentContext(); 4245 4246 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 4247 if (gc->isDirect) { 4248 const _glapi_proc *const disp_table = GET_DISPATCH(); 4249 PFNGLGENTEXTURESEXTPROC p = 4250 (PFNGLGENTEXTURESEXTPROC) disp_table[328]; 4251 p(n, textures); 4252 } else 4253 #endif 4254 { 4255 struct glx_context * const gc = __glXGetCurrentContext(); 4256 Display * const dpy = gc->currentDpy; 4257 const GLuint cmdlen = 4; 4258 if (n < 0) { 4259 __glXSetError(gc, GL_INVALID_VALUE); 4260 return; 4261 } 4262 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 4263 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GenTexturesEXT, cmdlen); 4264 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 4265 (void) __glXReadReply(dpy, 4, textures, GL_TRUE); 4266 UnlockDisplay(dpy); SyncHandle(); 4267 } 4268 return; 4269 } 4270 } 4271 4272 #define X_GLsop_IsTexture 146 4273 GLboolean __indirect_glIsTexture(GLuint texture) 4274 { 4275 struct glx_context * const gc = __glXGetCurrentContext(); 4276 Display * const dpy = gc->currentDpy; 4277 GLboolean retval = (GLboolean) 0; 4278 #ifndef USE_XCB 4279 const GLuint cmdlen = 4; 4280 #endif 4281 if (__builtin_expect(dpy != NULL, 1)) { 4282 #ifdef USE_XCB 4283 xcb_connection_t *c = XGetXCBConnection(dpy); 4284 (void) __glXFlushRenderBuffer(gc, gc->pc); 4285 xcb_glx_is_texture_reply_t *reply = xcb_glx_is_texture_reply(c, xcb_glx_is_texture(c, gc->currentContextTag, texture), NULL); 4286 retval = reply->ret_val; 4287 free(reply); 4288 #else 4289 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_IsTexture, cmdlen); 4290 (void) memcpy((void *)(pc + 0), (void *)(&texture), 4); 4291 retval = (GLboolean) __glXReadReply(dpy, 0, NULL, GL_FALSE); 4292 UnlockDisplay(dpy); SyncHandle(); 4293 #endif /* USE_XCB */ 4294 } 4295 return retval; 4296 } 4297 4298 #define X_GLvop_IsTextureEXT 14 4299 GLboolean glIsTextureEXT(GLuint texture) 4300 { 4301 struct glx_context * const gc = __glXGetCurrentContext(); 4302 4303 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 4304 if (gc->isDirect) { 4305 const _glapi_proc *const disp_table = GET_DISPATCH(); 4306 PFNGLISTEXTUREEXTPROC p = 4307 (PFNGLISTEXTUREEXTPROC) disp_table[330]; 4308 return p(texture); 4309 } else 4310 #endif 4311 { 4312 struct glx_context * const gc = __glXGetCurrentContext(); 4313 Display * const dpy = gc->currentDpy; 4314 GLboolean retval = (GLboolean) 0; 4315 const GLuint cmdlen = 4; 4316 if (__builtin_expect(dpy != NULL, 1)) { 4317 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_IsTextureEXT, cmdlen); 4318 (void) memcpy((void *)(pc + 0), (void *)(&texture), 4); 4319 retval = (GLboolean) __glXReadReply(dpy, 0, NULL, GL_FALSE); 4320 UnlockDisplay(dpy); SyncHandle(); 4321 } 4322 return retval; 4323 } 4324 } 4325 4326 #define X_GLrop_PrioritizeTextures 4118 4327 void __indirect_glPrioritizeTextures(GLsizei n, const GLuint * textures, const GLclampf * priorities) 4328 { 4329 struct glx_context * const gc = __glXGetCurrentContext(); 4330 const GLuint cmdlen = 8 + __GLX_PAD((n * 4)) + __GLX_PAD((n * 4)); 4331 if (n < 0) { 4332 __glXSetError(gc, GL_INVALID_VALUE); 4333 return; 4334 } 4335 if (__builtin_expect(n >= 0, 1)) { 4336 emit_header(gc->pc, X_GLrop_PrioritizeTextures, cmdlen); 4337 (void) memcpy((void *)(gc->pc + 4), (void *)(&n), 4); 4338 (void) memcpy((void *)(gc->pc + 8), (void *)(textures), (n * 4)); 4339 (void) memcpy((void *)(gc->pc + 8 + (n * 4)), (void *)(priorities), (n * 4)); 4340 gc->pc += cmdlen; 4341 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4342 } 4343 } 4344 4345 static void 4346 __glx_TexSubImage_1D2D( unsigned opcode, unsigned dim, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels ) 4347 { 4348 struct glx_context * const gc = __glXGetCurrentContext(); 4349 const GLuint compsize = (pixels != NULL) ? __glImageSize(width, height, 1, format, type, target) : 0; 4350 const GLuint cmdlen = 60 + __GLX_PAD(compsize); 4351 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 4352 if (cmdlen <= gc->maxSmallRenderCommandSize) { 4353 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 4354 (void) __glXFlushRenderBuffer(gc, gc->pc); 4355 } 4356 emit_header(gc->pc, opcode, cmdlen); 4357 (void) memcpy((void *)(gc->pc + 24), (void *)(&target), 4); 4358 (void) memcpy((void *)(gc->pc + 28), (void *)(&level), 4); 4359 (void) memcpy((void *)(gc->pc + 32), (void *)(&xoffset), 4); 4360 (void) memcpy((void *)(gc->pc + 36), (void *)(&yoffset), 4); 4361 (void) memcpy((void *)(gc->pc + 40), (void *)(&width), 4); 4362 (void) memcpy((void *)(gc->pc + 44), (void *)(&height), 4); 4363 (void) memcpy((void *)(gc->pc + 48), (void *)(&format), 4); 4364 (void) memcpy((void *)(gc->pc + 52), (void *)(&type), 4); 4365 (void) memset((void *)(gc->pc + 56), 0, 4); 4366 if (compsize > 0) { 4367 (*gc->fillImage)(gc, dim, width, height, 1, format, type, pixels, gc->pc + 60, gc->pc + 4); 4368 } else { 4369 (void) memcpy( gc->pc + 4, default_pixel_store_2D, default_pixel_store_2D_size ); 4370 } 4371 gc->pc += cmdlen; 4372 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4373 } 4374 else { 4375 const GLint op = opcode; 4376 const GLuint cmdlenLarge = cmdlen + 4; 4377 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 4378 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 4379 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 4380 (void) memcpy((void *)(pc + 28), (void *)(&target), 4); 4381 (void) memcpy((void *)(pc + 32), (void *)(&level), 4); 4382 (void) memcpy((void *)(pc + 36), (void *)(&xoffset), 4); 4383 (void) memcpy((void *)(pc + 40), (void *)(&yoffset), 4); 4384 (void) memcpy((void *)(pc + 44), (void *)(&width), 4); 4385 (void) memcpy((void *)(pc + 48), (void *)(&height), 4); 4386 (void) memcpy((void *)(pc + 52), (void *)(&format), 4); 4387 (void) memcpy((void *)(pc + 56), (void *)(&type), 4); 4388 (void) memset((void *)(pc + 60), 0, 4); 4389 __glXSendLargeImage(gc, compsize, dim, width, height, 1, format, type, pixels, pc + 64, pc + 8); 4390 } 4391 } 4392 } 4393 4394 #define X_GLrop_TexSubImage1D 4099 4395 void __indirect_glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels) 4396 { 4397 __glx_TexSubImage_1D2D(X_GLrop_TexSubImage1D, 1, target, level, xoffset, 1, width, 1, format, type, pixels ); 4398 } 4399 4400 #define X_GLrop_TexSubImage2D 4100 4401 void __indirect_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) 4402 { 4403 __glx_TexSubImage_1D2D(X_GLrop_TexSubImage2D, 2, target, level, xoffset, yoffset, width, height, format, type, pixels ); 4404 } 4405 4406 #define X_GLrop_BlendColor 4096 4407 void __indirect_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) 4408 { 4409 struct glx_context * const gc = __glXGetCurrentContext(); 4410 const GLuint cmdlen = 20; 4411 emit_header(gc->pc, X_GLrop_BlendColor, cmdlen); 4412 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 4413 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 4414 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 4415 (void) memcpy((void *)(gc->pc + 16), (void *)(&alpha), 4); 4416 gc->pc += cmdlen; 4417 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4418 } 4419 4420 #define X_GLrop_BlendEquation 4097 4421 void __indirect_glBlendEquation(GLenum mode) 4422 { 4423 struct glx_context * const gc = __glXGetCurrentContext(); 4424 const GLuint cmdlen = 8; 4425 emit_header(gc->pc, X_GLrop_BlendEquation, cmdlen); 4426 (void) memcpy((void *)(gc->pc + 4), (void *)(&mode), 4); 4427 gc->pc += cmdlen; 4428 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4429 } 4430 4431 #define X_GLrop_ColorTable 2053 4432 void __indirect_glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table) 4433 { 4434 struct glx_context * const gc = __glXGetCurrentContext(); 4435 const GLuint compsize = (table != NULL) ? __glImageSize(width, 1, 1, format, type, target) : 0; 4436 const GLuint cmdlen = 44 + __GLX_PAD(compsize); 4437 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 4438 if (cmdlen <= gc->maxSmallRenderCommandSize) { 4439 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 4440 (void) __glXFlushRenderBuffer(gc, gc->pc); 4441 } 4442 emit_header(gc->pc, X_GLrop_ColorTable, cmdlen); 4443 (void) memcpy((void *)(gc->pc + 24), (void *)(&target), 4); 4444 (void) memcpy((void *)(gc->pc + 28), (void *)(&internalformat), 4); 4445 (void) memcpy((void *)(gc->pc + 32), (void *)(&width), 4); 4446 (void) memcpy((void *)(gc->pc + 36), (void *)(&format), 4); 4447 (void) memcpy((void *)(gc->pc + 40), (void *)(&type), 4); 4448 if (compsize > 0) { 4449 (*gc->fillImage)(gc, 1, width, 1, 1, format, type, table, gc->pc + 44, gc->pc + 4); 4450 } else { 4451 (void) memcpy( gc->pc + 4, default_pixel_store_1D, default_pixel_store_1D_size ); 4452 } 4453 gc->pc += cmdlen; 4454 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4455 } 4456 else { 4457 const GLint op = X_GLrop_ColorTable; 4458 const GLuint cmdlenLarge = cmdlen + 4; 4459 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 4460 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 4461 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 4462 (void) memcpy((void *)(pc + 28), (void *)(&target), 4); 4463 (void) memcpy((void *)(pc + 32), (void *)(&internalformat), 4); 4464 (void) memcpy((void *)(pc + 36), (void *)(&width), 4); 4465 (void) memcpy((void *)(pc + 40), (void *)(&format), 4); 4466 (void) memcpy((void *)(pc + 44), (void *)(&type), 4); 4467 __glXSendLargeImage(gc, compsize, 1, width, 1, 1, format, type, table, pc + 48, pc + 8); 4468 } 4469 } 4470 } 4471 4472 #define X_GLrop_ColorTableParameterfv 2054 4473 void __indirect_glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat * params) 4474 { 4475 struct glx_context * const gc = __glXGetCurrentContext(); 4476 const GLuint compsize = __glColorTableParameterfv_size(pname); 4477 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 4478 emit_header(gc->pc, X_GLrop_ColorTableParameterfv, cmdlen); 4479 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4480 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 4481 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 4482 gc->pc += cmdlen; 4483 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4484 } 4485 4486 #define X_GLrop_ColorTableParameteriv 2055 4487 void __indirect_glColorTableParameteriv(GLenum target, GLenum pname, const GLint * params) 4488 { 4489 struct glx_context * const gc = __glXGetCurrentContext(); 4490 const GLuint compsize = __glColorTableParameteriv_size(pname); 4491 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 4492 emit_header(gc->pc, X_GLrop_ColorTableParameteriv, cmdlen); 4493 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4494 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 4495 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 4496 gc->pc += cmdlen; 4497 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4498 } 4499 4500 #define X_GLrop_CopyColorTable 2056 4501 void __indirect_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) 4502 { 4503 struct glx_context * const gc = __glXGetCurrentContext(); 4504 const GLuint cmdlen = 24; 4505 emit_header(gc->pc, X_GLrop_CopyColorTable, cmdlen); 4506 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4507 (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4); 4508 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4); 4509 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4); 4510 (void) memcpy((void *)(gc->pc + 20), (void *)(&width), 4); 4511 gc->pc += cmdlen; 4512 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4513 } 4514 4515 #define X_GLsop_GetColorTable 147 4516 void __indirect_glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid * table) 4517 { 4518 struct glx_context * const gc = __glXGetCurrentContext(); 4519 const __GLXattribute * const state = gc->client_state_private; 4520 Display * const dpy = gc->currentDpy; 4521 #ifndef USE_XCB 4522 const GLuint cmdlen = 16; 4523 #endif 4524 if (__builtin_expect(dpy != NULL, 1)) { 4525 #ifdef USE_XCB 4526 xcb_connection_t *c = XGetXCBConnection(dpy); 4527 (void) __glXFlushRenderBuffer(gc, gc->pc); 4528 xcb_glx_get_color_table_reply_t *reply = xcb_glx_get_color_table_reply(c, xcb_glx_get_color_table(c, gc->currentContextTag, target, format, type, state->storePack.swapEndian), NULL); 4529 __glEmptyImage(gc, 3, reply->width, 1, 1, format, type, xcb_glx_get_color_table_data(reply), table); 4530 free(reply); 4531 #else 4532 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetColorTable, cmdlen); 4533 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4534 (void) memcpy((void *)(pc + 4), (void *)(&format), 4); 4535 (void) memcpy((void *)(pc + 8), (void *)(&type), 4); 4536 *(int32_t *)(pc + 12) = 0; 4537 * (int8_t *)(pc + 12) = state->storePack.swapEndian; 4538 __glXReadPixelReply(dpy, gc, 1, 0, 0, 0, format, type, table, GL_TRUE); 4539 UnlockDisplay(dpy); SyncHandle(); 4540 #endif /* USE_XCB */ 4541 } 4542 return; 4543 } 4544 4545 #define X_GLvop_GetColorTableSGI 4098 4546 void glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid * table) 4547 { 4548 struct glx_context * const gc = __glXGetCurrentContext(); 4549 4550 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 4551 if (gc->isDirect) { 4552 const _glapi_proc *const disp_table = GET_DISPATCH(); 4553 PFNGLGETCOLORTABLESGIPROC p = 4554 (PFNGLGETCOLORTABLESGIPROC) disp_table[343]; 4555 p(target, format, type, table); 4556 } else 4557 #endif 4558 { 4559 struct glx_context * const gc = __glXGetCurrentContext(); 4560 const __GLXattribute * const state = gc->client_state_private; 4561 Display * const dpy = gc->currentDpy; 4562 const GLuint cmdlen = 16; 4563 if (__builtin_expect(dpy != NULL, 1)) { 4564 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetColorTableSGI, cmdlen); 4565 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4566 (void) memcpy((void *)(pc + 4), (void *)(&format), 4); 4567 (void) memcpy((void *)(pc + 8), (void *)(&type), 4); 4568 *(int32_t *)(pc + 12) = 0; 4569 * (int8_t *)(pc + 12) = state->storePack.swapEndian; 4570 __glXReadPixelReply(dpy, gc, 1, 0, 0, 0, format, type, table, GL_TRUE); 4571 UnlockDisplay(dpy); SyncHandle(); 4572 } 4573 return; 4574 } 4575 } 4576 4577 #define X_GLsop_GetColorTableParameterfv 148 4578 void __indirect_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat * params) 4579 { 4580 struct glx_context * const gc = __glXGetCurrentContext(); 4581 Display * const dpy = gc->currentDpy; 4582 #ifndef USE_XCB 4583 const GLuint cmdlen = 8; 4584 #endif 4585 if (__builtin_expect(dpy != NULL, 1)) { 4586 #ifdef USE_XCB 4587 xcb_connection_t *c = XGetXCBConnection(dpy); 4588 (void) __glXFlushRenderBuffer(gc, gc->pc); 4589 xcb_glx_get_color_table_parameterfv_reply_t *reply = xcb_glx_get_color_table_parameterfv_reply(c, xcb_glx_get_color_table_parameterfv(c, gc->currentContextTag, target, pname), NULL); 4590 if (xcb_glx_get_color_table_parameterfv_data_length(reply) == 0) 4591 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 4592 else 4593 (void)memcpy(params, xcb_glx_get_color_table_parameterfv_data(reply), xcb_glx_get_color_table_parameterfv_data_length(reply) * sizeof(GLfloat)); 4594 free(reply); 4595 #else 4596 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetColorTableParameterfv, cmdlen); 4597 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4598 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 4599 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 4600 UnlockDisplay(dpy); SyncHandle(); 4601 #endif /* USE_XCB */ 4602 } 4603 return; 4604 } 4605 4606 #define X_GLvop_GetColorTableParameterfvSGI 4099 4607 void glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat * params) 4608 { 4609 struct glx_context * const gc = __glXGetCurrentContext(); 4610 4611 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 4612 if (gc->isDirect) { 4613 const _glapi_proc *const disp_table = GET_DISPATCH(); 4614 PFNGLGETCOLORTABLEPARAMETERFVSGIPROC p = 4615 (PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) disp_table[344]; 4616 p(target, pname, params); 4617 } else 4618 #endif 4619 { 4620 struct glx_context * const gc = __glXGetCurrentContext(); 4621 Display * const dpy = gc->currentDpy; 4622 const GLuint cmdlen = 8; 4623 if (__builtin_expect(dpy != NULL, 1)) { 4624 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetColorTableParameterfvSGI, cmdlen); 4625 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4626 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 4627 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 4628 UnlockDisplay(dpy); SyncHandle(); 4629 } 4630 return; 4631 } 4632 } 4633 4634 #define X_GLsop_GetColorTableParameteriv 149 4635 void __indirect_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint * params) 4636 { 4637 struct glx_context * const gc = __glXGetCurrentContext(); 4638 Display * const dpy = gc->currentDpy; 4639 #ifndef USE_XCB 4640 const GLuint cmdlen = 8; 4641 #endif 4642 if (__builtin_expect(dpy != NULL, 1)) { 4643 #ifdef USE_XCB 4644 xcb_connection_t *c = XGetXCBConnection(dpy); 4645 (void) __glXFlushRenderBuffer(gc, gc->pc); 4646 xcb_glx_get_color_table_parameteriv_reply_t *reply = xcb_glx_get_color_table_parameteriv_reply(c, xcb_glx_get_color_table_parameteriv(c, gc->currentContextTag, target, pname), NULL); 4647 if (xcb_glx_get_color_table_parameteriv_data_length(reply) == 0) 4648 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 4649 else 4650 (void)memcpy(params, xcb_glx_get_color_table_parameteriv_data(reply), xcb_glx_get_color_table_parameteriv_data_length(reply) * sizeof(GLint)); 4651 free(reply); 4652 #else 4653 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetColorTableParameteriv, cmdlen); 4654 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4655 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 4656 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 4657 UnlockDisplay(dpy); SyncHandle(); 4658 #endif /* USE_XCB */ 4659 } 4660 return; 4661 } 4662 4663 #define X_GLvop_GetColorTableParameterivSGI 4100 4664 void glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint * params) 4665 { 4666 struct glx_context * const gc = __glXGetCurrentContext(); 4667 4668 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 4669 if (gc->isDirect) { 4670 const _glapi_proc *const disp_table = GET_DISPATCH(); 4671 PFNGLGETCOLORTABLEPARAMETERIVSGIPROC p = 4672 (PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) disp_table[345]; 4673 p(target, pname, params); 4674 } else 4675 #endif 4676 { 4677 struct glx_context * const gc = __glXGetCurrentContext(); 4678 Display * const dpy = gc->currentDpy; 4679 const GLuint cmdlen = 8; 4680 if (__builtin_expect(dpy != NULL, 1)) { 4681 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetColorTableParameterivSGI, cmdlen); 4682 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4683 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 4684 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 4685 UnlockDisplay(dpy); SyncHandle(); 4686 } 4687 return; 4688 } 4689 } 4690 4691 #define X_GLrop_ColorSubTable 195 4692 void __indirect_glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data) 4693 { 4694 struct glx_context * const gc = __glXGetCurrentContext(); 4695 const GLuint compsize = (data != NULL) ? __glImageSize(count, 1, 1, format, type, target) : 0; 4696 const GLuint cmdlen = 44 + __GLX_PAD(compsize); 4697 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 4698 if (cmdlen <= gc->maxSmallRenderCommandSize) { 4699 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 4700 (void) __glXFlushRenderBuffer(gc, gc->pc); 4701 } 4702 emit_header(gc->pc, X_GLrop_ColorSubTable, cmdlen); 4703 (void) memcpy((void *)(gc->pc + 24), (void *)(&target), 4); 4704 (void) memcpy((void *)(gc->pc + 28), (void *)(&start), 4); 4705 (void) memcpy((void *)(gc->pc + 32), (void *)(&count), 4); 4706 (void) memcpy((void *)(gc->pc + 36), (void *)(&format), 4); 4707 (void) memcpy((void *)(gc->pc + 40), (void *)(&type), 4); 4708 if (compsize > 0) { 4709 (*gc->fillImage)(gc, 1, count, 1, 1, format, type, data, gc->pc + 44, gc->pc + 4); 4710 } else { 4711 (void) memcpy( gc->pc + 4, default_pixel_store_1D, default_pixel_store_1D_size ); 4712 } 4713 gc->pc += cmdlen; 4714 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4715 } 4716 else { 4717 const GLint op = X_GLrop_ColorSubTable; 4718 const GLuint cmdlenLarge = cmdlen + 4; 4719 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 4720 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 4721 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 4722 (void) memcpy((void *)(pc + 28), (void *)(&target), 4); 4723 (void) memcpy((void *)(pc + 32), (void *)(&start), 4); 4724 (void) memcpy((void *)(pc + 36), (void *)(&count), 4); 4725 (void) memcpy((void *)(pc + 40), (void *)(&format), 4); 4726 (void) memcpy((void *)(pc + 44), (void *)(&type), 4); 4727 __glXSendLargeImage(gc, compsize, 1, count, 1, 1, format, type, data, pc + 48, pc + 8); 4728 } 4729 } 4730 } 4731 4732 #define X_GLrop_CopyColorSubTable 196 4733 void __indirect_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) 4734 { 4735 struct glx_context * const gc = __glXGetCurrentContext(); 4736 const GLuint cmdlen = 24; 4737 emit_header(gc->pc, X_GLrop_CopyColorSubTable, cmdlen); 4738 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4739 (void) memcpy((void *)(gc->pc + 8), (void *)(&start), 4); 4740 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4); 4741 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4); 4742 (void) memcpy((void *)(gc->pc + 20), (void *)(&width), 4); 4743 gc->pc += cmdlen; 4744 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4745 } 4746 4747 static void 4748 __glx_ConvolutionFilter_1D2D( unsigned opcode, unsigned dim, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image ) 4749 { 4750 struct glx_context * const gc = __glXGetCurrentContext(); 4751 const GLuint compsize = (image != NULL) ? __glImageSize(width, height, 1, format, type, target) : 0; 4752 const GLuint cmdlen = 48 + __GLX_PAD(compsize); 4753 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 4754 if (cmdlen <= gc->maxSmallRenderCommandSize) { 4755 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 4756 (void) __glXFlushRenderBuffer(gc, gc->pc); 4757 } 4758 emit_header(gc->pc, opcode, cmdlen); 4759 (void) memcpy((void *)(gc->pc + 24), (void *)(&target), 4); 4760 (void) memcpy((void *)(gc->pc + 28), (void *)(&internalformat), 4); 4761 (void) memcpy((void *)(gc->pc + 32), (void *)(&width), 4); 4762 (void) memcpy((void *)(gc->pc + 36), (void *)(&height), 4); 4763 (void) memcpy((void *)(gc->pc + 40), (void *)(&format), 4); 4764 (void) memcpy((void *)(gc->pc + 44), (void *)(&type), 4); 4765 if (compsize > 0) { 4766 (*gc->fillImage)(gc, dim, width, height, 1, format, type, image, gc->pc + 48, gc->pc + 4); 4767 } else { 4768 (void) memcpy( gc->pc + 4, default_pixel_store_2D, default_pixel_store_2D_size ); 4769 } 4770 gc->pc += cmdlen; 4771 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4772 } 4773 else { 4774 const GLint op = opcode; 4775 const GLuint cmdlenLarge = cmdlen + 4; 4776 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 4777 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 4778 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 4779 (void) memcpy((void *)(pc + 28), (void *)(&target), 4); 4780 (void) memcpy((void *)(pc + 32), (void *)(&internalformat), 4); 4781 (void) memcpy((void *)(pc + 36), (void *)(&width), 4); 4782 (void) memcpy((void *)(pc + 40), (void *)(&height), 4); 4783 (void) memcpy((void *)(pc + 44), (void *)(&format), 4); 4784 (void) memcpy((void *)(pc + 48), (void *)(&type), 4); 4785 __glXSendLargeImage(gc, compsize, dim, width, height, 1, format, type, image, pc + 52, pc + 8); 4786 } 4787 } 4788 } 4789 4790 #define X_GLrop_ConvolutionFilter1D 4101 4791 void __indirect_glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image) 4792 { 4793 __glx_ConvolutionFilter_1D2D(X_GLrop_ConvolutionFilter1D, 1, target, internalformat, width, 1, format, type, image ); 4794 } 4795 4796 #define X_GLrop_ConvolutionFilter2D 4102 4797 void __indirect_glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image) 4798 { 4799 __glx_ConvolutionFilter_1D2D(X_GLrop_ConvolutionFilter2D, 2, target, internalformat, width, height, format, type, image ); 4800 } 4801 4802 #define X_GLrop_ConvolutionParameterf 4103 4803 void __indirect_glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) 4804 { 4805 struct glx_context * const gc = __glXGetCurrentContext(); 4806 const GLuint cmdlen = 16; 4807 emit_header(gc->pc, X_GLrop_ConvolutionParameterf, cmdlen); 4808 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4809 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 4810 (void) memcpy((void *)(gc->pc + 12), (void *)(¶ms), 4); 4811 gc->pc += cmdlen; 4812 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4813 } 4814 4815 #define X_GLrop_ConvolutionParameterfv 4104 4816 void __indirect_glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat * params) 4817 { 4818 struct glx_context * const gc = __glXGetCurrentContext(); 4819 const GLuint compsize = __glConvolutionParameterfv_size(pname); 4820 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 4821 emit_header(gc->pc, X_GLrop_ConvolutionParameterfv, cmdlen); 4822 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4823 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 4824 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 4825 gc->pc += cmdlen; 4826 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4827 } 4828 4829 #define X_GLrop_ConvolutionParameteri 4105 4830 void __indirect_glConvolutionParameteri(GLenum target, GLenum pname, GLint params) 4831 { 4832 struct glx_context * const gc = __glXGetCurrentContext(); 4833 const GLuint cmdlen = 16; 4834 emit_header(gc->pc, X_GLrop_ConvolutionParameteri, cmdlen); 4835 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4836 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 4837 (void) memcpy((void *)(gc->pc + 12), (void *)(¶ms), 4); 4838 gc->pc += cmdlen; 4839 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4840 } 4841 4842 #define X_GLrop_ConvolutionParameteriv 4106 4843 void __indirect_glConvolutionParameteriv(GLenum target, GLenum pname, const GLint * params) 4844 { 4845 struct glx_context * const gc = __glXGetCurrentContext(); 4846 const GLuint compsize = __glConvolutionParameteriv_size(pname); 4847 const GLuint cmdlen = 12 + __GLX_PAD((compsize * 4)); 4848 emit_header(gc->pc, X_GLrop_ConvolutionParameteriv, cmdlen); 4849 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4850 (void) memcpy((void *)(gc->pc + 8), (void *)(&pname), 4); 4851 (void) memcpy((void *)(gc->pc + 12), (void *)(params), (compsize * 4)); 4852 gc->pc += cmdlen; 4853 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4854 } 4855 4856 #define X_GLrop_CopyConvolutionFilter1D 4107 4857 void __indirect_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) 4858 { 4859 struct glx_context * const gc = __glXGetCurrentContext(); 4860 const GLuint cmdlen = 24; 4861 emit_header(gc->pc, X_GLrop_CopyConvolutionFilter1D, cmdlen); 4862 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4863 (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4); 4864 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4); 4865 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4); 4866 (void) memcpy((void *)(gc->pc + 20), (void *)(&width), 4); 4867 gc->pc += cmdlen; 4868 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4869 } 4870 4871 #define X_GLrop_CopyConvolutionFilter2D 4108 4872 void __indirect_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) 4873 { 4874 struct glx_context * const gc = __glXGetCurrentContext(); 4875 const GLuint cmdlen = 28; 4876 emit_header(gc->pc, X_GLrop_CopyConvolutionFilter2D, cmdlen); 4877 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 4878 (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4); 4879 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4); 4880 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4); 4881 (void) memcpy((void *)(gc->pc + 20), (void *)(&width), 4); 4882 (void) memcpy((void *)(gc->pc + 24), (void *)(&height), 4); 4883 gc->pc += cmdlen; 4884 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 4885 } 4886 4887 #define X_GLsop_GetConvolutionFilter 150 4888 void __indirect_glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid * image) 4889 { 4890 struct glx_context * const gc = __glXGetCurrentContext(); 4891 const __GLXattribute * const state = gc->client_state_private; 4892 Display * const dpy = gc->currentDpy; 4893 #ifndef USE_XCB 4894 const GLuint cmdlen = 16; 4895 #endif 4896 if (__builtin_expect(dpy != NULL, 1)) { 4897 #ifdef USE_XCB 4898 xcb_connection_t *c = XGetXCBConnection(dpy); 4899 (void) __glXFlushRenderBuffer(gc, gc->pc); 4900 xcb_glx_get_convolution_filter_reply_t *reply = xcb_glx_get_convolution_filter_reply(c, xcb_glx_get_convolution_filter(c, gc->currentContextTag, target, format, type, state->storePack.swapEndian), NULL); 4901 if (reply->height == 0) { reply->height = 1; } 4902 __glEmptyImage(gc, 3, reply->width, reply->height, 1, format, type, xcb_glx_get_convolution_filter_data(reply), image); 4903 free(reply); 4904 #else 4905 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetConvolutionFilter, cmdlen); 4906 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4907 (void) memcpy((void *)(pc + 4), (void *)(&format), 4); 4908 (void) memcpy((void *)(pc + 8), (void *)(&type), 4); 4909 *(int32_t *)(pc + 12) = 0; 4910 * (int8_t *)(pc + 12) = state->storePack.swapEndian; 4911 __glXReadPixelReply(dpy, gc, 2, 0, 0, 0, format, type, image, GL_TRUE); 4912 UnlockDisplay(dpy); SyncHandle(); 4913 #endif /* USE_XCB */ 4914 } 4915 return; 4916 } 4917 4918 #define X_GLvop_GetConvolutionFilterEXT 1 4919 void gl_dispatch_stub_356(GLenum target, GLenum format, GLenum type, GLvoid * image) 4920 { 4921 struct glx_context * const gc = __glXGetCurrentContext(); 4922 4923 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 4924 if (gc->isDirect) { 4925 const _glapi_proc *const disp_table = GET_DISPATCH(); 4926 PFNGLGETCONVOLUTIONFILTEREXTPROC p = 4927 (PFNGLGETCONVOLUTIONFILTEREXTPROC) disp_table[356]; 4928 p(target, format, type, image); 4929 } else 4930 #endif 4931 { 4932 struct glx_context * const gc = __glXGetCurrentContext(); 4933 const __GLXattribute * const state = gc->client_state_private; 4934 Display * const dpy = gc->currentDpy; 4935 const GLuint cmdlen = 16; 4936 if (__builtin_expect(dpy != NULL, 1)) { 4937 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetConvolutionFilterEXT, cmdlen); 4938 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4939 (void) memcpy((void *)(pc + 4), (void *)(&format), 4); 4940 (void) memcpy((void *)(pc + 8), (void *)(&type), 4); 4941 *(int32_t *)(pc + 12) = 0; 4942 * (int8_t *)(pc + 12) = state->storePack.swapEndian; 4943 __glXReadPixelReply(dpy, gc, 2, 0, 0, 0, format, type, image, GL_TRUE); 4944 UnlockDisplay(dpy); SyncHandle(); 4945 } 4946 return; 4947 } 4948 } 4949 4950 #define X_GLsop_GetConvolutionParameterfv 151 4951 void __indirect_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat * params) 4952 { 4953 struct glx_context * const gc = __glXGetCurrentContext(); 4954 Display * const dpy = gc->currentDpy; 4955 #ifndef USE_XCB 4956 const GLuint cmdlen = 8; 4957 #endif 4958 if (__builtin_expect(dpy != NULL, 1)) { 4959 #ifdef USE_XCB 4960 xcb_connection_t *c = XGetXCBConnection(dpy); 4961 (void) __glXFlushRenderBuffer(gc, gc->pc); 4962 xcb_glx_get_convolution_parameterfv_reply_t *reply = xcb_glx_get_convolution_parameterfv_reply(c, xcb_glx_get_convolution_parameterfv(c, gc->currentContextTag, target, pname), NULL); 4963 if (xcb_glx_get_convolution_parameterfv_data_length(reply) == 0) 4964 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 4965 else 4966 (void)memcpy(params, xcb_glx_get_convolution_parameterfv_data(reply), xcb_glx_get_convolution_parameterfv_data_length(reply) * sizeof(GLfloat)); 4967 free(reply); 4968 #else 4969 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetConvolutionParameterfv, cmdlen); 4970 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4971 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 4972 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 4973 UnlockDisplay(dpy); SyncHandle(); 4974 #endif /* USE_XCB */ 4975 } 4976 return; 4977 } 4978 4979 #define X_GLvop_GetConvolutionParameterfvEXT 2 4980 void gl_dispatch_stub_357(GLenum target, GLenum pname, GLfloat * params) 4981 { 4982 struct glx_context * const gc = __glXGetCurrentContext(); 4983 4984 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 4985 if (gc->isDirect) { 4986 const _glapi_proc *const disp_table = GET_DISPATCH(); 4987 PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC p = 4988 (PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) disp_table[357]; 4989 p(target, pname, params); 4990 } else 4991 #endif 4992 { 4993 struct glx_context * const gc = __glXGetCurrentContext(); 4994 Display * const dpy = gc->currentDpy; 4995 const GLuint cmdlen = 8; 4996 if (__builtin_expect(dpy != NULL, 1)) { 4997 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetConvolutionParameterfvEXT, cmdlen); 4998 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 4999 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5000 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5001 UnlockDisplay(dpy); SyncHandle(); 5002 } 5003 return; 5004 } 5005 } 5006 5007 #define X_GLsop_GetConvolutionParameteriv 152 5008 void __indirect_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint * params) 5009 { 5010 struct glx_context * const gc = __glXGetCurrentContext(); 5011 Display * const dpy = gc->currentDpy; 5012 #ifndef USE_XCB 5013 const GLuint cmdlen = 8; 5014 #endif 5015 if (__builtin_expect(dpy != NULL, 1)) { 5016 #ifdef USE_XCB 5017 xcb_connection_t *c = XGetXCBConnection(dpy); 5018 (void) __glXFlushRenderBuffer(gc, gc->pc); 5019 xcb_glx_get_convolution_parameteriv_reply_t *reply = xcb_glx_get_convolution_parameteriv_reply(c, xcb_glx_get_convolution_parameteriv(c, gc->currentContextTag, target, pname), NULL); 5020 if (xcb_glx_get_convolution_parameteriv_data_length(reply) == 0) 5021 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 5022 else 5023 (void)memcpy(params, xcb_glx_get_convolution_parameteriv_data(reply), xcb_glx_get_convolution_parameteriv_data_length(reply) * sizeof(GLint)); 5024 free(reply); 5025 #else 5026 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetConvolutionParameteriv, cmdlen); 5027 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5028 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5029 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5030 UnlockDisplay(dpy); SyncHandle(); 5031 #endif /* USE_XCB */ 5032 } 5033 return; 5034 } 5035 5036 #define X_GLvop_GetConvolutionParameterivEXT 3 5037 void gl_dispatch_stub_358(GLenum target, GLenum pname, GLint * params) 5038 { 5039 struct glx_context * const gc = __glXGetCurrentContext(); 5040 5041 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 5042 if (gc->isDirect) { 5043 const _glapi_proc *const disp_table = GET_DISPATCH(); 5044 PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC p = 5045 (PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) disp_table[358]; 5046 p(target, pname, params); 5047 } else 5048 #endif 5049 { 5050 struct glx_context * const gc = __glXGetCurrentContext(); 5051 Display * const dpy = gc->currentDpy; 5052 const GLuint cmdlen = 8; 5053 if (__builtin_expect(dpy != NULL, 1)) { 5054 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetConvolutionParameterivEXT, cmdlen); 5055 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5056 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5057 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5058 UnlockDisplay(dpy); SyncHandle(); 5059 } 5060 return; 5061 } 5062 } 5063 5064 #define X_GLsop_GetHistogram 154 5065 void __indirect_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) 5066 { 5067 struct glx_context * const gc = __glXGetCurrentContext(); 5068 const __GLXattribute * const state = gc->client_state_private; 5069 Display * const dpy = gc->currentDpy; 5070 #ifndef USE_XCB 5071 const GLuint cmdlen = 16; 5072 #endif 5073 if (__builtin_expect(dpy != NULL, 1)) { 5074 #ifdef USE_XCB 5075 xcb_connection_t *c = XGetXCBConnection(dpy); 5076 (void) __glXFlushRenderBuffer(gc, gc->pc); 5077 xcb_glx_get_histogram_reply_t *reply = xcb_glx_get_histogram_reply(c, xcb_glx_get_histogram(c, gc->currentContextTag, target, reset, format, type, state->storePack.swapEndian), NULL); 5078 __glEmptyImage(gc, 3, reply->width, 1, 1, format, type, xcb_glx_get_histogram_data(reply), values); 5079 free(reply); 5080 #else 5081 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetHistogram, cmdlen); 5082 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5083 (void) memcpy((void *)(pc + 4), (void *)(&format), 4); 5084 (void) memcpy((void *)(pc + 8), (void *)(&type), 4); 5085 *(int32_t *)(pc + 12) = 0; 5086 * (int8_t *)(pc + 12) = state->storePack.swapEndian; 5087 * (int8_t *)(pc + 13) = reset; 5088 __glXReadPixelReply(dpy, gc, 1, 0, 0, 0, format, type, values, GL_TRUE); 5089 UnlockDisplay(dpy); SyncHandle(); 5090 #endif /* USE_XCB */ 5091 } 5092 return; 5093 } 5094 5095 #define X_GLvop_GetHistogramEXT 5 5096 void gl_dispatch_stub_361(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) 5097 { 5098 struct glx_context * const gc = __glXGetCurrentContext(); 5099 5100 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 5101 if (gc->isDirect) { 5102 const _glapi_proc *const disp_table = GET_DISPATCH(); 5103 PFNGLGETHISTOGRAMEXTPROC p = 5104 (PFNGLGETHISTOGRAMEXTPROC) disp_table[361]; 5105 p(target, reset, format, type, values); 5106 } else 5107 #endif 5108 { 5109 struct glx_context * const gc = __glXGetCurrentContext(); 5110 const __GLXattribute * const state = gc->client_state_private; 5111 Display * const dpy = gc->currentDpy; 5112 const GLuint cmdlen = 16; 5113 if (__builtin_expect(dpy != NULL, 1)) { 5114 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetHistogramEXT, cmdlen); 5115 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5116 (void) memcpy((void *)(pc + 4), (void *)(&format), 4); 5117 (void) memcpy((void *)(pc + 8), (void *)(&type), 4); 5118 *(int32_t *)(pc + 12) = 0; 5119 * (int8_t *)(pc + 12) = state->storePack.swapEndian; 5120 * (int8_t *)(pc + 13) = reset; 5121 __glXReadPixelReply(dpy, gc, 1, 0, 0, 0, format, type, values, GL_TRUE); 5122 UnlockDisplay(dpy); SyncHandle(); 5123 } 5124 return; 5125 } 5126 } 5127 5128 #define X_GLsop_GetHistogramParameterfv 155 5129 void __indirect_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat * params) 5130 { 5131 struct glx_context * const gc = __glXGetCurrentContext(); 5132 Display * const dpy = gc->currentDpy; 5133 #ifndef USE_XCB 5134 const GLuint cmdlen = 8; 5135 #endif 5136 if (__builtin_expect(dpy != NULL, 1)) { 5137 #ifdef USE_XCB 5138 xcb_connection_t *c = XGetXCBConnection(dpy); 5139 (void) __glXFlushRenderBuffer(gc, gc->pc); 5140 xcb_glx_get_histogram_parameterfv_reply_t *reply = xcb_glx_get_histogram_parameterfv_reply(c, xcb_glx_get_histogram_parameterfv(c, gc->currentContextTag, target, pname), NULL); 5141 if (xcb_glx_get_histogram_parameterfv_data_length(reply) == 0) 5142 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 5143 else 5144 (void)memcpy(params, xcb_glx_get_histogram_parameterfv_data(reply), xcb_glx_get_histogram_parameterfv_data_length(reply) * sizeof(GLfloat)); 5145 free(reply); 5146 #else 5147 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetHistogramParameterfv, cmdlen); 5148 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5149 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5150 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5151 UnlockDisplay(dpy); SyncHandle(); 5152 #endif /* USE_XCB */ 5153 } 5154 return; 5155 } 5156 5157 #define X_GLvop_GetHistogramParameterfvEXT 6 5158 void gl_dispatch_stub_362(GLenum target, GLenum pname, GLfloat * params) 5159 { 5160 struct glx_context * const gc = __glXGetCurrentContext(); 5161 5162 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 5163 if (gc->isDirect) { 5164 const _glapi_proc *const disp_table = GET_DISPATCH(); 5165 PFNGLGETHISTOGRAMPARAMETERFVEXTPROC p = 5166 (PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) disp_table[362]; 5167 p(target, pname, params); 5168 } else 5169 #endif 5170 { 5171 struct glx_context * const gc = __glXGetCurrentContext(); 5172 Display * const dpy = gc->currentDpy; 5173 const GLuint cmdlen = 8; 5174 if (__builtin_expect(dpy != NULL, 1)) { 5175 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetHistogramParameterfvEXT, cmdlen); 5176 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5177 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5178 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5179 UnlockDisplay(dpy); SyncHandle(); 5180 } 5181 return; 5182 } 5183 } 5184 5185 #define X_GLsop_GetHistogramParameteriv 156 5186 void __indirect_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint * params) 5187 { 5188 struct glx_context * const gc = __glXGetCurrentContext(); 5189 Display * const dpy = gc->currentDpy; 5190 #ifndef USE_XCB 5191 const GLuint cmdlen = 8; 5192 #endif 5193 if (__builtin_expect(dpy != NULL, 1)) { 5194 #ifdef USE_XCB 5195 xcb_connection_t *c = XGetXCBConnection(dpy); 5196 (void) __glXFlushRenderBuffer(gc, gc->pc); 5197 xcb_glx_get_histogram_parameteriv_reply_t *reply = xcb_glx_get_histogram_parameteriv_reply(c, xcb_glx_get_histogram_parameteriv(c, gc->currentContextTag, target, pname), NULL); 5198 if (xcb_glx_get_histogram_parameteriv_data_length(reply) == 0) 5199 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 5200 else 5201 (void)memcpy(params, xcb_glx_get_histogram_parameteriv_data(reply), xcb_glx_get_histogram_parameteriv_data_length(reply) * sizeof(GLint)); 5202 free(reply); 5203 #else 5204 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetHistogramParameteriv, cmdlen); 5205 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5206 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5207 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5208 UnlockDisplay(dpy); SyncHandle(); 5209 #endif /* USE_XCB */ 5210 } 5211 return; 5212 } 5213 5214 #define X_GLvop_GetHistogramParameterivEXT 7 5215 void gl_dispatch_stub_363(GLenum target, GLenum pname, GLint * params) 5216 { 5217 struct glx_context * const gc = __glXGetCurrentContext(); 5218 5219 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 5220 if (gc->isDirect) { 5221 const _glapi_proc *const disp_table = GET_DISPATCH(); 5222 PFNGLGETHISTOGRAMPARAMETERIVEXTPROC p = 5223 (PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) disp_table[363]; 5224 p(target, pname, params); 5225 } else 5226 #endif 5227 { 5228 struct glx_context * const gc = __glXGetCurrentContext(); 5229 Display * const dpy = gc->currentDpy; 5230 const GLuint cmdlen = 8; 5231 if (__builtin_expect(dpy != NULL, 1)) { 5232 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetHistogramParameterivEXT, cmdlen); 5233 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5234 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5235 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5236 UnlockDisplay(dpy); SyncHandle(); 5237 } 5238 return; 5239 } 5240 } 5241 5242 #define X_GLsop_GetMinmax 157 5243 void __indirect_glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) 5244 { 5245 struct glx_context * const gc = __glXGetCurrentContext(); 5246 const __GLXattribute * const state = gc->client_state_private; 5247 Display * const dpy = gc->currentDpy; 5248 #ifndef USE_XCB 5249 const GLuint cmdlen = 16; 5250 #endif 5251 if (__builtin_expect(dpy != NULL, 1)) { 5252 #ifdef USE_XCB 5253 xcb_connection_t *c = XGetXCBConnection(dpy); 5254 (void) __glXFlushRenderBuffer(gc, gc->pc); 5255 xcb_glx_get_minmax_reply_t *reply = xcb_glx_get_minmax_reply(c, xcb_glx_get_minmax(c, gc->currentContextTag, target, reset, format, type, state->storePack.swapEndian), NULL); 5256 __glEmptyImage(gc, 3, 2, 1, 1, format, type, xcb_glx_get_minmax_data(reply), values); 5257 free(reply); 5258 #else 5259 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMinmax, cmdlen); 5260 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5261 (void) memcpy((void *)(pc + 4), (void *)(&format), 4); 5262 (void) memcpy((void *)(pc + 8), (void *)(&type), 4); 5263 *(int32_t *)(pc + 12) = 0; 5264 * (int8_t *)(pc + 12) = state->storePack.swapEndian; 5265 * (int8_t *)(pc + 13) = reset; 5266 __glXReadPixelReply(dpy, gc, 1, 2, 1, 1, format, type, values, GL_FALSE); 5267 UnlockDisplay(dpy); SyncHandle(); 5268 #endif /* USE_XCB */ 5269 } 5270 return; 5271 } 5272 5273 #define X_GLvop_GetMinmaxEXT 8 5274 void gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) 5275 { 5276 struct glx_context * const gc = __glXGetCurrentContext(); 5277 5278 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 5279 if (gc->isDirect) { 5280 const _glapi_proc *const disp_table = GET_DISPATCH(); 5281 PFNGLGETMINMAXEXTPROC p = 5282 (PFNGLGETMINMAXEXTPROC) disp_table[364]; 5283 p(target, reset, format, type, values); 5284 } else 5285 #endif 5286 { 5287 struct glx_context * const gc = __glXGetCurrentContext(); 5288 const __GLXattribute * const state = gc->client_state_private; 5289 Display * const dpy = gc->currentDpy; 5290 const GLuint cmdlen = 16; 5291 if (__builtin_expect(dpy != NULL, 1)) { 5292 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetMinmaxEXT, cmdlen); 5293 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5294 (void) memcpy((void *)(pc + 4), (void *)(&format), 4); 5295 (void) memcpy((void *)(pc + 8), (void *)(&type), 4); 5296 *(int32_t *)(pc + 12) = 0; 5297 * (int8_t *)(pc + 12) = state->storePack.swapEndian; 5298 * (int8_t *)(pc + 13) = reset; 5299 __glXReadPixelReply(dpy, gc, 1, 2, 1, 1, format, type, values, GL_FALSE); 5300 UnlockDisplay(dpy); SyncHandle(); 5301 } 5302 return; 5303 } 5304 } 5305 5306 #define X_GLsop_GetMinmaxParameterfv 158 5307 void __indirect_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat * params) 5308 { 5309 struct glx_context * const gc = __glXGetCurrentContext(); 5310 Display * const dpy = gc->currentDpy; 5311 #ifndef USE_XCB 5312 const GLuint cmdlen = 8; 5313 #endif 5314 if (__builtin_expect(dpy != NULL, 1)) { 5315 #ifdef USE_XCB 5316 xcb_connection_t *c = XGetXCBConnection(dpy); 5317 (void) __glXFlushRenderBuffer(gc, gc->pc); 5318 xcb_glx_get_minmax_parameterfv_reply_t *reply = xcb_glx_get_minmax_parameterfv_reply(c, xcb_glx_get_minmax_parameterfv(c, gc->currentContextTag, target, pname), NULL); 5319 if (xcb_glx_get_minmax_parameterfv_data_length(reply) == 0) 5320 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 5321 else 5322 (void)memcpy(params, xcb_glx_get_minmax_parameterfv_data(reply), xcb_glx_get_minmax_parameterfv_data_length(reply) * sizeof(GLfloat)); 5323 free(reply); 5324 #else 5325 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMinmaxParameterfv, cmdlen); 5326 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5327 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5328 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5329 UnlockDisplay(dpy); SyncHandle(); 5330 #endif /* USE_XCB */ 5331 } 5332 return; 5333 } 5334 5335 #define X_GLvop_GetMinmaxParameterfvEXT 9 5336 void gl_dispatch_stub_365(GLenum target, GLenum pname, GLfloat * params) 5337 { 5338 struct glx_context * const gc = __glXGetCurrentContext(); 5339 5340 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 5341 if (gc->isDirect) { 5342 const _glapi_proc *const disp_table = GET_DISPATCH(); 5343 PFNGLGETMINMAXPARAMETERFVEXTPROC p = 5344 (PFNGLGETMINMAXPARAMETERFVEXTPROC) disp_table[365]; 5345 p(target, pname, params); 5346 } else 5347 #endif 5348 { 5349 struct glx_context * const gc = __glXGetCurrentContext(); 5350 Display * const dpy = gc->currentDpy; 5351 const GLuint cmdlen = 8; 5352 if (__builtin_expect(dpy != NULL, 1)) { 5353 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetMinmaxParameterfvEXT, cmdlen); 5354 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5355 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5356 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5357 UnlockDisplay(dpy); SyncHandle(); 5358 } 5359 return; 5360 } 5361 } 5362 5363 #define X_GLsop_GetMinmaxParameteriv 159 5364 void __indirect_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint * params) 5365 { 5366 struct glx_context * const gc = __glXGetCurrentContext(); 5367 Display * const dpy = gc->currentDpy; 5368 #ifndef USE_XCB 5369 const GLuint cmdlen = 8; 5370 #endif 5371 if (__builtin_expect(dpy != NULL, 1)) { 5372 #ifdef USE_XCB 5373 xcb_connection_t *c = XGetXCBConnection(dpy); 5374 (void) __glXFlushRenderBuffer(gc, gc->pc); 5375 xcb_glx_get_minmax_parameteriv_reply_t *reply = xcb_glx_get_minmax_parameteriv_reply(c, xcb_glx_get_minmax_parameteriv(c, gc->currentContextTag, target, pname), NULL); 5376 if (xcb_glx_get_minmax_parameteriv_data_length(reply) == 0) 5377 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 5378 else 5379 (void)memcpy(params, xcb_glx_get_minmax_parameteriv_data(reply), xcb_glx_get_minmax_parameteriv_data_length(reply) * sizeof(GLint)); 5380 free(reply); 5381 #else 5382 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMinmaxParameteriv, cmdlen); 5383 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5384 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5385 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5386 UnlockDisplay(dpy); SyncHandle(); 5387 #endif /* USE_XCB */ 5388 } 5389 return; 5390 } 5391 5392 #define X_GLvop_GetMinmaxParameterivEXT 10 5393 void gl_dispatch_stub_366(GLenum target, GLenum pname, GLint * params) 5394 { 5395 struct glx_context * const gc = __glXGetCurrentContext(); 5396 5397 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) 5398 if (gc->isDirect) { 5399 const _glapi_proc *const disp_table = GET_DISPATCH(); 5400 PFNGLGETMINMAXPARAMETERIVEXTPROC p = 5401 (PFNGLGETMINMAXPARAMETERIVEXTPROC) disp_table[366]; 5402 p(target, pname, params); 5403 } else 5404 #endif 5405 { 5406 struct glx_context * const gc = __glXGetCurrentContext(); 5407 Display * const dpy = gc->currentDpy; 5408 const GLuint cmdlen = 8; 5409 if (__builtin_expect(dpy != NULL, 1)) { 5410 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetMinmaxParameterivEXT, cmdlen); 5411 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 5412 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 5413 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 5414 UnlockDisplay(dpy); SyncHandle(); 5415 } 5416 return; 5417 } 5418 } 5419 5420 #define X_GLrop_Histogram 4110 5421 void __indirect_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) 5422 { 5423 struct glx_context * const gc = __glXGetCurrentContext(); 5424 const GLuint cmdlen = 20; 5425 emit_header(gc->pc, X_GLrop_Histogram, cmdlen); 5426 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5427 (void) memcpy((void *)(gc->pc + 8), (void *)(&width), 4); 5428 (void) memcpy((void *)(gc->pc + 12), (void *)(&internalformat), 4); 5429 (void) memcpy((void *)(gc->pc + 16), (void *)(&sink), 1); 5430 gc->pc += cmdlen; 5431 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5432 } 5433 5434 #define X_GLrop_Minmax 4111 5435 void __indirect_glMinmax(GLenum target, GLenum internalformat, GLboolean sink) 5436 { 5437 struct glx_context * const gc = __glXGetCurrentContext(); 5438 const GLuint cmdlen = 16; 5439 emit_header(gc->pc, X_GLrop_Minmax, cmdlen); 5440 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5441 (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4); 5442 (void) memcpy((void *)(gc->pc + 12), (void *)(&sink), 1); 5443 gc->pc += cmdlen; 5444 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5445 } 5446 5447 #define X_GLrop_ResetHistogram 4112 5448 void __indirect_glResetHistogram(GLenum target) 5449 { 5450 struct glx_context * const gc = __glXGetCurrentContext(); 5451 const GLuint cmdlen = 8; 5452 emit_header(gc->pc, X_GLrop_ResetHistogram, cmdlen); 5453 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5454 gc->pc += cmdlen; 5455 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5456 } 5457 5458 #define X_GLrop_ResetMinmax 4113 5459 void __indirect_glResetMinmax(GLenum target) 5460 { 5461 struct glx_context * const gc = __glXGetCurrentContext(); 5462 const GLuint cmdlen = 8; 5463 emit_header(gc->pc, X_GLrop_ResetMinmax, cmdlen); 5464 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5465 gc->pc += cmdlen; 5466 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5467 } 5468 5469 static void 5470 __glx_TexImage_3D4D( unsigned opcode, unsigned dim, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLint border, GLenum format, GLenum type, const GLvoid * pixels ) 5471 { 5472 struct glx_context * const gc = __glXGetCurrentContext(); 5473 const GLuint compsize = (pixels != NULL) ? __glImageSize(width, height, depth, format, type, target) : 0; 5474 const GLuint cmdlen = 84 + __GLX_PAD(compsize); 5475 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 5476 if (cmdlen <= gc->maxSmallRenderCommandSize) { 5477 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 5478 (void) __glXFlushRenderBuffer(gc, gc->pc); 5479 } 5480 emit_header(gc->pc, opcode, cmdlen); 5481 (void) memcpy((void *)(gc->pc + 40), (void *)(&target), 4); 5482 (void) memcpy((void *)(gc->pc + 44), (void *)(&level), 4); 5483 (void) memcpy((void *)(gc->pc + 48), (void *)(&internalformat), 4); 5484 (void) memcpy((void *)(gc->pc + 52), (void *)(&width), 4); 5485 (void) memcpy((void *)(gc->pc + 56), (void *)(&height), 4); 5486 (void) memcpy((void *)(gc->pc + 60), (void *)(&depth), 4); 5487 (void) memcpy((void *)(gc->pc + 64), (void *)(&extent), 4); 5488 (void) memcpy((void *)(gc->pc + 68), (void *)(&border), 4); 5489 (void) memcpy((void *)(gc->pc + 72), (void *)(&format), 4); 5490 (void) memcpy((void *)(gc->pc + 76), (void *)(&type), 4); 5491 (void) memcpy((void *)(gc->pc + 80), (void *)((pixels == NULL) ? one : zero), 4); 5492 if (compsize > 0) { 5493 (*gc->fillImage)(gc, dim, width, height, depth, format, type, pixels, gc->pc + 84, gc->pc + 4); 5494 } else { 5495 (void) memcpy( gc->pc + 4, default_pixel_store_4D, default_pixel_store_4D_size ); 5496 } 5497 gc->pc += cmdlen; 5498 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5499 } 5500 else { 5501 const GLint op = opcode; 5502 const GLuint cmdlenLarge = cmdlen + 4; 5503 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 5504 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 5505 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 5506 (void) memcpy((void *)(pc + 44), (void *)(&target), 4); 5507 (void) memcpy((void *)(pc + 48), (void *)(&level), 4); 5508 (void) memcpy((void *)(pc + 52), (void *)(&internalformat), 4); 5509 (void) memcpy((void *)(pc + 56), (void *)(&width), 4); 5510 (void) memcpy((void *)(pc + 60), (void *)(&height), 4); 5511 (void) memcpy((void *)(pc + 64), (void *)(&depth), 4); 5512 (void) memcpy((void *)(pc + 68), (void *)(&extent), 4); 5513 (void) memcpy((void *)(pc + 72), (void *)(&border), 4); 5514 (void) memcpy((void *)(pc + 76), (void *)(&format), 4); 5515 (void) memcpy((void *)(pc + 80), (void *)(&type), 4); 5516 (void) memcpy((void *)(pc + 84), zero, 4); 5517 __glXSendLargeImage(gc, compsize, dim, width, height, depth, format, type, pixels, pc + 88, pc + 8); 5518 } 5519 } 5520 } 5521 5522 #define X_GLrop_TexImage3D 4114 5523 void __indirect_glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels) 5524 { 5525 __glx_TexImage_3D4D(X_GLrop_TexImage3D, 3, target, level, internalformat, width, height, depth, 1, border, format, type, pixels ); 5526 } 5527 5528 static void 5529 __glx_TexSubImage_3D4D( unsigned opcode, unsigned dim, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLenum format, GLenum type, const GLvoid * pixels ) 5530 { 5531 struct glx_context * const gc = __glXGetCurrentContext(); 5532 const GLuint compsize = (pixels != NULL) ? __glImageSize(width, height, depth, format, type, target) : 0; 5533 const GLuint cmdlen = 92 + __GLX_PAD(compsize); 5534 if (__builtin_expect(gc->currentDpy != NULL, 1)) { 5535 if (cmdlen <= gc->maxSmallRenderCommandSize) { 5536 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 5537 (void) __glXFlushRenderBuffer(gc, gc->pc); 5538 } 5539 emit_header(gc->pc, opcode, cmdlen); 5540 (void) memcpy((void *)(gc->pc + 40), (void *)(&target), 4); 5541 (void) memcpy((void *)(gc->pc + 44), (void *)(&level), 4); 5542 (void) memcpy((void *)(gc->pc + 48), (void *)(&xoffset), 4); 5543 (void) memcpy((void *)(gc->pc + 52), (void *)(&yoffset), 4); 5544 (void) memcpy((void *)(gc->pc + 56), (void *)(&zoffset), 4); 5545 (void) memcpy((void *)(gc->pc + 60), (void *)(&woffset), 4); 5546 (void) memcpy((void *)(gc->pc + 64), (void *)(&width), 4); 5547 (void) memcpy((void *)(gc->pc + 68), (void *)(&height), 4); 5548 (void) memcpy((void *)(gc->pc + 72), (void *)(&depth), 4); 5549 (void) memcpy((void *)(gc->pc + 76), (void *)(&extent), 4); 5550 (void) memcpy((void *)(gc->pc + 80), (void *)(&format), 4); 5551 (void) memcpy((void *)(gc->pc + 84), (void *)(&type), 4); 5552 (void) memset((void *)(gc->pc + 88), 0, 4); 5553 if (compsize > 0) { 5554 (*gc->fillImage)(gc, dim, width, height, depth, format, type, pixels, gc->pc + 92, gc->pc + 4); 5555 } else { 5556 (void) memcpy( gc->pc + 4, default_pixel_store_4D, default_pixel_store_4D_size ); 5557 } 5558 gc->pc += cmdlen; 5559 if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5560 } 5561 else { 5562 const GLint op = opcode; 5563 const GLuint cmdlenLarge = cmdlen + 4; 5564 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 5565 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 5566 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 5567 (void) memcpy((void *)(pc + 44), (void *)(&target), 4); 5568 (void) memcpy((void *)(pc + 48), (void *)(&level), 4); 5569 (void) memcpy((void *)(pc + 52), (void *)(&xoffset), 4); 5570 (void) memcpy((void *)(pc + 56), (void *)(&yoffset), 4); 5571 (void) memcpy((void *)(pc + 60), (void *)(&zoffset), 4); 5572 (void) memcpy((void *)(pc + 64), (void *)(&woffset), 4); 5573 (void) memcpy((void *)(pc + 68), (void *)(&width), 4); 5574 (void) memcpy((void *)(pc + 72), (void *)(&height), 4); 5575 (void) memcpy((void *)(pc + 76), (void *)(&depth), 4); 5576 (void) memcpy((void *)(pc + 80), (void *)(&extent), 4); 5577 (void) memcpy((void *)(pc + 84), (void *)(&format), 4); 5578 (void) memcpy((void *)(pc + 88), (void *)(&type), 4); 5579 (void) memset((void *)(pc + 92), 0, 4); 5580 __glXSendLargeImage(gc, compsize, dim, width, height, depth, format, type, pixels, pc + 96, pc + 8); 5581 } 5582 } 5583 } 5584 5585 #define X_GLrop_TexSubImage3D 4115 5586 void __indirect_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels) 5587 { 5588 __glx_TexSubImage_3D4D(X_GLrop_TexSubImage3D, 3, target, level, xoffset, yoffset, zoffset, 1, width, height, depth, 1, format, type, pixels ); 5589 } 5590 5591 #define X_GLrop_CopyTexSubImage3D 4123 5592 void __indirect_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 5593 { 5594 struct glx_context * const gc = __glXGetCurrentContext(); 5595 const GLuint cmdlen = 40; 5596 emit_header(gc->pc, X_GLrop_CopyTexSubImage3D, cmdlen); 5597 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5598 (void) memcpy((void *)(gc->pc + 8), (void *)(&level), 4); 5599 (void) memcpy((void *)(gc->pc + 12), (void *)(&xoffset), 4); 5600 (void) memcpy((void *)(gc->pc + 16), (void *)(&yoffset), 4); 5601 (void) memcpy((void *)(gc->pc + 20), (void *)(&zoffset), 4); 5602 (void) memcpy((void *)(gc->pc + 24), (void *)(&x), 4); 5603 (void) memcpy((void *)(gc->pc + 28), (void *)(&y), 4); 5604 (void) memcpy((void *)(gc->pc + 32), (void *)(&width), 4); 5605 (void) memcpy((void *)(gc->pc + 36), (void *)(&height), 4); 5606 gc->pc += cmdlen; 5607 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5608 } 5609 5610 #define X_GLrop_ActiveTextureARB 197 5611 void __indirect_glActiveTextureARB(GLenum texture) 5612 { 5613 struct glx_context * const gc = __glXGetCurrentContext(); 5614 const GLuint cmdlen = 8; 5615 emit_header(gc->pc, X_GLrop_ActiveTextureARB, cmdlen); 5616 (void) memcpy((void *)(gc->pc + 4), (void *)(&texture), 4); 5617 gc->pc += cmdlen; 5618 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5619 } 5620 5621 #define X_GLrop_MultiTexCoord1dvARB 198 5622 void __indirect_glMultiTexCoord1dARB(GLenum target, GLdouble s) 5623 { 5624 struct glx_context * const gc = __glXGetCurrentContext(); 5625 const GLuint cmdlen = 16; 5626 emit_header(gc->pc, X_GLrop_MultiTexCoord1dvARB, cmdlen); 5627 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8); 5628 (void) memcpy((void *)(gc->pc + 12), (void *)(&target), 4); 5629 gc->pc += cmdlen; 5630 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5631 } 5632 5633 #define X_GLrop_MultiTexCoord1dvARB 198 5634 void __indirect_glMultiTexCoord1dvARB(GLenum target, const GLdouble * v) 5635 { 5636 struct glx_context * const gc = __glXGetCurrentContext(); 5637 const GLuint cmdlen = 16; 5638 emit_header(gc->pc, X_GLrop_MultiTexCoord1dvARB, cmdlen); 5639 (void) memcpy((void *)(gc->pc + 4), (void *)(v), 8); 5640 (void) memcpy((void *)(gc->pc + 12), (void *)(&target), 4); 5641 gc->pc += cmdlen; 5642 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5643 } 5644 5645 #define X_GLrop_MultiTexCoord1fvARB 199 5646 void __indirect_glMultiTexCoord1fARB(GLenum target, GLfloat s) 5647 { 5648 struct glx_context * const gc = __glXGetCurrentContext(); 5649 const GLuint cmdlen = 12; 5650 emit_header(gc->pc, X_GLrop_MultiTexCoord1fvARB, cmdlen); 5651 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5652 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4); 5653 gc->pc += cmdlen; 5654 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5655 } 5656 5657 #define X_GLrop_MultiTexCoord1fvARB 199 5658 void __indirect_glMultiTexCoord1fvARB(GLenum target, const GLfloat * v) 5659 { 5660 struct glx_context * const gc = __glXGetCurrentContext(); 5661 const GLuint cmdlen = 12; 5662 emit_header(gc->pc, X_GLrop_MultiTexCoord1fvARB, cmdlen); 5663 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5664 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 5665 gc->pc += cmdlen; 5666 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5667 } 5668 5669 #define X_GLrop_MultiTexCoord1ivARB 200 5670 void __indirect_glMultiTexCoord1iARB(GLenum target, GLint s) 5671 { 5672 struct glx_context * const gc = __glXGetCurrentContext(); 5673 const GLuint cmdlen = 12; 5674 emit_header(gc->pc, X_GLrop_MultiTexCoord1ivARB, cmdlen); 5675 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5676 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4); 5677 gc->pc += cmdlen; 5678 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5679 } 5680 5681 #define X_GLrop_MultiTexCoord1ivARB 200 5682 void __indirect_glMultiTexCoord1ivARB(GLenum target, const GLint * v) 5683 { 5684 struct glx_context * const gc = __glXGetCurrentContext(); 5685 const GLuint cmdlen = 12; 5686 emit_header(gc->pc, X_GLrop_MultiTexCoord1ivARB, cmdlen); 5687 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5688 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 5689 gc->pc += cmdlen; 5690 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5691 } 5692 5693 #define X_GLrop_MultiTexCoord1svARB 201 5694 void __indirect_glMultiTexCoord1sARB(GLenum target, GLshort s) 5695 { 5696 struct glx_context * const gc = __glXGetCurrentContext(); 5697 const GLuint cmdlen = 12; 5698 emit_header(gc->pc, X_GLrop_MultiTexCoord1svARB, cmdlen); 5699 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5700 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 2); 5701 gc->pc += cmdlen; 5702 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5703 } 5704 5705 #define X_GLrop_MultiTexCoord1svARB 201 5706 void __indirect_glMultiTexCoord1svARB(GLenum target, const GLshort * v) 5707 { 5708 struct glx_context * const gc = __glXGetCurrentContext(); 5709 const GLuint cmdlen = 12; 5710 emit_header(gc->pc, X_GLrop_MultiTexCoord1svARB, cmdlen); 5711 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5712 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 2); 5713 gc->pc += cmdlen; 5714 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5715 } 5716 5717 #define X_GLrop_MultiTexCoord2dvARB 202 5718 void __indirect_glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t) 5719 { 5720 struct glx_context * const gc = __glXGetCurrentContext(); 5721 const GLuint cmdlen = 24; 5722 emit_header(gc->pc, X_GLrop_MultiTexCoord2dvARB, cmdlen); 5723 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8); 5724 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8); 5725 (void) memcpy((void *)(gc->pc + 20), (void *)(&target), 4); 5726 gc->pc += cmdlen; 5727 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5728 } 5729 5730 #define X_GLrop_MultiTexCoord2dvARB 202 5731 void __indirect_glMultiTexCoord2dvARB(GLenum target, const GLdouble * v) 5732 { 5733 struct glx_context * const gc = __glXGetCurrentContext(); 5734 const GLuint cmdlen = 24; 5735 emit_header(gc->pc, X_GLrop_MultiTexCoord2dvARB, cmdlen); 5736 (void) memcpy((void *)(gc->pc + 4), (void *)(v), 16); 5737 (void) memcpy((void *)(gc->pc + 20), (void *)(&target), 4); 5738 gc->pc += cmdlen; 5739 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5740 } 5741 5742 #define X_GLrop_MultiTexCoord2fvARB 203 5743 void __indirect_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t) 5744 { 5745 struct glx_context * const gc = __glXGetCurrentContext(); 5746 const GLuint cmdlen = 16; 5747 emit_header(gc->pc, X_GLrop_MultiTexCoord2fvARB, cmdlen); 5748 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5749 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4); 5750 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4); 5751 gc->pc += cmdlen; 5752 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5753 } 5754 5755 #define X_GLrop_MultiTexCoord2fvARB 203 5756 void __indirect_glMultiTexCoord2fvARB(GLenum target, const GLfloat * v) 5757 { 5758 struct glx_context * const gc = __glXGetCurrentContext(); 5759 const GLuint cmdlen = 16; 5760 emit_header(gc->pc, X_GLrop_MultiTexCoord2fvARB, cmdlen); 5761 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5762 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 5763 gc->pc += cmdlen; 5764 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5765 } 5766 5767 #define X_GLrop_MultiTexCoord2ivARB 204 5768 void __indirect_glMultiTexCoord2iARB(GLenum target, GLint s, GLint t) 5769 { 5770 struct glx_context * const gc = __glXGetCurrentContext(); 5771 const GLuint cmdlen = 16; 5772 emit_header(gc->pc, X_GLrop_MultiTexCoord2ivARB, cmdlen); 5773 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5774 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4); 5775 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4); 5776 gc->pc += cmdlen; 5777 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5778 } 5779 5780 #define X_GLrop_MultiTexCoord2ivARB 204 5781 void __indirect_glMultiTexCoord2ivARB(GLenum target, const GLint * v) 5782 { 5783 struct glx_context * const gc = __glXGetCurrentContext(); 5784 const GLuint cmdlen = 16; 5785 emit_header(gc->pc, X_GLrop_MultiTexCoord2ivARB, cmdlen); 5786 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5787 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 5788 gc->pc += cmdlen; 5789 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5790 } 5791 5792 #define X_GLrop_MultiTexCoord2svARB 205 5793 void __indirect_glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t) 5794 { 5795 struct glx_context * const gc = __glXGetCurrentContext(); 5796 const GLuint cmdlen = 12; 5797 emit_header(gc->pc, X_GLrop_MultiTexCoord2svARB, cmdlen); 5798 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5799 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 2); 5800 (void) memcpy((void *)(gc->pc + 10), (void *)(&t), 2); 5801 gc->pc += cmdlen; 5802 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5803 } 5804 5805 #define X_GLrop_MultiTexCoord2svARB 205 5806 void __indirect_glMultiTexCoord2svARB(GLenum target, const GLshort * v) 5807 { 5808 struct glx_context * const gc = __glXGetCurrentContext(); 5809 const GLuint cmdlen = 12; 5810 emit_header(gc->pc, X_GLrop_MultiTexCoord2svARB, cmdlen); 5811 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5812 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 5813 gc->pc += cmdlen; 5814 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5815 } 5816 5817 #define X_GLrop_MultiTexCoord3dvARB 206 5818 void __indirect_glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r) 5819 { 5820 struct glx_context * const gc = __glXGetCurrentContext(); 5821 const GLuint cmdlen = 32; 5822 emit_header(gc->pc, X_GLrop_MultiTexCoord3dvARB, cmdlen); 5823 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8); 5824 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8); 5825 (void) memcpy((void *)(gc->pc + 20), (void *)(&r), 8); 5826 (void) memcpy((void *)(gc->pc + 28), (void *)(&target), 4); 5827 gc->pc += cmdlen; 5828 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5829 } 5830 5831 #define X_GLrop_MultiTexCoord3dvARB 206 5832 void __indirect_glMultiTexCoord3dvARB(GLenum target, const GLdouble * v) 5833 { 5834 struct glx_context * const gc = __glXGetCurrentContext(); 5835 const GLuint cmdlen = 32; 5836 emit_header(gc->pc, X_GLrop_MultiTexCoord3dvARB, cmdlen); 5837 (void) memcpy((void *)(gc->pc + 4), (void *)(v), 24); 5838 (void) memcpy((void *)(gc->pc + 28), (void *)(&target), 4); 5839 gc->pc += cmdlen; 5840 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5841 } 5842 5843 #define X_GLrop_MultiTexCoord3fvARB 207 5844 void __indirect_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r) 5845 { 5846 struct glx_context * const gc = __glXGetCurrentContext(); 5847 const GLuint cmdlen = 20; 5848 emit_header(gc->pc, X_GLrop_MultiTexCoord3fvARB, cmdlen); 5849 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5850 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4); 5851 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4); 5852 (void) memcpy((void *)(gc->pc + 16), (void *)(&r), 4); 5853 gc->pc += cmdlen; 5854 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5855 } 5856 5857 #define X_GLrop_MultiTexCoord3fvARB 207 5858 void __indirect_glMultiTexCoord3fvARB(GLenum target, const GLfloat * v) 5859 { 5860 struct glx_context * const gc = __glXGetCurrentContext(); 5861 const GLuint cmdlen = 20; 5862 emit_header(gc->pc, X_GLrop_MultiTexCoord3fvARB, cmdlen); 5863 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5864 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 12); 5865 gc->pc += cmdlen; 5866 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5867 } 5868 5869 #define X_GLrop_MultiTexCoord3ivARB 208 5870 void __indirect_glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r) 5871 { 5872 struct glx_context * const gc = __glXGetCurrentContext(); 5873 const GLuint cmdlen = 20; 5874 emit_header(gc->pc, X_GLrop_MultiTexCoord3ivARB, cmdlen); 5875 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5876 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4); 5877 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4); 5878 (void) memcpy((void *)(gc->pc + 16), (void *)(&r), 4); 5879 gc->pc += cmdlen; 5880 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5881 } 5882 5883 #define X_GLrop_MultiTexCoord3ivARB 208 5884 void __indirect_glMultiTexCoord3ivARB(GLenum target, const GLint * v) 5885 { 5886 struct glx_context * const gc = __glXGetCurrentContext(); 5887 const GLuint cmdlen = 20; 5888 emit_header(gc->pc, X_GLrop_MultiTexCoord3ivARB, cmdlen); 5889 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5890 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 12); 5891 gc->pc += cmdlen; 5892 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5893 } 5894 5895 #define X_GLrop_MultiTexCoord3svARB 209 5896 void __indirect_glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r) 5897 { 5898 struct glx_context * const gc = __glXGetCurrentContext(); 5899 const GLuint cmdlen = 16; 5900 emit_header(gc->pc, X_GLrop_MultiTexCoord3svARB, cmdlen); 5901 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5902 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 2); 5903 (void) memcpy((void *)(gc->pc + 10), (void *)(&t), 2); 5904 (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 2); 5905 gc->pc += cmdlen; 5906 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5907 } 5908 5909 #define X_GLrop_MultiTexCoord3svARB 209 5910 void __indirect_glMultiTexCoord3svARB(GLenum target, const GLshort * v) 5911 { 5912 struct glx_context * const gc = __glXGetCurrentContext(); 5913 const GLuint cmdlen = 16; 5914 emit_header(gc->pc, X_GLrop_MultiTexCoord3svARB, cmdlen); 5915 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5916 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 6); 5917 gc->pc += cmdlen; 5918 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5919 } 5920 5921 #define X_GLrop_MultiTexCoord4dvARB 210 5922 void __indirect_glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) 5923 { 5924 struct glx_context * const gc = __glXGetCurrentContext(); 5925 const GLuint cmdlen = 40; 5926 emit_header(gc->pc, X_GLrop_MultiTexCoord4dvARB, cmdlen); 5927 (void) memcpy((void *)(gc->pc + 4), (void *)(&s), 8); 5928 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 8); 5929 (void) memcpy((void *)(gc->pc + 20), (void *)(&r), 8); 5930 (void) memcpy((void *)(gc->pc + 28), (void *)(&q), 8); 5931 (void) memcpy((void *)(gc->pc + 36), (void *)(&target), 4); 5932 gc->pc += cmdlen; 5933 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5934 } 5935 5936 #define X_GLrop_MultiTexCoord4dvARB 210 5937 void __indirect_glMultiTexCoord4dvARB(GLenum target, const GLdouble * v) 5938 { 5939 struct glx_context * const gc = __glXGetCurrentContext(); 5940 const GLuint cmdlen = 40; 5941 emit_header(gc->pc, X_GLrop_MultiTexCoord4dvARB, cmdlen); 5942 (void) memcpy((void *)(gc->pc + 4), (void *)(v), 32); 5943 (void) memcpy((void *)(gc->pc + 36), (void *)(&target), 4); 5944 gc->pc += cmdlen; 5945 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5946 } 5947 5948 #define X_GLrop_MultiTexCoord4fvARB 211 5949 void __indirect_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) 5950 { 5951 struct glx_context * const gc = __glXGetCurrentContext(); 5952 const GLuint cmdlen = 24; 5953 emit_header(gc->pc, X_GLrop_MultiTexCoord4fvARB, cmdlen); 5954 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5955 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4); 5956 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4); 5957 (void) memcpy((void *)(gc->pc + 16), (void *)(&r), 4); 5958 (void) memcpy((void *)(gc->pc + 20), (void *)(&q), 4); 5959 gc->pc += cmdlen; 5960 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5961 } 5962 5963 #define X_GLrop_MultiTexCoord4fvARB 211 5964 void __indirect_glMultiTexCoord4fvARB(GLenum target, const GLfloat * v) 5965 { 5966 struct glx_context * const gc = __glXGetCurrentContext(); 5967 const GLuint cmdlen = 24; 5968 emit_header(gc->pc, X_GLrop_MultiTexCoord4fvARB, cmdlen); 5969 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5970 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 5971 gc->pc += cmdlen; 5972 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5973 } 5974 5975 #define X_GLrop_MultiTexCoord4ivARB 212 5976 void __indirect_glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q) 5977 { 5978 struct glx_context * const gc = __glXGetCurrentContext(); 5979 const GLuint cmdlen = 24; 5980 emit_header(gc->pc, X_GLrop_MultiTexCoord4ivARB, cmdlen); 5981 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5982 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 4); 5983 (void) memcpy((void *)(gc->pc + 12), (void *)(&t), 4); 5984 (void) memcpy((void *)(gc->pc + 16), (void *)(&r), 4); 5985 (void) memcpy((void *)(gc->pc + 20), (void *)(&q), 4); 5986 gc->pc += cmdlen; 5987 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 5988 } 5989 5990 #define X_GLrop_MultiTexCoord4ivARB 212 5991 void __indirect_glMultiTexCoord4ivARB(GLenum target, const GLint * v) 5992 { 5993 struct glx_context * const gc = __glXGetCurrentContext(); 5994 const GLuint cmdlen = 24; 5995 emit_header(gc->pc, X_GLrop_MultiTexCoord4ivARB, cmdlen); 5996 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 5997 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 5998 gc->pc += cmdlen; 5999 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6000 } 6001 6002 #define X_GLrop_MultiTexCoord4svARB 213 6003 void __indirect_glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) 6004 { 6005 struct glx_context * const gc = __glXGetCurrentContext(); 6006 const GLuint cmdlen = 16; 6007 emit_header(gc->pc, X_GLrop_MultiTexCoord4svARB, cmdlen); 6008 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6009 (void) memcpy((void *)(gc->pc + 8), (void *)(&s), 2); 6010 (void) memcpy((void *)(gc->pc + 10), (void *)(&t), 2); 6011 (void) memcpy((void *)(gc->pc + 12), (void *)(&r), 2); 6012 (void) memcpy((void *)(gc->pc + 14), (void *)(&q), 2); 6013 gc->pc += cmdlen; 6014 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6015 } 6016 6017 #define X_GLrop_MultiTexCoord4svARB 213 6018 void __indirect_glMultiTexCoord4svARB(GLenum target, const GLshort * v) 6019 { 6020 struct glx_context * const gc = __glXGetCurrentContext(); 6021 const GLuint cmdlen = 16; 6022 emit_header(gc->pc, X_GLrop_MultiTexCoord4svARB, cmdlen); 6023 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6024 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 6025 gc->pc += cmdlen; 6026 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6027 } 6028 6029 #define X_GLrop_SampleCoverageARB 229 6030 void __indirect_glSampleCoverageARB(GLclampf value, GLboolean invert) 6031 { 6032 struct glx_context * const gc = __glXGetCurrentContext(); 6033 const GLuint cmdlen = 12; 6034 emit_header(gc->pc, X_GLrop_SampleCoverageARB, cmdlen); 6035 (void) memcpy((void *)(gc->pc + 4), (void *)(&value), 4); 6036 (void) memcpy((void *)(gc->pc + 8), (void *)(&invert), 1); 6037 gc->pc += cmdlen; 6038 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6039 } 6040 6041 #define X_GLvop_GetProgramStringARB 1308 6042 void __indirect_glGetProgramStringARB(GLenum target, GLenum pname, GLvoid * string) 6043 { 6044 struct glx_context * const gc = __glXGetCurrentContext(); 6045 Display * const dpy = gc->currentDpy; 6046 const GLuint cmdlen = 8; 6047 if (__builtin_expect(dpy != NULL, 1)) { 6048 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetProgramStringARB, cmdlen); 6049 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 6050 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 6051 (void) __glXReadReply(dpy, 1, string, GL_TRUE); 6052 UnlockDisplay(dpy); SyncHandle(); 6053 } 6054 return; 6055 } 6056 6057 #define X_GLvop_GetProgramivARB 1307 6058 void __indirect_glGetProgramivARB(GLenum target, GLenum pname, GLint * params) 6059 { 6060 struct glx_context * const gc = __glXGetCurrentContext(); 6061 Display * const dpy = gc->currentDpy; 6062 const GLuint cmdlen = 8; 6063 if (__builtin_expect(dpy != NULL, 1)) { 6064 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetProgramivARB, cmdlen); 6065 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 6066 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 6067 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 6068 UnlockDisplay(dpy); SyncHandle(); 6069 } 6070 return; 6071 } 6072 6073 #define X_GLrop_ProgramEnvParameter4dvARB 4185 6074 void __indirect_glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 6075 { 6076 struct glx_context * const gc = __glXGetCurrentContext(); 6077 const GLuint cmdlen = 44; 6078 emit_header(gc->pc, X_GLrop_ProgramEnvParameter4dvARB, cmdlen); 6079 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6080 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 6081 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 8); 6082 (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 8); 6083 (void) memcpy((void *)(gc->pc + 28), (void *)(&z), 8); 6084 (void) memcpy((void *)(gc->pc + 36), (void *)(&w), 8); 6085 gc->pc += cmdlen; 6086 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6087 } 6088 6089 #define X_GLrop_ProgramEnvParameter4dvARB 4185 6090 void __indirect_glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble * params) 6091 { 6092 struct glx_context * const gc = __glXGetCurrentContext(); 6093 const GLuint cmdlen = 44; 6094 emit_header(gc->pc, X_GLrop_ProgramEnvParameter4dvARB, cmdlen); 6095 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6096 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 6097 (void) memcpy((void *)(gc->pc + 12), (void *)(params), 32); 6098 gc->pc += cmdlen; 6099 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6100 } 6101 6102 #define X_GLrop_ProgramEnvParameter4fvARB 4184 6103 void __indirect_glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 6104 { 6105 struct glx_context * const gc = __glXGetCurrentContext(); 6106 const GLuint cmdlen = 28; 6107 emit_header(gc->pc, X_GLrop_ProgramEnvParameter4fvARB, cmdlen); 6108 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6109 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 6110 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4); 6111 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4); 6112 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 4); 6113 (void) memcpy((void *)(gc->pc + 24), (void *)(&w), 4); 6114 gc->pc += cmdlen; 6115 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6116 } 6117 6118 #define X_GLrop_ProgramEnvParameter4fvARB 4184 6119 void __indirect_glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat * params) 6120 { 6121 struct glx_context * const gc = __glXGetCurrentContext(); 6122 const GLuint cmdlen = 28; 6123 emit_header(gc->pc, X_GLrop_ProgramEnvParameter4fvARB, cmdlen); 6124 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6125 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 6126 (void) memcpy((void *)(gc->pc + 12), (void *)(params), 16); 6127 gc->pc += cmdlen; 6128 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6129 } 6130 6131 #define X_GLrop_ProgramLocalParameter4dvARB 4216 6132 void __indirect_glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 6133 { 6134 struct glx_context * const gc = __glXGetCurrentContext(); 6135 const GLuint cmdlen = 44; 6136 emit_header(gc->pc, X_GLrop_ProgramLocalParameter4dvARB, cmdlen); 6137 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6138 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 6139 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 8); 6140 (void) memcpy((void *)(gc->pc + 20), (void *)(&y), 8); 6141 (void) memcpy((void *)(gc->pc + 28), (void *)(&z), 8); 6142 (void) memcpy((void *)(gc->pc + 36), (void *)(&w), 8); 6143 gc->pc += cmdlen; 6144 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6145 } 6146 6147 #define X_GLrop_ProgramLocalParameter4dvARB 4216 6148 void __indirect_glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble * params) 6149 { 6150 struct glx_context * const gc = __glXGetCurrentContext(); 6151 const GLuint cmdlen = 44; 6152 emit_header(gc->pc, X_GLrop_ProgramLocalParameter4dvARB, cmdlen); 6153 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6154 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 6155 (void) memcpy((void *)(gc->pc + 12), (void *)(params), 32); 6156 gc->pc += cmdlen; 6157 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6158 } 6159 6160 #define X_GLrop_ProgramLocalParameter4fvARB 4215 6161 void __indirect_glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 6162 { 6163 struct glx_context * const gc = __glXGetCurrentContext(); 6164 const GLuint cmdlen = 28; 6165 emit_header(gc->pc, X_GLrop_ProgramLocalParameter4fvARB, cmdlen); 6166 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6167 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 6168 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4); 6169 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4); 6170 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 4); 6171 (void) memcpy((void *)(gc->pc + 24), (void *)(&w), 4); 6172 gc->pc += cmdlen; 6173 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6174 } 6175 6176 #define X_GLrop_ProgramLocalParameter4fvARB 4215 6177 void __indirect_glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat * params) 6178 { 6179 struct glx_context * const gc = __glXGetCurrentContext(); 6180 const GLuint cmdlen = 28; 6181 emit_header(gc->pc, X_GLrop_ProgramLocalParameter4fvARB, cmdlen); 6182 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6183 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 6184 (void) memcpy((void *)(gc->pc + 12), (void *)(params), 16); 6185 gc->pc += cmdlen; 6186 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6187 } 6188 6189 #define X_GLrop_ProgramStringARB 4217 6190 void __indirect_glProgramStringARB(GLenum target, GLenum format, GLsizei len, const GLvoid * string) 6191 { 6192 struct glx_context * const gc = __glXGetCurrentContext(); 6193 const GLuint cmdlen = 16 + __GLX_PAD(len); 6194 if (len < 0) { 6195 __glXSetError(gc, GL_INVALID_VALUE); 6196 return; 6197 } 6198 if (__builtin_expect((len >= 0) && (gc->currentDpy != NULL), 1)) { 6199 if (cmdlen <= gc->maxSmallRenderCommandSize) { 6200 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 6201 (void) __glXFlushRenderBuffer(gc, gc->pc); 6202 } 6203 emit_header(gc->pc, X_GLrop_ProgramStringARB, cmdlen); 6204 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6205 (void) memcpy((void *)(gc->pc + 8), (void *)(&format), 4); 6206 (void) memcpy((void *)(gc->pc + 12), (void *)(&len), 4); 6207 (void) memcpy((void *)(gc->pc + 16), (void *)(string), len); 6208 gc->pc += cmdlen; 6209 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6210 } 6211 else { 6212 const GLint op = X_GLrop_ProgramStringARB; 6213 const GLuint cmdlenLarge = cmdlen + 4; 6214 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 6215 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 6216 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 6217 (void) memcpy((void *)(pc + 8), (void *)(&target), 4); 6218 (void) memcpy((void *)(pc + 12), (void *)(&format), 4); 6219 (void) memcpy((void *)(pc + 16), (void *)(&len), 4); 6220 __glXSendLargeCommand(gc, pc, 20, string, len); 6221 } 6222 } 6223 } 6224 6225 #define X_GLrop_VertexAttrib1dvARB 4197 6226 void __indirect_glVertexAttrib1dARB(GLuint index, GLdouble x) 6227 { 6228 struct glx_context * const gc = __glXGetCurrentContext(); 6229 const GLuint cmdlen = 16; 6230 emit_header(gc->pc, X_GLrop_VertexAttrib1dvARB, cmdlen); 6231 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6232 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8); 6233 gc->pc += cmdlen; 6234 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6235 } 6236 6237 #define X_GLrop_VertexAttrib1dvARB 4197 6238 void __indirect_glVertexAttrib1dvARB(GLuint index, const GLdouble * v) 6239 { 6240 struct glx_context * const gc = __glXGetCurrentContext(); 6241 const GLuint cmdlen = 16; 6242 emit_header(gc->pc, X_GLrop_VertexAttrib1dvARB, cmdlen); 6243 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6244 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 6245 gc->pc += cmdlen; 6246 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6247 } 6248 6249 #define X_GLrop_VertexAttrib1fvARB 4193 6250 void __indirect_glVertexAttrib1fARB(GLuint index, GLfloat x) 6251 { 6252 struct glx_context * const gc = __glXGetCurrentContext(); 6253 const GLuint cmdlen = 12; 6254 emit_header(gc->pc, X_GLrop_VertexAttrib1fvARB, cmdlen); 6255 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6256 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 6257 gc->pc += cmdlen; 6258 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6259 } 6260 6261 #define X_GLrop_VertexAttrib1fvARB 4193 6262 void __indirect_glVertexAttrib1fvARB(GLuint index, const GLfloat * v) 6263 { 6264 struct glx_context * const gc = __glXGetCurrentContext(); 6265 const GLuint cmdlen = 12; 6266 emit_header(gc->pc, X_GLrop_VertexAttrib1fvARB, cmdlen); 6267 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6268 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 6269 gc->pc += cmdlen; 6270 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6271 } 6272 6273 #define X_GLrop_VertexAttrib1svARB 4189 6274 void __indirect_glVertexAttrib1sARB(GLuint index, GLshort x) 6275 { 6276 struct glx_context * const gc = __glXGetCurrentContext(); 6277 const GLuint cmdlen = 12; 6278 emit_header(gc->pc, X_GLrop_VertexAttrib1svARB, cmdlen); 6279 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6280 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 2); 6281 gc->pc += cmdlen; 6282 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6283 } 6284 6285 #define X_GLrop_VertexAttrib1svARB 4189 6286 void __indirect_glVertexAttrib1svARB(GLuint index, const GLshort * v) 6287 { 6288 struct glx_context * const gc = __glXGetCurrentContext(); 6289 const GLuint cmdlen = 12; 6290 emit_header(gc->pc, X_GLrop_VertexAttrib1svARB, cmdlen); 6291 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6292 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 2); 6293 gc->pc += cmdlen; 6294 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6295 } 6296 6297 #define X_GLrop_VertexAttrib2dvARB 4198 6298 void __indirect_glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y) 6299 { 6300 struct glx_context * const gc = __glXGetCurrentContext(); 6301 const GLuint cmdlen = 24; 6302 emit_header(gc->pc, X_GLrop_VertexAttrib2dvARB, cmdlen); 6303 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6304 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8); 6305 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8); 6306 gc->pc += cmdlen; 6307 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6308 } 6309 6310 #define X_GLrop_VertexAttrib2dvARB 4198 6311 void __indirect_glVertexAttrib2dvARB(GLuint index, const GLdouble * v) 6312 { 6313 struct glx_context * const gc = __glXGetCurrentContext(); 6314 const GLuint cmdlen = 24; 6315 emit_header(gc->pc, X_GLrop_VertexAttrib2dvARB, cmdlen); 6316 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6317 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 6318 gc->pc += cmdlen; 6319 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6320 } 6321 6322 #define X_GLrop_VertexAttrib2fvARB 4194 6323 void __indirect_glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y) 6324 { 6325 struct glx_context * const gc = __glXGetCurrentContext(); 6326 const GLuint cmdlen = 16; 6327 emit_header(gc->pc, X_GLrop_VertexAttrib2fvARB, cmdlen); 6328 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6329 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 6330 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 4); 6331 gc->pc += cmdlen; 6332 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6333 } 6334 6335 #define X_GLrop_VertexAttrib2fvARB 4194 6336 void __indirect_glVertexAttrib2fvARB(GLuint index, const GLfloat * v) 6337 { 6338 struct glx_context * const gc = __glXGetCurrentContext(); 6339 const GLuint cmdlen = 16; 6340 emit_header(gc->pc, X_GLrop_VertexAttrib2fvARB, cmdlen); 6341 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6342 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 6343 gc->pc += cmdlen; 6344 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6345 } 6346 6347 #define X_GLrop_VertexAttrib2svARB 4190 6348 void __indirect_glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y) 6349 { 6350 struct glx_context * const gc = __glXGetCurrentContext(); 6351 const GLuint cmdlen = 12; 6352 emit_header(gc->pc, X_GLrop_VertexAttrib2svARB, cmdlen); 6353 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6354 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 2); 6355 (void) memcpy((void *)(gc->pc + 10), (void *)(&y), 2); 6356 gc->pc += cmdlen; 6357 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6358 } 6359 6360 #define X_GLrop_VertexAttrib2svARB 4190 6361 void __indirect_glVertexAttrib2svARB(GLuint index, const GLshort * v) 6362 { 6363 struct glx_context * const gc = __glXGetCurrentContext(); 6364 const GLuint cmdlen = 12; 6365 emit_header(gc->pc, X_GLrop_VertexAttrib2svARB, cmdlen); 6366 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6367 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 6368 gc->pc += cmdlen; 6369 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6370 } 6371 6372 #define X_GLrop_VertexAttrib3dvARB 4199 6373 void __indirect_glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z) 6374 { 6375 struct glx_context * const gc = __glXGetCurrentContext(); 6376 const GLuint cmdlen = 32; 6377 emit_header(gc->pc, X_GLrop_VertexAttrib3dvARB, cmdlen); 6378 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6379 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8); 6380 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8); 6381 (void) memcpy((void *)(gc->pc + 24), (void *)(&z), 8); 6382 gc->pc += cmdlen; 6383 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6384 } 6385 6386 #define X_GLrop_VertexAttrib3dvARB 4199 6387 void __indirect_glVertexAttrib3dvARB(GLuint index, const GLdouble * v) 6388 { 6389 struct glx_context * const gc = __glXGetCurrentContext(); 6390 const GLuint cmdlen = 32; 6391 emit_header(gc->pc, X_GLrop_VertexAttrib3dvARB, cmdlen); 6392 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6393 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 24); 6394 gc->pc += cmdlen; 6395 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6396 } 6397 6398 #define X_GLrop_VertexAttrib3fvARB 4195 6399 void __indirect_glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z) 6400 { 6401 struct glx_context * const gc = __glXGetCurrentContext(); 6402 const GLuint cmdlen = 20; 6403 emit_header(gc->pc, X_GLrop_VertexAttrib3fvARB, cmdlen); 6404 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6405 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 6406 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 4); 6407 (void) memcpy((void *)(gc->pc + 16), (void *)(&z), 4); 6408 gc->pc += cmdlen; 6409 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6410 } 6411 6412 #define X_GLrop_VertexAttrib3fvARB 4195 6413 void __indirect_glVertexAttrib3fvARB(GLuint index, const GLfloat * v) 6414 { 6415 struct glx_context * const gc = __glXGetCurrentContext(); 6416 const GLuint cmdlen = 20; 6417 emit_header(gc->pc, X_GLrop_VertexAttrib3fvARB, cmdlen); 6418 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6419 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 12); 6420 gc->pc += cmdlen; 6421 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6422 } 6423 6424 #define X_GLrop_VertexAttrib3svARB 4191 6425 void __indirect_glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z) 6426 { 6427 struct glx_context * const gc = __glXGetCurrentContext(); 6428 const GLuint cmdlen = 16; 6429 emit_header(gc->pc, X_GLrop_VertexAttrib3svARB, cmdlen); 6430 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6431 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 2); 6432 (void) memcpy((void *)(gc->pc + 10), (void *)(&y), 2); 6433 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 2); 6434 gc->pc += cmdlen; 6435 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6436 } 6437 6438 #define X_GLrop_VertexAttrib3svARB 4191 6439 void __indirect_glVertexAttrib3svARB(GLuint index, const GLshort * v) 6440 { 6441 struct glx_context * const gc = __glXGetCurrentContext(); 6442 const GLuint cmdlen = 16; 6443 emit_header(gc->pc, X_GLrop_VertexAttrib3svARB, cmdlen); 6444 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6445 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 6); 6446 gc->pc += cmdlen; 6447 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6448 } 6449 6450 #define X_GLrop_VertexAttrib4NbvARB 4235 6451 void __indirect_glVertexAttrib4NbvARB(GLuint index, const GLbyte * v) 6452 { 6453 struct glx_context * const gc = __glXGetCurrentContext(); 6454 const GLuint cmdlen = 12; 6455 emit_header(gc->pc, X_GLrop_VertexAttrib4NbvARB, cmdlen); 6456 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6457 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 6458 gc->pc += cmdlen; 6459 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6460 } 6461 6462 #define X_GLrop_VertexAttrib4NivARB 4237 6463 void __indirect_glVertexAttrib4NivARB(GLuint index, const GLint * v) 6464 { 6465 struct glx_context * const gc = __glXGetCurrentContext(); 6466 const GLuint cmdlen = 24; 6467 emit_header(gc->pc, X_GLrop_VertexAttrib4NivARB, cmdlen); 6468 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6469 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 6470 gc->pc += cmdlen; 6471 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6472 } 6473 6474 #define X_GLrop_VertexAttrib4NsvARB 4236 6475 void __indirect_glVertexAttrib4NsvARB(GLuint index, const GLshort * v) 6476 { 6477 struct glx_context * const gc = __glXGetCurrentContext(); 6478 const GLuint cmdlen = 16; 6479 emit_header(gc->pc, X_GLrop_VertexAttrib4NsvARB, cmdlen); 6480 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6481 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 6482 gc->pc += cmdlen; 6483 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6484 } 6485 6486 #define X_GLrop_VertexAttrib4NubvARB 4201 6487 void __indirect_glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) 6488 { 6489 struct glx_context * const gc = __glXGetCurrentContext(); 6490 const GLuint cmdlen = 12; 6491 emit_header(gc->pc, X_GLrop_VertexAttrib4NubvARB, cmdlen); 6492 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6493 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 1); 6494 (void) memcpy((void *)(gc->pc + 9), (void *)(&y), 1); 6495 (void) memcpy((void *)(gc->pc + 10), (void *)(&z), 1); 6496 (void) memcpy((void *)(gc->pc + 11), (void *)(&w), 1); 6497 gc->pc += cmdlen; 6498 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6499 } 6500 6501 #define X_GLrop_VertexAttrib4NubvARB 4201 6502 void __indirect_glVertexAttrib4NubvARB(GLuint index, const GLubyte * v) 6503 { 6504 struct glx_context * const gc = __glXGetCurrentContext(); 6505 const GLuint cmdlen = 12; 6506 emit_header(gc->pc, X_GLrop_VertexAttrib4NubvARB, cmdlen); 6507 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6508 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 6509 gc->pc += cmdlen; 6510 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6511 } 6512 6513 #define X_GLrop_VertexAttrib4NuivARB 4239 6514 void __indirect_glVertexAttrib4NuivARB(GLuint index, const GLuint * v) 6515 { 6516 struct glx_context * const gc = __glXGetCurrentContext(); 6517 const GLuint cmdlen = 24; 6518 emit_header(gc->pc, X_GLrop_VertexAttrib4NuivARB, cmdlen); 6519 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6520 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 6521 gc->pc += cmdlen; 6522 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6523 } 6524 6525 #define X_GLrop_VertexAttrib4NusvARB 4238 6526 void __indirect_glVertexAttrib4NusvARB(GLuint index, const GLushort * v) 6527 { 6528 struct glx_context * const gc = __glXGetCurrentContext(); 6529 const GLuint cmdlen = 16; 6530 emit_header(gc->pc, X_GLrop_VertexAttrib4NusvARB, cmdlen); 6531 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6532 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 6533 gc->pc += cmdlen; 6534 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6535 } 6536 6537 #define X_GLrop_VertexAttrib4bvARB 4230 6538 void __indirect_glVertexAttrib4bvARB(GLuint index, const GLbyte * v) 6539 { 6540 struct glx_context * const gc = __glXGetCurrentContext(); 6541 const GLuint cmdlen = 12; 6542 emit_header(gc->pc, X_GLrop_VertexAttrib4bvARB, cmdlen); 6543 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6544 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 6545 gc->pc += cmdlen; 6546 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6547 } 6548 6549 #define X_GLrop_VertexAttrib4dvARB 4200 6550 void __indirect_glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 6551 { 6552 struct glx_context * const gc = __glXGetCurrentContext(); 6553 const GLuint cmdlen = 40; 6554 emit_header(gc->pc, X_GLrop_VertexAttrib4dvARB, cmdlen); 6555 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6556 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8); 6557 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8); 6558 (void) memcpy((void *)(gc->pc + 24), (void *)(&z), 8); 6559 (void) memcpy((void *)(gc->pc + 32), (void *)(&w), 8); 6560 gc->pc += cmdlen; 6561 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6562 } 6563 6564 #define X_GLrop_VertexAttrib4dvARB 4200 6565 void __indirect_glVertexAttrib4dvARB(GLuint index, const GLdouble * v) 6566 { 6567 struct glx_context * const gc = __glXGetCurrentContext(); 6568 const GLuint cmdlen = 40; 6569 emit_header(gc->pc, X_GLrop_VertexAttrib4dvARB, cmdlen); 6570 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6571 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 32); 6572 gc->pc += cmdlen; 6573 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6574 } 6575 6576 #define X_GLrop_VertexAttrib4fvARB 4196 6577 void __indirect_glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 6578 { 6579 struct glx_context * const gc = __glXGetCurrentContext(); 6580 const GLuint cmdlen = 24; 6581 emit_header(gc->pc, X_GLrop_VertexAttrib4fvARB, cmdlen); 6582 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6583 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 6584 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 4); 6585 (void) memcpy((void *)(gc->pc + 16), (void *)(&z), 4); 6586 (void) memcpy((void *)(gc->pc + 20), (void *)(&w), 4); 6587 gc->pc += cmdlen; 6588 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6589 } 6590 6591 #define X_GLrop_VertexAttrib4fvARB 4196 6592 void __indirect_glVertexAttrib4fvARB(GLuint index, const GLfloat * v) 6593 { 6594 struct glx_context * const gc = __glXGetCurrentContext(); 6595 const GLuint cmdlen = 24; 6596 emit_header(gc->pc, X_GLrop_VertexAttrib4fvARB, cmdlen); 6597 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6598 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 6599 gc->pc += cmdlen; 6600 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6601 } 6602 6603 #define X_GLrop_VertexAttrib4ivARB 4231 6604 void __indirect_glVertexAttrib4ivARB(GLuint index, const GLint * v) 6605 { 6606 struct glx_context * const gc = __glXGetCurrentContext(); 6607 const GLuint cmdlen = 24; 6608 emit_header(gc->pc, X_GLrop_VertexAttrib4ivARB, cmdlen); 6609 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6610 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 6611 gc->pc += cmdlen; 6612 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6613 } 6614 6615 #define X_GLrop_VertexAttrib4svARB 4192 6616 void __indirect_glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) 6617 { 6618 struct glx_context * const gc = __glXGetCurrentContext(); 6619 const GLuint cmdlen = 16; 6620 emit_header(gc->pc, X_GLrop_VertexAttrib4svARB, cmdlen); 6621 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6622 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 2); 6623 (void) memcpy((void *)(gc->pc + 10), (void *)(&y), 2); 6624 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 2); 6625 (void) memcpy((void *)(gc->pc + 14), (void *)(&w), 2); 6626 gc->pc += cmdlen; 6627 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6628 } 6629 6630 #define X_GLrop_VertexAttrib4svARB 4192 6631 void __indirect_glVertexAttrib4svARB(GLuint index, const GLshort * v) 6632 { 6633 struct glx_context * const gc = __glXGetCurrentContext(); 6634 const GLuint cmdlen = 16; 6635 emit_header(gc->pc, X_GLrop_VertexAttrib4svARB, cmdlen); 6636 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6637 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 6638 gc->pc += cmdlen; 6639 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6640 } 6641 6642 #define X_GLrop_VertexAttrib4ubvARB 4232 6643 void __indirect_glVertexAttrib4ubvARB(GLuint index, const GLubyte * v) 6644 { 6645 struct glx_context * const gc = __glXGetCurrentContext(); 6646 const GLuint cmdlen = 12; 6647 emit_header(gc->pc, X_GLrop_VertexAttrib4ubvARB, cmdlen); 6648 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6649 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 6650 gc->pc += cmdlen; 6651 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6652 } 6653 6654 #define X_GLrop_VertexAttrib4uivARB 4234 6655 void __indirect_glVertexAttrib4uivARB(GLuint index, const GLuint * v) 6656 { 6657 struct glx_context * const gc = __glXGetCurrentContext(); 6658 const GLuint cmdlen = 24; 6659 emit_header(gc->pc, X_GLrop_VertexAttrib4uivARB, cmdlen); 6660 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6661 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 6662 gc->pc += cmdlen; 6663 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6664 } 6665 6666 #define X_GLrop_VertexAttrib4usvARB 4233 6667 void __indirect_glVertexAttrib4usvARB(GLuint index, const GLushort * v) 6668 { 6669 struct glx_context * const gc = __glXGetCurrentContext(); 6670 const GLuint cmdlen = 16; 6671 emit_header(gc->pc, X_GLrop_VertexAttrib4usvARB, cmdlen); 6672 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 6673 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 6674 gc->pc += cmdlen; 6675 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6676 } 6677 6678 #define X_GLrop_BeginQueryARB 231 6679 void __indirect_glBeginQueryARB(GLenum target, GLuint id) 6680 { 6681 struct glx_context * const gc = __glXGetCurrentContext(); 6682 const GLuint cmdlen = 12; 6683 emit_header(gc->pc, X_GLrop_BeginQueryARB, cmdlen); 6684 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6685 (void) memcpy((void *)(gc->pc + 8), (void *)(&id), 4); 6686 gc->pc += cmdlen; 6687 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6688 } 6689 6690 #define X_GLsop_DeleteQueriesARB 161 6691 void __indirect_glDeleteQueriesARB(GLsizei n, const GLuint * ids) 6692 { 6693 struct glx_context * const gc = __glXGetCurrentContext(); 6694 Display * const dpy = gc->currentDpy; 6695 #ifndef USE_XCB 6696 const GLuint cmdlen = 4 + __GLX_PAD((n * 4)); 6697 #endif 6698 if (n < 0) { 6699 __glXSetError(gc, GL_INVALID_VALUE); 6700 return; 6701 } 6702 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 6703 #ifdef USE_XCB 6704 xcb_connection_t *c = XGetXCBConnection(dpy); 6705 (void) __glXFlushRenderBuffer(gc, gc->pc); 6706 xcb_glx_delete_queries_arb(c, gc->currentContextTag, n, ids); 6707 #else 6708 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_DeleteQueriesARB, cmdlen); 6709 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 6710 (void) memcpy((void *)(pc + 4), (void *)(ids), (n * 4)); 6711 UnlockDisplay(dpy); SyncHandle(); 6712 #endif /* USE_XCB */ 6713 } 6714 return; 6715 } 6716 6717 #define X_GLrop_EndQueryARB 232 6718 void __indirect_glEndQueryARB(GLenum target) 6719 { 6720 struct glx_context * const gc = __glXGetCurrentContext(); 6721 const GLuint cmdlen = 8; 6722 emit_header(gc->pc, X_GLrop_EndQueryARB, cmdlen); 6723 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6724 gc->pc += cmdlen; 6725 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6726 } 6727 6728 #define X_GLsop_GenQueriesARB 162 6729 void __indirect_glGenQueriesARB(GLsizei n, GLuint * ids) 6730 { 6731 struct glx_context * const gc = __glXGetCurrentContext(); 6732 Display * const dpy = gc->currentDpy; 6733 #ifndef USE_XCB 6734 const GLuint cmdlen = 4; 6735 #endif 6736 if (n < 0) { 6737 __glXSetError(gc, GL_INVALID_VALUE); 6738 return; 6739 } 6740 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 6741 #ifdef USE_XCB 6742 xcb_connection_t *c = XGetXCBConnection(dpy); 6743 (void) __glXFlushRenderBuffer(gc, gc->pc); 6744 xcb_glx_gen_queries_arb_reply_t *reply = xcb_glx_gen_queries_arb_reply(c, xcb_glx_gen_queries_arb(c, gc->currentContextTag, n), NULL); 6745 (void)memcpy(ids, xcb_glx_gen_queries_arb_data(reply), xcb_glx_gen_queries_arb_data_length(reply) * sizeof(GLuint)); 6746 free(reply); 6747 #else 6748 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GenQueriesARB, cmdlen); 6749 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 6750 (void) __glXReadReply(dpy, 4, ids, GL_TRUE); 6751 UnlockDisplay(dpy); SyncHandle(); 6752 #endif /* USE_XCB */ 6753 } 6754 return; 6755 } 6756 6757 #define X_GLsop_GetQueryObjectivARB 165 6758 void __indirect_glGetQueryObjectivARB(GLuint id, GLenum pname, GLint * params) 6759 { 6760 struct glx_context * const gc = __glXGetCurrentContext(); 6761 Display * const dpy = gc->currentDpy; 6762 #ifndef USE_XCB 6763 const GLuint cmdlen = 8; 6764 #endif 6765 if (__builtin_expect(dpy != NULL, 1)) { 6766 #ifdef USE_XCB 6767 xcb_connection_t *c = XGetXCBConnection(dpy); 6768 (void) __glXFlushRenderBuffer(gc, gc->pc); 6769 xcb_glx_get_query_objectiv_arb_reply_t *reply = xcb_glx_get_query_objectiv_arb_reply(c, xcb_glx_get_query_objectiv_arb(c, gc->currentContextTag, id, pname), NULL); 6770 if (xcb_glx_get_query_objectiv_arb_data_length(reply) == 0) 6771 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 6772 else 6773 (void)memcpy(params, xcb_glx_get_query_objectiv_arb_data(reply), xcb_glx_get_query_objectiv_arb_data_length(reply) * sizeof(GLint)); 6774 free(reply); 6775 #else 6776 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetQueryObjectivARB, cmdlen); 6777 (void) memcpy((void *)(pc + 0), (void *)(&id), 4); 6778 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 6779 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 6780 UnlockDisplay(dpy); SyncHandle(); 6781 #endif /* USE_XCB */ 6782 } 6783 return; 6784 } 6785 6786 #define X_GLsop_GetQueryObjectuivARB 166 6787 void __indirect_glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint * params) 6788 { 6789 struct glx_context * const gc = __glXGetCurrentContext(); 6790 Display * const dpy = gc->currentDpy; 6791 #ifndef USE_XCB 6792 const GLuint cmdlen = 8; 6793 #endif 6794 if (__builtin_expect(dpy != NULL, 1)) { 6795 #ifdef USE_XCB 6796 xcb_connection_t *c = XGetXCBConnection(dpy); 6797 (void) __glXFlushRenderBuffer(gc, gc->pc); 6798 xcb_glx_get_query_objectuiv_arb_reply_t *reply = xcb_glx_get_query_objectuiv_arb_reply(c, xcb_glx_get_query_objectuiv_arb(c, gc->currentContextTag, id, pname), NULL); 6799 if (xcb_glx_get_query_objectuiv_arb_data_length(reply) == 0) 6800 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 6801 else 6802 (void)memcpy(params, xcb_glx_get_query_objectuiv_arb_data(reply), xcb_glx_get_query_objectuiv_arb_data_length(reply) * sizeof(GLuint)); 6803 free(reply); 6804 #else 6805 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetQueryObjectuivARB, cmdlen); 6806 (void) memcpy((void *)(pc + 0), (void *)(&id), 4); 6807 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 6808 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 6809 UnlockDisplay(dpy); SyncHandle(); 6810 #endif /* USE_XCB */ 6811 } 6812 return; 6813 } 6814 6815 #define X_GLsop_GetQueryivARB 164 6816 void __indirect_glGetQueryivARB(GLenum target, GLenum pname, GLint * params) 6817 { 6818 struct glx_context * const gc = __glXGetCurrentContext(); 6819 Display * const dpy = gc->currentDpy; 6820 #ifndef USE_XCB 6821 const GLuint cmdlen = 8; 6822 #endif 6823 if (__builtin_expect(dpy != NULL, 1)) { 6824 #ifdef USE_XCB 6825 xcb_connection_t *c = XGetXCBConnection(dpy); 6826 (void) __glXFlushRenderBuffer(gc, gc->pc); 6827 xcb_glx_get_queryiv_arb_reply_t *reply = xcb_glx_get_queryiv_arb_reply(c, xcb_glx_get_queryiv_arb(c, gc->currentContextTag, target, pname), NULL); 6828 if (xcb_glx_get_queryiv_arb_data_length(reply) == 0) 6829 (void)memcpy(params, &reply->datum, sizeof(reply->datum)); 6830 else 6831 (void)memcpy(params, xcb_glx_get_queryiv_arb_data(reply), xcb_glx_get_queryiv_arb_data_length(reply) * sizeof(GLint)); 6832 free(reply); 6833 #else 6834 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetQueryivARB, cmdlen); 6835 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 6836 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 6837 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 6838 UnlockDisplay(dpy); SyncHandle(); 6839 #endif /* USE_XCB */ 6840 } 6841 return; 6842 } 6843 6844 #define X_GLsop_IsQueryARB 163 6845 GLboolean __indirect_glIsQueryARB(GLuint id) 6846 { 6847 struct glx_context * const gc = __glXGetCurrentContext(); 6848 Display * const dpy = gc->currentDpy; 6849 GLboolean retval = (GLboolean) 0; 6850 #ifndef USE_XCB 6851 const GLuint cmdlen = 4; 6852 #endif 6853 if (__builtin_expect(dpy != NULL, 1)) { 6854 #ifdef USE_XCB 6855 xcb_connection_t *c = XGetXCBConnection(dpy); 6856 (void) __glXFlushRenderBuffer(gc, gc->pc); 6857 xcb_glx_is_query_arb_reply_t *reply = xcb_glx_is_query_arb_reply(c, xcb_glx_is_query_arb(c, gc->currentContextTag, id), NULL); 6858 retval = reply->ret_val; 6859 free(reply); 6860 #else 6861 GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_IsQueryARB, cmdlen); 6862 (void) memcpy((void *)(pc + 0), (void *)(&id), 4); 6863 retval = (GLboolean) __glXReadReply(dpy, 0, NULL, GL_FALSE); 6864 UnlockDisplay(dpy); SyncHandle(); 6865 #endif /* USE_XCB */ 6866 } 6867 return retval; 6868 } 6869 6870 #define X_GLrop_DrawBuffersARB 233 6871 void __indirect_glDrawBuffersARB(GLsizei n, const GLenum * bufs) 6872 { 6873 struct glx_context * const gc = __glXGetCurrentContext(); 6874 const GLuint cmdlen = 8 + __GLX_PAD((n * 4)); 6875 if (n < 0) { 6876 __glXSetError(gc, GL_INVALID_VALUE); 6877 return; 6878 } 6879 if (__builtin_expect((n >= 0) && (gc->currentDpy != NULL), 1)) { 6880 if (cmdlen <= gc->maxSmallRenderCommandSize) { 6881 if ( (gc->pc + cmdlen) > gc->bufEnd ) { 6882 (void) __glXFlushRenderBuffer(gc, gc->pc); 6883 } 6884 emit_header(gc->pc, X_GLrop_DrawBuffersARB, cmdlen); 6885 (void) memcpy((void *)(gc->pc + 4), (void *)(&n), 4); 6886 (void) memcpy((void *)(gc->pc + 8), (void *)(bufs), (n * 4)); 6887 gc->pc += cmdlen; 6888 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6889 } 6890 else { 6891 const GLint op = X_GLrop_DrawBuffersARB; 6892 const GLuint cmdlenLarge = cmdlen + 4; 6893 GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc); 6894 (void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4); 6895 (void) memcpy((void *)(pc + 4), (void *)(&op), 4); 6896 (void) memcpy((void *)(pc + 8), (void *)(&n), 4); 6897 __glXSendLargeCommand(gc, pc, 12, bufs, (n * 4)); 6898 } 6899 } 6900 } 6901 6902 #define X_GLrop_ClampColorARB 234 6903 void __indirect_glClampColorARB(GLenum target, GLenum clamp) 6904 { 6905 struct glx_context * const gc = __glXGetCurrentContext(); 6906 const GLuint cmdlen = 12; 6907 emit_header(gc->pc, X_GLrop_ClampColorARB, cmdlen); 6908 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6909 (void) memcpy((void *)(gc->pc + 8), (void *)(&clamp), 4); 6910 gc->pc += cmdlen; 6911 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6912 } 6913 6914 #define X_GLrop_RenderbufferStorageMultisample 4331 6915 void __indirect_glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 6916 { 6917 struct glx_context * const gc = __glXGetCurrentContext(); 6918 const GLuint cmdlen = 24; 6919 emit_header(gc->pc, X_GLrop_RenderbufferStorageMultisample, cmdlen); 6920 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 6921 (void) memcpy((void *)(gc->pc + 8), (void *)(&samples), 4); 6922 (void) memcpy((void *)(gc->pc + 12), (void *)(&internalformat), 4); 6923 (void) memcpy((void *)(gc->pc + 16), (void *)(&width), 4); 6924 (void) memcpy((void *)(gc->pc + 20), (void *)(&height), 4); 6925 gc->pc += cmdlen; 6926 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6927 } 6928 6929 #define X_GLrop_SampleMaskSGIS 2048 6930 void __indirect_glSampleMaskSGIS(GLclampf value, GLboolean invert) 6931 { 6932 struct glx_context * const gc = __glXGetCurrentContext(); 6933 const GLuint cmdlen = 12; 6934 emit_header(gc->pc, X_GLrop_SampleMaskSGIS, cmdlen); 6935 (void) memcpy((void *)(gc->pc + 4), (void *)(&value), 4); 6936 (void) memcpy((void *)(gc->pc + 8), (void *)(&invert), 1); 6937 gc->pc += cmdlen; 6938 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6939 } 6940 6941 #define X_GLrop_SamplePatternSGIS 2049 6942 void __indirect_glSamplePatternSGIS(GLenum pattern) 6943 { 6944 struct glx_context * const gc = __glXGetCurrentContext(); 6945 const GLuint cmdlen = 8; 6946 emit_header(gc->pc, X_GLrop_SamplePatternSGIS, cmdlen); 6947 (void) memcpy((void *)(gc->pc + 4), (void *)(&pattern), 4); 6948 gc->pc += cmdlen; 6949 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6950 } 6951 6952 #define X_GLrop_PointParameterfEXT 2065 6953 void __indirect_glPointParameterfEXT(GLenum pname, GLfloat param) 6954 { 6955 struct glx_context * const gc = __glXGetCurrentContext(); 6956 const GLuint cmdlen = 12; 6957 emit_header(gc->pc, X_GLrop_PointParameterfEXT, cmdlen); 6958 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 6959 (void) memcpy((void *)(gc->pc + 8), (void *)(¶m), 4); 6960 gc->pc += cmdlen; 6961 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6962 } 6963 6964 #define X_GLrop_PointParameterfvEXT 2066 6965 void __indirect_glPointParameterfvEXT(GLenum pname, const GLfloat * params) 6966 { 6967 struct glx_context * const gc = __glXGetCurrentContext(); 6968 const GLuint compsize = __glPointParameterfvEXT_size(pname); 6969 const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4)); 6970 emit_header(gc->pc, X_GLrop_PointParameterfvEXT, cmdlen); 6971 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 6972 (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4)); 6973 gc->pc += cmdlen; 6974 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6975 } 6976 6977 #define X_GLrop_SecondaryColor3bvEXT 4126 6978 void __indirect_glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue) 6979 { 6980 struct glx_context * const gc = __glXGetCurrentContext(); 6981 const GLuint cmdlen = 8; 6982 emit_header(gc->pc, X_GLrop_SecondaryColor3bvEXT, cmdlen); 6983 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1); 6984 (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1); 6985 (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1); 6986 gc->pc += cmdlen; 6987 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 6988 } 6989 6990 #define X_GLrop_SecondaryColor3bvEXT 4126 6991 void __indirect_glSecondaryColor3bvEXT(const GLbyte * v) 6992 { 6993 generic_3_byte( X_GLrop_SecondaryColor3bvEXT, v ); 6994 } 6995 6996 #define X_GLrop_SecondaryColor3dvEXT 4130 6997 void __indirect_glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue) 6998 { 6999 struct glx_context * const gc = __glXGetCurrentContext(); 7000 const GLuint cmdlen = 28; 7001 emit_header(gc->pc, X_GLrop_SecondaryColor3dvEXT, cmdlen); 7002 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 8); 7003 (void) memcpy((void *)(gc->pc + 12), (void *)(&green), 8); 7004 (void) memcpy((void *)(gc->pc + 20), (void *)(&blue), 8); 7005 gc->pc += cmdlen; 7006 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7007 } 7008 7009 #define X_GLrop_SecondaryColor3dvEXT 4130 7010 void __indirect_glSecondaryColor3dvEXT(const GLdouble * v) 7011 { 7012 generic_24_byte( X_GLrop_SecondaryColor3dvEXT, v ); 7013 } 7014 7015 #define X_GLrop_SecondaryColor3fvEXT 4129 7016 void __indirect_glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue) 7017 { 7018 struct glx_context * const gc = __glXGetCurrentContext(); 7019 const GLuint cmdlen = 16; 7020 emit_header(gc->pc, X_GLrop_SecondaryColor3fvEXT, cmdlen); 7021 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 7022 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 7023 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 7024 gc->pc += cmdlen; 7025 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7026 } 7027 7028 #define X_GLrop_SecondaryColor3fvEXT 4129 7029 void __indirect_glSecondaryColor3fvEXT(const GLfloat * v) 7030 { 7031 generic_12_byte( X_GLrop_SecondaryColor3fvEXT, v ); 7032 } 7033 7034 #define X_GLrop_SecondaryColor3ivEXT 4128 7035 void __indirect_glSecondaryColor3iEXT(GLint red, GLint green, GLint blue) 7036 { 7037 struct glx_context * const gc = __glXGetCurrentContext(); 7038 const GLuint cmdlen = 16; 7039 emit_header(gc->pc, X_GLrop_SecondaryColor3ivEXT, cmdlen); 7040 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 7041 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 7042 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 7043 gc->pc += cmdlen; 7044 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7045 } 7046 7047 #define X_GLrop_SecondaryColor3ivEXT 4128 7048 void __indirect_glSecondaryColor3ivEXT(const GLint * v) 7049 { 7050 generic_12_byte( X_GLrop_SecondaryColor3ivEXT, v ); 7051 } 7052 7053 #define X_GLrop_SecondaryColor3svEXT 4127 7054 void __indirect_glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue) 7055 { 7056 struct glx_context * const gc = __glXGetCurrentContext(); 7057 const GLuint cmdlen = 12; 7058 emit_header(gc->pc, X_GLrop_SecondaryColor3svEXT, cmdlen); 7059 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2); 7060 (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2); 7061 (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2); 7062 gc->pc += cmdlen; 7063 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7064 } 7065 7066 #define X_GLrop_SecondaryColor3svEXT 4127 7067 void __indirect_glSecondaryColor3svEXT(const GLshort * v) 7068 { 7069 generic_6_byte( X_GLrop_SecondaryColor3svEXT, v ); 7070 } 7071 7072 #define X_GLrop_SecondaryColor3ubvEXT 4131 7073 void __indirect_glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue) 7074 { 7075 struct glx_context * const gc = __glXGetCurrentContext(); 7076 const GLuint cmdlen = 8; 7077 emit_header(gc->pc, X_GLrop_SecondaryColor3ubvEXT, cmdlen); 7078 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 1); 7079 (void) memcpy((void *)(gc->pc + 5), (void *)(&green), 1); 7080 (void) memcpy((void *)(gc->pc + 6), (void *)(&blue), 1); 7081 gc->pc += cmdlen; 7082 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7083 } 7084 7085 #define X_GLrop_SecondaryColor3ubvEXT 4131 7086 void __indirect_glSecondaryColor3ubvEXT(const GLubyte * v) 7087 { 7088 generic_3_byte( X_GLrop_SecondaryColor3ubvEXT, v ); 7089 } 7090 7091 #define X_GLrop_SecondaryColor3uivEXT 4133 7092 void __indirect_glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue) 7093 { 7094 struct glx_context * const gc = __glXGetCurrentContext(); 7095 const GLuint cmdlen = 16; 7096 emit_header(gc->pc, X_GLrop_SecondaryColor3uivEXT, cmdlen); 7097 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 4); 7098 (void) memcpy((void *)(gc->pc + 8), (void *)(&green), 4); 7099 (void) memcpy((void *)(gc->pc + 12), (void *)(&blue), 4); 7100 gc->pc += cmdlen; 7101 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7102 } 7103 7104 #define X_GLrop_SecondaryColor3uivEXT 4133 7105 void __indirect_glSecondaryColor3uivEXT(const GLuint * v) 7106 { 7107 generic_12_byte( X_GLrop_SecondaryColor3uivEXT, v ); 7108 } 7109 7110 #define X_GLrop_SecondaryColor3usvEXT 4132 7111 void __indirect_glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue) 7112 { 7113 struct glx_context * const gc = __glXGetCurrentContext(); 7114 const GLuint cmdlen = 12; 7115 emit_header(gc->pc, X_GLrop_SecondaryColor3usvEXT, cmdlen); 7116 (void) memcpy((void *)(gc->pc + 4), (void *)(&red), 2); 7117 (void) memcpy((void *)(gc->pc + 6), (void *)(&green), 2); 7118 (void) memcpy((void *)(gc->pc + 8), (void *)(&blue), 2); 7119 gc->pc += cmdlen; 7120 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7121 } 7122 7123 #define X_GLrop_SecondaryColor3usvEXT 4132 7124 void __indirect_glSecondaryColor3usvEXT(const GLushort * v) 7125 { 7126 generic_6_byte( X_GLrop_SecondaryColor3usvEXT, v ); 7127 } 7128 7129 #define X_GLrop_FogCoorddvEXT 4125 7130 void __indirect_glFogCoorddEXT(GLdouble coord) 7131 { 7132 struct glx_context * const gc = __glXGetCurrentContext(); 7133 const GLuint cmdlen = 12; 7134 emit_header(gc->pc, X_GLrop_FogCoorddvEXT, cmdlen); 7135 (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 8); 7136 gc->pc += cmdlen; 7137 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7138 } 7139 7140 #define X_GLrop_FogCoorddvEXT 4125 7141 void __indirect_glFogCoorddvEXT(const GLdouble * coord) 7142 { 7143 generic_8_byte( X_GLrop_FogCoorddvEXT, coord ); 7144 } 7145 7146 #define X_GLrop_FogCoordfvEXT 4124 7147 void __indirect_glFogCoordfEXT(GLfloat coord) 7148 { 7149 struct glx_context * const gc = __glXGetCurrentContext(); 7150 const GLuint cmdlen = 8; 7151 emit_header(gc->pc, X_GLrop_FogCoordfvEXT, cmdlen); 7152 (void) memcpy((void *)(gc->pc + 4), (void *)(&coord), 4); 7153 gc->pc += cmdlen; 7154 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7155 } 7156 7157 #define X_GLrop_FogCoordfvEXT 4124 7158 void __indirect_glFogCoordfvEXT(const GLfloat * coord) 7159 { 7160 generic_4_byte( X_GLrop_FogCoordfvEXT, coord ); 7161 } 7162 7163 #define X_GLrop_BlendFuncSeparateEXT 4134 7164 void __indirect_glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) 7165 { 7166 struct glx_context * const gc = __glXGetCurrentContext(); 7167 const GLuint cmdlen = 20; 7168 emit_header(gc->pc, X_GLrop_BlendFuncSeparateEXT, cmdlen); 7169 (void) memcpy((void *)(gc->pc + 4), (void *)(&sfactorRGB), 4); 7170 (void) memcpy((void *)(gc->pc + 8), (void *)(&dfactorRGB), 4); 7171 (void) memcpy((void *)(gc->pc + 12), (void *)(&sfactorAlpha), 4); 7172 (void) memcpy((void *)(gc->pc + 16), (void *)(&dfactorAlpha), 4); 7173 gc->pc += cmdlen; 7174 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7175 } 7176 7177 #define X_GLrop_WindowPos3fvMESA 230 7178 void __indirect_glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z) 7179 { 7180 struct glx_context * const gc = __glXGetCurrentContext(); 7181 const GLuint cmdlen = 16; 7182 emit_header(gc->pc, X_GLrop_WindowPos3fvMESA, cmdlen); 7183 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 4); 7184 (void) memcpy((void *)(gc->pc + 8), (void *)(&y), 4); 7185 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 4); 7186 gc->pc += cmdlen; 7187 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7188 } 7189 7190 #define X_GLrop_WindowPos3fvMESA 230 7191 void __indirect_glWindowPos3fvMESA(const GLfloat * v) 7192 { 7193 generic_12_byte( X_GLrop_WindowPos3fvMESA, v ); 7194 } 7195 7196 #define X_GLvop_AreProgramsResidentNV 1293 7197 GLboolean __indirect_glAreProgramsResidentNV(GLsizei n, const GLuint * ids, GLboolean * residences) 7198 { 7199 struct glx_context * const gc = __glXGetCurrentContext(); 7200 Display * const dpy = gc->currentDpy; 7201 GLboolean retval = (GLboolean) 0; 7202 const GLuint cmdlen = 4 + __GLX_PAD((n * 4)); 7203 if (n < 0) { 7204 __glXSetError(gc, GL_INVALID_VALUE); 7205 return 0; 7206 } 7207 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 7208 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_AreProgramsResidentNV, cmdlen); 7209 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 7210 (void) memcpy((void *)(pc + 4), (void *)(ids), (n * 4)); 7211 retval = (GLboolean) __glXReadReply(dpy, 1, residences, GL_FALSE); 7212 UnlockDisplay(dpy); SyncHandle(); 7213 } 7214 return retval; 7215 } 7216 7217 #define X_GLrop_BindProgramNV 4180 7218 void __indirect_glBindProgramNV(GLenum target, GLuint program) 7219 { 7220 struct glx_context * const gc = __glXGetCurrentContext(); 7221 const GLuint cmdlen = 12; 7222 emit_header(gc->pc, X_GLrop_BindProgramNV, cmdlen); 7223 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 7224 (void) memcpy((void *)(gc->pc + 8), (void *)(&program), 4); 7225 gc->pc += cmdlen; 7226 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7227 } 7228 7229 #define X_GLvop_DeleteProgramsNV 1294 7230 void __indirect_glDeleteProgramsNV(GLsizei n, const GLuint * programs) 7231 { 7232 struct glx_context * const gc = __glXGetCurrentContext(); 7233 Display * const dpy = gc->currentDpy; 7234 const GLuint cmdlen = 4 + __GLX_PAD((n * 4)); 7235 if (n < 0) { 7236 __glXSetError(gc, GL_INVALID_VALUE); 7237 return; 7238 } 7239 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 7240 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivate, X_GLvop_DeleteProgramsNV, cmdlen); 7241 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 7242 (void) memcpy((void *)(pc + 4), (void *)(programs), (n * 4)); 7243 UnlockDisplay(dpy); SyncHandle(); 7244 } 7245 return; 7246 } 7247 7248 #define X_GLrop_ExecuteProgramNV 4181 7249 void __indirect_glExecuteProgramNV(GLenum target, GLuint id, const GLfloat * params) 7250 { 7251 struct glx_context * const gc = __glXGetCurrentContext(); 7252 const GLuint cmdlen = 28; 7253 emit_header(gc->pc, X_GLrop_ExecuteProgramNV, cmdlen); 7254 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 7255 (void) memcpy((void *)(gc->pc + 8), (void *)(&id), 4); 7256 (void) memcpy((void *)(gc->pc + 12), (void *)(params), 16); 7257 gc->pc += cmdlen; 7258 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7259 } 7260 7261 #define X_GLvop_GenProgramsNV 1295 7262 void __indirect_glGenProgramsNV(GLsizei n, GLuint * programs) 7263 { 7264 struct glx_context * const gc = __glXGetCurrentContext(); 7265 Display * const dpy = gc->currentDpy; 7266 const GLuint cmdlen = 4; 7267 if (n < 0) { 7268 __glXSetError(gc, GL_INVALID_VALUE); 7269 return; 7270 } 7271 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 7272 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GenProgramsNV, cmdlen); 7273 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 7274 (void) __glXReadReply(dpy, 4, programs, GL_TRUE); 7275 UnlockDisplay(dpy); SyncHandle(); 7276 } 7277 return; 7278 } 7279 7280 #define X_GLvop_GetProgramParameterdvNV 1297 7281 void __indirect_glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble * params) 7282 { 7283 struct glx_context * const gc = __glXGetCurrentContext(); 7284 Display * const dpy = gc->currentDpy; 7285 const GLuint cmdlen = 12; 7286 if (__builtin_expect(dpy != NULL, 1)) { 7287 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetProgramParameterdvNV, cmdlen); 7288 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 7289 (void) memcpy((void *)(pc + 4), (void *)(&index), 4); 7290 (void) memcpy((void *)(pc + 8), (void *)(&pname), 4); 7291 (void) __glXReadReply(dpy, 8, params, GL_FALSE); 7292 UnlockDisplay(dpy); SyncHandle(); 7293 } 7294 return; 7295 } 7296 7297 #define X_GLvop_GetProgramParameterfvNV 1296 7298 void __indirect_glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat * params) 7299 { 7300 struct glx_context * const gc = __glXGetCurrentContext(); 7301 Display * const dpy = gc->currentDpy; 7302 const GLuint cmdlen = 12; 7303 if (__builtin_expect(dpy != NULL, 1)) { 7304 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetProgramParameterfvNV, cmdlen); 7305 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 7306 (void) memcpy((void *)(pc + 4), (void *)(&index), 4); 7307 (void) memcpy((void *)(pc + 8), (void *)(&pname), 4); 7308 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 7309 UnlockDisplay(dpy); SyncHandle(); 7310 } 7311 return; 7312 } 7313 7314 #define X_GLvop_GetProgramStringNV 1299 7315 void __indirect_glGetProgramStringNV(GLuint id, GLenum pname, GLubyte * program) 7316 { 7317 struct glx_context * const gc = __glXGetCurrentContext(); 7318 Display * const dpy = gc->currentDpy; 7319 const GLuint cmdlen = 8; 7320 if (__builtin_expect(dpy != NULL, 1)) { 7321 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetProgramStringNV, cmdlen); 7322 (void) memcpy((void *)(pc + 0), (void *)(&id), 4); 7323 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 7324 (void) __glXReadReply(dpy, 1, program, GL_TRUE); 7325 UnlockDisplay(dpy); SyncHandle(); 7326 } 7327 return; 7328 } 7329 7330 #define X_GLvop_GetProgramivNV 1298 7331 void __indirect_glGetProgramivNV(GLuint id, GLenum pname, GLint * params) 7332 { 7333 struct glx_context * const gc = __glXGetCurrentContext(); 7334 Display * const dpy = gc->currentDpy; 7335 const GLuint cmdlen = 8; 7336 if (__builtin_expect(dpy != NULL, 1)) { 7337 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetProgramivNV, cmdlen); 7338 (void) memcpy((void *)(pc + 0), (void *)(&id), 4); 7339 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 7340 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 7341 UnlockDisplay(dpy); SyncHandle(); 7342 } 7343 return; 7344 } 7345 7346 #define X_GLvop_GetTrackMatrixivNV 1300 7347 void __indirect_glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint * params) 7348 { 7349 struct glx_context * const gc = __glXGetCurrentContext(); 7350 Display * const dpy = gc->currentDpy; 7351 const GLuint cmdlen = 12; 7352 if (__builtin_expect(dpy != NULL, 1)) { 7353 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetTrackMatrixivNV, cmdlen); 7354 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 7355 (void) memcpy((void *)(pc + 4), (void *)(&address), 4); 7356 (void) memcpy((void *)(pc + 8), (void *)(&pname), 4); 7357 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 7358 UnlockDisplay(dpy); SyncHandle(); 7359 } 7360 return; 7361 } 7362 7363 #define X_GLvop_GetVertexAttribdvNV 1301 7364 void __indirect_glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble * params) 7365 { 7366 struct glx_context * const gc = __glXGetCurrentContext(); 7367 Display * const dpy = gc->currentDpy; 7368 const GLuint cmdlen = 8; 7369 if (__builtin_expect(dpy != NULL, 1)) { 7370 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetVertexAttribdvNV, cmdlen); 7371 (void) memcpy((void *)(pc + 0), (void *)(&index), 4); 7372 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 7373 (void) __glXReadReply(dpy, 8, params, GL_FALSE); 7374 UnlockDisplay(dpy); SyncHandle(); 7375 } 7376 return; 7377 } 7378 7379 #define X_GLvop_GetVertexAttribfvNV 1302 7380 void __indirect_glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat * params) 7381 { 7382 struct glx_context * const gc = __glXGetCurrentContext(); 7383 Display * const dpy = gc->currentDpy; 7384 const GLuint cmdlen = 8; 7385 if (__builtin_expect(dpy != NULL, 1)) { 7386 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetVertexAttribfvNV, cmdlen); 7387 (void) memcpy((void *)(pc + 0), (void *)(&index), 4); 7388 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 7389 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 7390 UnlockDisplay(dpy); SyncHandle(); 7391 } 7392 return; 7393 } 7394 7395 #define X_GLvop_GetVertexAttribivNV 1303 7396 void __indirect_glGetVertexAttribivNV(GLuint index, GLenum pname, GLint * params) 7397 { 7398 struct glx_context * const gc = __glXGetCurrentContext(); 7399 Display * const dpy = gc->currentDpy; 7400 const GLuint cmdlen = 8; 7401 if (__builtin_expect(dpy != NULL, 1)) { 7402 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetVertexAttribivNV, cmdlen); 7403 (void) memcpy((void *)(pc + 0), (void *)(&index), 4); 7404 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 7405 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 7406 UnlockDisplay(dpy); SyncHandle(); 7407 } 7408 return; 7409 } 7410 7411 #define X_GLvop_IsProgramNV 1304 7412 GLboolean __indirect_glIsProgramNV(GLuint program) 7413 { 7414 struct glx_context * const gc = __glXGetCurrentContext(); 7415 Display * const dpy = gc->currentDpy; 7416 GLboolean retval = (GLboolean) 0; 7417 const GLuint cmdlen = 4; 7418 if (__builtin_expect(dpy != NULL, 1)) { 7419 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_IsProgramNV, cmdlen); 7420 (void) memcpy((void *)(pc + 0), (void *)(&program), 4); 7421 retval = (GLboolean) __glXReadReply(dpy, 0, NULL, GL_FALSE); 7422 UnlockDisplay(dpy); SyncHandle(); 7423 } 7424 return retval; 7425 } 7426 7427 #define X_GLrop_LoadProgramNV 4183 7428 void __indirect_glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte * program) 7429 { 7430 struct glx_context * const gc = __glXGetCurrentContext(); 7431 const GLuint cmdlen = 16 + __GLX_PAD(len); 7432 if (len < 0) { 7433 __glXSetError(gc, GL_INVALID_VALUE); 7434 return; 7435 } 7436 if (__builtin_expect(len >= 0, 1)) { 7437 emit_header(gc->pc, X_GLrop_LoadProgramNV, cmdlen); 7438 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 7439 (void) memcpy((void *)(gc->pc + 8), (void *)(&id), 4); 7440 (void) memcpy((void *)(gc->pc + 12), (void *)(&len), 4); 7441 (void) memcpy((void *)(gc->pc + 16), (void *)(program), len); 7442 gc->pc += cmdlen; 7443 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7444 } 7445 } 7446 7447 #define X_GLrop_ProgramParameters4dvNV 4187 7448 void __indirect_glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei num, const GLdouble * params) 7449 { 7450 struct glx_context * const gc = __glXGetCurrentContext(); 7451 const GLuint cmdlen = 16 + __GLX_PAD((num * 32)); 7452 if (num < 0) { 7453 __glXSetError(gc, GL_INVALID_VALUE); 7454 return; 7455 } 7456 if (__builtin_expect(num >= 0, 1)) { 7457 emit_header(gc->pc, X_GLrop_ProgramParameters4dvNV, cmdlen); 7458 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 7459 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 7460 (void) memcpy((void *)(gc->pc + 12), (void *)(&num), 4); 7461 (void) memcpy((void *)(gc->pc + 16), (void *)(params), (num * 32)); 7462 gc->pc += cmdlen; 7463 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7464 } 7465 } 7466 7467 #define X_GLrop_ProgramParameters4fvNV 4186 7468 void __indirect_glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei num, const GLfloat * params) 7469 { 7470 struct glx_context * const gc = __glXGetCurrentContext(); 7471 const GLuint cmdlen = 16 + __GLX_PAD((num * 16)); 7472 if (num < 0) { 7473 __glXSetError(gc, GL_INVALID_VALUE); 7474 return; 7475 } 7476 if (__builtin_expect(num >= 0, 1)) { 7477 emit_header(gc->pc, X_GLrop_ProgramParameters4fvNV, cmdlen); 7478 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 7479 (void) memcpy((void *)(gc->pc + 8), (void *)(&index), 4); 7480 (void) memcpy((void *)(gc->pc + 12), (void *)(&num), 4); 7481 (void) memcpy((void *)(gc->pc + 16), (void *)(params), (num * 16)); 7482 gc->pc += cmdlen; 7483 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7484 } 7485 } 7486 7487 #define X_GLrop_RequestResidentProgramsNV 4182 7488 void __indirect_glRequestResidentProgramsNV(GLsizei n, const GLuint * ids) 7489 { 7490 struct glx_context * const gc = __glXGetCurrentContext(); 7491 const GLuint cmdlen = 8 + __GLX_PAD((n * 4)); 7492 if (n < 0) { 7493 __glXSetError(gc, GL_INVALID_VALUE); 7494 return; 7495 } 7496 if (__builtin_expect(n >= 0, 1)) { 7497 emit_header(gc->pc, X_GLrop_RequestResidentProgramsNV, cmdlen); 7498 (void) memcpy((void *)(gc->pc + 4), (void *)(&n), 4); 7499 (void) memcpy((void *)(gc->pc + 8), (void *)(ids), (n * 4)); 7500 gc->pc += cmdlen; 7501 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7502 } 7503 } 7504 7505 #define X_GLrop_TrackMatrixNV 4188 7506 void __indirect_glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform) 7507 { 7508 struct glx_context * const gc = __glXGetCurrentContext(); 7509 const GLuint cmdlen = 20; 7510 emit_header(gc->pc, X_GLrop_TrackMatrixNV, cmdlen); 7511 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 7512 (void) memcpy((void *)(gc->pc + 8), (void *)(&address), 4); 7513 (void) memcpy((void *)(gc->pc + 12), (void *)(&matrix), 4); 7514 (void) memcpy((void *)(gc->pc + 16), (void *)(&transform), 4); 7515 gc->pc += cmdlen; 7516 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7517 } 7518 7519 #define X_GLrop_VertexAttrib1dvNV 4273 7520 void __indirect_glVertexAttrib1dNV(GLuint index, GLdouble x) 7521 { 7522 struct glx_context * const gc = __glXGetCurrentContext(); 7523 const GLuint cmdlen = 16; 7524 emit_header(gc->pc, X_GLrop_VertexAttrib1dvNV, cmdlen); 7525 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7526 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8); 7527 gc->pc += cmdlen; 7528 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7529 } 7530 7531 #define X_GLrop_VertexAttrib1dvNV 4273 7532 void __indirect_glVertexAttrib1dvNV(GLuint index, const GLdouble * v) 7533 { 7534 struct glx_context * const gc = __glXGetCurrentContext(); 7535 const GLuint cmdlen = 16; 7536 emit_header(gc->pc, X_GLrop_VertexAttrib1dvNV, cmdlen); 7537 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7538 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 7539 gc->pc += cmdlen; 7540 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7541 } 7542 7543 #define X_GLrop_VertexAttrib1fvNV 4269 7544 void __indirect_glVertexAttrib1fNV(GLuint index, GLfloat x) 7545 { 7546 struct glx_context * const gc = __glXGetCurrentContext(); 7547 const GLuint cmdlen = 12; 7548 emit_header(gc->pc, X_GLrop_VertexAttrib1fvNV, cmdlen); 7549 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7550 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 7551 gc->pc += cmdlen; 7552 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7553 } 7554 7555 #define X_GLrop_VertexAttrib1fvNV 4269 7556 void __indirect_glVertexAttrib1fvNV(GLuint index, const GLfloat * v) 7557 { 7558 struct glx_context * const gc = __glXGetCurrentContext(); 7559 const GLuint cmdlen = 12; 7560 emit_header(gc->pc, X_GLrop_VertexAttrib1fvNV, cmdlen); 7561 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7562 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 7563 gc->pc += cmdlen; 7564 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7565 } 7566 7567 #define X_GLrop_VertexAttrib1svNV 4265 7568 void __indirect_glVertexAttrib1sNV(GLuint index, GLshort x) 7569 { 7570 struct glx_context * const gc = __glXGetCurrentContext(); 7571 const GLuint cmdlen = 12; 7572 emit_header(gc->pc, X_GLrop_VertexAttrib1svNV, cmdlen); 7573 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7574 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 2); 7575 gc->pc += cmdlen; 7576 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7577 } 7578 7579 #define X_GLrop_VertexAttrib1svNV 4265 7580 void __indirect_glVertexAttrib1svNV(GLuint index, const GLshort * v) 7581 { 7582 struct glx_context * const gc = __glXGetCurrentContext(); 7583 const GLuint cmdlen = 12; 7584 emit_header(gc->pc, X_GLrop_VertexAttrib1svNV, cmdlen); 7585 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7586 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 2); 7587 gc->pc += cmdlen; 7588 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7589 } 7590 7591 #define X_GLrop_VertexAttrib2dvNV 4274 7592 void __indirect_glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y) 7593 { 7594 struct glx_context * const gc = __glXGetCurrentContext(); 7595 const GLuint cmdlen = 24; 7596 emit_header(gc->pc, X_GLrop_VertexAttrib2dvNV, cmdlen); 7597 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7598 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8); 7599 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8); 7600 gc->pc += cmdlen; 7601 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7602 } 7603 7604 #define X_GLrop_VertexAttrib2dvNV 4274 7605 void __indirect_glVertexAttrib2dvNV(GLuint index, const GLdouble * v) 7606 { 7607 struct glx_context * const gc = __glXGetCurrentContext(); 7608 const GLuint cmdlen = 24; 7609 emit_header(gc->pc, X_GLrop_VertexAttrib2dvNV, cmdlen); 7610 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7611 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 7612 gc->pc += cmdlen; 7613 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7614 } 7615 7616 #define X_GLrop_VertexAttrib2fvNV 4270 7617 void __indirect_glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y) 7618 { 7619 struct glx_context * const gc = __glXGetCurrentContext(); 7620 const GLuint cmdlen = 16; 7621 emit_header(gc->pc, X_GLrop_VertexAttrib2fvNV, cmdlen); 7622 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7623 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 7624 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 4); 7625 gc->pc += cmdlen; 7626 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7627 } 7628 7629 #define X_GLrop_VertexAttrib2fvNV 4270 7630 void __indirect_glVertexAttrib2fvNV(GLuint index, const GLfloat * v) 7631 { 7632 struct glx_context * const gc = __glXGetCurrentContext(); 7633 const GLuint cmdlen = 16; 7634 emit_header(gc->pc, X_GLrop_VertexAttrib2fvNV, cmdlen); 7635 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7636 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 7637 gc->pc += cmdlen; 7638 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7639 } 7640 7641 #define X_GLrop_VertexAttrib2svNV 4266 7642 void __indirect_glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y) 7643 { 7644 struct glx_context * const gc = __glXGetCurrentContext(); 7645 const GLuint cmdlen = 12; 7646 emit_header(gc->pc, X_GLrop_VertexAttrib2svNV, cmdlen); 7647 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7648 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 2); 7649 (void) memcpy((void *)(gc->pc + 10), (void *)(&y), 2); 7650 gc->pc += cmdlen; 7651 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7652 } 7653 7654 #define X_GLrop_VertexAttrib2svNV 4266 7655 void __indirect_glVertexAttrib2svNV(GLuint index, const GLshort * v) 7656 { 7657 struct glx_context * const gc = __glXGetCurrentContext(); 7658 const GLuint cmdlen = 12; 7659 emit_header(gc->pc, X_GLrop_VertexAttrib2svNV, cmdlen); 7660 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7661 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 7662 gc->pc += cmdlen; 7663 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7664 } 7665 7666 #define X_GLrop_VertexAttrib3dvNV 4275 7667 void __indirect_glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z) 7668 { 7669 struct glx_context * const gc = __glXGetCurrentContext(); 7670 const GLuint cmdlen = 32; 7671 emit_header(gc->pc, X_GLrop_VertexAttrib3dvNV, cmdlen); 7672 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7673 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8); 7674 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8); 7675 (void) memcpy((void *)(gc->pc + 24), (void *)(&z), 8); 7676 gc->pc += cmdlen; 7677 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7678 } 7679 7680 #define X_GLrop_VertexAttrib3dvNV 4275 7681 void __indirect_glVertexAttrib3dvNV(GLuint index, const GLdouble * v) 7682 { 7683 struct glx_context * const gc = __glXGetCurrentContext(); 7684 const GLuint cmdlen = 32; 7685 emit_header(gc->pc, X_GLrop_VertexAttrib3dvNV, cmdlen); 7686 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7687 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 24); 7688 gc->pc += cmdlen; 7689 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7690 } 7691 7692 #define X_GLrop_VertexAttrib3fvNV 4271 7693 void __indirect_glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z) 7694 { 7695 struct glx_context * const gc = __glXGetCurrentContext(); 7696 const GLuint cmdlen = 20; 7697 emit_header(gc->pc, X_GLrop_VertexAttrib3fvNV, cmdlen); 7698 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7699 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 7700 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 4); 7701 (void) memcpy((void *)(gc->pc + 16), (void *)(&z), 4); 7702 gc->pc += cmdlen; 7703 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7704 } 7705 7706 #define X_GLrop_VertexAttrib3fvNV 4271 7707 void __indirect_glVertexAttrib3fvNV(GLuint index, const GLfloat * v) 7708 { 7709 struct glx_context * const gc = __glXGetCurrentContext(); 7710 const GLuint cmdlen = 20; 7711 emit_header(gc->pc, X_GLrop_VertexAttrib3fvNV, cmdlen); 7712 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7713 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 12); 7714 gc->pc += cmdlen; 7715 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7716 } 7717 7718 #define X_GLrop_VertexAttrib3svNV 4267 7719 void __indirect_glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z) 7720 { 7721 struct glx_context * const gc = __glXGetCurrentContext(); 7722 const GLuint cmdlen = 16; 7723 emit_header(gc->pc, X_GLrop_VertexAttrib3svNV, cmdlen); 7724 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7725 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 2); 7726 (void) memcpy((void *)(gc->pc + 10), (void *)(&y), 2); 7727 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 2); 7728 gc->pc += cmdlen; 7729 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7730 } 7731 7732 #define X_GLrop_VertexAttrib3svNV 4267 7733 void __indirect_glVertexAttrib3svNV(GLuint index, const GLshort * v) 7734 { 7735 struct glx_context * const gc = __glXGetCurrentContext(); 7736 const GLuint cmdlen = 16; 7737 emit_header(gc->pc, X_GLrop_VertexAttrib3svNV, cmdlen); 7738 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7739 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 6); 7740 gc->pc += cmdlen; 7741 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7742 } 7743 7744 #define X_GLrop_VertexAttrib4dvNV 4276 7745 void __indirect_glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 7746 { 7747 struct glx_context * const gc = __glXGetCurrentContext(); 7748 const GLuint cmdlen = 40; 7749 emit_header(gc->pc, X_GLrop_VertexAttrib4dvNV, cmdlen); 7750 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7751 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8); 7752 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8); 7753 (void) memcpy((void *)(gc->pc + 24), (void *)(&z), 8); 7754 (void) memcpy((void *)(gc->pc + 32), (void *)(&w), 8); 7755 gc->pc += cmdlen; 7756 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7757 } 7758 7759 #define X_GLrop_VertexAttrib4dvNV 4276 7760 void __indirect_glVertexAttrib4dvNV(GLuint index, const GLdouble * v) 7761 { 7762 struct glx_context * const gc = __glXGetCurrentContext(); 7763 const GLuint cmdlen = 40; 7764 emit_header(gc->pc, X_GLrop_VertexAttrib4dvNV, cmdlen); 7765 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7766 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 32); 7767 gc->pc += cmdlen; 7768 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7769 } 7770 7771 #define X_GLrop_VertexAttrib4fvNV 4272 7772 void __indirect_glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 7773 { 7774 struct glx_context * const gc = __glXGetCurrentContext(); 7775 const GLuint cmdlen = 24; 7776 emit_header(gc->pc, X_GLrop_VertexAttrib4fvNV, cmdlen); 7777 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7778 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 4); 7779 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 4); 7780 (void) memcpy((void *)(gc->pc + 16), (void *)(&z), 4); 7781 (void) memcpy((void *)(gc->pc + 20), (void *)(&w), 4); 7782 gc->pc += cmdlen; 7783 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7784 } 7785 7786 #define X_GLrop_VertexAttrib4fvNV 4272 7787 void __indirect_glVertexAttrib4fvNV(GLuint index, const GLfloat * v) 7788 { 7789 struct glx_context * const gc = __glXGetCurrentContext(); 7790 const GLuint cmdlen = 24; 7791 emit_header(gc->pc, X_GLrop_VertexAttrib4fvNV, cmdlen); 7792 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7793 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16); 7794 gc->pc += cmdlen; 7795 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7796 } 7797 7798 #define X_GLrop_VertexAttrib4svNV 4268 7799 void __indirect_glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) 7800 { 7801 struct glx_context * const gc = __glXGetCurrentContext(); 7802 const GLuint cmdlen = 16; 7803 emit_header(gc->pc, X_GLrop_VertexAttrib4svNV, cmdlen); 7804 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7805 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 2); 7806 (void) memcpy((void *)(gc->pc + 10), (void *)(&y), 2); 7807 (void) memcpy((void *)(gc->pc + 12), (void *)(&z), 2); 7808 (void) memcpy((void *)(gc->pc + 14), (void *)(&w), 2); 7809 gc->pc += cmdlen; 7810 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7811 } 7812 7813 #define X_GLrop_VertexAttrib4svNV 4268 7814 void __indirect_glVertexAttrib4svNV(GLuint index, const GLshort * v) 7815 { 7816 struct glx_context * const gc = __glXGetCurrentContext(); 7817 const GLuint cmdlen = 16; 7818 emit_header(gc->pc, X_GLrop_VertexAttrib4svNV, cmdlen); 7819 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7820 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8); 7821 gc->pc += cmdlen; 7822 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7823 } 7824 7825 #define X_GLrop_VertexAttrib4ubvNV 4277 7826 void __indirect_glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) 7827 { 7828 struct glx_context * const gc = __glXGetCurrentContext(); 7829 const GLuint cmdlen = 12; 7830 emit_header(gc->pc, X_GLrop_VertexAttrib4ubvNV, cmdlen); 7831 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7832 (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 1); 7833 (void) memcpy((void *)(gc->pc + 9), (void *)(&y), 1); 7834 (void) memcpy((void *)(gc->pc + 10), (void *)(&z), 1); 7835 (void) memcpy((void *)(gc->pc + 11), (void *)(&w), 1); 7836 gc->pc += cmdlen; 7837 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7838 } 7839 7840 #define X_GLrop_VertexAttrib4ubvNV 4277 7841 void __indirect_glVertexAttrib4ubvNV(GLuint index, const GLubyte * v) 7842 { 7843 struct glx_context * const gc = __glXGetCurrentContext(); 7844 const GLuint cmdlen = 12; 7845 emit_header(gc->pc, X_GLrop_VertexAttrib4ubvNV, cmdlen); 7846 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7847 (void) memcpy((void *)(gc->pc + 8), (void *)(v), 4); 7848 gc->pc += cmdlen; 7849 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7850 } 7851 7852 #define X_GLrop_VertexAttribs1dvNV 4210 7853 void __indirect_glVertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble * v) 7854 { 7855 struct glx_context * const gc = __glXGetCurrentContext(); 7856 const GLuint cmdlen = 12 + __GLX_PAD((n * 8)); 7857 if (n < 0) { 7858 __glXSetError(gc, GL_INVALID_VALUE); 7859 return; 7860 } 7861 if (__builtin_expect(n >= 0, 1)) { 7862 emit_header(gc->pc, X_GLrop_VertexAttribs1dvNV, cmdlen); 7863 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7864 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 7865 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 8)); 7866 gc->pc += cmdlen; 7867 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7868 } 7869 } 7870 7871 #define X_GLrop_VertexAttribs1fvNV 4206 7872 void __indirect_glVertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat * v) 7873 { 7874 struct glx_context * const gc = __glXGetCurrentContext(); 7875 const GLuint cmdlen = 12 + __GLX_PAD((n * 4)); 7876 if (n < 0) { 7877 __glXSetError(gc, GL_INVALID_VALUE); 7878 return; 7879 } 7880 if (__builtin_expect(n >= 0, 1)) { 7881 emit_header(gc->pc, X_GLrop_VertexAttribs1fvNV, cmdlen); 7882 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7883 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 7884 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 4)); 7885 gc->pc += cmdlen; 7886 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7887 } 7888 } 7889 7890 #define X_GLrop_VertexAttribs1svNV 4202 7891 void __indirect_glVertexAttribs1svNV(GLuint index, GLsizei n, const GLshort * v) 7892 { 7893 struct glx_context * const gc = __glXGetCurrentContext(); 7894 const GLuint cmdlen = 12 + __GLX_PAD((n * 2)); 7895 if (n < 0) { 7896 __glXSetError(gc, GL_INVALID_VALUE); 7897 return; 7898 } 7899 if (__builtin_expect(n >= 0, 1)) { 7900 emit_header(gc->pc, X_GLrop_VertexAttribs1svNV, cmdlen); 7901 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7902 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 7903 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 2)); 7904 gc->pc += cmdlen; 7905 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7906 } 7907 } 7908 7909 #define X_GLrop_VertexAttribs2dvNV 4211 7910 void __indirect_glVertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble * v) 7911 { 7912 struct glx_context * const gc = __glXGetCurrentContext(); 7913 const GLuint cmdlen = 12 + __GLX_PAD((n * 16)); 7914 if (n < 0) { 7915 __glXSetError(gc, GL_INVALID_VALUE); 7916 return; 7917 } 7918 if (__builtin_expect(n >= 0, 1)) { 7919 emit_header(gc->pc, X_GLrop_VertexAttribs2dvNV, cmdlen); 7920 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7921 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 7922 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 16)); 7923 gc->pc += cmdlen; 7924 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7925 } 7926 } 7927 7928 #define X_GLrop_VertexAttribs2fvNV 4207 7929 void __indirect_glVertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat * v) 7930 { 7931 struct glx_context * const gc = __glXGetCurrentContext(); 7932 const GLuint cmdlen = 12 + __GLX_PAD((n * 8)); 7933 if (n < 0) { 7934 __glXSetError(gc, GL_INVALID_VALUE); 7935 return; 7936 } 7937 if (__builtin_expect(n >= 0, 1)) { 7938 emit_header(gc->pc, X_GLrop_VertexAttribs2fvNV, cmdlen); 7939 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7940 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 7941 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 8)); 7942 gc->pc += cmdlen; 7943 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7944 } 7945 } 7946 7947 #define X_GLrop_VertexAttribs2svNV 4203 7948 void __indirect_glVertexAttribs2svNV(GLuint index, GLsizei n, const GLshort * v) 7949 { 7950 struct glx_context * const gc = __glXGetCurrentContext(); 7951 const GLuint cmdlen = 12 + __GLX_PAD((n * 4)); 7952 if (n < 0) { 7953 __glXSetError(gc, GL_INVALID_VALUE); 7954 return; 7955 } 7956 if (__builtin_expect(n >= 0, 1)) { 7957 emit_header(gc->pc, X_GLrop_VertexAttribs2svNV, cmdlen); 7958 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7959 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 7960 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 4)); 7961 gc->pc += cmdlen; 7962 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7963 } 7964 } 7965 7966 #define X_GLrop_VertexAttribs3dvNV 4212 7967 void __indirect_glVertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble * v) 7968 { 7969 struct glx_context * const gc = __glXGetCurrentContext(); 7970 const GLuint cmdlen = 12 + __GLX_PAD((n * 24)); 7971 if (n < 0) { 7972 __glXSetError(gc, GL_INVALID_VALUE); 7973 return; 7974 } 7975 if (__builtin_expect(n >= 0, 1)) { 7976 emit_header(gc->pc, X_GLrop_VertexAttribs3dvNV, cmdlen); 7977 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7978 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 7979 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 24)); 7980 gc->pc += cmdlen; 7981 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 7982 } 7983 } 7984 7985 #define X_GLrop_VertexAttribs3fvNV 4208 7986 void __indirect_glVertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat * v) 7987 { 7988 struct glx_context * const gc = __glXGetCurrentContext(); 7989 const GLuint cmdlen = 12 + __GLX_PAD((n * 12)); 7990 if (n < 0) { 7991 __glXSetError(gc, GL_INVALID_VALUE); 7992 return; 7993 } 7994 if (__builtin_expect(n >= 0, 1)) { 7995 emit_header(gc->pc, X_GLrop_VertexAttribs3fvNV, cmdlen); 7996 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 7997 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 7998 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 12)); 7999 gc->pc += cmdlen; 8000 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8001 } 8002 } 8003 8004 #define X_GLrop_VertexAttribs3svNV 4204 8005 void __indirect_glVertexAttribs3svNV(GLuint index, GLsizei n, const GLshort * v) 8006 { 8007 struct glx_context * const gc = __glXGetCurrentContext(); 8008 const GLuint cmdlen = 12 + __GLX_PAD((n * 6)); 8009 if (n < 0) { 8010 __glXSetError(gc, GL_INVALID_VALUE); 8011 return; 8012 } 8013 if (__builtin_expect(n >= 0, 1)) { 8014 emit_header(gc->pc, X_GLrop_VertexAttribs3svNV, cmdlen); 8015 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 8016 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 8017 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 6)); 8018 gc->pc += cmdlen; 8019 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8020 } 8021 } 8022 8023 #define X_GLrop_VertexAttribs4dvNV 4213 8024 void __indirect_glVertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble * v) 8025 { 8026 struct glx_context * const gc = __glXGetCurrentContext(); 8027 const GLuint cmdlen = 12 + __GLX_PAD((n * 32)); 8028 if (n < 0) { 8029 __glXSetError(gc, GL_INVALID_VALUE); 8030 return; 8031 } 8032 if (__builtin_expect(n >= 0, 1)) { 8033 emit_header(gc->pc, X_GLrop_VertexAttribs4dvNV, cmdlen); 8034 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 8035 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 8036 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 32)); 8037 gc->pc += cmdlen; 8038 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8039 } 8040 } 8041 8042 #define X_GLrop_VertexAttribs4fvNV 4209 8043 void __indirect_glVertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat * v) 8044 { 8045 struct glx_context * const gc = __glXGetCurrentContext(); 8046 const GLuint cmdlen = 12 + __GLX_PAD((n * 16)); 8047 if (n < 0) { 8048 __glXSetError(gc, GL_INVALID_VALUE); 8049 return; 8050 } 8051 if (__builtin_expect(n >= 0, 1)) { 8052 emit_header(gc->pc, X_GLrop_VertexAttribs4fvNV, cmdlen); 8053 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 8054 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 8055 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 16)); 8056 gc->pc += cmdlen; 8057 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8058 } 8059 } 8060 8061 #define X_GLrop_VertexAttribs4svNV 4205 8062 void __indirect_glVertexAttribs4svNV(GLuint index, GLsizei n, const GLshort * v) 8063 { 8064 struct glx_context * const gc = __glXGetCurrentContext(); 8065 const GLuint cmdlen = 12 + __GLX_PAD((n * 8)); 8066 if (n < 0) { 8067 __glXSetError(gc, GL_INVALID_VALUE); 8068 return; 8069 } 8070 if (__builtin_expect(n >= 0, 1)) { 8071 emit_header(gc->pc, X_GLrop_VertexAttribs4svNV, cmdlen); 8072 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 8073 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 8074 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 8)); 8075 gc->pc += cmdlen; 8076 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8077 } 8078 } 8079 8080 #define X_GLrop_VertexAttribs4ubvNV 4214 8081 void __indirect_glVertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte * v) 8082 { 8083 struct glx_context * const gc = __glXGetCurrentContext(); 8084 const GLuint cmdlen = 12 + __GLX_PAD((n * 4)); 8085 if (n < 0) { 8086 __glXSetError(gc, GL_INVALID_VALUE); 8087 return; 8088 } 8089 if (__builtin_expect(n >= 0, 1)) { 8090 emit_header(gc->pc, X_GLrop_VertexAttribs4ubvNV, cmdlen); 8091 (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4); 8092 (void) memcpy((void *)(gc->pc + 8), (void *)(&n), 4); 8093 (void) memcpy((void *)(gc->pc + 12), (void *)(v), (n * 4)); 8094 gc->pc += cmdlen; 8095 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8096 } 8097 } 8098 8099 #define X_GLrop_PointParameteriNV 4221 8100 void __indirect_glPointParameteriNV(GLenum pname, GLint param) 8101 { 8102 struct glx_context * const gc = __glXGetCurrentContext(); 8103 const GLuint cmdlen = 12; 8104 emit_header(gc->pc, X_GLrop_PointParameteriNV, cmdlen); 8105 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 8106 (void) memcpy((void *)(gc->pc + 8), (void *)(¶m), 4); 8107 gc->pc += cmdlen; 8108 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8109 } 8110 8111 #define X_GLrop_PointParameterivNV 4222 8112 void __indirect_glPointParameterivNV(GLenum pname, const GLint * params) 8113 { 8114 struct glx_context * const gc = __glXGetCurrentContext(); 8115 const GLuint compsize = __glPointParameterivNV_size(pname); 8116 const GLuint cmdlen = 8 + __GLX_PAD((compsize * 4)); 8117 emit_header(gc->pc, X_GLrop_PointParameterivNV, cmdlen); 8118 (void) memcpy((void *)(gc->pc + 4), (void *)(&pname), 4); 8119 (void) memcpy((void *)(gc->pc + 8), (void *)(params), (compsize * 4)); 8120 gc->pc += cmdlen; 8121 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8122 } 8123 8124 #define X_GLrop_ActiveStencilFaceEXT 4220 8125 void __indirect_glActiveStencilFaceEXT(GLenum face) 8126 { 8127 struct glx_context * const gc = __glXGetCurrentContext(); 8128 const GLuint cmdlen = 8; 8129 emit_header(gc->pc, X_GLrop_ActiveStencilFaceEXT, cmdlen); 8130 (void) memcpy((void *)(gc->pc + 4), (void *)(&face), 4); 8131 gc->pc += cmdlen; 8132 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8133 } 8134 8135 #define X_GLvop_GetProgramNamedParameterdvNV 1311 8136 void __indirect_glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params) 8137 { 8138 struct glx_context * const gc = __glXGetCurrentContext(); 8139 Display * const dpy = gc->currentDpy; 8140 const GLuint cmdlen = 8 + __GLX_PAD(len); 8141 if (len < 0) { 8142 __glXSetError(gc, GL_INVALID_VALUE); 8143 return; 8144 } 8145 if (__builtin_expect((len >= 0) && (dpy != NULL), 1)) { 8146 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetProgramNamedParameterdvNV, cmdlen); 8147 (void) memcpy((void *)(pc + 0), (void *)(&id), 4); 8148 (void) memcpy((void *)(pc + 4), (void *)(&len), 4); 8149 (void) memcpy((void *)(pc + 8), (void *)(name), len); 8150 (void) __glXReadReply(dpy, 8, params, GL_TRUE); 8151 UnlockDisplay(dpy); SyncHandle(); 8152 } 8153 return; 8154 } 8155 8156 #define X_GLvop_GetProgramNamedParameterfvNV 1310 8157 void __indirect_glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params) 8158 { 8159 struct glx_context * const gc = __glXGetCurrentContext(); 8160 Display * const dpy = gc->currentDpy; 8161 const GLuint cmdlen = 8 + __GLX_PAD(len); 8162 if (len < 0) { 8163 __glXSetError(gc, GL_INVALID_VALUE); 8164 return; 8165 } 8166 if (__builtin_expect((len >= 0) && (dpy != NULL), 1)) { 8167 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetProgramNamedParameterfvNV, cmdlen); 8168 (void) memcpy((void *)(pc + 0), (void *)(&id), 4); 8169 (void) memcpy((void *)(pc + 4), (void *)(&len), 4); 8170 (void) memcpy((void *)(pc + 8), (void *)(name), len); 8171 (void) __glXReadReply(dpy, 4, params, GL_TRUE); 8172 UnlockDisplay(dpy); SyncHandle(); 8173 } 8174 return; 8175 } 8176 8177 #define X_GLrop_ProgramNamedParameter4dvNV 4219 8178 void __indirect_glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 8179 { 8180 struct glx_context * const gc = __glXGetCurrentContext(); 8181 const GLuint cmdlen = 44 + __GLX_PAD(len); 8182 if (len < 0) { 8183 __glXSetError(gc, GL_INVALID_VALUE); 8184 return; 8185 } 8186 if (__builtin_expect(len >= 0, 1)) { 8187 emit_header(gc->pc, X_GLrop_ProgramNamedParameter4dvNV, cmdlen); 8188 (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8); 8189 (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8); 8190 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8); 8191 (void) memcpy((void *)(gc->pc + 28), (void *)(&w), 8); 8192 (void) memcpy((void *)(gc->pc + 36), (void *)(&id), 4); 8193 (void) memcpy((void *)(gc->pc + 40), (void *)(&len), 4); 8194 (void) memcpy((void *)(gc->pc + 44), (void *)(name), len); 8195 gc->pc += cmdlen; 8196 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8197 } 8198 } 8199 8200 #define X_GLrop_ProgramNamedParameter4dvNV 4219 8201 void __indirect_glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v) 8202 { 8203 struct glx_context * const gc = __glXGetCurrentContext(); 8204 const GLuint cmdlen = 44 + __GLX_PAD(len); 8205 if (len < 0) { 8206 __glXSetError(gc, GL_INVALID_VALUE); 8207 return; 8208 } 8209 if (__builtin_expect(len >= 0, 1)) { 8210 emit_header(gc->pc, X_GLrop_ProgramNamedParameter4dvNV, cmdlen); 8211 (void) memcpy((void *)(gc->pc + 4), (void *)(v), 32); 8212 (void) memcpy((void *)(gc->pc + 36), (void *)(&id), 4); 8213 (void) memcpy((void *)(gc->pc + 40), (void *)(&len), 4); 8214 (void) memcpy((void *)(gc->pc + 44), (void *)(name), len); 8215 gc->pc += cmdlen; 8216 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8217 } 8218 } 8219 8220 #define X_GLrop_ProgramNamedParameter4fvNV 4218 8221 void __indirect_glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 8222 { 8223 struct glx_context * const gc = __glXGetCurrentContext(); 8224 const GLuint cmdlen = 28 + __GLX_PAD(len); 8225 if (len < 0) { 8226 __glXSetError(gc, GL_INVALID_VALUE); 8227 return; 8228 } 8229 if (__builtin_expect(len >= 0, 1)) { 8230 emit_header(gc->pc, X_GLrop_ProgramNamedParameter4fvNV, cmdlen); 8231 (void) memcpy((void *)(gc->pc + 4), (void *)(&id), 4); 8232 (void) memcpy((void *)(gc->pc + 8), (void *)(&len), 4); 8233 (void) memcpy((void *)(gc->pc + 12), (void *)(&x), 4); 8234 (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 4); 8235 (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 4); 8236 (void) memcpy((void *)(gc->pc + 24), (void *)(&w), 4); 8237 (void) memcpy((void *)(gc->pc + 28), (void *)(name), len); 8238 gc->pc += cmdlen; 8239 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8240 } 8241 } 8242 8243 #define X_GLrop_ProgramNamedParameter4fvNV 4218 8244 void __indirect_glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v) 8245 { 8246 struct glx_context * const gc = __glXGetCurrentContext(); 8247 const GLuint cmdlen = 28 + __GLX_PAD(len); 8248 if (len < 0) { 8249 __glXSetError(gc, GL_INVALID_VALUE); 8250 return; 8251 } 8252 if (__builtin_expect(len >= 0, 1)) { 8253 emit_header(gc->pc, X_GLrop_ProgramNamedParameter4fvNV, cmdlen); 8254 (void) memcpy((void *)(gc->pc + 4), (void *)(&id), 4); 8255 (void) memcpy((void *)(gc->pc + 8), (void *)(&len), 4); 8256 (void) memcpy((void *)(gc->pc + 12), (void *)(v), 16); 8257 (void) memcpy((void *)(gc->pc + 28), (void *)(name), len); 8258 gc->pc += cmdlen; 8259 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8260 } 8261 } 8262 8263 #define X_GLrop_BlendEquationSeparateEXT 4228 8264 void __indirect_glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeA) 8265 { 8266 struct glx_context * const gc = __glXGetCurrentContext(); 8267 const GLuint cmdlen = 12; 8268 emit_header(gc->pc, X_GLrop_BlendEquationSeparateEXT, cmdlen); 8269 (void) memcpy((void *)(gc->pc + 4), (void *)(&modeRGB), 4); 8270 (void) memcpy((void *)(gc->pc + 8), (void *)(&modeA), 4); 8271 gc->pc += cmdlen; 8272 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8273 } 8274 8275 #define X_GLrop_BindFramebufferEXT 4319 8276 void __indirect_glBindFramebufferEXT(GLenum target, GLuint framebuffer) 8277 { 8278 struct glx_context * const gc = __glXGetCurrentContext(); 8279 const GLuint cmdlen = 12; 8280 emit_header(gc->pc, X_GLrop_BindFramebufferEXT, cmdlen); 8281 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8282 (void) memcpy((void *)(gc->pc + 8), (void *)(&framebuffer), 4); 8283 gc->pc += cmdlen; 8284 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8285 } 8286 8287 #define X_GLrop_BindRenderbufferEXT 4316 8288 void __indirect_glBindRenderbufferEXT(GLenum target, GLuint renderbuffer) 8289 { 8290 struct glx_context * const gc = __glXGetCurrentContext(); 8291 const GLuint cmdlen = 12; 8292 emit_header(gc->pc, X_GLrop_BindRenderbufferEXT, cmdlen); 8293 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8294 (void) memcpy((void *)(gc->pc + 8), (void *)(&renderbuffer), 4); 8295 gc->pc += cmdlen; 8296 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8297 } 8298 8299 #define X_GLvop_CheckFramebufferStatusEXT 1427 8300 GLenum __indirect_glCheckFramebufferStatusEXT(GLenum target) 8301 { 8302 struct glx_context * const gc = __glXGetCurrentContext(); 8303 Display * const dpy = gc->currentDpy; 8304 GLenum retval = (GLenum) 0; 8305 const GLuint cmdlen = 4; 8306 if (__builtin_expect(dpy != NULL, 1)) { 8307 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_CheckFramebufferStatusEXT, cmdlen); 8308 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 8309 retval = (GLenum) __glXReadReply(dpy, 0, NULL, GL_FALSE); 8310 UnlockDisplay(dpy); SyncHandle(); 8311 } 8312 return retval; 8313 } 8314 8315 #define X_GLrop_DeleteFramebuffersEXT 4320 8316 void __indirect_glDeleteFramebuffersEXT(GLsizei n, const GLuint * framebuffers) 8317 { 8318 struct glx_context * const gc = __glXGetCurrentContext(); 8319 const GLuint cmdlen = 8 + __GLX_PAD((n * 4)); 8320 if (n < 0) { 8321 __glXSetError(gc, GL_INVALID_VALUE); 8322 return; 8323 } 8324 if (__builtin_expect(n >= 0, 1)) { 8325 emit_header(gc->pc, X_GLrop_DeleteFramebuffersEXT, cmdlen); 8326 (void) memcpy((void *)(gc->pc + 4), (void *)(&n), 4); 8327 (void) memcpy((void *)(gc->pc + 8), (void *)(framebuffers), (n * 4)); 8328 gc->pc += cmdlen; 8329 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8330 } 8331 } 8332 8333 #define X_GLrop_DeleteRenderbuffersEXT 4317 8334 void __indirect_glDeleteRenderbuffersEXT(GLsizei n, const GLuint * renderbuffers) 8335 { 8336 struct glx_context * const gc = __glXGetCurrentContext(); 8337 const GLuint cmdlen = 8 + __GLX_PAD((n * 4)); 8338 if (n < 0) { 8339 __glXSetError(gc, GL_INVALID_VALUE); 8340 return; 8341 } 8342 if (__builtin_expect(n >= 0, 1)) { 8343 emit_header(gc->pc, X_GLrop_DeleteRenderbuffersEXT, cmdlen); 8344 (void) memcpy((void *)(gc->pc + 4), (void *)(&n), 4); 8345 (void) memcpy((void *)(gc->pc + 8), (void *)(renderbuffers), (n * 4)); 8346 gc->pc += cmdlen; 8347 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8348 } 8349 } 8350 8351 #define X_GLrop_FramebufferRenderbufferEXT 4324 8352 void __indirect_glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 8353 { 8354 struct glx_context * const gc = __glXGetCurrentContext(); 8355 const GLuint cmdlen = 20; 8356 emit_header(gc->pc, X_GLrop_FramebufferRenderbufferEXT, cmdlen); 8357 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8358 (void) memcpy((void *)(gc->pc + 8), (void *)(&attachment), 4); 8359 (void) memcpy((void *)(gc->pc + 12), (void *)(&renderbuffertarget), 4); 8360 (void) memcpy((void *)(gc->pc + 16), (void *)(&renderbuffer), 4); 8361 gc->pc += cmdlen; 8362 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8363 } 8364 8365 #define X_GLrop_FramebufferTexture1DEXT 4321 8366 void __indirect_glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 8367 { 8368 struct glx_context * const gc = __glXGetCurrentContext(); 8369 const GLuint cmdlen = 24; 8370 emit_header(gc->pc, X_GLrop_FramebufferTexture1DEXT, cmdlen); 8371 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8372 (void) memcpy((void *)(gc->pc + 8), (void *)(&attachment), 4); 8373 (void) memcpy((void *)(gc->pc + 12), (void *)(&textarget), 4); 8374 (void) memcpy((void *)(gc->pc + 16), (void *)(&texture), 4); 8375 (void) memcpy((void *)(gc->pc + 20), (void *)(&level), 4); 8376 gc->pc += cmdlen; 8377 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8378 } 8379 8380 #define X_GLrop_FramebufferTexture2DEXT 4322 8381 void __indirect_glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 8382 { 8383 struct glx_context * const gc = __glXGetCurrentContext(); 8384 const GLuint cmdlen = 24; 8385 emit_header(gc->pc, X_GLrop_FramebufferTexture2DEXT, cmdlen); 8386 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8387 (void) memcpy((void *)(gc->pc + 8), (void *)(&attachment), 4); 8388 (void) memcpy((void *)(gc->pc + 12), (void *)(&textarget), 4); 8389 (void) memcpy((void *)(gc->pc + 16), (void *)(&texture), 4); 8390 (void) memcpy((void *)(gc->pc + 20), (void *)(&level), 4); 8391 gc->pc += cmdlen; 8392 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8393 } 8394 8395 #define X_GLrop_FramebufferTexture3DEXT 4323 8396 void __indirect_glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) 8397 { 8398 struct glx_context * const gc = __glXGetCurrentContext(); 8399 const GLuint cmdlen = 28; 8400 emit_header(gc->pc, X_GLrop_FramebufferTexture3DEXT, cmdlen); 8401 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8402 (void) memcpy((void *)(gc->pc + 8), (void *)(&attachment), 4); 8403 (void) memcpy((void *)(gc->pc + 12), (void *)(&textarget), 4); 8404 (void) memcpy((void *)(gc->pc + 16), (void *)(&texture), 4); 8405 (void) memcpy((void *)(gc->pc + 20), (void *)(&level), 4); 8406 (void) memcpy((void *)(gc->pc + 24), (void *)(&zoffset), 4); 8407 gc->pc += cmdlen; 8408 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8409 } 8410 8411 #define X_GLvop_GenFramebuffersEXT 1426 8412 void __indirect_glGenFramebuffersEXT(GLsizei n, GLuint * framebuffers) 8413 { 8414 struct glx_context * const gc = __glXGetCurrentContext(); 8415 Display * const dpy = gc->currentDpy; 8416 const GLuint cmdlen = 4; 8417 if (n < 0) { 8418 __glXSetError(gc, GL_INVALID_VALUE); 8419 return; 8420 } 8421 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 8422 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GenFramebuffersEXT, cmdlen); 8423 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 8424 (void) __glXReadReply(dpy, 4, framebuffers, GL_TRUE); 8425 UnlockDisplay(dpy); SyncHandle(); 8426 } 8427 return; 8428 } 8429 8430 #define X_GLvop_GenRenderbuffersEXT 1423 8431 void __indirect_glGenRenderbuffersEXT(GLsizei n, GLuint * renderbuffers) 8432 { 8433 struct glx_context * const gc = __glXGetCurrentContext(); 8434 Display * const dpy = gc->currentDpy; 8435 const GLuint cmdlen = 4; 8436 if (n < 0) { 8437 __glXSetError(gc, GL_INVALID_VALUE); 8438 return; 8439 } 8440 if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) { 8441 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GenRenderbuffersEXT, cmdlen); 8442 (void) memcpy((void *)(pc + 0), (void *)(&n), 4); 8443 (void) __glXReadReply(dpy, 4, renderbuffers, GL_TRUE); 8444 UnlockDisplay(dpy); SyncHandle(); 8445 } 8446 return; 8447 } 8448 8449 #define X_GLrop_GenerateMipmapEXT 4325 8450 void __indirect_glGenerateMipmapEXT(GLenum target) 8451 { 8452 struct glx_context * const gc = __glXGetCurrentContext(); 8453 const GLuint cmdlen = 8; 8454 emit_header(gc->pc, X_GLrop_GenerateMipmapEXT, cmdlen); 8455 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8456 gc->pc += cmdlen; 8457 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8458 } 8459 8460 #define X_GLvop_GetFramebufferAttachmentParameterivEXT 1428 8461 void __indirect_glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint * params) 8462 { 8463 struct glx_context * const gc = __glXGetCurrentContext(); 8464 Display * const dpy = gc->currentDpy; 8465 const GLuint cmdlen = 12; 8466 if (__builtin_expect(dpy != NULL, 1)) { 8467 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetFramebufferAttachmentParameterivEXT, cmdlen); 8468 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 8469 (void) memcpy((void *)(pc + 4), (void *)(&attachment), 4); 8470 (void) memcpy((void *)(pc + 8), (void *)(&pname), 4); 8471 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 8472 UnlockDisplay(dpy); SyncHandle(); 8473 } 8474 return; 8475 } 8476 8477 #define X_GLvop_GetRenderbufferParameterivEXT 1424 8478 void __indirect_glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint * params) 8479 { 8480 struct glx_context * const gc = __glXGetCurrentContext(); 8481 Display * const dpy = gc->currentDpy; 8482 const GLuint cmdlen = 8; 8483 if (__builtin_expect(dpy != NULL, 1)) { 8484 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_GetRenderbufferParameterivEXT, cmdlen); 8485 (void) memcpy((void *)(pc + 0), (void *)(&target), 4); 8486 (void) memcpy((void *)(pc + 4), (void *)(&pname), 4); 8487 (void) __glXReadReply(dpy, 4, params, GL_FALSE); 8488 UnlockDisplay(dpy); SyncHandle(); 8489 } 8490 return; 8491 } 8492 8493 #define X_GLvop_IsFramebufferEXT 1425 8494 GLboolean __indirect_glIsFramebufferEXT(GLuint framebuffer) 8495 { 8496 struct glx_context * const gc = __glXGetCurrentContext(); 8497 Display * const dpy = gc->currentDpy; 8498 GLboolean retval = (GLboolean) 0; 8499 const GLuint cmdlen = 4; 8500 if (__builtin_expect(dpy != NULL, 1)) { 8501 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_IsFramebufferEXT, cmdlen); 8502 (void) memcpy((void *)(pc + 0), (void *)(&framebuffer), 4); 8503 retval = (GLboolean) __glXReadReply(dpy, 0, NULL, GL_FALSE); 8504 UnlockDisplay(dpy); SyncHandle(); 8505 } 8506 return retval; 8507 } 8508 8509 #define X_GLvop_IsRenderbufferEXT 1422 8510 GLboolean __indirect_glIsRenderbufferEXT(GLuint renderbuffer) 8511 { 8512 struct glx_context * const gc = __glXGetCurrentContext(); 8513 Display * const dpy = gc->currentDpy; 8514 GLboolean retval = (GLboolean) 0; 8515 const GLuint cmdlen = 4; 8516 if (__builtin_expect(dpy != NULL, 1)) { 8517 GLubyte const * pc = __glXSetupVendorRequest(gc, X_GLXVendorPrivateWithReply, X_GLvop_IsRenderbufferEXT, cmdlen); 8518 (void) memcpy((void *)(pc + 0), (void *)(&renderbuffer), 4); 8519 retval = (GLboolean) __glXReadReply(dpy, 0, NULL, GL_FALSE); 8520 UnlockDisplay(dpy); SyncHandle(); 8521 } 8522 return retval; 8523 } 8524 8525 #define X_GLrop_RenderbufferStorageEXT 4318 8526 void __indirect_glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 8527 { 8528 struct glx_context * const gc = __glXGetCurrentContext(); 8529 const GLuint cmdlen = 20; 8530 emit_header(gc->pc, X_GLrop_RenderbufferStorageEXT, cmdlen); 8531 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8532 (void) memcpy((void *)(gc->pc + 8), (void *)(&internalformat), 4); 8533 (void) memcpy((void *)(gc->pc + 12), (void *)(&width), 4); 8534 (void) memcpy((void *)(gc->pc + 16), (void *)(&height), 4); 8535 gc->pc += cmdlen; 8536 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8537 } 8538 8539 #define X_GLrop_BlitFramebufferEXT 4330 8540 void __indirect_glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 8541 { 8542 struct glx_context * const gc = __glXGetCurrentContext(); 8543 const GLuint cmdlen = 44; 8544 emit_header(gc->pc, X_GLrop_BlitFramebufferEXT, cmdlen); 8545 (void) memcpy((void *)(gc->pc + 4), (void *)(&srcX0), 4); 8546 (void) memcpy((void *)(gc->pc + 8), (void *)(&srcY0), 4); 8547 (void) memcpy((void *)(gc->pc + 12), (void *)(&srcX1), 4); 8548 (void) memcpy((void *)(gc->pc + 16), (void *)(&srcY1), 4); 8549 (void) memcpy((void *)(gc->pc + 20), (void *)(&dstX0), 4); 8550 (void) memcpy((void *)(gc->pc + 24), (void *)(&dstY0), 4); 8551 (void) memcpy((void *)(gc->pc + 28), (void *)(&dstX1), 4); 8552 (void) memcpy((void *)(gc->pc + 32), (void *)(&dstY1), 4); 8553 (void) memcpy((void *)(gc->pc + 36), (void *)(&mask), 4); 8554 (void) memcpy((void *)(gc->pc + 40), (void *)(&filter), 4); 8555 gc->pc += cmdlen; 8556 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8557 } 8558 8559 #define X_GLrop_FramebufferTextureLayerEXT 237 8560 void __indirect_glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) 8561 { 8562 struct glx_context * const gc = __glXGetCurrentContext(); 8563 const GLuint cmdlen = 24; 8564 emit_header(gc->pc, X_GLrop_FramebufferTextureLayerEXT, cmdlen); 8565 (void) memcpy((void *)(gc->pc + 4), (void *)(&target), 4); 8566 (void) memcpy((void *)(gc->pc + 8), (void *)(&attachment), 4); 8567 (void) memcpy((void *)(gc->pc + 12), (void *)(&texture), 4); 8568 (void) memcpy((void *)(gc->pc + 16), (void *)(&level), 4); 8569 (void) memcpy((void *)(gc->pc + 20), (void *)(&layer), 4); 8570 gc->pc += cmdlen; 8571 if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } 8572 } 8573 8574 8575 #ifdef GLX_SHARED_GLAPI 8576 8577 static const struct proc_pair 8578 { 8579 const char *name; 8580 _glapi_proc proc; 8581 } proc_pairs[20] = { 8582 { "AreTexturesResidentEXT", (_glapi_proc) glAreTexturesResidentEXT }, 8583 { "DeleteTexturesEXT", (_glapi_proc) glDeleteTexturesEXT }, 8584 { "GenTexturesEXT", (_glapi_proc) glGenTexturesEXT }, 8585 { "GetColorTableEXT", (_glapi_proc) glGetColorTableEXT }, 8586 { "GetColorTableParameterfvEXT", (_glapi_proc) glGetColorTableParameterfvEXT }, 8587 { "GetColorTableParameterfvSGI", (_glapi_proc) glGetColorTableParameterfvEXT }, 8588 { "GetColorTableParameterivEXT", (_glapi_proc) glGetColorTableParameterivEXT }, 8589 { "GetColorTableParameterivSGI", (_glapi_proc) glGetColorTableParameterivEXT }, 8590 { "GetColorTableSGI", (_glapi_proc) glGetColorTableEXT }, 8591 { "GetConvolutionFilterEXT", (_glapi_proc) gl_dispatch_stub_356 }, 8592 { "GetConvolutionParameterfvEXT", (_glapi_proc) gl_dispatch_stub_357 }, 8593 { "GetConvolutionParameterivEXT", (_glapi_proc) gl_dispatch_stub_358 }, 8594 { "GetHistogramEXT", (_glapi_proc) gl_dispatch_stub_361 }, 8595 { "GetHistogramParameterfvEXT", (_glapi_proc) gl_dispatch_stub_362 }, 8596 { "GetHistogramParameterivEXT", (_glapi_proc) gl_dispatch_stub_363 }, 8597 { "GetMinmaxEXT", (_glapi_proc) gl_dispatch_stub_364 }, 8598 { "GetMinmaxParameterfvEXT", (_glapi_proc) gl_dispatch_stub_365 }, 8599 { "GetMinmaxParameterivEXT", (_glapi_proc) gl_dispatch_stub_366 }, 8600 { "GetSeparableFilterEXT", (_glapi_proc) gl_dispatch_stub_359 }, 8601 { "IsTextureEXT", (_glapi_proc) glIsTextureEXT } 8602 }; 8603 8604 static int 8605 __indirect_get_proc_compare(const void *key, const void *memb) 8606 { 8607 const struct proc_pair *pair = (const struct proc_pair *) memb; 8608 return strcmp((const char *) key, pair->name); 8609 } 8610 8611 _glapi_proc 8612 __indirect_get_proc_address(const char *name) 8613 { 8614 const struct proc_pair *pair; 8615 8616 /* skip "gl" */ 8617 name += 2; 8618 8619 pair = (const struct proc_pair *) bsearch((const void *) name, 8620 (const void *) proc_pairs, ARRAY_SIZE(proc_pairs), sizeof(proc_pairs[0]), 8621 __indirect_get_proc_compare); 8622 8623 return (pair) ? pair->proc : NULL; 8624 } 8625 8626 #endif /* GLX_SHARED_GLAPI */ 8627 8628 8629 # undef FASTCALL 8630 # undef NOINLINE 8631