]> git.tdb.fi Git - gldbg.git/blob - glxext.spec
Add help
[gldbg.git] / glxext.spec
1 # glxext.spec file
2 # DON'T REMOVE PREVIOUS LINE!!! libspec depends on it!
3 #
4 # Copyright (C) 1991-2005 Silicon Graphics, Inc. All Rights Reserved.
5 #
6 # This document is licensed under the SGI Free Software B License Version
7 # 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
8
9 required-props:
10 param:          retval retained
11 glxflags:       client-handcode client-intercept server-handcode
12 glxvendorglx:   *
13 vectorequiv:    *
14 category:       VERSION_1_3 VERSION_1_4 ARB_get_proc_address ARB_multisample ARB_fbconfig_float EXT_import_context SGIX_dmbuffer SGIX_fbconfig SGIX_pbuffer SGIX_swap_barrier SGIX_swap_group SGIX_video_resize SGIX_video_source SGI_cushion SGI_make_current_read SGI_swap_control SGI_video_sync SUN_get_transparent_index MESA_agp_offset MESA_copy_sub_buffer MESA_pixmap_colormap MESA_release_buffers MESA_set_3dfx_mode SGIX_visual_select_group OML_sync_control SGIX_hyperpipe EXT_texture_from_pixmap NV_swap_group NV_video_output NV_present_video ARB_create_context NV_video_capture NV_copy_image
15 glxopcode:      *
16
17 #
18 # Boilerplate to define types used by some extensions. This is done
19 #   up front, since it involves some complexities in protecting
20 #   the declarations whether or not the -protect flag is given to
21 #   the generator scripts.
22 #
23
24 passthru: #ifndef GLX_ARB_get_proc_address
25 passthru: typedef void (*__GLXextFuncPtr)(void);
26 passthru: #endif
27 passthru:
28 passthru: #ifndef GLX_SGIX_video_source
29 passthru: typedef XID GLXVideoSourceSGIX;
30 passthru: #endif
31 passthru:
32 passthru: #ifndef GLX_SGIX_fbconfig
33 passthru: typedef XID GLXFBConfigIDSGIX;
34 passthru: typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
35 passthru: #endif
36 passthru:
37 passthru: #ifndef GLX_SGIX_pbuffer
38 passthru: typedef XID GLXPbufferSGIX;
39 passthru: typedef struct {
40 passthru:     int type;
41 passthru:     unsigned long serial;       /* # of last request processed by server */
42 passthru:     Bool send_event;            /* true if this came for SendEvent request */
43 passthru:     Display *display;           /* display the event was read from */
44 passthru:     GLXDrawable drawable;       /* i.d. of Drawable */
45 passthru:     int event_type;             /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
46 passthru:     int draw_type;              /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
47 passthru:     unsigned int mask;          /* mask indicating which buffers are affected*/
48 passthru:     int x, y;
49 passthru:     int width, height;
50 passthru:     int count;                  /* if nonzero, at least this many more */
51 passthru: } GLXBufferClobberEventSGIX;
52 passthru: #endif
53 passthru:
54 passthru: /* The next two typedefs are placeholders until NVIDIA clarifies these types */
55 passthru: #ifndef GLX_NV_video_output
56 passthru: typedef struct { unsigned int dummy; } *GLXVideoDeviceNV;
57 passthru: #endif
58 passthru:
59 passthru: #ifndef GLX_NV_video_capture
60 passthru: typedef struct { unsigned int dummy; } *GLXVideoCaptureDeviceNV;
61 passthru: #endif
62 passthru:
63 passthru: #ifndef GLEXT_64_TYPES_DEFINED
64 passthru: /* This code block is duplicated in glext.h, so must be protected */
65 passthru: #define GLEXT_64_TYPES_DEFINED
66 passthru: /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
67 passthru: /* (as used in the GLX_OML_sync_control extension). */
68 passthru: #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
69 passthru: #include <inttypes.h>
70 passthru: #elif defined(__sun__) || defined(__digital__)
71 passthru: #include <inttypes.h>
72 passthru: #if defined(__STDC__)
73 passthru: #if defined(__arch64__) || defined(_LP64)
74 passthru: typedef long int int64_t;
75 passthru: typedef unsigned long int uint64_t;
76 passthru: #else
77 passthru: typedef long long int int64_t;
78 passthru: typedef unsigned long long int uint64_t;
79 passthru: #endif /* __arch64__ */
80 passthru: #endif /* __STDC__ */
81 passthru: #elif defined( __VMS ) || defined(__sgi)
82 passthru: #include <inttypes.h>
83 passthru: #elif defined(__SCO__) || defined(__USLC__)
84 passthru: #include <stdint.h>
85 passthru: #elif defined(__UNIXOS2__) || defined(__SOL64__)
86 passthru: typedef long int int32_t;
87 passthru: typedef long long int int64_t;
88 passthru: typedef unsigned long long int uint64_t;
89 passthru: #elif defined(_WIN32) && defined(__GNUC__)
90 passthru: #include <stdint.h>
91 passthru: #elif defined(_WIN32)
92 passthru: typedef __int32 int32_t;
93 passthru: typedef __int64 int64_t;
94 passthru: typedef unsigned __int64 uint64_t;
95 passthru: #else
96 passthru: #include <inttypes.h>     /* Fallback option */
97 passthru: #endif
98 passthru: #endif
99 passthru:
100
101 ###############################################################################
102 #
103 # GLX 1.3 commands
104 #
105 ###############################################################################
106
107 GetFBConfigs(dpy, screen, nelements)
108         return          GLXFBConfigPointer
109         param           dpy             Display out reference
110         param           screen          int in value
111         param           nelements       int out reference
112         category        VERSION_1_3
113         glxflags        client-handcode server-handcode
114         glxopcode       21
115
116 ChooseFBConfig(dpy, screen, attrib_list, nelements)
117         return          GLXFBConfigPointer
118         param           dpy             Display out reference
119         param           screen          int in value
120         param           attrib_list     int in reference
121         param           nelements       int out reference
122         category        VERSION_1_3
123         glxflags        client-handcode client-intercept server-handcode
124
125 GetFBConfigAttrib(dpy, config, attribute, value)
126         return          int
127         param           dpy             Display out reference
128         param           config          GLXFBConfig in value
129         param           attribute       int in value
130         param           value           int out reference
131         category        VERSION_1_3
132         glxflags        client-handcode client-intercept server-handcode
133
134 GetVisualFromFBConfig(dpy, config)
135         return          XVisualInfoPointer
136         param           dpy             Display out reference
137         param           config          GLXFBConfig in value
138         category        VERSION_1_3
139         glxflags        client-handcode client-intercept server-handcode
140
141 CreateWindow(dpy, config, win, attrib_list)
142         return          GLXWindow
143         param           dpy             Display out reference
144         param           config          GLXFBConfig in value
145         param           win             Window in value
146         param           attrib_list     int in reference
147         category        VERSION_1_3
148         glxflags        client-handcode server-handcode
149         glxopcode       31
150
151 DestroyWindow(dpy, win)
152         return          void
153         param           dpy             Display out reference
154         param           win             GLXWindow in value
155         category        VERSION_1_3
156         glxflags        client-handcode server-handcode
157         glxopcode       32
158
159 CreatePixmap(dpy, config, pixmap, attrib_list)
160         return          GLXPixmap
161         param           dpy             Display out reference
162         param           config          GLXFBConfig in value
163         param           pixmap          Pixmap in value
164         param           attrib_list     int in reference
165         category        VERSION_1_3
166         glxflags        client-handcode server-handcode
167         glxopcode       22
168
169 DestroyPixmap(dpy, pixmap)
170         return          void
171         param           dpy             Display out reference
172         param           pixmap          GLXPixmap in value
173         category        VERSION_1_3
174         glxflags        client-handcode server-handcode
175         glxopcode       23
176
177 CreatePbuffer(dpy, config, attrib_list)
178         return          GLXPbuffer
179         param           dpy             Display out reference
180         param           config          GLXFBConfig in value
181         param           attrib_list     int in reference
182         category        VERSION_1_3
183         glxflags        client-handcode server-handcode
184         glxopcode       27
185
186 DestroyPbuffer(dpy, pbuf)
187         return          void
188         param           dpy             Display out reference
189         param           pbuf            GLXPbuffer in value
190         category        VERSION_1_3
191         glxflags        client-handcode server-handcode
192         glxopcode       28
193
194 # glXGetDrawableAttributes -> GLX opcode 29
195 # glXChangeDrawableAttributes -> GLX opcode 30
196
197 # Uses glXGetDrawableAttributes protocol
198 QueryDrawable(dpy, draw, attribute, value)
199         return          void
200         param           dpy             Display out reference
201         param           draw            GLXDrawable in value
202         param           attribute       int in value
203         param           value           uint out reference
204         category        VERSION_1_3
205         glxflags        client-handcode client-intercept server-handcode
206
207 CreateNewContext(dpy, config, render_type, share_list, direct)
208         return          GLXContext
209         param           dpy             Display out reference
210         param           config          GLXFBConfig in value
211         param           render_type     int in value
212         param           share_list      GLXContext in value
213         param           direct          Bool in value
214         category        VERSION_1_3
215         glxflags        client-handcode server-handcode
216         glxopcode       24
217
218 MakeContextCurrent(dpy, draw, read, ctx)
219         return          Bool
220         param           dpy             Display out reference
221         param           draw            GLXDrawable in value
222         param           read            GLXDrawable in value
223         param           ctx             GLXContext in value
224         category        VERSION_1_3
225         glxflags        client-handcode server-handcode
226         glxopcode       26
227
228 GetCurrentReadDrawable()
229         return          GLXDrawable
230         category        VERSION_1_3
231         glxflags        client-handcode client-intercept server-handcode
232
233 GetCurrentDisplay()
234         return          DisplayPointer
235         category        VERSION_1_3
236         glxflags        client-handcode client-intercept server-handcode
237
238 QueryContext(dpy, ctx, attribute, value)
239         return          int
240         param           dpy             Display out reference
241         param           ctx             GLXContext in value
242         param           attribute       int in value
243         param           value           int out reference
244         category        VERSION_1_3
245         glxflags        client-handcode server-handcode
246         glxopcode       25
247
248 # Uses glXChangeDrawableAttributes protocol
249 SelectEvent(dpy, draw, event_mask)
250         return          void
251         param           dpy             Display out reference
252         param           draw            GLXDrawable in value
253         param           event_mask      ulong in value
254         category        VERSION_1_3
255         glxflags        client-handcode server-handcode
256
257 # Uses glXGetDrawableAttributes protocol
258 GetSelectedEvent(dpy, draw, event_mask)
259         return          void
260         param           dpy             Display out reference
261         param           draw            GLXDrawable in value
262         param           event_mask      ulong out reference
263         category        VERSION_1_3
264         glxflags        client-handcode client-intercept server-handcode
265
266 ###############################################################################
267 #
268 # GLX 1.4 commands
269 #
270 ###############################################################################
271
272 GetProcAddress(procName)
273         return          FunctionPointer
274         param           procName        GLubyte in reference
275         category        VERSION_1_4
276         glxflags        client-handcode client-intercept server-handcode
277
278 ###############################################################################
279 #
280 # ARB Extension #2
281 # ARB_get_proc_address commands
282 # @promoted to core in GLX 1.4, but there's no provision for aliasing
283 # @in GLX spec files, yet
284 #
285 ###############################################################################
286
287 GetProcAddressARB(procName)
288         return          FunctionPointer
289         param           procName        GLubyte in reference
290         category        ARB_get_proc_address
291         glxflags        client-handcode client-intercept server-handcode
292
293 ###############################################################################
294 #
295 # ARB Extension #5
296 # ARB_multisample commands
297 #
298 ###############################################################################
299
300 # (none)
301 newcategory: ARB_multisample
302
303 ###############################################################################
304 #
305 # ARB Extension #39
306 # ARB_fbconfig_float commands
307 #
308 ###############################################################################
309
310 # (none)
311 newcategory: ARB_fbconfig_float
312
313 ###############################################################################
314 #
315 # ARB Extension #56
316 # ARB_create_context commands
317 #
318 ###############################################################################
319
320 CreateContextAttribsARB(dpy, config, share_context, direct, attrib_list)
321         return          GLXContext
322         param           dpy             Display out reference
323         param           config          GLXFBConfig in value
324         param           share_context   GLXContext in value
325         param           direct          Bool in value
326         param           attrib_list     int in reference
327         category        ARB_create_context
328         glxflags        client-handcode client-intercept server-handcode
329         glxopcode       34
330
331 ###############################################################################
332 #
333 # ARB Extension #75
334 # ARB_create_context_profile commands
335 #
336 ###############################################################################
337
338 # (none)
339 newcategory: ARB_create_context_profile
340
341
342 ###############################################################################
343 #
344 # Extension #25
345 # SGIS_multisample commands
346 #
347 ###############################################################################
348
349 # (none)
350 newcategory: SGIS_multisample
351
352 ###############################################################################
353 #
354 # Extension #28
355 # EXT_visual_info commands
356 #
357 ###############################################################################
358
359 # (none)
360 newcategory: EXT_visual_info
361
362 ###############################################################################
363 #
364 # Extension #40
365 # SGI_swap_control commands
366 #
367 ###############################################################################
368
369 SwapIntervalSGI(interval)
370         return          int
371         param           interval        int in value
372         category        SGI_swap_control
373         glxflags        client-handcode server-handcode
374         glxvendorglx    65536
375
376 ###############################################################################
377 #
378 # Extension #41
379 # SGI_video_sync commands
380 #
381 ###############################################################################
382
383 GetVideoSyncSGI(count)
384         return          int
385         param           count           uint out reference
386         category        SGI_video_sync
387         glxflags        client-handcode client-intercept server-handcode
388
389 WaitVideoSyncSGI(divisor, remainder, count)
390         return          int
391         param           divisor         int in value
392         param           remainder       int in value
393         param           count           uint out reference
394         category        SGI_video_sync
395         glxflags        client-handcode client-intercept server-handcode
396
397 ###############################################################################
398 #
399 # Extension #42
400 # SGI_make_current_read commands
401 #
402 ###############################################################################
403
404 MakeCurrentReadSGI(dpy, draw, read, ctx)
405         return          Bool
406         param           dpy             Display out reference
407         param           draw            GLXDrawable in value
408         param           read            GLXDrawable in value
409         param           ctx             GLXContext in value
410         category        SGI_make_current_read
411         glxflags        client-handcode server-handcode
412         glxvendorglx    65537
413
414 GetCurrentReadDrawableSGI()
415         return          GLXDrawable
416         category        SGI_make_current_read
417         glxflags        client-handcode client-intercept server-handcode
418
419 ###############################################################################
420 #
421 # Extension #43
422 # SGIX_video_source commands
423 #
424 ###############################################################################
425
426 newcategory: SGIX_video_source
427 passthru: #ifdef _VL_H
428
429 CreateGLXVideoSourceSGIX(display, screen, server, path, nodeClass, drainNode)
430         return          GLXVideoSourceSGIX
431         param           display         Display out reference
432         param           screen          int in value
433         param           server          VLServer in value
434         param           path            VLPath in value
435         param           nodeClass       int in value
436         param           drainNode       VLNode in value
437         category        SGIX_video_source
438         glxflags        client-handcode server-handcode
439         glxvendorglx    65538
440
441 DestroyGLXVideoSourceSGIX(dpy, glxvideosource)
442         return          void
443         param           dpy             Display out reference
444         param           glxvideosource  GLXVideoSourceSGIX in value
445         category        SGIX_video_source
446         glxflags        client-handcode server-handcode
447         glxvendorglx    65539
448
449 passend: #endif /* _VL_H */
450 endcategory:
451
452 ###############################################################################
453 #
454 # Extension #44
455 # EXT_visual_rating commands
456 #
457 ###############################################################################
458
459 # (none)
460 newcategory: EXT_visual_rating
461
462 ###############################################################################
463 #
464 # Extension #47
465 # EXT_import_context commands
466 #
467 ###############################################################################
468
469 GetCurrentDisplayEXT()
470         return          DisplayPointer
471         category        EXT_import_context
472         glxflags        client-handcode client-intercept server-handcode
473
474 QueryContextInfoEXT(dpy, context, attribute, value)
475         return          int
476         param           dpy             Display out reference
477         param           context         GLXContext in value
478         param           attribute       int in value
479         param           value           int out reference
480         category        EXT_import_context
481         glxflags        client-handcode server-handcode
482         glxvendorglx    1024
483
484 # 'constGLXContext' is a hack; the extension specification and glx.h
485 # should be fixed instead.
486 GetContextIDEXT(context)
487         return          GLXContextID
488         param           context         constGLXContext in value
489         category        EXT_import_context
490         glxflags        client-handcode client-intercept server-handcode
491
492 ImportContextEXT(dpy, contextID)
493         return          GLXContext
494         param           dpy             Display out reference
495         param           contextID       GLXContextID in value
496         category        EXT_import_context
497         glxflags        client-handcode client-intercept server-handcode
498
499 FreeContextEXT(dpy, context)
500         return          void
501         param           dpy             Display out reference
502         param           context         GLXContext in value
503         category        EXT_import_context
504         glxflags        client-handcode client-intercept server-handcode
505
506 ###############################################################################
507 #
508 # Extension #49
509 # SGIX_fbconfig commands
510 #
511 ###############################################################################
512
513 # GetFBConfigsSGIX protocol -> VendorPrivate opcode 65540
514
515 GetFBConfigAttribSGIX(dpy, config, attribute, value)
516         return          int
517         param           dpy             Display out reference
518         param           config          GLXFBConfigSGIX in value
519         param           attribute       int in value
520         param           value           int out reference
521         category        SGIX_fbconfig
522         glxflags        client-handcode client-intercept server-handcode
523
524 ChooseFBConfigSGIX(dpy, screen, attrib_list, nelements)
525         return          GLXFBConfigSGIXPointer
526         param           dpy             Display out reference
527         param           screen          int in value
528         param           attrib_list     int out reference
529         param           nelements       int out reference
530         category        SGIX_fbconfig
531         glxflags        client-handcode client-intercept server-handcode
532
533 CreateGLXPixmapWithConfigSGIX(dpy, config, pixmap)
534         return          GLXPixmap
535         param           dpy             Display out reference
536         param           config          GLXFBConfigSGIX in value
537         param           pixmap          Pixmap in value
538         category        SGIX_fbconfig
539         glxflags        client-handcode server-handcode
540         glxvendorglx    65542
541
542 CreateContextWithConfigSGIX(dpy, config, render_type, share_list, direct)
543         return          GLXContext
544         param           dpy             Display out reference
545         param           config          GLXFBConfigSGIX in value
546         param           render_type     int in value
547         param           share_list      GLXContext in value
548         param           direct          Bool in value
549         category        SGIX_fbconfig
550         glxflags        client-handcode server-handcode
551         glxvendorglx    65541
552
553 GetVisualFromFBConfigSGIX(dpy, config)
554         return          XVisualInfoPointer
555         param           dpy             Display out reference
556         param           config          GLXFBConfigSGIX in value
557         category        SGIX_fbconfig
558         glxflags        client-handcode client-intercept server-handcode
559
560 GetFBConfigFromVisualSGIX(dpy, vis)
561         return          GLXFBConfigSGIX
562         param           dpy             Display out reference
563         param           vis             XVisualInfo out reference
564         category        SGIX_fbconfig
565         glxflags        client-handcode client-intercept server-handcode
566
567 ###############################################################################
568 #
569 # Extension #50
570 # SGIX_pbuffer commands
571 #
572 ###############################################################################
573
574 # ChangeDrawableAttributesSGIX protocol -> VendorPrivate opcode 65545
575 # GetDrawableAttributesSGIX protocol -> VendorPrivate opcode 65546
576
577 CreateGLXPbufferSGIX(dpy, config, width,  height, attrib_list)
578         return          GLXPbufferSGIX
579         param           dpy             Display out reference
580         param           config          GLXFBConfigSGIX in value
581         param           width           uint in value
582         param           height          uint in value
583         param           attrib_list     int out reference
584         category        SGIX_pbuffer
585         glxflags        client-handcode server-handcode
586         glxvendorglx    65543
587
588 DestroyGLXPbufferSGIX(dpy, pbuf)
589         return          void
590         param           dpy             Display out reference
591         param           pbuf            GLXPbufferSGIX in value
592         category        SGIX_pbuffer
593         glxflags        client-handcode
594         glxvendorglx    65544
595
596 QueryGLXPbufferSGIX(dpy, pbuf, attribute, value)
597         return          int
598         param           dpy             Display out reference
599         param           pbuf            GLXPbufferSGIX in value
600         param           attribute       int in value
601         param           value           uint out reference
602         category        SGIX_pbuffer
603
604 SelectEventSGIX(dpy, drawable, mask)
605         return          void
606         param           dpy             Display out reference
607         param           drawable        GLXDrawable in value
608         param           mask            ulong in value
609         category        SGIX_pbuffer
610
611 GetSelectedEventSGIX(dpy, drawable, mask)
612         return          void
613         param           dpy             Display out reference
614         param           drawable        GLXDrawable in value
615         param           mask            ulong out reference
616         category        SGIX_pbuffer
617
618 ###############################################################################
619 #
620 # Extension #62
621 # SGI_cushion commands
622 #
623 ###############################################################################
624
625 CushionSGI(dpy, window, cushion)
626         return          void
627         param           dpy             Display out reference
628         param           window          Window in value
629         param           cushion         float in value
630         category        SGI_cushion
631
632 ###############################################################################
633 #
634 # Extension #83
635 # SGIX_video_resize commands
636 #
637 ###############################################################################
638
639 BindChannelToWindowSGIX(display, screen, channel, window)
640         return          int
641         param           display         Display out reference
642         param           screen          int in value
643         param           channel         int in value
644         param           window          Window in value
645         category        SGIX_video_resize
646
647 ChannelRectSGIX(display, screen, channel, x, y, w, h)
648         return          int
649         param           display         Display out reference
650         param           screen          int in value
651         param           channel         int in value
652         param           x               int in value
653         param           y               int in value
654         param           w               int in value
655         param           h               int in value
656         category        SGIX_video_resize
657
658 QueryChannelRectSGIX(display, screen, channel, dx, dy, dw, dh)
659         return          int
660         param           display         Display out reference
661         param           screen          int in value
662         param           channel         int in value
663         param           dx              int out reference
664         param           dy              int out reference
665         param           dw              int out reference
666         param           dh              int out reference
667         category        SGIX_video_resize
668
669 QueryChannelDeltasSGIX(display, screen, channel, x, y, w, h)
670         return          int
671         param           display         Display out reference
672         param           screen          int in value
673         param           channel         int in value
674         param           x               int out reference
675         param           y               int out reference
676         param           w               int out reference
677         param           h               int out reference
678         category        SGIX_video_resize
679
680 # @@@ Not in man page - this entry point may not be shipping?
681 ChannelRectSyncSGIX(display, screen, channel, synctype)
682         return          int
683         param           display         Display out reference
684         param           screen          int in value
685         param           channel         int in value
686         param           synctype        GLenum in value
687         category        SGIX_video_resize
688
689 ###############################################################################
690 #
691 # Extension #86
692 # SGIX_dmbuffer commands
693 #
694 ###############################################################################
695
696 newcategory: SGIX_dmbuffer
697 passthru: #ifdef _DM_BUFFER_H_
698
699 AssociateDMPbufferSGIX(dpy, pbuffer, params, dmbuffer)
700         return          Bool
701         param           dpy             Display out reference
702         param           pbuffer         GLXPbufferSGIX in value
703         param           params          DMparams out reference
704         param           dmbuffer        DMbuffer in value
705         category        SGIX_dmbuffer
706
707 passend: #endif /* _DM_BUFFER_H_ */
708 endcategory:
709
710 ###############################################################################
711 #
712 # Extension #91
713 # SGIX_swap_group commands
714 #
715 ###############################################################################
716
717 JoinSwapGroupSGIX(dpy, drawable, member)
718         return          void
719         param           dpy             Display out reference
720         param           drawable        GLXDrawable in value
721         param           member          GLXDrawable in value
722         category        SGIX_swap_group
723         glxflags        client-handcode server-handcode
724         glxvendorglx    65547
725
726 ###############################################################################
727 #
728 # Extension #92
729 # SGIX_swap_barrier commands
730 #
731 ###############################################################################
732
733 BindSwapBarrierSGIX(dpy, drawable, barrier)
734         return          void
735         param           dpy             Display out reference
736         param           drawable        GLXDrawable in value
737         param           barrier         int in value
738         category        SGIX_swap_barrier
739         glxflags        client-handcode server-handcode
740         glxvendorglx    65548
741
742 QueryMaxSwapBarriersSGIX(dpy, screen, max)
743         return          Bool
744         param           dpy             Display out reference
745         param           screen          int in value
746         param           max             int out reference
747         category        SGIX_swap_barrier
748         glxflags        client-handcode server-handcode
749         glxvendorglx    65549
750
751 ###############################################################################
752 #
753 # Extension #183
754 # SUN_get_transparent_index commands
755 #
756 ###############################################################################
757
758 GetTransparentIndexSUN(dpy, overlay, underlay, pTransparentIndex)
759         return          Status
760         param           dpy             Display out reference
761         param           overlay         Window in value
762         param           underlay        Window in value
763         param           pTransparentIndex       long out reference
764         category        SUN_get_transparent_index
765
766 ###############################################################################
767 #
768 # Extension #215
769 # MESA_copy_sub_buffer commands
770 #
771 ###############################################################################
772
773 CopySubBufferMESA(dpy, drawable, x, y, width, height)
774         return          void
775         param           dpy             Display out reference
776         param           drawable        GLXDrawable in value
777         param           x               int in value
778         param           y               int in value
779         param           width           int in value
780         param           height          int in value
781         category        MESA_copy_sub_buffer
782         glxflags        client-handcode client-intercept server-handcode
783
784 ###############################################################################
785 #
786 # Extension #216
787 # MESA_pixmap_colormap commands
788 #
789 ###############################################################################
790
791 CreateGLXPixmapMESA(dpy, visual, pixmap, cmap)
792         return          GLXPixmap
793         param           dpy             Display out reference
794         param           visual          XVisualInfo out reference
795         param           pixmap          Pixmap in value
796         param           cmap            Colormap in value
797         category        MESA_pixmap_colormap
798         glxflags        client-handcode client-intercept server-handcode
799
800 ###############################################################################
801 #
802 # Extension #217
803 # MESA_release_buffers commands
804 #
805 ###############################################################################
806
807 ReleaseBuffersMESA(dpy, drawable)
808         return          Bool
809         param           dpy             Display out reference
810         param           drawable        GLXDrawable in value
811         category        MESA_release_buffers
812         glxflags        client-handcode client-intercept server-handcode
813
814 ###############################################################################
815 #
816 # Extension #218
817 # MESA_set_3dfx_mode commands
818 #
819 ###############################################################################
820
821 # Brian's spec has this as returning 'GLboolean' and taking 'GLint mode'
822 Set3DfxModeMESA(mode)
823         return          Bool
824         param           mode            int in value
825         category        MESA_set_3dfx_mode
826         glxflags        client-handcode client-intercept server-handcode
827
828 ###############################################################################
829 #
830 # Extension #234
831 # SGIX_visual_select_group commands
832 #
833 ###############################################################################
834
835 # (none)
836 newcategory: SGIX_visual_select_group
837
838 ###############################################################################
839 #
840 # Extension #237
841 # OML_swap_method commands
842 #
843 ###############################################################################
844
845 # (none)
846 newcategory:  OML_swap_method
847
848 ###############################################################################
849 #
850 # Extension #238
851 # OML_sync_control commands
852 #
853 ###############################################################################
854
855 GetSyncValuesOML(dpy, drawable, ust, msc, sbc)
856         return          Bool
857         param           dpy             Display out reference
858         param           drawable        GLXDrawable in value
859         param           ust             int64_t out reference
860         param           msc             int64_t out reference
861         param           sbc             int64_t out reference
862         category        OML_sync_control
863         glxflags        client-handcode server-handcode
864
865 GetMscRateOML(dpy, drawable, numerator, denominator)
866         return          Bool
867         param           dpy             Display out reference
868         param           drawable        GLXDrawable in value
869         param           numerator       int32_t out reference
870         param           denominator     int32_t out reference
871         category        OML_sync_control
872         glxflags        client-handcode server-handcode
873
874 SwapBuffersMscOML(dpy, drawable, target_msc, divisor, remainder)
875         return          int64_t
876         param           dpy             Display out reference
877         param           drawable        GLXDrawable in value
878         param           target_msc      int64_t in value
879         param           divisor         int64_t in value
880         param           remainder       int64_t in value
881         category        OML_sync_control
882         glxflags        client-handcode server-handcode
883
884 WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc)
885         return          Bool
886         param           dpy             Display out reference
887         param           drawable        GLXDrawable in value
888         param           target_msc      int64_t in value
889         param           divisor         int64_t in value
890         param           remainder       int64_t in value
891         param           ust             int64_t out reference
892         param           msc             int64_t out reference
893         param           sbc             int64_t out reference
894         category        OML_sync_control
895         glxflags        client-handcode server-handcode
896
897 WaitForSbcOML(dpy, drawable, target_sbc, ust, msc, sbc)
898         return          Bool
899         param           dpy             Display out reference
900         param           drawable        GLXDrawable in value
901         param           target_sbc      int64_t in value
902         param           ust             int64_t out reference
903         param           msc             int64_t out reference
904         param           sbc             int64_t out reference
905         category        OML_sync_control
906         glxflags        client-handcode server-handcode
907
908 ###############################################################################
909 #
910 # Extension #281
911 # NV_float_buffer commands
912 #
913 ###############################################################################
914
915 # (none)
916 newcategory: NV_float_buffer
917
918 ###############################################################################
919 #
920 # Extension #307
921 # SGIX_hyperpipe commands
922 #
923 ###############################################################################
924
925 newcategory: SGIX_hyperpipe
926 passthru:
927 passthru: typedef struct {
928 passthru:     char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
929 passthru:     int     networkId;
930 passthru: } GLXHyperpipeNetworkSGIX;
931 passthru:
932 passthru: typedef struct {
933 passthru:     char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
934 passthru:     int     channel;
935 passthru:     unsigned int
936 passthru:             participationType;
937 passthru:     int     timeSlice;
938 passthru: } GLXHyperpipeConfigSGIX;
939 passthru:
940 passthru: typedef struct {
941 passthru:     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
942 passthru:     int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
943 passthru:     int destXOrigin, destYOrigin, destWidth, destHeight;
944 passthru: } GLXPipeRect;
945 passthru:
946 passthru: typedef struct {
947 passthru:     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
948 passthru:     int XOrigin, YOrigin, maxHeight, maxWidth;
949 passthru: } GLXPipeRectLimits;
950 passthru:
951
952 QueryHyperpipeNetworkSGIX(dpy, npipes)
953         return          GLXHyperpipeNetworkSGIXPointer
954         param           dpy             Display out reference
955         param           npipes          int out reference
956         glxflags        client-handcode server-handcode
957         category        SGIX_hyperpipe
958         glxvendorglx    65550
959
960 HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId)
961         return          int
962         param           dpy             Display out reference
963         param           networkId       int in value
964         param           npipes          int in value
965         param           cfg             GLXHyperpipeConfigSGIX out array [COMPSIZE(npipes)]
966         param           hpId            int out reference
967         glxflags        client-handcode server-handcode
968         category        SGIX_hyperpipe
969         glxvendorglx    65552
970
971 QueryHyperpipeConfigSGIX(dpy, hpId, npipes)
972         return          GLXHyperpipeConfigSGIXPointer
973         param           dpy             Display out reference
974         param           hpId            int in value
975         param           npipes          int out reference
976         glxflags        client-handcode server-handcode
977         category        SGIX_hyperpipe
978         glxvendorglx    65551
979
980 DestroyHyperpipeConfigSGIX(dpy, hpId)
981         return          int
982         param           dpy             Display out reference
983         param           hpId            int in value
984         glxflags        client-handcode server-handcode
985         category        SGIX_hyperpipe
986         glxvendorglx    65553
987
988 BindHyperpipeSGIX(dpy, hpId)
989         return          int
990         param           dpy             Display out reference
991         param           hpId            int in value
992         glxflags        client-handcode server-handcode
993         category        SGIX_hyperpipe
994         glxvendorglx    ???
995
996 QueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList)
997         return          int
998         param           dpy             Display out reference
999         param           timeSlice       int in value
1000         param           attrib          int in value
1001         param           size            int in value
1002         param           attribList      void out array [COMPSIZE(size)]
1003         param           returnAttribList void out array [COMPSIZE(size)]
1004         glxflags        client-handcode server-handcode
1005         category        SGIX_hyperpipe
1006         glxvendorglx    ???
1007
1008 HyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList)
1009         return          int
1010         param           dpy             Display out reference
1011         param           timeSlice       int in value
1012         param           attrib          int in value
1013         param           size            int in value
1014         param           attribList      void out array [COMPSIZE(size)]
1015         glxflags        client-handcode server-handcode
1016         category        SGIX_hyperpipe
1017         glxvendorglx    ???
1018
1019 QueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList)
1020         return          int
1021         param           dpy             Display out reference
1022         param           timeSlice       int in value
1023         param           attrib          int in value
1024         param           size            int in value
1025         param           returnAttribList void out array [COMPSIZE(size)]
1026         glxflags        client-handcode server-handcode
1027         category        SGIX_hyperpipe
1028         glxvendorglx    ???
1029
1030 ###############################################################################
1031 #
1032 # Extension #308
1033 # MESA_agp_offset commands
1034 #
1035 ###############################################################################
1036
1037 GetAGPOffsetMESA(pointer)
1038         return          uint
1039         param           pointer         void in reference
1040         glxflags        client-handcode client-intercept server-handcode
1041         category        MESA_agp_offset
1042
1043 ###############################################################################
1044 #
1045 # Extension #328
1046 # EXT_fbconfig_packed_float commands
1047 #
1048 ###############################################################################
1049
1050 # (none)
1051 newcategory: EXT_fbconfig_packed_float
1052
1053 ###############################################################################
1054 #
1055 # Extension #337
1056 # EXT_framebuffer_sRGB commands
1057 #
1058 ###############################################################################
1059
1060 # (none)
1061 newcategory: EXT_framebuffer_sRGB
1062
1063 ###############################################################################
1064 #
1065 # Extension #344
1066 # EXT_texture_from_pixmap commands
1067 #
1068 ###############################################################################
1069
1070 BindTexImageEXT(dpy, drawable, buffer, attrib_list)
1071         return          void
1072         param           dpy             Display out reference
1073         param           drawable        GLXDrawable in value
1074         param           buffer          int in value
1075         param           attrib_list     int in reference
1076         category        EXT_texture_from_pixmap
1077         glxflags        client-handcode server-handcode
1078         glxvendorglx    1330
1079
1080 ReleaseTexImageEXT(dpy, drawable, buffer)
1081         return          void
1082         param           dpy             Display out reference
1083         param           drawable        GLXDrawable in value
1084         param           buffer          int in value
1085         category        EXT_texture_from_pixmap
1086         glxflags        client-handcode server-handcode
1087         glxvendorglx    1331
1088
1089 ###############################################################################
1090 #
1091 # Extension #347
1092 # NV_present_video commands
1093 #
1094 ###############################################################################
1095
1096 EnumerateVideoDevicesNV(dpy, screen, nelements)
1097         return          uintPointer
1098         param           dpy             Display out reference
1099         param           screen          int in value
1100         param           nelements       int out reference
1101         category        NV_present_video
1102         glxflags        client-handcode server-handcode
1103
1104 BindVideoDeviceNV(dpy, video_slot, video_device, attrib_list)
1105         return          int
1106         param           dpy             Display out reference
1107         param           video_slot      uint in value
1108         param           video_device    uint in value
1109         param           attrib_list     int in reference
1110         category        NV_present_video
1111         glxflags        client-handcode server-handcode
1112
1113 ###############################################################################
1114 #
1115 # Extension #348
1116 # NV_video_output commands
1117 #
1118 ###############################################################################
1119
1120 GetVideoDeviceNV(dpy, screen, numVideoDevices, pVideoDevice)
1121         return          int
1122         param           dpy             Display out reference
1123         param           screen          int in value
1124         param           numVideoDevices int in value
1125         param           pVideoDevice    GLXVideoDeviceNV out array [COMPSIZE(numVideoDevices)]
1126         category        NV_video_output
1127         glxflags        client-handcode server-handcode
1128
1129 ReleaseVideoDeviceNV(dpy, screen, VideoDevice)
1130         return          int
1131         param           dpy             Display out reference
1132         param           screen          int in value
1133         param           VideoDevice     GLXVideoDeviceNV in value
1134         category        NV_video_output
1135         glxflags        client-handcode server-handcode
1136
1137 BindVideoImageNV(dpy, VideoDevice, pbuf, iVideoBuffer)
1138         return          int
1139         param           dpy             Display out reference
1140         param           VideoDevice     GLXVideoDeviceNV in value
1141         param           pbuf            GLXPbuffer in value
1142         param           iVideoBuffer    int in value
1143         category        NV_video_output
1144         glxflags        client-handcode server-handcode
1145
1146 ReleaseVideoImageNV(dpy, pbuf)
1147         return          int
1148         param           dpy             Display out reference
1149         param           pbuf            GLXPbuffer in value
1150         category        NV_video_output
1151         glxflags        client-handcode server-handcode
1152
1153 SendPbufferToVideoNV(dpy, pbuf, iBufferType, pulCounterPbuffer, bBlock)
1154         return          int
1155         param           dpy             Display out reference
1156         param           pbuf            GLXPbuffer in value
1157         param           iBufferType     int in value
1158         param           pulCounterPbuffer ulong out reference
1159         param           bBlock          GLboolean in value
1160         category        NV_video_output
1161         glxflags        client-handcode server-handcode
1162
1163 GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo)
1164         return          int
1165         param           dpy             Display out reference
1166         param           screen          int in value
1167         param           VideoDevice     GLXVideoDeviceNV in value
1168         param           pulCounterOutputPbuffer ulong out reference
1169         param           pulCounterOutputVideo   ulong out reference
1170         category        NV_video_output
1171         glxflags        client-handcode server-handcode
1172
1173 ###############################################################################
1174 #
1175 # Extension #350
1176 # NV_swap_group commands
1177 #
1178 ###############################################################################
1179
1180 JoinSwapGroupNV(dpy, drawable, group)
1181         return          Bool
1182         param           dpy             Display out reference
1183         param           drawable        GLXDrawable in value
1184         param           group           GLuint in value
1185         category        NV_swap_group
1186         glxflags        client-handcode server-handcode
1187
1188 BindSwapBarrierNV(dpy, group, barrier)
1189         return          Bool
1190         param           dpy             Display out reference
1191         param           group           GLuint in value
1192         param           barrier         GLuint in value
1193         category        NV_swap_group
1194         glxflags        client-handcode server-handcode
1195
1196 QuerySwapGroupNV(dpy, drawable, group, barrier)
1197         return          Bool
1198         param           dpy             Display out reference
1199         param           drawable        GLXDrawable in value
1200         param           group           GLuint out reference
1201         param           barrier         GLuint out reference
1202         category        NV_swap_group
1203         glxflags        client-handcode server-handcode
1204
1205 QueryMaxSwapGroupsNV(dpy, screen, maxGroups, maxBarriers)
1206         return          Bool
1207         param           dpy             Display out reference
1208         param           screen          int in value
1209         param           maxGroups       GLuint out reference
1210         param           maxBarriers     GLuint out reference
1211         category        NV_swap_group
1212         glxflags        client-handcode server-handcode
1213
1214 QueryFrameCountNV(dpy, screen, count)
1215         return          Bool
1216         param           dpy             Display out reference
1217         param           screen          int in value
1218         param           count           GLuint out reference
1219         category        NV_swap_group
1220         glxflags        client-handcode server-handcode
1221
1222 ResetFrameCountNV(dpy, screen)
1223         return          Bool
1224         param           dpy             Display out reference
1225         param           screen          int in value
1226         category        NV_swap_group
1227         glxflags        client-handcode server-handcode
1228
1229 ###############################################################################
1230 #
1231 # Extension #374
1232 # NV_video_capture commands
1233 #
1234 ###############################################################################
1235
1236 BindVideoCaptureDeviceNV(dpy, video_capture_slot, device)
1237         return          int
1238         param           dpy             Display out reference
1239         param           video_capture_slot uint in value
1240         param           device          GLXVideoCaptureDeviceNV in value
1241         category        NV_video_capture
1242         glxflags        client-handcode server-handcode
1243
1244 EnumerateVideoCaptureDevicesNV(dpy, screen, nelements)
1245         return          GLXVideoCaptureDeviceNVPointer
1246         param           dpy             Display out reference
1247         param           screen          int in value
1248         param           nelements       int out reference
1249         category        NV_video_capture
1250         glxflags        client-handcode server-handcode
1251
1252 LockVideoCaptureDeviceNV(dpy, device)
1253         return          void
1254         param           dpy             Display out reference
1255         param           device          GLXVideoCaptureDeviceNV in value
1256         category        NV_video_capture
1257         glxflags        client-handcode server-handcode
1258
1259 QueryVideoCaptureDeviceNV(dpy, device, attribute, value)
1260         return          int
1261         param           dpy             Display out reference
1262         param           device          GLXVideoCaptureDeviceNV in value
1263         param           attribute       int in value
1264         param           value           int out array [COMPSIZE(attribute)]
1265         category        NV_video_capture
1266         glxflags        client-handcode server-handcode
1267
1268 ReleaseVideoCaptureDeviceNV(dpy, device)
1269         return          void
1270         param           dpy             Display out reference
1271         param           device          GLXVideoCaptureDeviceNV in value
1272         category        NV_video_capture
1273         glxflags        client-handcode server-handcode
1274
1275 ###############################################################################
1276 #
1277 # Extension #375
1278 # EXT_swap_control commands
1279 #
1280 ###############################################################################
1281
1282 # Enums not assigned, extension not ready to publish yet
1283 # SwapIntervalEXT(dpy, drawable, interval)
1284 #         return          int
1285 #         param           dpy             Display out reference
1286 #         param           drawable        GLXDrawable in value
1287 #         param           interval        int in value
1288 #         category        EXT_swap_control
1289 #         glxflags        client-handcode server-handcode
1290
1291 ###############################################################################
1292 #
1293 # Extension #376
1294 # GLX_NV_copy_image commands
1295 #
1296 ###############################################################################
1297
1298 CopyImageSubDataNV(dpy, srcCtx, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstCtx, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth)
1299         return          void
1300         param           dpy             Display out reference
1301         param           srcCtx          GLXContext in value
1302         param           srcName         GLuint in value
1303         param           srcTarget       GLenum in value
1304         param           srcLevel        GLint in value
1305         param           srcX            GLint in value
1306         param           srcY            GLint in value
1307         param           srcZ            GLint in value
1308         param           dstCtx          GLXContext in value
1309         param           dstName         GLuint in value
1310         param           dstTarget       GLenum in value
1311         param           dstLevel        GLint in value
1312         param           dstX            GLint in value
1313         param           dstY            GLint in value
1314         param           dstZ            GLint in value
1315         param           width           GLsizei in value
1316         param           height          GLsizei in value
1317         param           depth           GLsizei in value
1318         category        NV_copy_image
1319         glxflags        client-handcode server-handcode
1320