VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/glproto-1.4.9/GL/glxproto.h@ 22633

Last change on this file since 22633 was 17237, checked in by vboxsync, 16 years ago

Additions/x11/x11include: blast! Removed keywords from new X.Org header files

  • Property svn:eol-style set to native
File size: 76.1 KB
Line 
1#ifndef _GLX_glxproto_h_
2#define _GLX_glxproto_h_
3
4/* $XFree86: xc/include/GL/glxproto.h,v 1.6 2003/09/28 20:14:58 alanh Exp $ */
5/*
6** License Applicability. Except to the extent portions of this file are
7** made subject to an alternative license as permitted in the SGI Free
8** Software License B, Version 1.1 (the "License"), the contents of this
9** file are subject only to the provisions of the License. You may not use
10** this file except in compliance with the License. You may obtain a copy
11** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
12** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
13**
14** http://oss.sgi.com/projects/FreeB
15**
16** Note that, as provided in the License, the Software is distributed on an
17** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
18** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
19** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
20** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
21**
22** Original Code. The Original Code is: OpenGL Sample Implementation,
23** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
24** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
25** Copyright in any portions created by third parties is as indicated
26** elsewhere herein. All Rights Reserved.
27**
28** Additional Notice Provisions: The application programming interfaces
29** established by SGI in conjunction with the Original Code are The
30** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
31** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
32** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
33** Window System(R) (Version 1.3), released October 19, 1998. This software
34** was created using the OpenGL(R) version 1.2.1 Sample Implementation
35** published by SGI, but has not been independently verified as being
36** compliant with the OpenGL(R) version 1.2.1 Specification.
37*/
38
39#include <GL/glxmd.h>
40
41/*****************************************************************************/
42
43/*
44** Errrors.
45*/
46#define GLXBadContext 0
47#define GLXBadContextState 1
48#define GLXBadDrawable 2
49#define GLXBadPixmap 3
50#define GLXBadContextTag 4
51#define GLXBadCurrentWindow 5
52#define GLXBadRenderRequest 6
53#define GLXBadLargeRequest 7
54#define GLXUnsupportedPrivateRequest 8
55#define GLXBadFBConfig 9
56#define GLXBadPbuffer 10
57#define GLXBadCurrentDrawable 11
58#define GLXBadWindow 12
59
60#define __GLX_NUMBER_ERRORS 13
61
62/*
63** Events.
64** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX
65** event - this helps initialization if the server supports the pbuffer
66** extension and the client doesn't.
67*/
68#define GLX_PbufferClobber 0
69
70#define __GLX_NUMBER_EVENTS 17
71
72#define GLX_EXTENSION_NAME "GLX"
73#define GLX_EXTENSION_ALIAS "SGI-GLX"
74
75#define __GLX_MAX_CONTEXT_PROPS 3
76
77#ifndef GLX_VENDOR
78#define GLX_VENDOR 0x1
79#endif
80#ifndef GLX_VERSION
81#define GLX_VERSION 0x2
82#endif
83#ifndef GLX_EXTENSIONS
84#define GLX_EXTENSIONS 0x3
85#endif
86
87/*****************************************************************************/
88
89/*
90** For the structure definitions in this file, we must redefine these types in
91** terms of Xmd.h types, which may include bitfields. All of these are
92** undef'ed at the end of this file, restoring the definitions in glx.h.
93*/
94#define GLXContextID CARD32
95#define GLXPixmap CARD32
96#define GLXDrawable CARD32
97#define GLXPbuffer CARD32
98#define GLXWindow CARD32
99#define GLXFBConfigID CARD32
100#define GLXFBConfigIDSGIX CARD32
101#define GLXPbufferSGIX CARD32
102
103/*
104** ContextTag is not exposed to the API.
105*/
106typedef CARD32 GLXContextTag;
107
108/*****************************************************************************/
109
110/*
111** Sizes of basic wire types.
112*/
113#define __GLX_SIZE_INT8 1
114#define __GLX_SIZE_INT16 2
115#define __GLX_SIZE_INT32 4
116#define __GLX_SIZE_CARD8 1
117#define __GLX_SIZE_CARD16 2
118#define __GLX_SIZE_CARD32 4
119#define __GLX_SIZE_FLOAT32 4
120#define __GLX_SIZE_FLOAT64 8
121
122/*****************************************************************************/
123
124/* Requests */
125
126/*
127** Render command request. A bunch of rendering commands are packed into
128** a single X extension request.
129*/
130typedef struct GLXRender {
131 CARD8 reqType;
132 CARD8 glxCode;
133 CARD16 length B16;
134 GLXContextTag contextTag B32;
135} xGLXRenderReq;
136#define sz_xGLXRenderReq 8
137
138/*
139** The maximum size that a GLXRender command can be. The value must fit
140** in 16 bits and should be a multiple of 4.
141*/
142#define __GLX_MAX_RENDER_CMD_SIZE 64000
143
144/*
145** Large render command request. A single large rendering command
146** is output in multiple X extension requests. The first packet
147** contains an opcode dependent header (see below) that describes
148** the data that follows.
149*/
150typedef struct GLXRenderLarge {
151 CARD8 reqType;
152 CARD8 glxCode;
153 CARD16 length B16;
154 GLXContextTag contextTag B32;
155 CARD16 requestNumber B16;
156 CARD16 requestTotal B16;
157 CARD32 dataBytes B32;
158} xGLXRenderLargeReq;
159#define sz_xGLXRenderLargeReq 16
160
161/*
162** GLX single request. Commands that go over as single GLX protocol
163** requests use this structure. The glxCode will be one of the X_GLsop
164** opcodes.
165*/
166typedef struct GLXSingle {
167 CARD8 reqType;
168 CARD8 glxCode;
169 CARD16 length B16;
170 GLXContextTag contextTag B32;
171} xGLXSingleReq;
172#define sz_xGLXSingleReq 8
173
174/*
175** glXQueryVersion request
176*/
177typedef struct GLXQueryVersion {
178 CARD8 reqType;
179 CARD8 glxCode;
180 CARD16 length B16;
181 CARD32 majorVersion B32;
182 CARD32 minorVersion B32;
183} xGLXQueryVersionReq;
184#define sz_xGLXQueryVersionReq 12
185
186/*
187** glXIsDirect request
188*/
189typedef struct GLXIsDirect {
190 CARD8 reqType;
191 CARD8 glxCode;
192 CARD16 length B16;
193 GLXContextID context B32;
194} xGLXIsDirectReq;
195#define sz_xGLXIsDirectReq 8
196
197/*
198** glXCreateContext request
199*/
200typedef struct GLXCreateContext {
201 CARD8 reqType;
202 CARD8 glxCode;
203 CARD16 length B16;
204 GLXContextID context B32;
205 CARD32 visual B32;
206 CARD32 screen B32;
207 GLXContextID shareList B32;
208 BOOL isDirect;
209 CARD8 reserved1;
210 CARD16 reserved2 B16;
211} xGLXCreateContextReq;
212#define sz_xGLXCreateContextReq 24
213
214/*
215** glXDestroyContext request
216*/
217typedef struct GLXDestroyContext {
218 CARD8 reqType;
219 CARD8 glxCode;
220 CARD16 length B16;
221 GLXContextID context B32;
222} xGLXDestroyContextReq;
223#define sz_xGLXDestroyContextReq 8
224
225/*
226** glXMakeCurrent request
227*/
228typedef struct GLXMakeCurrent {
229 CARD8 reqType;
230 CARD8 glxCode;
231 CARD16 length B16;
232 GLXDrawable drawable B32;
233 GLXContextID context B32;
234 GLXContextTag oldContextTag B32;
235} xGLXMakeCurrentReq;
236#define sz_xGLXMakeCurrentReq 16
237
238/*
239** glXWaitGL request
240*/
241typedef struct GLXWaitGL {
242 CARD8 reqType;
243 CARD8 glxCode;
244 CARD16 length B16;
245 GLXContextTag contextTag B32;
246} xGLXWaitGLReq;
247#define sz_xGLXWaitGLReq 8
248
249/*
250** glXWaitX request
251*/
252typedef struct GLXWaitX {
253 CARD8 reqType;
254 CARD8 glxCode;
255 CARD16 length B16;
256 GLXContextTag contextTag B32;
257} xGLXWaitXReq;
258#define sz_xGLXWaitXReq 8
259
260/*
261** glXCopyContext request
262*/
263typedef struct GLXCopyContext {
264 CARD8 reqType;
265 CARD8 glxCode;
266 CARD16 length B16;
267 GLXContextID source B32;
268 GLXContextID dest B32;
269 CARD32 mask B32;
270 GLXContextTag contextTag B32;
271} xGLXCopyContextReq;
272#define sz_xGLXCopyContextReq 20
273
274/*
275** glXSwapBuffers request
276*/
277typedef struct GLXSwapBuffers {
278 CARD8 reqType;
279 CARD8 glxCode;
280 CARD16 length B16;
281 GLXContextTag contextTag B32;
282 GLXDrawable drawable B32;
283} xGLXSwapBuffersReq;
284#define sz_xGLXSwapBuffersReq 12
285
286/*
287** glXUseXFont request
288*/
289typedef struct GLXUseXFont {
290 CARD8 reqType;
291 CARD8 glxCode;
292 CARD16 length B16;
293 GLXContextTag contextTag B32;
294 CARD32 font B32;
295 CARD32 first B32;
296 CARD32 count B32;
297 CARD32 listBase B32;
298} xGLXUseXFontReq;
299#define sz_xGLXUseXFontReq 24
300
301/*
302** glXCreateGLXPixmap request
303*/
304typedef struct GLXCreateGLXPixmap {
305 CARD8 reqType;
306 CARD8 glxCode;
307 CARD16 length B16;
308 CARD32 screen B32;
309 CARD32 visual B32;
310 CARD32 pixmap B32;
311 GLXPixmap glxpixmap B32;
312} xGLXCreateGLXPixmapReq;
313#define sz_xGLXCreateGLXPixmapReq 20
314
315/*
316** glXDestroyGLXPixmap request
317*/
318typedef struct GLXDestroyGLXPixmap {
319 CARD8 reqType;
320 CARD8 glxCode;
321 CARD16 length B16;
322 GLXPixmap glxpixmap B32;
323} xGLXDestroyGLXPixmapReq;
324#define sz_xGLXDestroyGLXPixmapReq 8
325
326/*
327** glXGetVisualConfigs request
328*/
329typedef struct GLXGetVisualConfigs {
330 CARD8 reqType;
331 CARD8 glxCode;
332 CARD16 length B16;
333 CARD32 screen B32;
334} xGLXGetVisualConfigsReq;
335#define sz_xGLXGetVisualConfigsReq 8
336
337/*
338** glXVendorPrivate request.
339*/
340typedef struct GLXVendorPrivate {
341 CARD8 reqType;
342 CARD8 glxCode;
343 CARD16 length B16;
344 CARD32 vendorCode B32; /* vendor-specific opcode */
345 GLXContextTag contextTag B32;
346 /*
347 ** More data may follow; this is just the header.
348 */
349} xGLXVendorPrivateReq;
350#define sz_xGLXVendorPrivateReq 12
351
352/*
353** glXVendorPrivateWithReply request
354*/
355typedef struct GLXVendorPrivateWithReply {
356 CARD8 reqType;
357 CARD8 glxCode;
358 CARD16 length B16;
359 CARD32 vendorCode B32; /* vendor-specific opcode */
360 GLXContextTag contextTag B32;
361 /*
362 ** More data may follow; this is just the header.
363 */
364} xGLXVendorPrivateWithReplyReq;
365#define sz_xGLXVendorPrivateWithReplyReq 12
366
367/*
368** glXQueryExtensionsString request
369*/
370typedef struct GLXQueryExtensionsString {
371 CARD8 reqType;
372 CARD8 glxCode;
373 CARD16 length B16;
374 CARD32 screen B32;
375} xGLXQueryExtensionsStringReq;
376#define sz_xGLXQueryExtensionsStringReq 8
377
378/*
379** glXQueryServerString request
380*/
381typedef struct GLXQueryServerString {
382 CARD8 reqType;
383 CARD8 glxCode;
384 CARD16 length B16;
385 CARD32 screen B32;
386 CARD32 name B32;
387} xGLXQueryServerStringReq;
388#define sz_xGLXQueryServerStringReq 12
389
390/*
391** glXClientInfo request
392*/
393typedef struct GLXClientInfo {
394 CARD8 reqType;
395 CARD8 glxCode;
396 CARD16 length B16;
397 CARD32 major B32;
398 CARD32 minor B32;
399 CARD32 numbytes B32;
400} xGLXClientInfoReq;
401#define sz_xGLXClientInfoReq 16
402
403/*** Start of GLX 1.3 requests */
404
405/*
406** glXGetFBConfigs request
407*/
408typedef struct GLXGetFBConfigs {
409 CARD8 reqType;
410 CARD8 glxCode;
411 CARD16 length B16;
412 CARD32 screen B32;
413} xGLXGetFBConfigsReq;
414#define sz_xGLXGetFBConfigsReq 8
415
416/*
417** glXCreatePixmap request
418*/
419typedef struct GLXCreatePixmap {
420 CARD8 reqType;
421 CARD8 glxCode;
422 CARD16 length B16;
423 CARD32 screen B32;
424 GLXFBConfigID fbconfig B32;
425 CARD32 pixmap B32;
426 GLXPixmap glxpixmap B32;
427 CARD32 numAttribs B32;
428 /* followed by attribute list */
429} xGLXCreatePixmapReq;
430#define sz_xGLXCreatePixmapReq 24
431
432/*
433** glXDestroyPixmap request
434*/
435typedef struct GLXDestroyPixmap {
436 CARD8 reqType;
437 CARD8 glxCode;
438 CARD16 length B16;
439 GLXPixmap glxpixmap B32;
440} xGLXDestroyPixmapReq;
441#define sz_xGLXDestroyPixmapReq 8
442
443/*
444** glXCreateNewContext request
445*/
446typedef struct GLXCreateNewContext {
447 CARD8 reqType;
448 CARD8 glxCode;
449 CARD16 length B16;
450 GLXContextID context B32;
451 GLXFBConfigID fbconfig B32;
452 CARD32 screen B32;
453 CARD32 renderType;
454 GLXContextID shareList B32;
455 BOOL isDirect;
456 CARD8 reserved1;
457 CARD16 reserved2 B16;
458} xGLXCreateNewContextReq;
459#define sz_xGLXCreateNewContextReq 28
460
461/*
462** glXQueryContext request
463*/
464typedef struct GLXQueryContext {
465 CARD8 reqType;
466 CARD8 glxCode;
467 CARD16 length B16;
468 GLXContextID context B32;
469} xGLXQueryContextReq;
470#define sz_xGLXQueryContextReq 8
471
472/*
473** glXMakeContextCurrent request
474*/
475typedef struct GLXMakeContextCurrent {
476 CARD8 reqType;
477 CARD8 glxCode;
478 CARD16 length B16;
479 GLXContextTag oldContextTag B32;
480 GLXDrawable drawable B32;
481 GLXDrawable readdrawable B32;
482 GLXContextID context B32;
483} xGLXMakeContextCurrentReq;
484#define sz_xGLXMakeContextCurrentReq 20
485
486/*
487** glXCreatePbuffer request
488*/
489typedef struct GLXCreatePbuffer {
490 CARD8 reqType;
491 CARD8 glxCode;
492 CARD16 length B16;
493 CARD32 screen B32;
494 GLXFBConfigID fbconfig B32;
495 GLXPbuffer pbuffer B32;
496 CARD32 numAttribs B32;
497 /* followed by attribute list */
498} xGLXCreatePbufferReq;
499#define sz_xGLXCreatePbufferReq 20
500
501/*
502** glXDestroyPbuffer request
503*/
504typedef struct GLXDestroyPbuffer {
505 CARD8 reqType;
506 CARD8 glxCode;
507 CARD16 length B16;
508 GLXPbuffer pbuffer B32;
509} xGLXDestroyPbufferReq;
510#define sz_xGLXDestroyPbufferReq 8
511
512/*
513** glXGetDrawableAttributes request
514*/
515typedef struct GLXGetDrawableAttributes {
516 CARD8 reqType;
517 CARD8 glxCode;
518 CARD16 length B16;
519 GLXDrawable drawable B32;
520} xGLXGetDrawableAttributesReq;
521#define sz_xGLXGetDrawableAttributesReq 8
522
523/*
524** glXChangeDrawableAttributes request
525*/
526typedef struct GLXChangeDrawableAttributes {
527 CARD8 reqType;
528 CARD8 glxCode;
529 CARD16 length B16;
530 GLXDrawable drawable B32;
531 CARD32 numAttribs B32;
532 /* followed by attribute list */
533} xGLXChangeDrawableAttributesReq;
534#define sz_xGLXChangeDrawableAttributesReq 12
535
536/*
537** glXCreateWindow request
538*/
539typedef struct GLXCreateWindow {
540 CARD8 reqType;
541 CARD8 glxCode;
542 CARD16 length B16;
543 CARD32 screen B32;
544 GLXFBConfigID fbconfig B32;
545 CARD32 window B32;
546 GLXWindow glxwindow B32;
547 CARD32 numAttribs B32;
548 /* followed by attribute list */
549} xGLXCreateWindowReq;
550#define sz_xGLXCreateWindowReq 24
551
552/*
553** glXDestroyWindow request
554*/
555typedef struct GLXDestroyWindow {
556 CARD8 reqType;
557 CARD8 glxCode;
558 CARD16 length B16;
559 GLXWindow glxwindow B32;
560} xGLXDestroyWindowReq;
561#define sz_xGLXDestroyWindowReq 8
562
563/* Replies */
564
565typedef struct {
566 BYTE type; /* X_Reply */
567 CARD8 unused; /* not used */
568 CARD16 sequenceNumber B16;
569 CARD32 length B32;
570 CARD32 error B32;
571 CARD32 pad2 B32;
572 CARD32 pad3 B32;
573 CARD32 pad4 B32;
574 CARD32 pad5 B32;
575 CARD32 pad6 B32;
576} xGLXGetErrorReply;
577#define sz_xGLXGetErrorReply 32
578
579typedef struct {
580 BYTE type; /* X_Reply */
581 CARD8 unused; /* not used */
582 CARD16 sequenceNumber B16;
583 CARD32 length B32;
584 GLXContextTag contextTag B32;
585 CARD32 pad2 B32;
586 CARD32 pad3 B32;
587 CARD32 pad4 B32;
588 CARD32 pad5 B32;
589 CARD32 pad6 B32;
590} xGLXMakeCurrentReply;
591#define sz_xGLXMakeCurrentReply 32
592
593typedef struct {
594 BYTE type; /* X_Reply */
595 CARD8 unused; /* not used */
596 CARD16 sequenceNumber B16;
597 CARD32 length B32;
598 CARD32 pad1 B32;
599 CARD32 pad2 B32;
600 CARD32 pad3 B32;
601 CARD32 pad4 B32;
602 CARD32 pad5 B32;
603 CARD32 pad6 B32;
604} xGLXReadPixelsReply;
605#define sz_xGLXReadPixelsReply 32
606
607typedef struct {
608 BYTE type; /* X_Reply */
609 CARD8 unused; /* not used */
610 CARD16 sequenceNumber B16;
611 CARD32 length B32;
612 CARD32 pad1 B32;
613 CARD32 pad2 B32;
614 CARD32 width B32;
615 CARD32 height B32;
616 CARD32 depth B32;
617 CARD32 pad6 B32;
618} xGLXGetTexImageReply;
619#define sz_xGLXGetTexImageReply 32
620
621typedef struct {
622 BYTE type; /* X_Reply */
623 CARD8 unused; /* not used */
624 CARD16 sequenceNumber B16;
625 CARD32 length B32;
626 CARD32 pad1 B32;
627 CARD32 pad2 B32;
628 CARD32 width B32;
629 CARD32 height B32;
630 CARD32 pad5 B32;
631 CARD32 pad6 B32;
632} xGLXGetSeparableFilterReply;
633#define sz_xGLXGetSeparableFilterReply 32
634
635typedef struct {
636 BYTE type; /* X_Reply */
637 CARD8 unused; /* not used */
638 CARD16 sequenceNumber B16;
639 CARD32 length B32;
640 CARD32 pad1 B32;
641 CARD32 pad2 B32;
642 CARD32 width B32;
643 CARD32 height B32;
644 CARD32 pad5 B32;
645 CARD32 pad6 B32;
646} xGLXGetConvolutionFilterReply;
647#define sz_xGLXGetConvolutionFilterReply 32
648
649typedef struct {
650 BYTE type; /* X_Reply */
651 CARD8 unused; /* not used */
652 CARD16 sequenceNumber B16;
653 CARD32 length B32;
654 CARD32 pad1 B32;
655 CARD32 pad2 B32;
656 CARD32 width B32;
657 CARD32 pad4 B32;
658 CARD32 pad5 B32;
659 CARD32 pad6 B32;
660} xGLXGetHistogramReply;
661#define sz_xGLXGetHistogramReply 32
662
663typedef struct {
664 BYTE type; /* X_Reply */
665 CARD8 unused; /* not used */
666 CARD16 sequenceNumber B16;
667 CARD32 length B32;
668 CARD32 pad1 B32;
669 CARD32 pad2 B32;
670 CARD32 pad3 B32;
671 CARD32 pad4 B32;
672 CARD32 pad5 B32;
673 CARD32 pad6 B32;
674} xGLXGetMinmaxReply;
675#define sz_xGLXGetMinmaxReply 32
676
677typedef struct {
678 BYTE type; /* X_Reply */
679 CARD8 unused; /* not used */
680 CARD16 sequenceNumber B16;
681 CARD32 length B32;
682 CARD32 retval B32;
683 CARD32 size B32;
684 CARD32 newMode B32;
685 CARD32 pad4 B32;
686 CARD32 pad5 B32;
687 CARD32 pad6 B32;
688} xGLXRenderModeReply;
689#define sz_xGLXRenderModeReply 32
690
691typedef struct {
692 BYTE type; /* X_Reply */
693 CARD8 unused; /* not used */
694 CARD16 sequenceNumber B16;
695 CARD32 length B32;
696 CARD32 majorVersion B32;
697 CARD32 minorVersion B32;
698 CARD32 pad3 B32;
699 CARD32 pad4 B32;
700 CARD32 pad5 B32;
701 CARD32 pad6 B32;
702} xGLXQueryVersionReply;
703#define sz_xGLXQueryVersionReply 32
704
705typedef struct {
706 BYTE type; /* X_Reply */
707 CARD8 unused; /* not used */
708 CARD16 sequenceNumber B16;
709 CARD32 length B32;
710 CARD32 numVisuals B32;
711 CARD32 numProps B32;
712 CARD32 pad3 B32;
713 CARD32 pad4 B32;
714 CARD32 pad5 B32;
715 CARD32 pad6 B32;
716} xGLXGetVisualConfigsReply;
717#define sz_xGLXGetVisualConfigsReply 32
718
719typedef struct {
720 BYTE type; /* X_Reply */
721 CARD8 unused; /* not used */
722 CARD16 sequenceNumber B16;
723 CARD32 length B32;
724 BOOL isDirect;
725 CARD8 pad1;
726 CARD16 pad2 B16;
727 CARD32 pad3 B32;
728 CARD32 pad4 B32;
729 CARD32 pad5 B32;
730 CARD32 pad6 B32;
731 CARD32 pad7 B32;
732} xGLXIsDirectReply;
733#define sz_xGLXIsDirectReply 32
734
735/*
736** This reply structure is used for all single replies. Single replies
737** ship either 1 piece of data or N pieces of data. In these cases
738** size indicates how much data is to be returned.
739*/
740typedef struct {
741 BYTE type; /* X_Reply */
742 CARD8 unused; /* not used */
743 CARD16 sequenceNumber B16;
744 CARD32 length B32;
745 CARD32 retval B32;
746 CARD32 size B32;
747 CARD32 pad3 B32; /* NOTE: may hold a single value */
748 CARD32 pad4 B32; /* NOTE: may hold half a double */
749 CARD32 pad5 B32;
750 CARD32 pad6 B32;
751} xGLXSingleReply;
752#define sz_xGLXSingleReply 32
753
754/*
755** This reply structure is used for all Vendor Private replies. Vendor
756** Private replies can ship up to 24 bytes within the header or can
757** be variable sized, in which case, the reply length field indicates
758** the number of words of data which follow the header.
759*/
760typedef struct {
761 BYTE type; /* X_Reply */
762 CARD8 unused; /* not used */
763 CARD16 sequenceNumber B16;
764 CARD32 length B32;
765 CARD32 retval B32;
766 CARD32 size B32;
767 CARD32 pad3 B32;
768 CARD32 pad4 B32;
769 CARD32 pad5 B32;
770 CARD32 pad6 B32;
771} xGLXVendorPrivReply;
772#define sz_xGLXVendorPrivReply 32
773
774/*
775** QueryExtensionsStringReply
776** n indicates the number of bytes to be returned.
777*/
778typedef struct {
779 BYTE type; /* X_Reply */
780 CARD8 unused; /* not used */
781 CARD16 sequenceNumber B16;
782 CARD32 length B32;
783 CARD32 pad1 B32;
784 CARD32 n B32;
785 CARD32 pad3 B32;
786 CARD32 pad4 B32;
787 CARD32 pad5 B32;
788 CARD32 pad6 B32;
789} xGLXQueryExtensionsStringReply;
790#define sz_xGLXQueryExtensionsStringReply 32
791
792/*
793** QueryServerString Reply struct
794** n indicates the number of bytes to be returned.
795*/
796typedef struct {
797 BYTE type; /* X_Reply */
798 CARD8 unused; /* not used */
799 CARD16 sequenceNumber B16;
800 CARD32 length B32;
801 CARD32 pad1 B32;
802 CARD32 n B32;
803 CARD32 pad3 B32; /* NOTE: may hold a single value */
804 CARD32 pad4 B32; /* NOTE: may hold half a double */
805 CARD32 pad5 B32;
806 CARD32 pad6 B32;
807} xGLXQueryServerStringReply;
808#define sz_xGLXQueryServerStringReply 32
809
810/*** Start of GLX 1.3 replies */
811
812/*
813** glXGetFBConfigs reply
814*/
815typedef struct {
816 BYTE type; /* X_Reply */
817 CARD8 unused; /* not used */
818 CARD16 sequenceNumber B16;
819 CARD32 length B32;
820 CARD32 numFBConfigs B32;
821 CARD32 numAttribs B32;
822 CARD32 pad3 B32;
823 CARD32 pad4 B32;
824 CARD32 pad5 B32;
825 CARD32 pad6 B32;
826} xGLXGetFBConfigsReply;
827#define sz_xGLXGetFBConfigsReply 32
828
829/*
830** glXQueryContext reply
831*/
832typedef struct {
833 BYTE type; /* X_Reply */
834 CARD8 unused; /* not used */
835 CARD16 sequenceNumber B16;
836 CARD32 length B32;
837 CARD32 n B32; /* number of attribute/value pairs */
838 CARD32 pad2 B32;
839 CARD32 pad3 B32;
840 CARD32 pad4 B32;
841 CARD32 pad5 B32;
842 CARD32 pad6 B32;
843} xGLXQueryContextReply;
844#define sz_xGLXQueryContextReply 32
845
846/*
847** glXMakeContextCurrent reply
848*/
849typedef struct {
850 BYTE type; /* X_Reply */
851 CARD8 unused; /* not used */
852 CARD16 sequenceNumber B16;
853 CARD32 length B32;
854 GLXContextTag contextTag B32;
855 CARD32 pad2 B32;
856 CARD32 pad3 B32;
857 CARD32 pad4 B32;
858 CARD32 pad5 B32;
859 CARD32 pad6 B32;
860} xGLXMakeContextCurrentReply;
861#define sz_xGLXMakeContextCurrentReply 32
862
863/*
864** glXCreateGLXPbuffer reply
865** This is used only in the direct rendering case on SGIs - otherwise
866** CreateGLXPbuffer has no reply. It is not part of GLX 1.3.
867*/
868typedef struct {
869 BYTE type; /* X_Reply */
870 CARD8 success;
871 CARD16 sequenceNumber B16;
872 CARD32 length B32;
873 CARD32 pad1 B32;
874 CARD32 pad2 B32;
875 CARD32 pad3 B32;
876 CARD32 pad4 B32;
877 CARD32 pad5 B32;
878 CARD32 pad6 B32;
879} xGLXCreateGLXPbufferReply;
880#define sz_xGLXCreateGLXPbufferReply 32
881
882/*
883** glXGetDrawableAttributes reply
884*/
885typedef struct {
886 BYTE type; /* X_Reply */
887 CARD8 unused; /* not used */
888 CARD16 sequenceNumber B16;
889 CARD32 length B32;
890 CARD32 numAttribs B32;
891 CARD32 pad2 B32;
892 CARD32 pad3 B32;
893 CARD32 pad4 B32;
894 CARD32 pad5 B32;
895 CARD32 pad6 B32;
896} xGLXGetDrawableAttributesReply;
897#define sz_xGLXGetDrawableAttributesReply 32
898
899/*
900** glXGetColorTable reply
901*/
902typedef struct {
903 BYTE type; /* X_Reply */
904 CARD8 unused; /* not used */
905 CARD16 sequenceNumber B16;
906 CARD32 length B32;
907 CARD32 pad1 B32;
908 CARD32 pad2 B32;
909 CARD32 width B32;
910 CARD32 pad4 B32;
911 CARD32 pad5 B32;
912 CARD32 pad6 B32;
913} xGLXGetColorTableReply;
914#define sz_xGLXGetColorTableReply 32
915
916/************************************************************************/
917
918/* GLX extension requests and replies */
919
920/*
921** glXQueryContextInfoEXT request
922*/
923typedef struct GLXQueryContextInfoEXT {
924 CARD8 reqType;
925 CARD8 glxCode;
926 CARD16 length B16;
927 CARD32 vendorCode B32; /* vendor-specific opcode */
928 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
929 GLXContextID context B32;
930} xGLXQueryContextInfoEXTReq;
931#define sz_xGLXQueryContextInfoEXTReq 16
932
933/*
934** glXQueryContextInfoEXT reply
935*/
936typedef struct {
937 BYTE type; /* X_Reply */
938 CARD8 unused; /* not used */
939 CARD16 sequenceNumber B16;
940 CARD32 length B32;
941 CARD32 n B32; /* number of attribute/value pairs */
942 CARD32 pad2 B32;
943 CARD32 pad3 B32;
944 CARD32 pad4 B32;
945 CARD32 pad5 B32;
946 CARD32 pad6 B32;
947} xGLXQueryContextInfoEXTReply;
948#define sz_xGLXQueryContextInfoEXTReply 32
949
950/*
951** glXMakeCurrentReadSGI request
952*/
953typedef struct GLXMakeCurrentReadSGI {
954 CARD8 reqType;
955 CARD8 glxCode;
956 CARD16 length B16;
957 CARD32 vendorCode B32; /* vendor-specific opcode */
958 GLXContextTag oldContextTag B32;
959 GLXDrawable drawable B32;
960 GLXDrawable readable B32;
961 GLXContextID context B32;
962} xGLXMakeCurrentReadSGIReq;
963#define sz_xGLXMakeCurrentReadSGIReq 24
964
965typedef struct {
966 BYTE type; /* X_Reply */
967 CARD8 unused; /* not used */
968 CARD16 sequenceNumber B16;
969 CARD32 length B32;
970 GLXContextTag contextTag B32;
971 CARD32 writeVid B32;
972 CARD32 writeType B32;
973 CARD32 readVid B32;
974 CARD32 readType B32;
975 CARD32 pad6 B32;
976} xGLXMakeCurrentReadSGIReply;
977#define sz_xGLXMakeCurrentReadSGIReply 32
978
979/*
980** glXGetFBConfigsSGIX request
981*/
982typedef struct GLXGetFBConfigsSGIX {
983 CARD8 reqType;
984 CARD8 glxCode;
985 CARD16 length B16;
986 CARD32 vendorCode B32; /* vendor-specific opcode */
987 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
988 CARD32 screen B32;
989} xGLXGetFBConfigsSGIXReq;
990#define sz_xGLXGetFBConfigsSGIXReq 16
991
992/*
993** glXCreateContextWithConfigSGIX request
994*/
995
996typedef struct GLXCreateContextWithConfigSGIX {
997 CARD8 reqType;
998 CARD8 glxCode;
999 CARD16 length B16;
1000 CARD32 vendorCode B32; /* vendor-specific opcode */
1001 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1002 GLXContextID context B32;
1003 GLXFBConfigID fbconfig B32;
1004 CARD32 screen B32;
1005 CARD32 renderType;
1006 GLXContextID shareList B32;
1007 BOOL isDirect;
1008 CARD8 reserved1;
1009 CARD16 reserved2 B16;
1010} xGLXCreateContextWithConfigSGIXReq;
1011#define sz_xGLXCreateContextWithConfigSGIXReq 36
1012
1013/*
1014** glXCreatePixmapWithConfigSGIX request
1015*/
1016
1017typedef struct GLXCreateGLXPixmapWithConfigSGIX {
1018 CARD8 reqType;
1019 CARD8 glxCode;
1020 CARD16 length B16;
1021 CARD32 vendorCode B32; /* vendor-specific opcode */
1022 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1023 CARD32 screen B32;
1024 GLXFBConfigID fbconfig B32;
1025 CARD32 pixmap B32;
1026 GLXPixmap glxpixmap B32;
1027} xGLXCreateGLXPixmapWithConfigSGIXReq;
1028#define sz_xGLXCreateGLXPixmapWithConfigSGIXReq 28
1029
1030/*
1031** glXCreateGLXPbufferSGIX request
1032*/
1033typedef struct GLXCreateGLXPbufferSGIX {
1034 CARD8 reqType;
1035 CARD8 glxCode;
1036 CARD16 length B16;
1037 CARD32 vendorCode B32; /* vendor-specific opcode */
1038 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1039 CARD32 screen B32;
1040 GLXFBConfigID fbconfig B32;
1041 GLXPbuffer pbuffer B32;
1042 CARD32 width B32;
1043 CARD32 height B32;
1044 /* followed by attribute list */
1045} xGLXCreateGLXPbufferSGIXReq;
1046#define sz_xGLXCreateGLXPbufferSGIXReq 32
1047
1048/*
1049** glXDestroyGLXPbufferSGIX request
1050*/
1051typedef struct GLXDestroyGLXPbuffer {
1052 CARD8 reqType;
1053 CARD8 glxCode;
1054 CARD16 length B16;
1055 CARD32 vendorCode B32; /* vendor-specific opcode */
1056 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1057 GLXPbuffer pbuffer B32;
1058} xGLXDestroyGLXPbufferSGIXReq;
1059#define sz_xGLXDestroyGLXPbufferSGIXReq 16
1060
1061/*
1062** glXChangeDrawableAttributesSGIX request
1063*/
1064typedef struct GLXChangeDrawableAttributesSGIX {
1065 CARD8 reqType;
1066 CARD8 glxCode;
1067 CARD16 length B16;
1068 CARD32 vendorCode B32; /* vendor-specific opcode */
1069 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1070 GLXDrawable drawable B32;
1071 CARD32 numAttribs B32;
1072 /* followed by attribute list */
1073} xGLXChangeDrawableAttributesSGIXReq;
1074#define sz_xGLXChangeDrawableAttributesSGIXReq 20
1075
1076/*
1077** glXGetDrawableAttributesSGIX request
1078*/
1079typedef struct GLXGetDrawableAttributesSGIX {
1080 CARD8 reqType;
1081 CARD8 glxCode;
1082 CARD16 length B16;
1083 CARD32 vendorCode B32; /* vendor-specific opcode */
1084 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1085 GLXDrawable drawable B32;
1086} xGLXGetDrawableAttributesSGIXReq;
1087#define sz_xGLXGetDrawableAttributesSGIXReq 16
1088
1089/*
1090** glXGetDrawableAttributesSGIX reply
1091*/
1092typedef struct {
1093 BYTE type; /* X_Reply */
1094 CARD8 unused; /* not used */
1095 CARD16 sequenceNumber B16;
1096 CARD32 length B32;
1097 CARD32 numAttribs B32;
1098 CARD32 pad2 B32;
1099 CARD32 pad3 B32;
1100 CARD32 pad4 B32;
1101 CARD32 pad5 B32;
1102 CARD32 pad6 B32;
1103} xGLXGetDrawableAttributesSGIXReply;
1104#define sz_xGLXGetDrawableAttributesSGIXReply 32
1105
1106/*
1107** glXJoinSwapGroupSGIX request
1108*/
1109typedef struct GLXJoinSwapGroupSGIX {
1110 CARD8 reqType;
1111 CARD8 glxCode;
1112 CARD16 length B16;
1113 CARD32 vendorCode B32; /* vendor-specific opcode */
1114 CARD32 unused B32; /* corresponds to contextTag in hdr */
1115 GLXDrawable drawable B32;
1116 GLXDrawable member B32;
1117} xGLXJoinSwapGroupSGIXReq;
1118#define sz_xGLXJoinSwapGroupSGIXReq 20
1119
1120/*
1121** glXBindSwapBarrierSGIX request
1122*/
1123typedef struct GLXBindSwapBarrierSGIX {
1124 CARD8 reqType;
1125 CARD8 glxCode;
1126 CARD16 length B16;
1127 CARD32 vendorCode B32; /* vendor-specific opcode */
1128 CARD32 unused B32; /* corresponds to contextTag in hdr */
1129 GLXDrawable drawable B32;
1130 CARD32 barrier B32;
1131} xGLXBindSwapBarrierSGIXReq;
1132#define sz_xGLXBindSwapBarrierSGIXReq 20
1133
1134/*
1135** glXQueryMaxSwapBarriersSGIX request
1136*/
1137typedef struct GLXQueryMaxSwapBarriersSGIX {
1138 CARD8 reqType;
1139 CARD8 glxCode;
1140 CARD16 length B16;
1141 CARD32 vendorCode B32; /* vendor-specific opcode */
1142 CARD32 unused B32; /* corresponds to contextTag in hdr */
1143 CARD32 screen B32;
1144} xGLXQueryMaxSwapBarriersSGIXReq;
1145#define sz_xGLXQueryMaxSwapBarriersSGIXReq 16
1146
1147typedef struct {
1148 BYTE type; /* X_Reply */
1149 CARD8 unused; /* not used */
1150 CARD16 sequenceNumber B16;
1151 CARD32 length B32;
1152 CARD32 max B32;
1153 CARD32 size B32;
1154 CARD32 pad3 B32;
1155 CARD32 pad4 B32;
1156 CARD32 pad5 B32;
1157 CARD32 pad6 B32;
1158} xGLXQueryMaxSwapBarriersSGIXReply;
1159#define sz_xGLXQueryMaxSwapBarriersSGIXReply 32
1160
1161/*
1162** glXQueryHyperpipeNetworkSGIX request
1163*/
1164typedef struct GLXQueryHyperpipeNetworkSGIX {
1165 CARD8 reqType;
1166 CARD8 glxCode;
1167 CARD16 length B16;
1168 CARD32 vendorCode B32; /* vendor-specific opcode */
1169 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1170 CARD32 screen B32;
1171} xGLXQueryHyperpipeNetworkSGIXReq;
1172#define sz_xGLXQueryHyperpipeNetworkSGIXReq 16
1173
1174/*
1175** glXQueryHyperpipeNetworkSGIX reply
1176*/
1177typedef struct {
1178 BYTE type; /* X_Reply */
1179 CARD8 unused; /* not used */
1180 CARD16 sequenceNumber B16;
1181 CARD32 length B32;
1182 CARD32 pad1 B32;
1183 CARD32 n B32;
1184 CARD32 npipes B32; /* NOTE: may hold a single value */
1185 CARD32 pad4 B32; /* NOTE: may hold half a double */
1186 CARD32 pad5 B32;
1187 CARD32 pad6 B32;
1188} xGLXQueryHyperpipeNetworkSGIXReply;
1189#define sz_xGLXQueryHyperpipeNetworkSGIXReply 32
1190
1191/*
1192** glXDestroyHyperpipeConfigSGIX request
1193*/
1194typedef struct GLXDestroyHyperpipeConfigSGIX {
1195 CARD8 reqType;
1196 CARD8 glxCode;
1197 CARD16 length B16;
1198 CARD32 vendorCode B32; /* vendor-specific opcode */
1199 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1200 CARD32 screen B32;
1201 CARD32 hpId B32;
1202 CARD32 pad2 B32;
1203 CARD32 pad3 B32;
1204 CARD32 pad4 B32;
1205} xGLXDestroyHyperpipeConfigSGIXReq;
1206#define sz_xGLXDestroyHyperpipeConfigSGIXReq 32
1207
1208/*
1209** glXDestroyHyperpipeConfigSGIX reply
1210*/
1211typedef struct {
1212 BYTE type; /* X_Reply */
1213 CARD8 unused; /* not used */
1214 CARD16 sequenceNumber B16;
1215 CARD32 length B32;
1216 CARD32 pad1 B32;
1217 CARD32 n B32;
1218 CARD32 success B32; /* NOTE: may hold a single value */
1219 CARD32 pad4 B32; /* NOTE: may hold half a double */
1220 CARD32 pad5 B32;
1221 CARD32 pad6 B32;
1222} xGLXDestroyHyperpipeConfigSGIXReply;
1223#define sz_xGLXDestroyHyperpipeConfigSGIXReply 32
1224
1225/*
1226** glXQueryHyperpipeConfigSGIX request
1227*/
1228typedef struct GLXQueryHyperpipeConfigSGIX {
1229 CARD8 reqType;
1230 CARD8 glxCode;
1231 CARD16 length B16;
1232 CARD32 vendorCode B32; /* vendor-specific opcode */
1233 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1234 CARD32 screen B32;
1235 CARD32 hpId B32;
1236 CARD32 pad2 B32;
1237 CARD32 pad3 B32;
1238 CARD32 pad4 B32;
1239} xGLXQueryHyperpipeConfigSGIXReq;
1240#define sz_xGLXQueryHyperpipeConfigSGIXReq 32
1241
1242/*
1243** glXQueryHyperpipeConfigSGIX reply
1244*/
1245typedef struct {
1246 BYTE type; /* X_Reply */
1247 CARD8 unused; /* not used */
1248 CARD16 sequenceNumber B16;
1249 CARD32 length B32;
1250 CARD32 pad1 B32;
1251 CARD32 n B32;
1252 CARD32 npipes B32;
1253 CARD32 pad4 B32;
1254 CARD32 pad5 B32;
1255 CARD32 pad6 B32;
1256} xGLXQueryHyperpipeConfigSGIXReply;
1257#define sz_xGLXQueryHyperpipeConfigSGIXReply 32
1258
1259/*
1260** glXHyperpipeConfigSGIX request
1261*/
1262typedef struct GLXHyperpipeConfigSGIX {
1263 CARD8 reqType;
1264 CARD8 glxCode;
1265 CARD16 length B16;
1266 CARD32 vendorCode B32; /* vendor-specific opcode */
1267 CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
1268 CARD32 screen B32;
1269 CARD32 npipes B32;
1270 CARD32 networkId B32;
1271 CARD32 pad2 B32;
1272 CARD32 pad3 B32;
1273 /* followed by attribute list */
1274} xGLXHyperpipeConfigSGIXReq;
1275#define sz_xGLXHyperpipeConfigSGIXReq 32
1276
1277/*
1278** glXHyperpipeConfigSGIX reply
1279*/
1280typedef struct {
1281 BYTE type; /* X_Reply */
1282 CARD8 unused; /* not used */
1283 CARD16 sequenceNumber B16;
1284 CARD32 length B32;
1285 CARD32 pad1 B32;
1286 CARD32 n B32;
1287 CARD32 npipes B32;
1288 CARD32 hpId B32;
1289 CARD32 pad5 B32;
1290 CARD32 pad6 B32;
1291} xGLXHyperpipeConfigSGIXReply;
1292#define sz_xGLXHyperpipeConfigSGIXReply 32
1293
1294/************************************************************************/
1295
1296/*
1297** Events
1298*/
1299
1300typedef struct {
1301 BYTE type;
1302 BYTE pad;
1303 CARD16 sequenceNumber B16;
1304 CARD16 event_type B16; /*** was clobber_class */
1305 CARD16 draw_type B16;
1306 CARD32 drawable B32;
1307 CARD32 buffer_mask B32; /*** was mask */
1308 CARD16 aux_buffer B16;
1309 CARD16 x B16;
1310 CARD16 y B16;
1311 CARD16 width B16;
1312 CARD16 height B16;
1313 CARD16 count B16;
1314 CARD32 unused2 B32;
1315} xGLXPbufferClobberEvent;
1316
1317/************************************************************************/
1318
1319/*
1320** Size of the standard X request header.
1321*/
1322#define __GLX_SINGLE_HDR_SIZE sz_xGLXSingleReq
1323#define __GLX_VENDPRIV_HDR_SIZE sz_xGLXVendorPrivateReq
1324
1325#define __GLX_RENDER_HDR \
1326 CARD16 length B16; \
1327 CARD16 opcode B16
1328
1329#define __GLX_RENDER_HDR_SIZE 4
1330
1331typedef struct {
1332 __GLX_RENDER_HDR;
1333} __GLXrenderHeader;
1334
1335#define __GLX_RENDER_LARGE_HDR \
1336 CARD32 length B32; \
1337 CARD32 opcode B32
1338
1339#define __GLX_RENDER_LARGE_HDR_SIZE 8
1340
1341typedef struct {
1342 __GLX_RENDER_LARGE_HDR;
1343} __GLXrenderLargeHeader;
1344
1345/*
1346** The glBitmap, glPolygonStipple, glTexImage[12]D, glTexSubImage[12]D
1347** and glDrawPixels calls all have a pixel header transmitted after the
1348** Render or RenderLarge header and before their own opcode specific
1349** headers.
1350*/
1351#define __GLX_PIXEL_HDR \
1352 BOOL swapBytes; \
1353 BOOL lsbFirst; \
1354 CARD8 reserved0; \
1355 CARD8 reserved1; \
1356 CARD32 rowLength B32; \
1357 CARD32 skipRows B32; \
1358 CARD32 skipPixels B32; \
1359 CARD32 alignment B32
1360
1361#define __GLX_PIXEL_HDR_SIZE 20
1362
1363typedef struct {
1364 __GLX_PIXEL_HDR;
1365} __GLXpixelHeader;
1366
1367/*
1368** glTexImage[34]D and glTexSubImage[34]D calls
1369** all have a pixel header transmitted after the Render or RenderLarge
1370** header and before their own opcode specific headers.
1371*/
1372#define __GLX_PIXEL_3D_HDR \
1373 BOOL swapBytes; \
1374 BOOL lsbFirst; \
1375 CARD8 reserved0; \
1376 CARD8 reserved1; \
1377 CARD32 rowLength B32; \
1378 CARD32 imageHeight B32; \
1379 CARD32 imageDepth B32; \
1380 CARD32 skipRows B32; \
1381 CARD32 skipImages B32; \
1382 CARD32 skipVolumes B32; \
1383 CARD32 skipPixels B32; \
1384 CARD32 alignment B32
1385
1386#define __GLX_PIXEL_3D_HDR_SIZE 36
1387
1388/*
1389** Data that is specific to a glBitmap call. The data is sent in the
1390** following order:
1391** Render or RenderLarge header
1392** Pixel header
1393** Bitmap header
1394*/
1395#define __GLX_BITMAP_HDR \
1396 CARD32 width B32; \
1397 CARD32 height B32; \
1398 FLOAT32 xorig F32; \
1399 FLOAT32 yorig F32; \
1400 FLOAT32 xmove F32; \
1401 FLOAT32 ymove F32
1402
1403typedef struct {
1404 __GLX_RENDER_HDR;
1405 __GLX_PIXEL_HDR;
1406 __GLX_BITMAP_HDR;
1407} __GLXbitmapHeader;
1408
1409typedef struct {
1410 __GLX_RENDER_LARGE_HDR;
1411 __GLX_PIXEL_HDR;
1412 __GLX_BITMAP_HDR;
1413} __GLXbitmapLargeHeader;
1414
1415typedef struct {
1416 __GLX_PIXEL_HDR;
1417 __GLX_BITMAP_HDR;
1418} __GLXdispatchBitmapHeader;
1419
1420#define __GLX_BITMAP_HDR_SIZE 24
1421
1422#define __GLX_BITMAP_CMD_HDR_SIZE \
1423 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE)
1424
1425#define __GLX_BITMAP_CMD_DISPATCH_HDR_SIZE \
1426 (__GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE)
1427
1428typedef struct {
1429 __GLX_RENDER_HDR;
1430 __GLX_PIXEL_HDR;
1431} __GLXpolygonStippleHeader;
1432
1433#define __GLX_POLYGONSTIPPLE_CMD_HDR_SIZE \
1434 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE)
1435
1436/*
1437** Data that is specific to a glTexImage1D or glTexImage2D call. The
1438** data is sent in the following order:
1439** Render or RenderLarge header
1440** Pixel header
1441** TexImage header
1442** When a glTexImage1D call the height field is unexamined by the server.
1443*/
1444#define __GLX_TEXIMAGE_HDR \
1445 CARD32 target B32; \
1446 CARD32 level B32; \
1447 CARD32 components B32; \
1448 CARD32 width B32; \
1449 CARD32 height B32; \
1450 CARD32 border B32; \
1451 CARD32 format B32; \
1452 CARD32 type B32
1453
1454#define __GLX_TEXIMAGE_HDR_SIZE 32
1455
1456#define __GLX_TEXIMAGE_CMD_HDR_SIZE \
1457 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE)
1458
1459#define __GLX_TEXIMAGE_CMD_DISPATCH_HDR_SIZE \
1460 (__GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE)
1461
1462typedef struct {
1463 __GLX_RENDER_HDR;
1464 __GLX_PIXEL_HDR;
1465 __GLX_TEXIMAGE_HDR;
1466} __GLXtexImageHeader;
1467
1468typedef struct {
1469 __GLX_RENDER_LARGE_HDR;
1470 __GLX_PIXEL_HDR;
1471 __GLX_TEXIMAGE_HDR;
1472} __GLXtexImageLargeHeader;
1473
1474typedef struct {
1475 __GLX_PIXEL_HDR;
1476 __GLX_TEXIMAGE_HDR;
1477} __GLXdispatchTexImageHeader;
1478
1479/*
1480** Data that is specific to a glTexImage3D or glTexImage4D call. The
1481** data is sent in the following order:
1482** Render or RenderLarge header
1483** Pixel 3D header
1484** TexImage 3D header
1485** When a glTexImage3D call the size4d and woffset fields are unexamined
1486** by the server.
1487** Could be used by all TexImage commands and perhaps should be in the
1488** future.
1489*/
1490#define __GLX_TEXIMAGE_3D_HDR \
1491 CARD32 target B32; \
1492 CARD32 level B32; \
1493 CARD32 internalformat B32; \
1494 CARD32 width B32; \
1495 CARD32 height B32; \
1496 CARD32 depth B32; \
1497 CARD32 size4d B32; \
1498 CARD32 border B32; \
1499 CARD32 format B32; \
1500 CARD32 type B32; \
1501 CARD32 nullimage B32
1502
1503#define __GLX_TEXIMAGE_3D_HDR_SIZE 44
1504
1505#define __GLX_TEXIMAGE_3D_CMD_HDR_SIZE \
1506 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \
1507 __GLX_TEXIMAGE_3D_HDR_SIZE)
1508
1509#define __GLX_TEXIMAGE_3D_CMD_DISPATCH_HDR_SIZE \
1510 (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXIMAGE_3D_HDR_SIZE)
1511
1512typedef struct {
1513 __GLX_RENDER_HDR;
1514 __GLX_PIXEL_3D_HDR;
1515 __GLX_TEXIMAGE_3D_HDR;
1516} __GLXtexImage3DHeader;
1517
1518typedef struct {
1519 __GLX_RENDER_LARGE_HDR;
1520 __GLX_PIXEL_3D_HDR;
1521 __GLX_TEXIMAGE_3D_HDR;
1522} __GLXtexImage3DLargeHeader;
1523
1524typedef struct {
1525 __GLX_PIXEL_3D_HDR;
1526 __GLX_TEXIMAGE_3D_HDR;
1527} __GLXdispatchTexImage3DHeader;
1528
1529/*
1530** Data that is specific to a glTexSubImage1D or glTexSubImage2D call. The
1531** data is sent in the following order:
1532** Render or RenderLarge header
1533** Pixel header
1534** TexSubImage header
1535** When a glTexSubImage1D call is made, the yoffset and height fields
1536** are unexamined by the server and are considered to be padding.
1537*/
1538#define __GLX_TEXSUBIMAGE_HDR \
1539 CARD32 target B32; \
1540 CARD32 level B32; \
1541 CARD32 xoffset B32; \
1542 CARD32 yoffset B32; \
1543 CARD32 width B32; \
1544 CARD32 height B32; \
1545 CARD32 format B32; \
1546 CARD32 type B32; \
1547 CARD32 nullImage \
1548
1549#define __GLX_TEXSUBIMAGE_HDR_SIZE 36
1550
1551#define __GLX_TEXSUBIMAGE_CMD_HDR_SIZE \
1552 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE)
1553
1554#define __GLX_TEXSUBIMAGE_CMD_DISPATCH_HDR_SIZE \
1555 (__GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE)
1556
1557typedef struct {
1558 __GLX_RENDER_HDR;
1559 __GLX_PIXEL_HDR;
1560 __GLX_TEXSUBIMAGE_HDR;
1561} __GLXtexSubImageHeader;
1562
1563typedef struct {
1564 __GLX_RENDER_LARGE_HDR;
1565 __GLX_PIXEL_HDR;
1566 __GLX_TEXSUBIMAGE_HDR;
1567} __GLXtexSubImageLargeHeader;
1568
1569typedef struct {
1570 __GLX_PIXEL_HDR;
1571 __GLX_TEXSUBIMAGE_HDR;
1572} __GLXdispatchTexSubImageHeader;
1573
1574/*
1575** Data that is specific to a glTexSubImage3D and 4D calls. The
1576** data is sent in the following order:
1577** Render or RenderLarge header
1578** Pixel 3D header
1579** TexSubImage 3D header
1580** When a glTexSubImage3D call is made, the woffset and size4d fields
1581** are unexamined by the server and are considered to be padding.
1582*/
1583#define __GLX_TEXSUBIMAGE_3D_HDR \
1584 CARD32 target B32; \
1585 CARD32 level B32; \
1586 CARD32 xoffset B32; \
1587 CARD32 yoffset B32; \
1588 CARD32 zoffset B32; \
1589 CARD32 woffset B32; \
1590 CARD32 width B32; \
1591 CARD32 height B32; \
1592 CARD32 depth B32; \
1593 CARD32 size4d B32; \
1594 CARD32 format B32; \
1595 CARD32 type B32; \
1596 CARD32 nullImage \
1597
1598#define __GLX_TEXSUBIMAGE_3D_HDR_SIZE 52
1599
1600#define __GLX_TEXSUBIMAGE_3D_CMD_HDR_SIZE \
1601 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \
1602 __GLX_TEXSUBIMAGE_3D_HDR_SIZE)
1603
1604#define __GLX_TEXSUBIMAGE_3D_CMD_DISPATCH_HDR_SIZE \
1605 (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXSUBIMAGE_3D_HDR_SIZE)
1606
1607typedef struct {
1608 __GLX_RENDER_HDR;
1609 __GLX_PIXEL_3D_HDR;
1610 __GLX_TEXSUBIMAGE_3D_HDR;
1611} __GLXtexSubImage3DHeader;
1612
1613typedef struct {
1614 __GLX_RENDER_LARGE_HDR;
1615 __GLX_PIXEL_3D_HDR;
1616 __GLX_TEXSUBIMAGE_3D_HDR;
1617} __GLXtexSubImage3DLargeHeader;
1618
1619typedef struct {
1620 __GLX_PIXEL_3D_HDR;
1621 __GLX_TEXSUBIMAGE_3D_HDR;
1622} __GLXdispatchTexSubImage3DHeader;
1623
1624/**
1625 * Data that is specific to a \c glCompressedTexImage1D or
1626 * \c glCompressedTexImage2D call. The data is sent in the following
1627 * order:
1628 * - Render or RenderLarge header
1629 * - CompressedTexImage header
1630 *
1631 * When a \c glCompressedTexImage1D call is made, the \c height field is
1632 * not examined by the server and is considered padding.
1633 */
1634
1635#define __GLX_COMPRESSED_TEXIMAGE_HDR \
1636 CARD32 target B32; \
1637 CARD32 level B32; \
1638 CARD32 internalFormat B32; \
1639 CARD32 width B32; \
1640 CARD32 height B32; \
1641 CARD32 border B32; \
1642 CARD32 imageSize B32
1643
1644#define __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE 28
1645
1646#define __GLX_COMPRESSED_TEXIMAGE_CMD_HDR_SIZE \
1647 (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE)
1648
1649#define __GLX_COMPRESSED_TEXIMAGE_DISPATCH_HDR_SIZE \
1650 (__GLX_COMPRESSED_TEXIMAGE_HDR_SIZE)
1651
1652typedef struct {
1653 __GLX_RENDER_HDR;
1654 __GLX_COMPRESSED_TEXIMAGE_HDR;
1655} __GLXcompressedTexImageHeader;
1656
1657typedef struct {
1658 __GLX_RENDER_LARGE_HDR;
1659 __GLX_COMPRESSED_TEXIMAGE_HDR;
1660} __GLXcompressedTexImageLargeHeader;
1661
1662typedef struct {
1663 __GLX_COMPRESSED_TEXIMAGE_HDR;
1664} __GLXdispatchCompressedTexImageHeader;
1665
1666/**
1667 * Data that is specifi to a \c glCompressedTexSubImage1D or
1668 * \c glCompressedTexSubImage2D call. The data is sent in the following
1669 * order:
1670 * - Render or RenderLarge header
1671 * - CompressedTexSubImage header
1672 *
1673 * When a \c glCompressedTexSubImage1D call is made, the \c yoffset and
1674 * \c height fields are not examined by the server and are considered padding.
1675 */
1676
1677#define __GLX_COMPRESSED_TEXSUBIMAGE_HDR \
1678 CARD32 target B32; \
1679 CARD32 level B32; \
1680 CARD32 xoffset B32; \
1681 CARD32 yoffset B32; \
1682 CARD32 width B32; \
1683 CARD32 height B32; \
1684 CARD32 format B32; \
1685 CARD32 imageSize B32
1686
1687#define __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE 32
1688
1689#define __GLX_COMPRESSED_TEXSUBIMAGE_CMD_HDR_SIZE \
1690 (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE)
1691
1692#define __GLX_COMPRESSED_TEXSUBIMAGE_DISPATCH_HDR_SIZE \
1693 (__GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE)
1694
1695typedef struct {
1696 __GLX_RENDER_HDR;
1697 __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
1698} __GLXcompressedTexSubImageHeader;
1699
1700typedef struct {
1701 __GLX_RENDER_LARGE_HDR;
1702 __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
1703} __GLXcompressedTexSubImageLargeHeader;
1704
1705typedef struct {
1706 __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
1707} __GLXdispatchCompressedTexSubImageHeader;
1708
1709/**
1710 * Data that is specific to a \c glCompressedTexImage3D call. The data is
1711 * sent in the following order:
1712 * - Render or RenderLarge header
1713 * - CompressedTexImage3D header
1714 */
1715
1716#define __GLX_COMPRESSED_TEXIMAGE_3D_HDR \
1717 CARD32 target B32; \
1718 CARD32 level B32; \
1719 CARD32 internalFormat B32; \
1720 CARD32 width B32; \
1721 CARD32 height B32; \
1722 CARD32 depth B32; \
1723 CARD32 border B32; \
1724 CARD32 imageSize B32
1725
1726#define __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE 32
1727
1728#define __GLX_COMPRESSED_TEXIMAGE_3D_CMD_HDR_SIZE \
1729 (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE)
1730
1731#define __GLX_COMPRESSED_TEXIMAGE_3D_DISPATCH_HDR_SIZE \
1732 (__GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE)
1733
1734typedef struct {
1735 __GLX_RENDER_HDR;
1736 __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
1737} __GLXcompressedTexImage3DHeader;
1738
1739typedef struct {
1740 __GLX_RENDER_LARGE_HDR;
1741 __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
1742} __GLXcompressedTexImage3DLargeHeader;
1743
1744typedef struct {
1745 __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
1746} __GLXdispatchCompressedTexImage3DHeader;
1747
1748/**
1749 * Data that is specifi to a \c glCompressedTexSubImage3D call. The data is
1750 * sent in the following order:
1751 * - Render or RenderLarge header
1752 * - CompressedTexSubImage3D header
1753 */
1754
1755#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR \
1756 CARD32 target B32; \
1757 CARD32 level B32; \
1758 CARD32 xoffset B32; \
1759 CARD32 yoffset B32; \
1760 CARD32 zoffset B32; \
1761 CARD32 width B32; \
1762 CARD32 height B32; \
1763 CARD32 depth B32; \
1764 CARD32 format B32; \
1765 CARD32 imageSize B32
1766
1767#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE 32
1768
1769#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_CMD_HDR_SIZE \
1770 (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE)
1771
1772#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_DISPATCH_HDR_SIZE \
1773 (__GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE)
1774
1775typedef struct {
1776 __GLX_RENDER_HDR;
1777 __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
1778} __GLXcompressedTexSubImage3DHeader;
1779
1780typedef struct {
1781 __GLX_RENDER_LARGE_HDR;
1782 __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
1783} __GLXcompressedTexSubImage3DLargeHeader;
1784
1785typedef struct {
1786 __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
1787} __GLXdispatchCompressedTexSubImage3DHeader;
1788
1789/*
1790** Data that is specific to a glDrawPixels call. The data is sent in the
1791** following order:
1792** Render or RenderLarge header
1793** Pixel header
1794** DrawPixels header
1795*/
1796#define __GLX_DRAWPIXELS_HDR \
1797 CARD32 width B32; \
1798 CARD32 height B32; \
1799 CARD32 format B32; \
1800 CARD32 type B32
1801
1802#define __GLX_DRAWPIXELS_HDR_SIZE 16
1803
1804#define __GLX_DRAWPIXELS_CMD_HDR_SIZE \
1805 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE)
1806
1807#define __GLX_DRAWPIXELS_CMD_DISPATCH_HDR_SIZE \
1808 (__GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE)
1809
1810typedef struct {
1811 __GLX_RENDER_HDR;
1812 __GLX_PIXEL_HDR;
1813 __GLX_DRAWPIXELS_HDR;
1814} __GLXdrawPixelsHeader;
1815
1816typedef struct {
1817 __GLX_RENDER_LARGE_HDR;
1818 __GLX_PIXEL_HDR;
1819 __GLX_DRAWPIXELS_HDR;
1820} __GLXdrawPixelsLargeHeader;
1821
1822typedef struct {
1823 __GLX_PIXEL_HDR;
1824 __GLX_DRAWPIXELS_HDR;
1825} __GLXdispatchDrawPixelsHeader;
1826
1827/*
1828** Data that is specific to a glConvolutionFilter1D or glConvolutionFilter2D
1829** call. The data is sent in the following order:
1830** Render or RenderLarge header
1831** Pixel header
1832** ConvolutionFilter header
1833** When a glConvolutionFilter1D call the height field is unexamined by the server.
1834*/
1835#define __GLX_CONV_FILT_HDR \
1836 CARD32 target B32; \
1837 CARD32 internalformat B32; \
1838 CARD32 width B32; \
1839 CARD32 height B32; \
1840 CARD32 format B32; \
1841 CARD32 type B32
1842
1843#define __GLX_CONV_FILT_HDR_SIZE 24
1844
1845#define __GLX_CONV_FILT_CMD_HDR_SIZE \
1846 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE)
1847
1848#define __GLX_CONV_FILT_CMD_DISPATCH_HDR_SIZE \
1849 (__GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE)
1850typedef struct {
1851 __GLX_RENDER_HDR;
1852 __GLX_PIXEL_HDR;
1853 __GLX_CONV_FILT_HDR;
1854} __GLXConvolutionFilterHeader;
1855
1856typedef struct {
1857 __GLX_RENDER_LARGE_HDR;
1858 __GLX_PIXEL_HDR;
1859 __GLX_CONV_FILT_HDR;
1860} __GLXConvolutionFilterLargeHeader;
1861
1862typedef struct {
1863 __GLX_PIXEL_HDR;
1864 __GLX_CONV_FILT_HDR;
1865} __GLXdispatchConvolutionFilterHeader;
1866
1867/*
1868** Data that is specific to a glDrawArraysEXT call. The data is sent in the
1869** following order:
1870** Render or RenderLarge header
1871** Draw Arrays header
1872** a variable number of Component headers
1873** vertex data for each component type
1874*/
1875
1876#define __GLX_DRAWARRAYS_HDR \
1877 CARD32 numVertexes B32; \
1878 CARD32 numComponents B32; \
1879 CARD32 primType B32
1880
1881#define __GLX_DRAWARRAYS_HDR_SIZE 12
1882
1883#define __GLX_DRAWARRAYS_CMD_HDR_SIZE \
1884 (__GLX_RENDER_HDR_SIZE + __GLX_DRAWARRAYS_HDR_SIZE)
1885
1886typedef struct {
1887 __GLX_RENDER_HDR;
1888 __GLX_DRAWARRAYS_HDR;
1889} __GLXdrawArraysHeader;
1890
1891typedef struct {
1892 __GLX_RENDER_LARGE_HDR;
1893 __GLX_DRAWARRAYS_HDR;
1894} __GLXdrawArraysLargeHeader;
1895
1896typedef struct {
1897 __GLX_DRAWARRAYS_HDR;
1898} __GLXdispatchDrawArraysHeader;
1899
1900#define __GLX_COMPONENT_HDR \
1901 CARD32 datatype B32; \
1902 INT32 numVals B32; \
1903 CARD32 component B32
1904
1905typedef struct {
1906 __GLX_COMPONENT_HDR;
1907} __GLXdispatchDrawArraysComponentHeader;
1908
1909#define __GLX_COMPONENT_HDR_SIZE 12
1910
1911/*
1912** Data that is specific to a glColorTable call
1913** The data is sent in the following order:
1914** Render or RenderLarge header
1915** Pixel header
1916** ColorTable header
1917*/
1918
1919#define __GLX_COLOR_TABLE_HDR \
1920 CARD32 target B32; \
1921 CARD32 internalformat B32; \
1922 CARD32 width B32; \
1923 CARD32 format B32; \
1924 CARD32 type B32
1925
1926#define __GLX_COLOR_TABLE_HDR_SIZE 20
1927
1928#define __GLX_COLOR_TABLE_CMD_HDR_SIZE \
1929 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_COLOR_TABLE_HDR_SIZE)
1930
1931typedef struct {
1932 __GLX_RENDER_HDR;
1933 __GLX_PIXEL_HDR;
1934 __GLX_COLOR_TABLE_HDR;
1935} __GLXColorTableHeader;
1936
1937typedef struct {
1938 __GLX_RENDER_LARGE_HDR;
1939 __GLX_PIXEL_HDR;
1940 __GLX_COLOR_TABLE_HDR;
1941} __GLXColorTableLargeHeader;
1942
1943typedef struct {
1944 __GLX_PIXEL_HDR;
1945 __GLX_COLOR_TABLE_HDR;
1946} __GLXdispatchColorTableHeader;
1947
1948/*
1949** Data that is specific to a glColorSubTable call
1950** The data is sent in the following order:
1951** Render or RenderLarge header
1952** Pixel header
1953** ColorTable header
1954*/
1955
1956#define __GLX_COLOR_SUBTABLE_HDR \
1957 CARD32 target B32; \
1958 CARD32 start B32; \
1959 CARD32 count B32; \
1960 CARD32 format B32; \
1961 CARD32 type B32
1962
1963#define __GLX_COLOR_SUBTABLE_HDR_SIZE 20
1964
1965#define __GLX_COLOR_SUBTABLE_CMD_HDR_SIZE \
1966 (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + \
1967 __GLX_COLOR_SUBTABLE_HDR_SIZE)
1968
1969typedef struct {
1970 __GLX_RENDER_HDR;
1971 __GLX_PIXEL_HDR;
1972 __GLX_COLOR_SUBTABLE_HDR;
1973} __GLXColorSubTableHeader;
1974
1975typedef struct {
1976 __GLX_RENDER_LARGE_HDR;
1977 __GLX_PIXEL_HDR;
1978 __GLX_COLOR_SUBTABLE_HDR;
1979} __GLXColorSubTableLargeHeader;
1980
1981typedef struct {
1982 __GLX_PIXEL_HDR;
1983 __GLX_COLOR_SUBTABLE_HDR;
1984} __GLXdispatchColorSubTableHeader;
1985
1986#define GLX_WINDOW_TYPE 1
1987#define GLX_PIXMAP_TYPE 2
1988#define GLX_VIDEO_SOURCE_TYPE 3
1989#define GLX_PBUFFER_TYPE 4
1990/* 5 is for DM_PBUFFER */
1991#define GLX_GLXWINDOW_TYPE 6
1992
1993/*****************************************************************************/
1994
1995/*
1996** Restore these definitions back to the typedefs in glx.h
1997*/
1998#undef GLXContextID
1999#undef GLXPixmap
2000#undef GLXDrawable
2001#undef GLXPbuffer
2002#undef GLXWindow
2003#undef GLXFBConfigID
2004#undef GLXFBConfigIDSGIX
2005#undef GLXPbufferSGIX
2006
2007
2008/* Opcodes for GLX commands */
2009
2010#define X_GLXRender 1
2011#define X_GLXRenderLarge 2
2012#define X_GLXCreateContext 3
2013#define X_GLXDestroyContext 4
2014#define X_GLXMakeCurrent 5
2015#define X_GLXIsDirect 6
2016#define X_GLXQueryVersion 7
2017#define X_GLXWaitGL 8
2018#define X_GLXWaitX 9
2019#define X_GLXCopyContext 10
2020#define X_GLXSwapBuffers 11
2021#define X_GLXUseXFont 12
2022#define X_GLXCreateGLXPixmap 13
2023#define X_GLXGetVisualConfigs 14
2024#define X_GLXDestroyGLXPixmap 15
2025#define X_GLXVendorPrivate 16
2026#define X_GLXVendorPrivateWithReply 17
2027#define X_GLXQueryExtensionsString 18
2028#define X_GLXQueryServerString 19
2029#define X_GLXClientInfo 20
2030#define X_GLXGetFBConfigs 21
2031#define X_GLXCreatePixmap 22
2032#define X_GLXDestroyPixmap 23
2033#define X_GLXCreateNewContext 24
2034#define X_GLXQueryContext 25
2035#define X_GLXMakeContextCurrent 26
2036#define X_GLXCreatePbuffer 27
2037#define X_GLXDestroyPbuffer 28
2038#define X_GLXGetDrawableAttributes 29
2039#define X_GLXChangeDrawableAttributes 30
2040#define X_GLXCreateWindow 31
2041#define X_GLXDestroyWindow 32
2042
2043
2044/* Opcodes for single commands (part of GLX command space) */
2045
2046#define X_GLsop_NewList 101
2047#define X_GLsop_EndList 102
2048#define X_GLsop_DeleteLists 103
2049#define X_GLsop_GenLists 104
2050#define X_GLsop_FeedbackBuffer 105
2051#define X_GLsop_SelectBuffer 106
2052#define X_GLsop_RenderMode 107
2053#define X_GLsop_Finish 108
2054#define X_GLsop_Flush 142
2055#define X_GLsop_PixelStoref 109
2056#define X_GLsop_PixelStorei 110
2057#define X_GLsop_ReadPixels 111
2058#define X_GLsop_GetBooleanv 112
2059#define X_GLsop_GetClipPlane 113
2060#define X_GLsop_GetDoublev 114
2061#define X_GLsop_GetError 115
2062#define X_GLsop_GetFloatv 116
2063#define X_GLsop_GetIntegerv 117
2064#define X_GLsop_GetLightfv 118
2065#define X_GLsop_GetLightiv 119
2066#define X_GLsop_GetMapdv 120
2067#define X_GLsop_GetMapfv 121
2068#define X_GLsop_GetMapiv 122
2069#define X_GLsop_GetMaterialfv 123
2070#define X_GLsop_GetMaterialiv 124
2071#define X_GLsop_GetPixelMapfv 125
2072#define X_GLsop_GetPixelMapuiv 126
2073#define X_GLsop_GetPixelMapusv 127
2074#define X_GLsop_GetPolygonStipple 128
2075#define X_GLsop_GetString 129
2076#define X_GLsop_GetTexEnvfv 130
2077#define X_GLsop_GetTexEnviv 131
2078#define X_GLsop_GetTexGendv 132
2079#define X_GLsop_GetTexGenfv 133
2080#define X_GLsop_GetTexGeniv 134
2081#define X_GLsop_GetTexImage 135
2082#define X_GLsop_GetTexParameterfv 136
2083#define X_GLsop_GetTexParameteriv 137
2084#define X_GLsop_GetTexLevelParameterfv 138
2085#define X_GLsop_GetTexLevelParameteriv 139
2086#define X_GLsop_IsEnabled 140
2087#define X_GLsop_IsList 141
2088#define X_GLsop_AreTexturesResident 143
2089#define X_GLsop_DeleteTextures 144
2090#define X_GLsop_GenTextures 145
2091#define X_GLsop_IsTexture 146
2092#define X_GLsop_GetColorTable 147
2093#define X_GLsop_GetColorTableParameterfv 148
2094#define X_GLsop_GetColorTableParameteriv 149
2095#define X_GLsop_GetConvolutionFilter 150
2096#define X_GLsop_GetConvolutionParameterfv 151
2097#define X_GLsop_GetConvolutionParameteriv 152
2098#define X_GLsop_GetSeparableFilter 153
2099#define X_GLsop_GetHistogram 154
2100#define X_GLsop_GetHistogramParameterfv 155
2101#define X_GLsop_GetHistogramParameteriv 156
2102#define X_GLsop_GetMinmax 157
2103#define X_GLsop_GetMinmaxParameterfv 158
2104#define X_GLsop_GetMinmaxParameteriv 159
2105#define X_GLsop_GetCompressedTexImage 160
2106
2107
2108/* Opcodes for rendering commands */
2109
2110#define X_GLrop_CallList 1
2111#define X_GLrop_CallLists 2
2112#define X_GLrop_ListBase 3
2113#define X_GLrop_Begin 4
2114#define X_GLrop_Bitmap 5
2115#define X_GLrop_Color3bv 6
2116#define X_GLrop_Color3dv 7
2117#define X_GLrop_Color3fv 8
2118#define X_GLrop_Color3iv 9
2119#define X_GLrop_Color3sv 10
2120#define X_GLrop_Color3ubv 11
2121#define X_GLrop_Color3uiv 12
2122#define X_GLrop_Color3usv 13
2123#define X_GLrop_Color4bv 14
2124#define X_GLrop_Color4dv 15
2125#define X_GLrop_Color4fv 16
2126#define X_GLrop_Color4iv 17
2127#define X_GLrop_Color4sv 18
2128#define X_GLrop_Color4ubv 19
2129#define X_GLrop_Color4uiv 20
2130#define X_GLrop_Color4usv 21
2131#define X_GLrop_EdgeFlagv 22
2132#define X_GLrop_End 23
2133#define X_GLrop_Indexdv 24
2134#define X_GLrop_Indexfv 25
2135#define X_GLrop_Indexiv 26
2136#define X_GLrop_Indexsv 27
2137#define X_GLrop_Normal3bv 28
2138#define X_GLrop_Normal3dv 29
2139#define X_GLrop_Normal3fv 30
2140#define X_GLrop_Normal3iv 31
2141#define X_GLrop_Normal3sv 32
2142#define X_GLrop_RasterPos2dv 33
2143#define X_GLrop_RasterPos2fv 34
2144#define X_GLrop_RasterPos2iv 35
2145#define X_GLrop_RasterPos2sv 36
2146#define X_GLrop_RasterPos3dv 37
2147#define X_GLrop_RasterPos3fv 38
2148#define X_GLrop_RasterPos3iv 39
2149#define X_GLrop_RasterPos3sv 40
2150#define X_GLrop_RasterPos4dv 41
2151#define X_GLrop_RasterPos4fv 42
2152#define X_GLrop_RasterPos4iv 43
2153#define X_GLrop_RasterPos4sv 44
2154#define X_GLrop_Rectdv 45
2155#define X_GLrop_Rectfv 46
2156#define X_GLrop_Rectiv 47
2157#define X_GLrop_Rectsv 48
2158#define X_GLrop_TexCoord1dv 49
2159#define X_GLrop_TexCoord1fv 50
2160#define X_GLrop_TexCoord1iv 51
2161#define X_GLrop_TexCoord1sv 52
2162#define X_GLrop_TexCoord2dv 53
2163#define X_GLrop_TexCoord2fv 54
2164#define X_GLrop_TexCoord2iv 55
2165#define X_GLrop_TexCoord2sv 56
2166#define X_GLrop_TexCoord3dv 57
2167#define X_GLrop_TexCoord3fv 58
2168#define X_GLrop_TexCoord3iv 59
2169#define X_GLrop_TexCoord3sv 60
2170#define X_GLrop_TexCoord4dv 61
2171#define X_GLrop_TexCoord4fv 62
2172#define X_GLrop_TexCoord4iv 63
2173#define X_GLrop_TexCoord4sv 64
2174#define X_GLrop_Vertex2dv 65
2175#define X_GLrop_Vertex2fv 66
2176#define X_GLrop_Vertex2iv 67
2177#define X_GLrop_Vertex2sv 68
2178#define X_GLrop_Vertex3dv 69
2179#define X_GLrop_Vertex3fv 70
2180#define X_GLrop_Vertex3iv 71
2181#define X_GLrop_Vertex3sv 72
2182#define X_GLrop_Vertex4dv 73
2183#define X_GLrop_Vertex4fv 74
2184#define X_GLrop_Vertex4iv 75
2185#define X_GLrop_Vertex4sv 76
2186#define X_GLrop_ClipPlane 77
2187#define X_GLrop_ColorMaterial 78
2188#define X_GLrop_CullFace 79
2189#define X_GLrop_Fogf 80
2190#define X_GLrop_Fogfv 81
2191#define X_GLrop_Fogi 82
2192#define X_GLrop_Fogiv 83
2193#define X_GLrop_FrontFace 84
2194#define X_GLrop_Hint 85
2195#define X_GLrop_Lightf 86
2196#define X_GLrop_Lightfv 87
2197#define X_GLrop_Lighti 88
2198#define X_GLrop_Lightiv 89
2199#define X_GLrop_LightModelf 90
2200#define X_GLrop_LightModelfv 91
2201#define X_GLrop_LightModeli 92
2202#define X_GLrop_LightModeliv 93
2203#define X_GLrop_LineStipple 94
2204#define X_GLrop_LineWidth 95
2205#define X_GLrop_Materialf 96
2206#define X_GLrop_Materialfv 97
2207#define X_GLrop_Materiali 98
2208#define X_GLrop_Materialiv 99
2209#define X_GLrop_PointSize 100
2210#define X_GLrop_PolygonMode 101
2211#define X_GLrop_PolygonStipple 102
2212#define X_GLrop_Scissor 103
2213#define X_GLrop_ShadeModel 104
2214#define X_GLrop_TexParameterf 105
2215#define X_GLrop_TexParameterfv 106
2216#define X_GLrop_TexParameteri 107
2217#define X_GLrop_TexParameteriv 108
2218#define X_GLrop_TexImage1D 109
2219#define X_GLrop_TexImage2D 110
2220#define X_GLrop_TexEnvf 111
2221#define X_GLrop_TexEnvfv 112
2222#define X_GLrop_TexEnvi 113
2223#define X_GLrop_TexEnviv 114
2224#define X_GLrop_TexGend 115
2225#define X_GLrop_TexGendv 116
2226#define X_GLrop_TexGenf 117
2227#define X_GLrop_TexGenfv 118
2228#define X_GLrop_TexGeni 119
2229#define X_GLrop_TexGeniv 120
2230#define X_GLrop_InitNames 121
2231#define X_GLrop_LoadName 122
2232#define X_GLrop_PassThrough 123
2233#define X_GLrop_PopName 124
2234#define X_GLrop_PushName 125
2235#define X_GLrop_DrawBuffer 126
2236#define X_GLrop_Clear 127
2237#define X_GLrop_ClearAccum 128
2238#define X_GLrop_ClearIndex 129
2239#define X_GLrop_ClearColor 130
2240#define X_GLrop_ClearStencil 131
2241#define X_GLrop_ClearDepth 132
2242#define X_GLrop_StencilMask 133
2243#define X_GLrop_ColorMask 134
2244#define X_GLrop_DepthMask 135
2245#define X_GLrop_IndexMask 136
2246#define X_GLrop_Accum 137
2247#define X_GLrop_Disable 138
2248#define X_GLrop_Enable 139
2249#define X_GLrop_PopAttrib 141
2250#define X_GLrop_PushAttrib 142
2251#define X_GLrop_Map1d 143
2252#define X_GLrop_Map1f 144
2253#define X_GLrop_Map2d 145
2254#define X_GLrop_Map2f 146
2255#define X_GLrop_MapGrid1d 147
2256#define X_GLrop_MapGrid1f 148
2257#define X_GLrop_MapGrid2d 149
2258#define X_GLrop_MapGrid2f 150
2259#define X_GLrop_EvalCoord1dv 151
2260#define X_GLrop_EvalCoord1fv 152
2261#define X_GLrop_EvalCoord2dv 153
2262#define X_GLrop_EvalCoord2fv 154
2263#define X_GLrop_EvalMesh1 155
2264#define X_GLrop_EvalPoint1 156
2265#define X_GLrop_EvalMesh2 157
2266#define X_GLrop_EvalPoint2 158
2267#define X_GLrop_AlphaFunc 159
2268#define X_GLrop_BlendFunc 160
2269#define X_GLrop_LogicOp 161
2270#define X_GLrop_StencilFunc 162
2271#define X_GLrop_StencilOp 163
2272#define X_GLrop_DepthFunc 164
2273#define X_GLrop_PixelZoom 165
2274#define X_GLrop_PixelTransferf 166
2275#define X_GLrop_PixelTransferi 167
2276#define X_GLrop_PixelMapfv 168
2277#define X_GLrop_PixelMapuiv 169
2278#define X_GLrop_PixelMapusv 170
2279#define X_GLrop_ReadBuffer 171
2280#define X_GLrop_CopyPixels 172
2281#define X_GLrop_DrawPixels 173
2282#define X_GLrop_DepthRange 174
2283#define X_GLrop_Frustum 175
2284#define X_GLrop_LoadIdentity 176
2285#define X_GLrop_LoadMatrixf 177
2286#define X_GLrop_LoadMatrixd 178
2287#define X_GLrop_MatrixMode 179
2288#define X_GLrop_MultMatrixf 180
2289#define X_GLrop_MultMatrixd 181
2290#define X_GLrop_Ortho 182
2291#define X_GLrop_PopMatrix 183
2292#define X_GLrop_PushMatrix 184
2293#define X_GLrop_Rotated 185
2294#define X_GLrop_Rotatef 186
2295#define X_GLrop_Scaled 187
2296#define X_GLrop_Scalef 188
2297#define X_GLrop_Translated 189
2298#define X_GLrop_Translatef 190
2299#define X_GLrop_Viewport 191
2300#define X_GLrop_DrawArrays 193
2301#define X_GLrop_PolygonOffset 192
2302#define X_GLrop_CopyTexImage1D 4119
2303#define X_GLrop_CopyTexImage2D 4120
2304#define X_GLrop_CopyTexSubImage1D 4121
2305#define X_GLrop_CopyTexSubImage2D 4122
2306#define X_GLrop_TexSubImage1D 4099
2307#define X_GLrop_TexSubImage2D 4100
2308#define X_GLrop_BindTexture 4117
2309#define X_GLrop_PrioritizeTextures 4118
2310#define X_GLrop_Indexubv 194
2311#define X_GLrop_BlendColor 4096
2312#define X_GLrop_BlendEquation 4097
2313#define X_GLrop_ColorTable 2053
2314#define X_GLrop_ColorTableParameterfv 2054
2315#define X_GLrop_ColorTableParameteriv 2055
2316#define X_GLrop_CopyColorTable 2056
2317#define X_GLrop_ColorSubTable 195
2318#define X_GLrop_CopyColorSubTable 196
2319#define X_GLrop_ConvolutionFilter1D 4101
2320#define X_GLrop_ConvolutionFilter2D 4102
2321#define X_GLrop_ConvolutionParameterf 4103
2322#define X_GLrop_ConvolutionParameterfv 4104
2323#define X_GLrop_ConvolutionParameteri 4105
2324#define X_GLrop_ConvolutionParameteriv 4106
2325#define X_GLrop_CopyConvolutionFilter1D 4107
2326#define X_GLrop_CopyConvolutionFilter2D 4108
2327#define X_GLrop_SeparableFilter2D 4109
2328#define X_GLrop_Histogram 4110
2329#define X_GLrop_Minmax 4111
2330#define X_GLrop_ResetHistogram 4112
2331#define X_GLrop_ResetMinmax 4113
2332#define X_GLrop_TexImage3D 4114
2333#define X_GLrop_TexSubImage3D 4115
2334#define X_GLrop_CopyTexSubImage3D 4123
2335#define X_GLrop_DrawArraysEXT 4116
2336
2337/* Added for core GL version 1.3 */
2338
2339#define X_GLrop_ActiveTextureARB 197
2340#define X_GLrop_MultiTexCoord1dvARB 198
2341#define X_GLrop_MultiTexCoord1fvARB 199
2342#define X_GLrop_MultiTexCoord1ivARB 200
2343#define X_GLrop_MultiTexCoord1svARB 201
2344#define X_GLrop_MultiTexCoord2dvARB 202
2345#define X_GLrop_MultiTexCoord2fvARB 203
2346#define X_GLrop_MultiTexCoord2ivARB 204
2347#define X_GLrop_MultiTexCoord2svARB 205
2348#define X_GLrop_MultiTexCoord3dvARB 206
2349#define X_GLrop_MultiTexCoord3fvARB 207
2350#define X_GLrop_MultiTexCoord3ivARB 208
2351#define X_GLrop_MultiTexCoord3svARB 209
2352#define X_GLrop_MultiTexCoord4dvARB 210
2353#define X_GLrop_MultiTexCoord4fvARB 211
2354#define X_GLrop_MultiTexCoord4ivARB 212
2355#define X_GLrop_MultiTexCoord4svARB 213
2356#define X_GLrop_CompressedTexImage1D 214
2357#define X_GLrop_CompressedTexImage2D 215
2358#define X_GLrop_CompressedTexImage3D 216
2359#define X_GLrop_CompressedTexSubImage1D 217
2360#define X_GLrop_CompressedTexSubImage2D 218
2361#define X_GLrop_CompressedTexSubImage3D 219
2362#define X_GLrop_SampleCoverageARB 229
2363
2364/* Added for core GL version 1.4 */
2365
2366#define X_GLrop_WindowPos3fARB 230
2367#define X_GLrop_FogCoordfv 4124
2368#define X_GLrop_FogCoorddv 4125
2369#define X_GLrop_PointParameterfARB 2065
2370#define X_GLrop_PointParameterfvARB 2066
2371#define X_GLrop_SecondaryColor3bv 4126
2372#define X_GLrop_SecondaryColor3sv 4127
2373#define X_GLrop_SecondaryColor3iv 4128
2374#define X_GLrop_SecondaryColor3fv 4129
2375#define X_GLrop_SecondaryColor3dv 4130
2376#define X_GLrop_SecondaryColor3ubv 4131
2377#define X_GLrop_SecondaryColor3usv 4132
2378#define X_GLrop_SecondaryColor3uiv 4133
2379#define X_GLrop_BlendFuncSeparate 4134
2380#define X_GLrop_PointParameteri 4221
2381#define X_GLrop_PointParameteriv 4222
2382
2383/* Added for core GL version 1.5 */
2384/* XXX opcodes not defined in the spec */
2385
2386/* Opcodes for Vendor Private commands */
2387
2388
2389#define X_GLvop_GetConvolutionFilterEXT 1
2390#define X_GLvop_GetConvolutionParameterfvEXT 2
2391#define X_GLvop_GetConvolutionParameterivEXT 3
2392#define X_GLvop_GetSeparableFilterEXT 4
2393#define X_GLvop_GetHistogramEXT 5
2394#define X_GLvop_GetHistogramParameterfvEXT 6
2395#define X_GLvop_GetHistogramParameterivEXT 7
2396#define X_GLvop_GetMinmaxEXT 8
2397#define X_GLvop_GetMinmaxParameterfvEXT 9
2398#define X_GLvop_GetMinmaxParameterivEXT 10
2399#define X_GLvop_AreTexturesResidentEXT 11
2400#define X_GLvop_DeleteTexturesEXT 12
2401#define X_GLvop_GenTexturesEXT 13
2402#define X_GLvop_IsTextureEXT 14
2403#define X_GLvop_GetCombinerInputParameterfvNV 1270
2404#define X_GLvop_GetCombinerInputParameterivNV 1271
2405#define X_GLvop_GetCombinerOutputParameterfvNV 1272
2406#define X_GLvop_GetCombinerOutputParameterivNV 1273
2407#define X_GLvop_GetFinalCombinerOutputParameterfvNV 1274
2408#define X_GLvop_GetFinalCombinerOutputParameterivNV 1275
2409#define X_GLvop_DeleteFenceNV 1276
2410#define X_GLvop_GenFencesNV 1277
2411#define X_GLvop_IsFenceNV 1278
2412#define X_GLvop_TestFenceNV 1279
2413#define X_GLvop_GetFenceivNV 1280
2414#define X_GLvop_AreProgramsResidentNV 1293
2415#define X_GLvop_DeleteProgramARB 1294
2416#define X_GLvop_GenProgramsARB 1295
2417#define X_GLvop_GetProgramEnvParameterfvARB 1296
2418#define X_GLvop_GetProgramEnvParameterdvARB 1297
2419#define X_GLvop_GetProgramEnvParameterivNV 1298
2420#define X_GLvop_GetProgramStringNV 1299
2421#define X_GLvop_GetTrackMatrixivNV 1300
2422#define X_GLvop_GetVertexAttribdvARB 1301
2423#define X_GLvop_GetVertexAttribfvARB 1302
2424#define X_GLvop_GetVertexAttribivARB 1303
2425#define X_GLvop_IsProgramARB 1304
2426#define X_GLvop_GetProgramLocalParameterfvARB 1305
2427#define X_GLvop_GetProgramLocalParameterdvARB 1306
2428#define X_GLvop_GetProgramivARB 1307
2429#define X_GLvop_GetProgramStringARB 1308
2430#define X_GLvop_GetProgramNamedParameter4fvNV 1310
2431#define X_GLvop_GetProgramNamedParameter4dvNV 1311
2432#define X_GLvop_SampleMaskSGIS 2048
2433#define X_GLvop_SamplePatternSGIS 2049
2434#define X_GLvop_GetDetailTexFuncSGIS 4096
2435#define X_GLvop_GetSharpenTexFuncSGIS 4097
2436#define X_GLvop_GetColorTableSGI 4098
2437#define X_GLvop_GetColorTableParameterfvSGI 4099
2438#define X_GLvop_GetColorTableParameterivSGI 4100
2439#define X_GLvop_GetTexFilterFuncSGIS 4101
2440#define X_GLvop_GetInstrumentsSGIX 4102
2441#define X_GLvop_InstrumentsBufferSGIX 4103
2442#define X_GLvop_PollInstrumentsSGIX 4104
2443#define X_GLvop_FlushRasterSGIX 4105
2444
2445/* Opcodes for GLX vendor private commands */
2446
2447#define X_GLXvop_QueryContextInfoEXT 1024
2448#define X_GLXvop_BindTexImageEXT 1330
2449#define X_GLXvop_ReleaseTexImageEXT 1331
2450#define X_GLXvop_SwapIntervalSGI 65536
2451#define X_GLXvop_MakeCurrentReadSGI 65537
2452#define X_GLXvop_CreateGLXVideoSourceSGIX 65538
2453#define X_GLXvop_DestroyGLXVideoSourceSGIX 65539
2454#define X_GLXvop_GetFBConfigsSGIX 65540
2455#define X_GLXvop_CreateContextWithConfigSGIX 65541
2456#define X_GLXvop_CreateGLXPixmapWithConfigSGIX 65542
2457#define X_GLXvop_CreateGLXPbufferSGIX 65543
2458#define X_GLXvop_DestroyGLXPbufferSGIX 65544
2459#define X_GLXvop_ChangeDrawableAttributesSGIX 65545
2460#define X_GLXvop_GetDrawableAttributesSGIX 65546
2461#define X_GLXvop_JoinSwapGroupSGIX 65547
2462#define X_GLXvop_BindSwapBarrierSGIX 65548
2463#define X_GLXvop_QueryMaxSwapBarriersSGIX 65549
2464#define X_GLXvop_QueryHyperpipeNetworkSGIX 65550
2465#define X_GLXvop_QueryHyperpipeConfigSGIX 65551
2466#define X_GLXvop_HyperpipeConfigSGIX 65552
2467#define X_GLXvop_DestroyHyperpipeConfigSGIX 65553
2468
2469/* ARB extension opcodes */
2470
2471/* 1. GL_ARB_multitexture - see GL 1.2 opcodes */
2472/* 5. GL_ARB_multisample - see GL 1.3 opcodes */
2473/* 12. GL_ARB_texture_compression - see GL 1.3 opcodes */
2474/* 14. GL_ARB_point_parameters - see GL 1.4 opcodees */
2475
2476/* 15. GL_ARB_vertex_blend */
2477#define X_GLrop_WeightbvARB 220
2478#define X_GLrop_WeightubvARB 221
2479#define X_GLrop_WeightsvARB 222
2480#define X_GLrop_WeightusvARB 223
2481#define X_GLrop_WeightivARB 224
2482#define X_GLrop_WeightuivARB 225
2483#define X_GLrop_VertexBlendARB 226
2484#define X_GLrop_WeightfvARB 227
2485#define X_GLrop_WeightdvARB 228
2486
2487/* 16. GL_ARB_matrix_palette */
2488/* XXX opcodes not defined in the spec */
2489
2490/* 25. GL_ARB_window_pos - see GL 1.4 opcodes */
2491
2492/* 26. GL_ARB_vertex_program */
2493#define X_GLrop_BindProgramARB 4180
2494#define X_GLrop_ProgramEnvParameter4fvARB 4184
2495#define X_GLrop_ProgramEnvParameter4dvARB 4185
2496#define X_GLrop_VertexAttrib1svARB 4189
2497#define X_GLrop_VertexAttrib2svARB 4190
2498#define X_GLrop_VertexAttrib3svARB 4191
2499#define X_GLrop_VertexAttrib4svARB 4192
2500#define X_GLrop_VertexAttrib1fvARB 4193
2501#define X_GLrop_VertexAttrib2fvARB 4194
2502#define X_GLrop_VertexAttrib3fvARB 4195
2503#define X_GLrop_VertexAttrib4fvARB 4196
2504#define X_GLrop_VertexAttrib1dvARB 4197
2505#define X_GLrop_VertexAttrib2dvARB 4198
2506#define X_GLrop_VertexAttrib3dvARB 4199
2507#define X_GLrop_ProgramLocalParameter4fvARB 4215
2508#define X_GLrop_ProgramLocalParameter4dvARB 4216
2509#define X_GLrop_ProgramStringARB 4217
2510#define X_GLrop_VertexAttrib4dvARB 4200
2511#define X_GLrop_VertexAttrib4NubvARB 4201
2512#define X_GLrop_VertexAttrib4bvARB 4230
2513#define X_GLrop_VertexAttrib4ivARB 4231
2514#define X_GLrop_VertexAttrib4ubvARB 4232
2515#define X_GLrop_VertexAttrib4usvARB 4233
2516#define X_GLrop_VertexAttrib4uivARB 4234
2517#define X_GLrop_VertexAttrib4NbvARB 4235
2518#define X_GLrop_VertexAttrib4NsvARB 4236
2519#define X_GLrop_VertexAttrib4NivARB 4237
2520#define X_GLrop_VertexAttrib4NusvARB 4238
2521#define X_GLrop_VertexAttrib4NuivARB 4239
2522
2523/* 27. GL_ARB_fragment_program - see GL_ARB_vertex_program opcodes */
2524
2525/* 29. GL_ARB_occlusion_query */
2526/* XXX opcodes not defined in the spec */
2527
2528
2529/* New extension opcodes */
2530
2531/* 145. GL_EXT_secondary_color - see GL 1.4 opcodes */
2532
2533/* 188. GL_EXT_vertex_weighting */
2534#define X_GLrop_VertexWeightfvEXT 4135
2535
2536/* 191. GL_NV_register_combiners */
2537#define X_GLrop_CombinerParameterfNV 4136
2538#define X_GLrop_CombinerParameterfvNV 4137
2539#define X_GLrop_CombinerParameteriNV 4138
2540#define X_GLrop_CombinerParameterivNV 4139
2541#define X_GLrop_CombinerInputNV 4140
2542#define X_GLrop_CombinerOutputNV 4141
2543#define X_GLrop_FinalCombinerInputNV 4142
2544
2545/* 222. GL_NV_fence */
2546#define X_GLrop_SetFenceNV 4143
2547#define X_GLrop_FinishFenceNV 4144
2548
2549/* 227. GL_NV_register_combiners2 */
2550/* XXX opcodes not defined in the spec */
2551
2552/* 233. GL_NV_vertex_program - see also GL_ARB_vertex_program opcodes */
2553#define X_GLrop_ExecuteProgramNV 4181
2554#define X_GLrop_RequestResidentProgramsNV 4182
2555#define X_GLrop_LoadProgamNV 4183
2556#define X_GLrop_ProgramParameters4fvNV 4186
2557#define X_GLrop_ProgramParameters4dvNV 4187
2558#define X_GLrop_TrackMatrixNV 4188
2559#define X_GLrop_VertexAttribs1svNV 4202
2560#define X_GLrop_VertexAttribs2svNV 4203
2561#define X_GLrop_VertexAttribs3svNV 4204
2562#define X_GLrop_VertexAttribs4svNV 4205
2563#define X_GLrop_VertexAttribs1fvNV 4206
2564#define X_GLrop_VertexAttribs2fvNV 4207
2565#define X_GLrop_VertexAttribs3fvNV 4208
2566#define X_GLrop_VertexAttribs4fvNV 4209
2567#define X_GLrop_VertexAttribs1dvNV 4210
2568#define X_GLrop_VertexAttribs2dvNV 4211
2569#define X_GLrop_VertexAttribs3dvNV 4212
2570#define X_GLrop_VertexAttribs4dvNV 4213
2571#define X_GLrop_VertexAttribs4ubvNV 4214
2572
2573/* 261. GL_NV_occlusion_query */
2574/* XXX opcodes not defined in the spec */
2575
2576/* 262. GL_NV_point_sprite - see GL 1.4 opcodes */
2577
2578/* 268. GL_EXT_stencil_two_side */
2579#define X_GLrop_ActiveStencilFaceEXT 4220
2580
2581/* 282. GL_NV_fragment_program - see also GL_NV_vertex_program and GL_ARB_vertex_program opcodes */
2582#define X_GLrop_ProgramNamedParameter4fvNV 4218
2583#define X_GLrop_ProgramNamedParameter4dvNV 4219
2584
2585/* 285. GL_NV_primitive_restart */
2586/* XXX opcodes not defined in the spec */
2587
2588/* 297. GL_EXT_depth_bounds_test */
2589#define X_GLrop_DepthBoundsEXT 4229
2590
2591/* 299. GL_EXT_blend_equation_separate */
2592#define X_GLrop_BlendEquationSeparateEXT 4228
2593
2594/* 310. GL_EXT_framebuffer_object */
2595#define X_GLvop_IsRenderbufferEXT 1422
2596#define X_GLvop_GenRenderbuffersEXT 1423
2597#define X_GLvop_GetRenderbufferParameterivEXT 1424
2598#define X_GLvop_IsFramebufferEXT 1425
2599#define X_GLvop_GenFramebuffersEXT 1426
2600#define X_GLvop_CheckFramebufferStatusEXT 1427
2601#define X_GLvop_GetFramebufferAttachmentParameterivEXT 1428
2602
2603#endif /* _GLX_glxproto_h_ */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette