VirtualBox

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

最後變更 在這個檔案從64529是 22662,由 vboxsync 提交於 15 年 前

export more X11 stuff to OSE

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

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