From 53c5f5f90611ce35d13f7051b26ac482d1336fc5 Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Mon, 26 Oct 2009 07:49:58 +0000 Subject: [PATCH] Support multiple .spec files Fix and improve typemapping Add glX stuff --- Makefile | 4 +- genwrap.py | 39 +- glx.files | 13 + glx.io | 27 + glx.spec | 642 +++++++++++++++++++++ glx.tm | 53 ++ glxext.spec | 1320 ++++++++++++++++++++++++++++++++++++++++++++ source/gldecoder.h | 1 + source/glwrap.c | 2 + 9 files changed, 2085 insertions(+), 16 deletions(-) create mode 100644 glx.files create mode 100644 glx.io create mode 100644 glx.spec create mode 100644 glx.tm create mode 100644 glxext.spec diff --git a/Makefile b/Makefile index aa0001a..b6cb945 100644 --- a/Makefile +++ b/Makefile @@ -36,8 +36,8 @@ source/commandinterpreter.o: source/commandinterpreter.cpp source/gldbg.h source/process.o: source/process.cpp source/process.h $(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $< -gensrc/%: source/%.t gensrc/.created genwrap.py gl.files gl.tm gl.io gl.spec - python ./genwrap.py $< gl.files >$@ +gensrc/%: source/%.t gensrc/.created genwrap.py gl.files gl.tm gl.io gl.spec glx.files glx.tm glx.io glx.spec glxext.spec + python ./genwrap.py $< gl.files glx.files >$@ gensrc/enums.table: enum.spec genenum.py python ./genenum.py enum.spec >$@ diff --git a/genwrap.py b/genwrap.py index 81c4e33..ec23985 100755 --- a/genwrap.py +++ b/genwrap.py @@ -66,11 +66,13 @@ class Typemap: return a==b def __getitem__(self, key): - return self.map[(key[0], "*", "*")] - for k, v in self.map.iteritems(): - if strip_name(k[0])==strip_name(key[0]) and self.wildcard_match(k[1], key[1]) and self.wildcard_match(k[2], key[2]): - return v - raise KeyError, key + try: + return self.map[(key[0], "*", "*")] + except KeyError: + for k, v in self.map.iteritems(): + if strip_name(k[0])==strip_name(key[0]) and self.wildcard_match(k[1], key[1]) and self.wildcard_match(k[2], key[2]): + return v + raise KeyError, key def update(self, other): self.map.update(other.map) @@ -113,7 +115,12 @@ class Function: self.size = size def derive_ctype(self): - self.ctype = typemap[(self.type, self.direction, self.kind)][0] + m = typemap[(self.type, self.direction, self.kind)] + self.ctype = m[0] + if m[1]!="*": + self.direction = m[1] + if m[2]!="*": + self.kind = m[2] self.base_ctype = self.ctype if self.kind=="value": if self.base_ctype.startswith("const "): @@ -255,7 +262,7 @@ class Files: def __init__(self, fn): self.typemap = None self.iomap = None - self.spec = None + self.specs = [] self.prefix = None self.ignore_categs = [] self.ignore_funcs = [] @@ -267,7 +274,7 @@ class Files: elif parts[0]=="iomap": self.iomap = parts[1] elif parts[0]=="spec": - self.spec = parts[1] + self.specs.append(parts[1]) elif parts[0]=="prefix": self.prefix = parts[1] elif parts[0]=="ignore": @@ -316,14 +323,18 @@ def read_spec(fn, prefix): return funcs template = Template(sys.argv[1]) +functions = [] for i in sys.argv[2:]: files = Files(i) typemap = Typemap(files.typemap) iomap = IOmap(files.iomap) - functions = read_spec(files.spec, files.prefix) - functions = [f for f in functions if f.name not in files.ignore_funcs and f.category not in files.ignore_categs] - for f in functions: - f.finalize() - - template.process(functions) + for s in files.specs: + funcs = read_spec(s, files.prefix) + funcs = [f for f in funcs if f.name not in files.ignore_funcs and f.category not in files.ignore_categs] + for f in funcs: + f.finalize() + names = [f.name for f in funcs] + functions = [f for f in functions if f.name not in names]+funcs + +template.process(functions) diff --git a/glx.files b/glx.files new file mode 100644 index 0000000..3d7d138 --- /dev/null +++ b/glx.files @@ -0,0 +1,13 @@ +typemap glx.tm +iomap glx.io +spec glx.spec +spec glxext.spec +prefix glX +ignore category glxext +ignore category SGIX_video_source +ignore category SGIX_dmbuffer +ignore category SGIX_hyperpipe +ignore category NV_video_output +ignore category NV_video_capture +ignore function glXGetProcAddress +ignore function glXGetProcAddressARB diff --git a/glx.io b/glx.io new file mode 100644 index 0000000..7322c3a --- /dev/null +++ b/glx.io @@ -0,0 +1,27 @@ +enum, int, %#x +boolean, char, %i +int, int, %i +uint, int, %u +unsigned int, int, %u +unsigned long, long, %lu +int64_t, longlong, %lli +sizei, int, %i +float, float, %g +unsigned int *, pointer, %p +char *, string, \"%s\" +Bool, int, %i +Display *, pointer, %p +XVisualInfo *, pointer, %p +Font, long, %#lx +Window, long, %#lx +Pixmap, long, %#lx +Status, int, %i +Colormap, long, %#lx +GLXFBConfig *, pointer, %p +GLXFBConfig, pointer, %p +GLXContext, pointer, %p +GLXContextID, long, %#lx +GLXDrawable, long, %#lx +GLXPbuffer, long, %#lx +GLXWindow, long, %#lx +GLXPixmap, long, %#lx diff --git a/glx.spec b/glx.spec new file mode 100644 index 0000000..0c4fa03 --- /dev/null +++ b/glx.spec @@ -0,0 +1,642 @@ +# Copyright (C) 1991-2005 Silicon Graphics, Inc. All Rights Reserved. +# +# This document is licensed under the SGI Free Software B License Version +# 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + +required-props: +param: retval retained +dlflags: notlistable handcode nop +glxflags: client-handcode server-handcode +glxvendorglx: * +vectorequiv: * +category: pixel-rw bgn-end display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform glx glxopcode +glxopcode: * + +############################################################################### +# +# GLX1.0 commands +# +############################################################################### +Render() + return void + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 1 + + +RenderLarge() + return void + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 2 + + +CreateContext(dpy, visual, share_list, direct) + return GLXContext + param dpy DisplayPointer in value + param visual XVisualInfoPointer in value + param share_list GLXContext in value + param direct Bool in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxopcode 3 + + +DestroyContext(dpy, ctx) + return void + param dpy DisplayPointer in value + param ctx GLXContext in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxopcode 4 + + +MakeCurrent(dpy, drawable, ctx) + return Bool + param dpy DisplayPointer in value + param drawable GLXDrawable in value + param ctx GLXContext in value + category glx + dlflags notlistable + glxopcode 5 + + +IsDirect(dpy, ctx) + return Bool + param dpy DisplayPointer in value + param ctx GLXContext in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxopcode 6 + + +QueryVersion(dpy, major, minor) + return Bool + param dpy DisplayPointer in value + param major int out reference + param minor int out reference + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 7 + + +WaitGL() + return void + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 8 + + +WaitX() + return void + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 9 + + +CopyContext(dpy, source, dest, mask) + return void + param dpy DisplayPointer in value + param source GLXContext in value + param dest GLXContext in value + param mask ulong in value + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 10 + + +SwapBuffers(dpy, drawable) + return void + param dpy DisplayPointer in value + param drawable GLXDrawable in value + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 11 + + +UseXFont(font, first, count, list_base) + return void + param font Font in value + param first int in value + param count int in value + param list_base int in value + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 12 + + +CreateGLXPixmap(dpy, visual, pixmap) + return GLXPixmap + param dpy DisplayPointer in value + param visual XVisualInfoPointer in value + param pixmap Pixmap in value + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 13 + +GetVisualConfigs() + return void + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 14 + + +DestroyGLXPixmap(dpy, pixmap) + return void + param dpy DisplayPointer in value + param pixmap GLXPixmap in value + glxflags client-handcode + category glx + dlflags notlistable + glxopcode 15 + + +VendorPrivate() + return void + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxopcode 16 + + +VendorPrivateWithReply() + return void + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxopcode 17 + +############################################################################### +# +# GLX1.1 commands +# +############################################################################### +QueryExtensionsString(dpy, screen) + return GLXstring + param dpy DisplayPointer in value + param screen int in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxopcode 18 + +QueryServerString(dpy, screen, name) + return GLXstring + param dpy DisplayPointer in value + param screen int in value + param name int in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxopcode 19 + +ClientInfo() + return void + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxopcode 20 + +############################################################################### +# +# GLX1.3 commands +# +############################################################################### +GetFBConfigs(dpy, screen, nelements) + return GLXFBConfigPointer + param dpy DisplayPointer in value + param screen int in value + param nelements int out reference + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxopcode 21 + +CreatePixmap(dpy, config, pixmap, attriblist) + return GLXPixmap + param dpy DisplayPointer in value + param config GLXFBConfig in value + param pixmap Pixmap in value + param attriblist int in array + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 22 + +DestroyPixmap(dpy, pixmap) + return void + param dpy DisplayPointer in value + param pixmap Pixmap in value + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 23 + +CreateNewContext(dpy, config, render_type, share_list, direct) + return GLXContext + param dpy DisplayPointer in value + param config GLXFBConfig in value + param render_type int in value + param share_list GLXContext in value + param direct Bool in value + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 24 + +QueryContext(dpy, context, attribute, value) + return int + param dpy DisplayPointer in value + param context GLXContext in value + param attribute int in value + param value int out reference + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 25 + +MakeContextCurrent(dpy, drawdrawable, readdrawable, context) + return Bool + param dpy DisplayPointer in value + param drawdrawable GLXDrawable in value + param readdrawable GLXDrawable in value + param context GLXContext in value + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 26 + +CreatePbuffer(dpy, config, attrib_list) + return GLXPbuffer + param dpy DisplayPointer in value + param config GLXFBConfig in value + param attrib_list int in array + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 27 + +DestroyPbuffer(dpy, pbuffer) + return void + param dpy DisplayPointer in value + param pbuffer GLXPbuffer in value + dlflags notlistable + glxflags client-handcode + category glx + glxopcode 28 + +GetDrawableAttributes(drawable) + return void + param drawable int in value + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 29 + +ChangeDrawableAttributes(drawable) + return void + param drawable int in value + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 30 + +CreateWindow(dpy, config, window, attrib_list) + return GLXWindow + param dpy DisplayPointer in value + param config GLXFBConfig in value + param window Window in value + param attrib_list int in array + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 31 + +DestroyWindow(dpy, window) + return void + param dpy DisplayPointer in value + param window Window in value + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxopcode 32 + +ChooseVisual(dpy, screen, attriblist) + return XVisualInfoPointer + param dpy DisplayPointer in value + param screen int in value + param attriblist int out array + category glx + +############################################################################### +# +# IRIX5.3 extension commands +# +############################################################################### + +############################################################################### +# +# SGI_swap_control extension commands +# +############################################################################### +SwapIntervalSGI() + return void + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65536 + +############################################################################### +# +# IRIX5.3-PATCH154 extension commands +# +############################################################################### + +############################################################################### +# +# SGI_make_current_read extension commands +# +############################################################################### +MakeCurrentReadSGI(drawable, readdrawable, context) + return void + param drawable Int32 in value + param readdrawable Int32 in value + param context Int32 in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65537 + +############################################################################### +# +# SGIX_video_source extension commands +# +############################################################################### +CreateGLXVideoSourceSGIX(dpy, screen, server, path, class, node) + return void + param dpy Int32 in value + param screen Int32 in value + param server Int32 in value + param path Int32 in value + param class Int32 in value + param node Int32 in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65538 + +DestroyGLXVideoSourceSGIX(dpy, glxvideosource) + return void + param dpy Int32 in value + param glxvideosource Int32 in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65539 + +############################################################################### +# +# IRIX6.2 extension commands +# +############################################################################### + +############################################################################### +# +# EXT_import_context extension commands +# +############################################################################### +QueryContextInfoEXT(dpy, context, attribute, value) + return Int32 + param dpy DisplayPointer in value + param context GLXContext in value + param attribute Int32 in value + param value Int32 out reference + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxvendorglx 1024 + +############################################################################### +# +# SGIX_fbconfig extension commands +# +############################################################################### +GetFBConfigsSGIX() + return void + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxvendorglx 65540 + +CreateContextWithConfigSGIX(dpy, config, renderType, share_list, allow_direct) + return GLXContext + param dpy DisplayPointer in value + param config GLXFBConfigSGIX in value + param renderType Int32 in value + param share_list GLXContext in value + param allow_direct Bool in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65541 + +CreateGLXPixmapWithConfigSGIX(dpy, config, pixmap, attriblist) + return GLXPixmap + param dpy DisplayPointer in value + param config GLXFBConfigSGIX in value + param pixmap Pixmap in value + param attriblist Int32 in array + category glx + dlflags notlistable + glxflags client-handcode server-handcode + glxvendorglx 65542 + +############################################################################### +# +# SGIX_pbuffer extension commands +# +############################################################################### + +CreateGLXPbufferSGIX(dpy, config, width, height, attriblist) + return GLXPbuffer + param dpy DisplayPointer in value + param config GLXFBConfig in value + param width UInt32 in value + param height UInt32 in value + param attriblist Int32 in array + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxvendorglx 65543 + +DestroyGLXPbufferSGIX(dpy, pbuffer) + return void + param dpy DisplayPointer in value + param pbuffer GLXPbuffer in value + dlflags notlistable + glxflags client-handcode + category glx + glxvendorglx 65544 + +ChangeDrawableAttributesSGIX(drawable) + return void + param drawable Int32 in value + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxvendorglx 65545 + +GetDrawableAttributesSGIX(drawable) + return void + param drawable Int32 in value + dlflags notlistable + glxflags client-handcode server-handcode + category glx + glxvendorglx 65546 + +############################################################################### +# +# SGIX_swap_group extension commands +# +############################################################################### + +JoinSwapGroupSGIX(dpy, drawable, member) + return void + param dpy DisplayPointer in value + param drawable GLXDrawable in value + param member GLXDrawable in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65547 + +############################################################################### +# +# SGIX_swap_barrier extension commands +# +############################################################################### + +BindSwapBarrierSGIX(dpy, drawable, barrier) + return void + param dpy DisplayPointer in value + param drawable GLXDrawable in value + param barrier Int32 in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65548 + +QueryMaxSwapBarriersSGIX(dpy, screen, max) + return Bool + param dpy DisplayPointer in value + param screen Int32 in value + param max Int32 out value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65549 + +############################################################################### +# +# SGIX_hyperpipe extension commands +# +############################################################################### + +QueryHyperpipeNetworkSGIX(dpy, npipes) + return GLXHyperpipeNetworkPointer + param dpy Display out reference + param npipes int out reference + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65550 + +HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId) + return int + param dpy Display out reference + param networkId int in value + param npipes int in value + param cfg GLXHyperpipeConfig in array[npipes] + param hpId int out reference + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65552 + +QueryHyperpipeConfigSGIX(dpy, hpId, npipes) + return GLXHyperpipeConfigPointer + param dpy Display out reference + param hpId int in value + param npipes int out reference + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65551 + +DestroyHyperpipeConfigSGIX(dpy, hpId) + return int + param dpy Display out reference + param hpId int in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx 65553 + +BindHyperpipeSGIX(dpy, hpId) + return int + param dpy Display out reference + param hpId int in value + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx ??? + +QueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList) + return int + param dpy Display out reference + param timeSlice int in value + param attrib int in value + param size int in value + param attribList Void in array[size] + param returnAttribList Void out array[size] + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx ??? + +HyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList) + return int + param dpy Display out reference + param timeSlice int in value + param attrib int in value + param size int in value + param attribList void in array[size] + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx ??? + +QueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList) + return int + param dpy Display out reference + param timeSlice int in value + param attrib int in value + param size int in value + param returnAttribList void in array[size] + glxflags client-handcode server-handcode + category glx + dlflags notlistable + glxvendorglx ??? diff --git a/glx.tm b/glx.tm new file mode 100644 index 0000000..7ba7c61 --- /dev/null +++ b/glx.tm @@ -0,0 +1,53 @@ +Bool,*,*, Bool,*,* +Colormap,*,*, Colormap,*,* +DMbuffer,*,*, DMbuffer,*,* +DMparams,*,*, DMparams,*,* +Display,*,reference, Display *,*,value +DisplayPointer,*,*, Display *,*,* +FunctionPointer,*,*, __GLXextFuncPtr,*,* +GLXContext,*,*, GLXContext,*,* +constGLXContext,*,*, const GLXContext,*,* +GLXContextID,*,*, GLXContextID,*,* +GLXDrawable,*,*, GLXDrawable,*,* +GLXFBConfig,*,*, GLXFBConfig,*,* +GLXFBConfigPointer,*,*, GLXFBConfig *,*,* +GLXFBConfigSGIX,*,*, GLXFBConfigSGIX,*,* +GLXFBConfigSGIXPointer,*,*, GLXFBConfigSGIX *,*,* +GLXHyperpipeNetworkSGIXPointer,*,*, GLXHyperpipeNetworkSGIX *,*,* +GLXHyperpipeConfigSGIX,*,*, GLXHyperpipeConfigSGIX,*,* +GLXHyperpipeConfigSGIXPointer,*,*, GLXHyperpipeConfigSGIX *,*,* +GLXPbuffer,*,*, GLXPbuffer,*,* +GLXPbufferSGIX,*,*, GLXPbufferSGIX,*,* +GLXPixmap,*,*, GLXPixmap,*,* +GLXVideoCaptureDeviceNV,*,*, GLXVideoCaptureDeviceNV,*,* +GLXVideoCaptureDeviceNVPointer,*,*, GLXVideoCaptureDeviceNV *,*,* +GLXVideoDeviceNV,*,*, GLXVideoDeviceNV,*,* +GLXVideoSourceSGIX,*,*, GLXVideoSourceSGIX,*,* +GLXWindow,*,*, GLXWindow,*,* +GLXstring,*,*, const char *,*,* +GLboolean,*,*, GLboolean,*,* +GLenum,*,*, GLenum,*,* +GLfunction,*,*, GLfunction,*,* +GLint,*,*, GLint,*,* +GLsizei,*,*, GLsizei,*,* +GLubyte,*,*, GLubyte,*,* +GLuint,*,*, GLuint,*,* +Pixmap,*,*, Pixmap,*,* +Status,*,*, Status,*,* +Uint,*,*, unsigned int,*,* +VLNode,*,*, VLNode,*,* +VLPath,*,*, VLPath,*,* +VLServer,*,*, VLServer,*,* +Window,*,*, Window,*,* +Font,*,*, Font,*,* +XVisualInfo,*,*, XVisualInfo,*,* +XVisualInfoPointer,*,*, XVisualInfo *,*,* +float,*,*, float,*,* +int,*,*, int,*,* +uint,*,*, unsigned int,*,* +uintPointer,*,*, unsigned int *,*,* +int32_t,*,*, int32_t,*,* +int64_t,*,*, int64_t,*,* +long,*,*, long,*,* +ulong,*,*, unsigned long,*,* +void,*,*, void,*,* diff --git a/glxext.spec b/glxext.spec new file mode 100644 index 0000000..7483b4d --- /dev/null +++ b/glxext.spec @@ -0,0 +1,1320 @@ +# glxext.spec file +# DON'T REMOVE PREVIOUS LINE!!! libspec depends on it! +# +# Copyright (C) 1991-2005 Silicon Graphics, Inc. All Rights Reserved. +# +# This document is licensed under the SGI Free Software B License Version +# 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + +required-props: +param: retval retained +glxflags: client-handcode client-intercept server-handcode +glxvendorglx: * +vectorequiv: * +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 +glxopcode: * + +# +# Boilerplate to define types used by some extensions. This is done +# up front, since it involves some complexities in protecting +# the declarations whether or not the -protect flag is given to +# the generator scripts. +# + +passthru: #ifndef GLX_ARB_get_proc_address +passthru: typedef void (*__GLXextFuncPtr)(void); +passthru: #endif +passthru: +passthru: #ifndef GLX_SGIX_video_source +passthru: typedef XID GLXVideoSourceSGIX; +passthru: #endif +passthru: +passthru: #ifndef GLX_SGIX_fbconfig +passthru: typedef XID GLXFBConfigIDSGIX; +passthru: typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; +passthru: #endif +passthru: +passthru: #ifndef GLX_SGIX_pbuffer +passthru: typedef XID GLXPbufferSGIX; +passthru: typedef struct { +passthru: int type; +passthru: unsigned long serial; /* # of last request processed by server */ +passthru: Bool send_event; /* true if this came for SendEvent request */ +passthru: Display *display; /* display the event was read from */ +passthru: GLXDrawable drawable; /* i.d. of Drawable */ +passthru: int event_type; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ +passthru: int draw_type; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ +passthru: unsigned int mask; /* mask indicating which buffers are affected*/ +passthru: int x, y; +passthru: int width, height; +passthru: int count; /* if nonzero, at least this many more */ +passthru: } GLXBufferClobberEventSGIX; +passthru: #endif +passthru: +passthru: /* The next two typedefs are placeholders until NVIDIA clarifies these types */ +passthru: #ifndef GLX_NV_video_output +passthru: typedef struct { unsigned int dummy; } *GLXVideoDeviceNV; +passthru: #endif +passthru: +passthru: #ifndef GLX_NV_video_capture +passthru: typedef struct { unsigned int dummy; } *GLXVideoCaptureDeviceNV; +passthru: #endif +passthru: +passthru: #ifndef GLEXT_64_TYPES_DEFINED +passthru: /* This code block is duplicated in glext.h, so must be protected */ +passthru: #define GLEXT_64_TYPES_DEFINED +passthru: /* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +passthru: /* (as used in the GLX_OML_sync_control extension). */ +passthru: #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +passthru: #include +passthru: #elif defined(__sun__) || defined(__digital__) +passthru: #include +passthru: #if defined(__STDC__) +passthru: #if defined(__arch64__) || defined(_LP64) +passthru: typedef long int int64_t; +passthru: typedef unsigned long int uint64_t; +passthru: #else +passthru: typedef long long int int64_t; +passthru: typedef unsigned long long int uint64_t; +passthru: #endif /* __arch64__ */ +passthru: #endif /* __STDC__ */ +passthru: #elif defined( __VMS ) || defined(__sgi) +passthru: #include +passthru: #elif defined(__SCO__) || defined(__USLC__) +passthru: #include +passthru: #elif defined(__UNIXOS2__) || defined(__SOL64__) +passthru: typedef long int int32_t; +passthru: typedef long long int int64_t; +passthru: typedef unsigned long long int uint64_t; +passthru: #elif defined(_WIN32) && defined(__GNUC__) +passthru: #include +passthru: #elif defined(_WIN32) +passthru: typedef __int32 int32_t; +passthru: typedef __int64 int64_t; +passthru: typedef unsigned __int64 uint64_t; +passthru: #else +passthru: #include /* Fallback option */ +passthru: #endif +passthru: #endif +passthru: + +############################################################################### +# +# GLX 1.3 commands +# +############################################################################### + +GetFBConfigs(dpy, screen, nelements) + return GLXFBConfigPointer + param dpy Display out reference + param screen int in value + param nelements int out reference + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 21 + +ChooseFBConfig(dpy, screen, attrib_list, nelements) + return GLXFBConfigPointer + param dpy Display out reference + param screen int in value + param attrib_list int in reference + param nelements int out reference + category VERSION_1_3 + glxflags client-handcode client-intercept server-handcode + +GetFBConfigAttrib(dpy, config, attribute, value) + return int + param dpy Display out reference + param config GLXFBConfig in value + param attribute int in value + param value int out reference + category VERSION_1_3 + glxflags client-handcode client-intercept server-handcode + +GetVisualFromFBConfig(dpy, config) + return XVisualInfoPointer + param dpy Display out reference + param config GLXFBConfig in value + category VERSION_1_3 + glxflags client-handcode client-intercept server-handcode + +CreateWindow(dpy, config, win, attrib_list) + return GLXWindow + param dpy Display out reference + param config GLXFBConfig in value + param win Window in value + param attrib_list int in reference + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 31 + +DestroyWindow(dpy, win) + return void + param dpy Display out reference + param win GLXWindow in value + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 32 + +CreatePixmap(dpy, config, pixmap, attrib_list) + return GLXPixmap + param dpy Display out reference + param config GLXFBConfig in value + param pixmap Pixmap in value + param attrib_list int in reference + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 22 + +DestroyPixmap(dpy, pixmap) + return void + param dpy Display out reference + param pixmap GLXPixmap in value + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 23 + +CreatePbuffer(dpy, config, attrib_list) + return GLXPbuffer + param dpy Display out reference + param config GLXFBConfig in value + param attrib_list int in reference + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 27 + +DestroyPbuffer(dpy, pbuf) + return void + param dpy Display out reference + param pbuf GLXPbuffer in value + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 28 + +# glXGetDrawableAttributes -> GLX opcode 29 +# glXChangeDrawableAttributes -> GLX opcode 30 + +# Uses glXGetDrawableAttributes protocol +QueryDrawable(dpy, draw, attribute, value) + return void + param dpy Display out reference + param draw GLXDrawable in value + param attribute int in value + param value uint out reference + category VERSION_1_3 + glxflags client-handcode client-intercept server-handcode + +CreateNewContext(dpy, config, render_type, share_list, direct) + return GLXContext + param dpy Display out reference + param config GLXFBConfig in value + param render_type int in value + param share_list GLXContext in value + param direct Bool in value + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 24 + +MakeContextCurrent(dpy, draw, read, ctx) + return Bool + param dpy Display out reference + param draw GLXDrawable in value + param read GLXDrawable in value + param ctx GLXContext in value + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 26 + +GetCurrentReadDrawable() + return GLXDrawable + category VERSION_1_3 + glxflags client-handcode client-intercept server-handcode + +GetCurrentDisplay() + return DisplayPointer + category VERSION_1_3 + glxflags client-handcode client-intercept server-handcode + +QueryContext(dpy, ctx, attribute, value) + return int + param dpy Display out reference + param ctx GLXContext in value + param attribute int in value + param value int out reference + category VERSION_1_3 + glxflags client-handcode server-handcode + glxopcode 25 + +# Uses glXChangeDrawableAttributes protocol +SelectEvent(dpy, draw, event_mask) + return void + param dpy Display out reference + param draw GLXDrawable in value + param event_mask ulong in value + category VERSION_1_3 + glxflags client-handcode server-handcode + +# Uses glXGetDrawableAttributes protocol +GetSelectedEvent(dpy, draw, event_mask) + return void + param dpy Display out reference + param draw GLXDrawable in value + param event_mask ulong out reference + category VERSION_1_3 + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# GLX 1.4 commands +# +############################################################################### + +GetProcAddress(procName) + return FunctionPointer + param procName GLubyte in reference + category VERSION_1_4 + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# ARB Extension #2 +# ARB_get_proc_address commands +# @promoted to core in GLX 1.4, but there's no provision for aliasing +# @in GLX spec files, yet +# +############################################################################### + +GetProcAddressARB(procName) + return FunctionPointer + param procName GLubyte in reference + category ARB_get_proc_address + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# ARB Extension #5 +# ARB_multisample commands +# +############################################################################### + +# (none) +newcategory: ARB_multisample + +############################################################################### +# +# ARB Extension #39 +# ARB_fbconfig_float commands +# +############################################################################### + +# (none) +newcategory: ARB_fbconfig_float + +############################################################################### +# +# ARB Extension #56 +# ARB_create_context commands +# +############################################################################### + +CreateContextAttribsARB(dpy, config, share_context, direct, attrib_list) + return GLXContext + param dpy Display out reference + param config GLXFBConfig in value + param share_context GLXContext in value + param direct Bool in value + param attrib_list int in reference + category ARB_create_context + glxflags client-handcode client-intercept server-handcode + glxopcode 34 + +############################################################################### +# +# ARB Extension #75 +# ARB_create_context_profile commands +# +############################################################################### + +# (none) +newcategory: ARB_create_context_profile + + +############################################################################### +# +# Extension #25 +# SGIS_multisample commands +# +############################################################################### + +# (none) +newcategory: SGIS_multisample + +############################################################################### +# +# Extension #28 +# EXT_visual_info commands +# +############################################################################### + +# (none) +newcategory: EXT_visual_info + +############################################################################### +# +# Extension #40 +# SGI_swap_control commands +# +############################################################################### + +SwapIntervalSGI(interval) + return int + param interval int in value + category SGI_swap_control + glxflags client-handcode server-handcode + glxvendorglx 65536 + +############################################################################### +# +# Extension #41 +# SGI_video_sync commands +# +############################################################################### + +GetVideoSyncSGI(count) + return int + param count uint out reference + category SGI_video_sync + glxflags client-handcode client-intercept server-handcode + +WaitVideoSyncSGI(divisor, remainder, count) + return int + param divisor int in value + param remainder int in value + param count uint out reference + category SGI_video_sync + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #42 +# SGI_make_current_read commands +# +############################################################################### + +MakeCurrentReadSGI(dpy, draw, read, ctx) + return Bool + param dpy Display out reference + param draw GLXDrawable in value + param read GLXDrawable in value + param ctx GLXContext in value + category SGI_make_current_read + glxflags client-handcode server-handcode + glxvendorglx 65537 + +GetCurrentReadDrawableSGI() + return GLXDrawable + category SGI_make_current_read + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #43 +# SGIX_video_source commands +# +############################################################################### + +newcategory: SGIX_video_source +passthru: #ifdef _VL_H + +CreateGLXVideoSourceSGIX(display, screen, server, path, nodeClass, drainNode) + return GLXVideoSourceSGIX + param display Display out reference + param screen int in value + param server VLServer in value + param path VLPath in value + param nodeClass int in value + param drainNode VLNode in value + category SGIX_video_source + glxflags client-handcode server-handcode + glxvendorglx 65538 + +DestroyGLXVideoSourceSGIX(dpy, glxvideosource) + return void + param dpy Display out reference + param glxvideosource GLXVideoSourceSGIX in value + category SGIX_video_source + glxflags client-handcode server-handcode + glxvendorglx 65539 + +passend: #endif /* _VL_H */ +endcategory: + +############################################################################### +# +# Extension #44 +# EXT_visual_rating commands +# +############################################################################### + +# (none) +newcategory: EXT_visual_rating + +############################################################################### +# +# Extension #47 +# EXT_import_context commands +# +############################################################################### + +GetCurrentDisplayEXT() + return DisplayPointer + category EXT_import_context + glxflags client-handcode client-intercept server-handcode + +QueryContextInfoEXT(dpy, context, attribute, value) + return int + param dpy Display out reference + param context GLXContext in value + param attribute int in value + param value int out reference + category EXT_import_context + glxflags client-handcode server-handcode + glxvendorglx 1024 + +# 'constGLXContext' is a hack; the extension specification and glx.h +# should be fixed instead. +GetContextIDEXT(context) + return GLXContextID + param context constGLXContext in value + category EXT_import_context + glxflags client-handcode client-intercept server-handcode + +ImportContextEXT(dpy, contextID) + return GLXContext + param dpy Display out reference + param contextID GLXContextID in value + category EXT_import_context + glxflags client-handcode client-intercept server-handcode + +FreeContextEXT(dpy, context) + return void + param dpy Display out reference + param context GLXContext in value + category EXT_import_context + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #49 +# SGIX_fbconfig commands +# +############################################################################### + +# GetFBConfigsSGIX protocol -> VendorPrivate opcode 65540 + +GetFBConfigAttribSGIX(dpy, config, attribute, value) + return int + param dpy Display out reference + param config GLXFBConfigSGIX in value + param attribute int in value + param value int out reference + category SGIX_fbconfig + glxflags client-handcode client-intercept server-handcode + +ChooseFBConfigSGIX(dpy, screen, attrib_list, nelements) + return GLXFBConfigSGIXPointer + param dpy Display out reference + param screen int in value + param attrib_list int out reference + param nelements int out reference + category SGIX_fbconfig + glxflags client-handcode client-intercept server-handcode + +CreateGLXPixmapWithConfigSGIX(dpy, config, pixmap) + return GLXPixmap + param dpy Display out reference + param config GLXFBConfigSGIX in value + param pixmap Pixmap in value + category SGIX_fbconfig + glxflags client-handcode server-handcode + glxvendorglx 65542 + +CreateContextWithConfigSGIX(dpy, config, render_type, share_list, direct) + return GLXContext + param dpy Display out reference + param config GLXFBConfigSGIX in value + param render_type int in value + param share_list GLXContext in value + param direct Bool in value + category SGIX_fbconfig + glxflags client-handcode server-handcode + glxvendorglx 65541 + +GetVisualFromFBConfigSGIX(dpy, config) + return XVisualInfoPointer + param dpy Display out reference + param config GLXFBConfigSGIX in value + category SGIX_fbconfig + glxflags client-handcode client-intercept server-handcode + +GetFBConfigFromVisualSGIX(dpy, vis) + return GLXFBConfigSGIX + param dpy Display out reference + param vis XVisualInfo out reference + category SGIX_fbconfig + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #50 +# SGIX_pbuffer commands +# +############################################################################### + +# ChangeDrawableAttributesSGIX protocol -> VendorPrivate opcode 65545 +# GetDrawableAttributesSGIX protocol -> VendorPrivate opcode 65546 + +CreateGLXPbufferSGIX(dpy, config, width, height, attrib_list) + return GLXPbufferSGIX + param dpy Display out reference + param config GLXFBConfigSGIX in value + param width uint in value + param height uint in value + param attrib_list int out reference + category SGIX_pbuffer + glxflags client-handcode server-handcode + glxvendorglx 65543 + +DestroyGLXPbufferSGIX(dpy, pbuf) + return void + param dpy Display out reference + param pbuf GLXPbufferSGIX in value + category SGIX_pbuffer + glxflags client-handcode + glxvendorglx 65544 + +QueryGLXPbufferSGIX(dpy, pbuf, attribute, value) + return int + param dpy Display out reference + param pbuf GLXPbufferSGIX in value + param attribute int in value + param value uint out reference + category SGIX_pbuffer + +SelectEventSGIX(dpy, drawable, mask) + return void + param dpy Display out reference + param drawable GLXDrawable in value + param mask ulong in value + category SGIX_pbuffer + +GetSelectedEventSGIX(dpy, drawable, mask) + return void + param dpy Display out reference + param drawable GLXDrawable in value + param mask ulong out reference + category SGIX_pbuffer + +############################################################################### +# +# Extension #62 +# SGI_cushion commands +# +############################################################################### + +CushionSGI(dpy, window, cushion) + return void + param dpy Display out reference + param window Window in value + param cushion float in value + category SGI_cushion + +############################################################################### +# +# Extension #83 +# SGIX_video_resize commands +# +############################################################################### + +BindChannelToWindowSGIX(display, screen, channel, window) + return int + param display Display out reference + param screen int in value + param channel int in value + param window Window in value + category SGIX_video_resize + +ChannelRectSGIX(display, screen, channel, x, y, w, h) + return int + param display Display out reference + param screen int in value + param channel int in value + param x int in value + param y int in value + param w int in value + param h int in value + category SGIX_video_resize + +QueryChannelRectSGIX(display, screen, channel, dx, dy, dw, dh) + return int + param display Display out reference + param screen int in value + param channel int in value + param dx int out reference + param dy int out reference + param dw int out reference + param dh int out reference + category SGIX_video_resize + +QueryChannelDeltasSGIX(display, screen, channel, x, y, w, h) + return int + param display Display out reference + param screen int in value + param channel int in value + param x int out reference + param y int out reference + param w int out reference + param h int out reference + category SGIX_video_resize + +# @@@ Not in man page - this entry point may not be shipping? +ChannelRectSyncSGIX(display, screen, channel, synctype) + return int + param display Display out reference + param screen int in value + param channel int in value + param synctype GLenum in value + category SGIX_video_resize + +############################################################################### +# +# Extension #86 +# SGIX_dmbuffer commands +# +############################################################################### + +newcategory: SGIX_dmbuffer +passthru: #ifdef _DM_BUFFER_H_ + +AssociateDMPbufferSGIX(dpy, pbuffer, params, dmbuffer) + return Bool + param dpy Display out reference + param pbuffer GLXPbufferSGIX in value + param params DMparams out reference + param dmbuffer DMbuffer in value + category SGIX_dmbuffer + +passend: #endif /* _DM_BUFFER_H_ */ +endcategory: + +############################################################################### +# +# Extension #91 +# SGIX_swap_group commands +# +############################################################################### + +JoinSwapGroupSGIX(dpy, drawable, member) + return void + param dpy Display out reference + param drawable GLXDrawable in value + param member GLXDrawable in value + category SGIX_swap_group + glxflags client-handcode server-handcode + glxvendorglx 65547 + +############################################################################### +# +# Extension #92 +# SGIX_swap_barrier commands +# +############################################################################### + +BindSwapBarrierSGIX(dpy, drawable, barrier) + return void + param dpy Display out reference + param drawable GLXDrawable in value + param barrier int in value + category SGIX_swap_barrier + glxflags client-handcode server-handcode + glxvendorglx 65548 + +QueryMaxSwapBarriersSGIX(dpy, screen, max) + return Bool + param dpy Display out reference + param screen int in value + param max int out reference + category SGIX_swap_barrier + glxflags client-handcode server-handcode + glxvendorglx 65549 + +############################################################################### +# +# Extension #183 +# SUN_get_transparent_index commands +# +############################################################################### + +GetTransparentIndexSUN(dpy, overlay, underlay, pTransparentIndex) + return Status + param dpy Display out reference + param overlay Window in value + param underlay Window in value + param pTransparentIndex long out reference + category SUN_get_transparent_index + +############################################################################### +# +# Extension #215 +# MESA_copy_sub_buffer commands +# +############################################################################### + +CopySubBufferMESA(dpy, drawable, x, y, width, height) + return void + param dpy Display out reference + param drawable GLXDrawable in value + param x int in value + param y int in value + param width int in value + param height int in value + category MESA_copy_sub_buffer + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #216 +# MESA_pixmap_colormap commands +# +############################################################################### + +CreateGLXPixmapMESA(dpy, visual, pixmap, cmap) + return GLXPixmap + param dpy Display out reference + param visual XVisualInfo out reference + param pixmap Pixmap in value + param cmap Colormap in value + category MESA_pixmap_colormap + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #217 +# MESA_release_buffers commands +# +############################################################################### + +ReleaseBuffersMESA(dpy, drawable) + return Bool + param dpy Display out reference + param drawable GLXDrawable in value + category MESA_release_buffers + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #218 +# MESA_set_3dfx_mode commands +# +############################################################################### + +# Brian's spec has this as returning 'GLboolean' and taking 'GLint mode' +Set3DfxModeMESA(mode) + return Bool + param mode int in value + category MESA_set_3dfx_mode + glxflags client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #234 +# SGIX_visual_select_group commands +# +############################################################################### + +# (none) +newcategory: SGIX_visual_select_group + +############################################################################### +# +# Extension #237 +# OML_swap_method commands +# +############################################################################### + +# (none) +newcategory: OML_swap_method + +############################################################################### +# +# Extension #238 +# OML_sync_control commands +# +############################################################################### + +GetSyncValuesOML(dpy, drawable, ust, msc, sbc) + return Bool + param dpy Display out reference + param drawable GLXDrawable in value + param ust int64_t out reference + param msc int64_t out reference + param sbc int64_t out reference + category OML_sync_control + glxflags client-handcode server-handcode + +GetMscRateOML(dpy, drawable, numerator, denominator) + return Bool + param dpy Display out reference + param drawable GLXDrawable in value + param numerator int32_t out reference + param denominator int32_t out reference + category OML_sync_control + glxflags client-handcode server-handcode + +SwapBuffersMscOML(dpy, drawable, target_msc, divisor, remainder) + return int64_t + param dpy Display out reference + param drawable GLXDrawable in value + param target_msc int64_t in value + param divisor int64_t in value + param remainder int64_t in value + category OML_sync_control + glxflags client-handcode server-handcode + +WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc) + return Bool + param dpy Display out reference + param drawable GLXDrawable in value + param target_msc int64_t in value + param divisor int64_t in value + param remainder int64_t in value + param ust int64_t out reference + param msc int64_t out reference + param sbc int64_t out reference + category OML_sync_control + glxflags client-handcode server-handcode + +WaitForSbcOML(dpy, drawable, target_sbc, ust, msc, sbc) + return Bool + param dpy Display out reference + param drawable GLXDrawable in value + param target_sbc int64_t in value + param ust int64_t out reference + param msc int64_t out reference + param sbc int64_t out reference + category OML_sync_control + glxflags client-handcode server-handcode + +############################################################################### +# +# Extension #281 +# NV_float_buffer commands +# +############################################################################### + +# (none) +newcategory: NV_float_buffer + +############################################################################### +# +# Extension #307 +# SGIX_hyperpipe commands +# +############################################################################### + +newcategory: SGIX_hyperpipe +passthru: +passthru: typedef struct { +passthru: char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; +passthru: int networkId; +passthru: } GLXHyperpipeNetworkSGIX; +passthru: +passthru: typedef struct { +passthru: char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; +passthru: int channel; +passthru: unsigned int +passthru: participationType; +passthru: int timeSlice; +passthru: } GLXHyperpipeConfigSGIX; +passthru: +passthru: typedef struct { +passthru: char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; +passthru: int srcXOrigin, srcYOrigin, srcWidth, srcHeight; +passthru: int destXOrigin, destYOrigin, destWidth, destHeight; +passthru: } GLXPipeRect; +passthru: +passthru: typedef struct { +passthru: char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; +passthru: int XOrigin, YOrigin, maxHeight, maxWidth; +passthru: } GLXPipeRectLimits; +passthru: + +QueryHyperpipeNetworkSGIX(dpy, npipes) + return GLXHyperpipeNetworkSGIXPointer + param dpy Display out reference + param npipes int out reference + glxflags client-handcode server-handcode + category SGIX_hyperpipe + glxvendorglx 65550 + +HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId) + return int + param dpy Display out reference + param networkId int in value + param npipes int in value + param cfg GLXHyperpipeConfigSGIX out array [COMPSIZE(npipes)] + param hpId int out reference + glxflags client-handcode server-handcode + category SGIX_hyperpipe + glxvendorglx 65552 + +QueryHyperpipeConfigSGIX(dpy, hpId, npipes) + return GLXHyperpipeConfigSGIXPointer + param dpy Display out reference + param hpId int in value + param npipes int out reference + glxflags client-handcode server-handcode + category SGIX_hyperpipe + glxvendorglx 65551 + +DestroyHyperpipeConfigSGIX(dpy, hpId) + return int + param dpy Display out reference + param hpId int in value + glxflags client-handcode server-handcode + category SGIX_hyperpipe + glxvendorglx 65553 + +BindHyperpipeSGIX(dpy, hpId) + return int + param dpy Display out reference + param hpId int in value + glxflags client-handcode server-handcode + category SGIX_hyperpipe + glxvendorglx ??? + +QueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList) + return int + param dpy Display out reference + param timeSlice int in value + param attrib int in value + param size int in value + param attribList void out array [COMPSIZE(size)] + param returnAttribList void out array [COMPSIZE(size)] + glxflags client-handcode server-handcode + category SGIX_hyperpipe + glxvendorglx ??? + +HyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList) + return int + param dpy Display out reference + param timeSlice int in value + param attrib int in value + param size int in value + param attribList void out array [COMPSIZE(size)] + glxflags client-handcode server-handcode + category SGIX_hyperpipe + glxvendorglx ??? + +QueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList) + return int + param dpy Display out reference + param timeSlice int in value + param attrib int in value + param size int in value + param returnAttribList void out array [COMPSIZE(size)] + glxflags client-handcode server-handcode + category SGIX_hyperpipe + glxvendorglx ??? + +############################################################################### +# +# Extension #308 +# MESA_agp_offset commands +# +############################################################################### + +GetAGPOffsetMESA(pointer) + return uint + param pointer void in reference + glxflags client-handcode client-intercept server-handcode + category MESA_agp_offset + +############################################################################### +# +# Extension #328 +# EXT_fbconfig_packed_float commands +# +############################################################################### + +# (none) +newcategory: EXT_fbconfig_packed_float + +############################################################################### +# +# Extension #337 +# EXT_framebuffer_sRGB commands +# +############################################################################### + +# (none) +newcategory: EXT_framebuffer_sRGB + +############################################################################### +# +# Extension #344 +# EXT_texture_from_pixmap commands +# +############################################################################### + +BindTexImageEXT(dpy, drawable, buffer, attrib_list) + return void + param dpy Display out reference + param drawable GLXDrawable in value + param buffer int in value + param attrib_list int in reference + category EXT_texture_from_pixmap + glxflags client-handcode server-handcode + glxvendorglx 1330 + +ReleaseTexImageEXT(dpy, drawable, buffer) + return void + param dpy Display out reference + param drawable GLXDrawable in value + param buffer int in value + category EXT_texture_from_pixmap + glxflags client-handcode server-handcode + glxvendorglx 1331 + +############################################################################### +# +# Extension #347 +# NV_present_video commands +# +############################################################################### + +EnumerateVideoDevicesNV(dpy, screen, nelements) + return uintPointer + param dpy Display out reference + param screen int in value + param nelements int out reference + category NV_present_video + glxflags client-handcode server-handcode + +BindVideoDeviceNV(dpy, video_slot, video_device, attrib_list) + return int + param dpy Display out reference + param video_slot uint in value + param video_device uint in value + param attrib_list int in reference + category NV_present_video + glxflags client-handcode server-handcode + +############################################################################### +# +# Extension #348 +# NV_video_output commands +# +############################################################################### + +GetVideoDeviceNV(dpy, screen, numVideoDevices, pVideoDevice) + return int + param dpy Display out reference + param screen int in value + param numVideoDevices int in value + param pVideoDevice GLXVideoDeviceNV out array [COMPSIZE(numVideoDevices)] + category NV_video_output + glxflags client-handcode server-handcode + +ReleaseVideoDeviceNV(dpy, screen, VideoDevice) + return int + param dpy Display out reference + param screen int in value + param VideoDevice GLXVideoDeviceNV in value + category NV_video_output + glxflags client-handcode server-handcode + +BindVideoImageNV(dpy, VideoDevice, pbuf, iVideoBuffer) + return int + param dpy Display out reference + param VideoDevice GLXVideoDeviceNV in value + param pbuf GLXPbuffer in value + param iVideoBuffer int in value + category NV_video_output + glxflags client-handcode server-handcode + +ReleaseVideoImageNV(dpy, pbuf) + return int + param dpy Display out reference + param pbuf GLXPbuffer in value + category NV_video_output + glxflags client-handcode server-handcode + +SendPbufferToVideoNV(dpy, pbuf, iBufferType, pulCounterPbuffer, bBlock) + return int + param dpy Display out reference + param pbuf GLXPbuffer in value + param iBufferType int in value + param pulCounterPbuffer ulong out reference + param bBlock GLboolean in value + category NV_video_output + glxflags client-handcode server-handcode + +GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo) + return int + param dpy Display out reference + param screen int in value + param VideoDevice GLXVideoDeviceNV in value + param pulCounterOutputPbuffer ulong out reference + param pulCounterOutputVideo ulong out reference + category NV_video_output + glxflags client-handcode server-handcode + +############################################################################### +# +# Extension #350 +# NV_swap_group commands +# +############################################################################### + +JoinSwapGroupNV(dpy, drawable, group) + return Bool + param dpy Display out reference + param drawable GLXDrawable in value + param group GLuint in value + category NV_swap_group + glxflags client-handcode server-handcode + +BindSwapBarrierNV(dpy, group, barrier) + return Bool + param dpy Display out reference + param group GLuint in value + param barrier GLuint in value + category NV_swap_group + glxflags client-handcode server-handcode + +QuerySwapGroupNV(dpy, drawable, group, barrier) + return Bool + param dpy Display out reference + param drawable GLXDrawable in value + param group GLuint out reference + param barrier GLuint out reference + category NV_swap_group + glxflags client-handcode server-handcode + +QueryMaxSwapGroupsNV(dpy, screen, maxGroups, maxBarriers) + return Bool + param dpy Display out reference + param screen int in value + param maxGroups GLuint out reference + param maxBarriers GLuint out reference + category NV_swap_group + glxflags client-handcode server-handcode + +QueryFrameCountNV(dpy, screen, count) + return Bool + param dpy Display out reference + param screen int in value + param count GLuint out reference + category NV_swap_group + glxflags client-handcode server-handcode + +ResetFrameCountNV(dpy, screen) + return Bool + param dpy Display out reference + param screen int in value + category NV_swap_group + glxflags client-handcode server-handcode + +############################################################################### +# +# Extension #374 +# NV_video_capture commands +# +############################################################################### + +BindVideoCaptureDeviceNV(dpy, video_capture_slot, device) + return int + param dpy Display out reference + param video_capture_slot uint in value + param device GLXVideoCaptureDeviceNV in value + category NV_video_capture + glxflags client-handcode server-handcode + +EnumerateVideoCaptureDevicesNV(dpy, screen, nelements) + return GLXVideoCaptureDeviceNVPointer + param dpy Display out reference + param screen int in value + param nelements int out reference + category NV_video_capture + glxflags client-handcode server-handcode + +LockVideoCaptureDeviceNV(dpy, device) + return void + param dpy Display out reference + param device GLXVideoCaptureDeviceNV in value + category NV_video_capture + glxflags client-handcode server-handcode + +QueryVideoCaptureDeviceNV(dpy, device, attribute, value) + return int + param dpy Display out reference + param device GLXVideoCaptureDeviceNV in value + param attribute int in value + param value int out array [COMPSIZE(attribute)] + category NV_video_capture + glxflags client-handcode server-handcode + +ReleaseVideoCaptureDeviceNV(dpy, device) + return void + param dpy Display out reference + param device GLXVideoCaptureDeviceNV in value + category NV_video_capture + glxflags client-handcode server-handcode + +############################################################################### +# +# Extension #375 +# EXT_swap_control commands +# +############################################################################### + +# Enums not assigned, extension not ready to publish yet +# SwapIntervalEXT(dpy, drawable, interval) +# return int +# param dpy Display out reference +# param drawable GLXDrawable in value +# param interval int in value +# category EXT_swap_control +# glxflags client-handcode server-handcode + +############################################################################### +# +# Extension #376 +# GLX_NV_copy_image commands +# +############################################################################### + +CopyImageSubDataNV(dpy, srcCtx, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstCtx, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth) + return void + param dpy Display out reference + param srcCtx GLXContext in value + param srcName GLuint in value + param srcTarget GLenum in value + param srcLevel GLint in value + param srcX GLint in value + param srcY GLint in value + param srcZ GLint in value + param dstCtx GLXContext in value + param dstName GLuint in value + param dstTarget GLenum in value + param dstLevel GLint in value + param dstX GLint in value + param dstY GLint in value + param dstZ GLint in value + param width GLsizei in value + param height GLsizei in value + param depth GLsizei in value + category NV_copy_image + glxflags client-handcode server-handcode + diff --git a/source/gldecoder.h b/source/gldecoder.h index d97c0b3..9eb7d89 100644 --- a/source/gldecoder.h +++ b/source/gldecoder.h @@ -9,6 +9,7 @@ Distributed under the GPL #define GLDECODER_H_ #include +#include #ifdef __cplusplus extern "C" { diff --git a/source/glwrap.c b/source/glwrap.c index 59bf1fb..224a0fa 100644 --- a/source/glwrap.c +++ b/source/glwrap.c @@ -10,7 +10,9 @@ Distributed under the GPL #include #include #include +#include #include +#include #include "functions.h" static inline void *glsym(const char *sym) -- 2.43.0