X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=specs%2Fglxapi.py;h=ad2533c510a37da190d53a3345672a95c339d551;hb=48a92b99752143a34a6b5f6b94bad183564cecab;hp=0ee03a1249835277bd21a62f7efcadac16df24fd;hpb=ecbfc9f8cc7e03193ad0bdf2bf44176b32fe0ed5;p=apitrace diff --git a/specs/glxapi.py b/specs/glxapi.py index 0ee03a1..ad2533c 100644 --- a/specs/glxapi.py +++ b/specs/glxapi.py @@ -35,6 +35,7 @@ Visual = Opaque("Visual *") Font = Alias("Font", UInt32) Pixmap = Alias("Pixmap", UInt32) Window = Alias("Window", UInt32) +Colormap = Alias("Colormap", UInt32) GLXContext = Opaque("GLXContext") GLXPixmap = Alias("GLXPixmap", UInt32) @@ -47,6 +48,8 @@ GLXWindow = Alias("GLXWindow", UInt32) GLXPbuffer = Alias("GLXPbuffer", UInt32) GLXPbufferSGIX = Alias("GLXPbufferSGIX", UInt32) GLXVideoSourceSGIX = Alias("GLXVideoSourceSGIX", UInt32) +GLXVideoDeviceNV = Alias("GLXVideoDeviceNV", UInt32) +GLXVideoCaptureDeviceNV = Alias("GLXVideoCaptureDeviceNV", UInt32) XVisualInfo = Struct("XVisualInfo", [ (Visual, "visual"), @@ -66,7 +69,7 @@ Bool = FakeEnum(Int, [ "True", ]) -GLXAttrib = FakeEnum(Int, [ +GLXEnum = FakeEnum(Int, [ #"GLX_USE_GL", # 1 "GLX_BUFFER_SIZE", # 2 "GLX_LEVEL", # 3 @@ -199,55 +202,98 @@ GLXbuffer = Flags(Int, [ "GLX_ACCUM_BUFFER_BIT", ]) -GLXEnum = FakeEnum(Int, [ - "GLX_NONE", - "GLX_SLOW_CONFIG", - "GLX_TRUE_COLOR", - "GLX_DIRECT_COLOR", - "GLX_PSEUDO_COLOR", - "GLX_STATIC_COLOR", - "GLX_GRAY_SCALE", - "GLX_STATIC_GRAY", - "GLX_TRANSPARENT_RGB", - "GLX_TRANSPARENT_INDEX", - "GLX_VISUAL_ID", - "GLX_SCREEN", - "GLX_NON_CONFORMANT_CONFIG", - "GLX_DRAWABLE_TYPE", - "GLX_RENDER_TYPE", - "GLX_X_RENDERABLE", - "GLX_FBCONFIG_ID", - "GLX_RGBA_TYPE", - "GLX_COLOR_INDEX_TYPE", - "GLX_MAX_PBUFFER_WIDTH", - "GLX_MAX_PBUFFER_HEIGHT", - "GLX_MAX_PBUFFER_PIXELS", - "GLX_PRESERVED_CONTENTS", - "GLX_LARGEST_PBUFFER", - "GLX_WIDTH", - "GLX_HEIGHT", - "GLX_EVENT_MASK", - "GLX_DAMAGED", - "GLX_SAVED", - "GLX_WINDOW", - "GLX_PBUFFER", - "GLX_PBUFFER_HEIGHT", - "GLX_PBUFFER_WIDTH", -]) - GLXbuffer = Flags(Int, [ "GLX_RGBA_BIT", "GLX_COLOR_INDEX_BIT", "GLX_PBUFFER_CLOBBER_MASK", ]) -glxapi = API("GLX") +UnusedAttribs = AttribArray(Const(GLXEnum), []) + +GLXCommonSizeAttribs = [ + ('GLX_RED_SIZE', UInt), + ('GLX_GREEN_SIZE', UInt), + ('GLX_BLUE_SIZE', UInt), + ('GLX_ALPHA_SIZE', UInt), + ('GLX_DEPTH_SIZE', UInt), + ('GLX_STENCIL_SIZE', UInt), + ('GLX_ACCUM_RED_SIZE', UInt), + ('GLX_ACCUM_GREEN_SIZE', UInt), + ('GLX_ACCUM_BLUE_SIZE', UInt), + ('GLX_ACCUM_ALPHA_SIZE', UInt) +] + +GLXVisualAttribs = AttribArray(GLXEnum, GLXCommonSizeAttribs + [ + ('GLX_USE_GL', None), + ('GLX_BUFFER_SIZE', UInt), + ('GLX_LEVEL', Int), + ('GLX_RGBA', None), + ('GLX_DOUBLEBUFFER', None), + ('GLX_STEREO', None), + ('GLX_AUX_BUFFERS', UInt), + ('GLX_SAMPLE_BUFFERS', UInt), + ('GLX_SAMPLES', UInt)], +) + +GLXFBConfigCommonAttribs = GLXCommonSizeAttribs + [ + ('GLX_BUFFER_SIZE', UInt), + ('GLX_LEVEL', Int), + ('GLX_DOUBLEBUFFER', Bool), + ('GLX_STEREO', Bool), + ('GLX_AUX_BUFFERS', UInt), + ('GLX_SAMPLE_BUFFERS', UInt), + ('GLX_SAMPLES', UInt), + ('GLX_RENDER_TYPE', Flags(Int, ["GLX_RGBA_BIT", "GLX_COLOR_INDEX_BIT"])), + ('GLX_DRAWABLE_TYPE', Flags(Int, ["GLX_WINDOW_BIT", "GLX_PIXMAP_BIT", "GLX_PBUFFER_BIT"])), + ('GLX_X_RENDERABLE', Bool), + ('GLX_X_VISUAL_TYPE', FakeEnum(Int, ["GLX_TRUE_COLOR", "GLX_DIRECT_COLOR", "GLX_PSEUDO_COLOR", "GLX_STATIC_COLOR"])), + ('GLX_CONFIG_CAVEAT', FakeEnum(Int, ["GLX_NONE", "GLX_SLOW_CONFIG", "GLX_NON_CONFORMANT_CONFIG"])), + ('GLX_TRANSPARENT_TYPE', FakeEnum(Int, ["GLX_NONE", "GLX_TRANSPARENT_RGB", "GLX_TRANSPARENT_INDEX"])), + ('GLX_TRANSPARENT_INDEX_VALUE', Int), + ('GLX_TRANSPARENT_RED_VALUE', Int), + ('GLX_TRANSPARENT_GREEN_VALUE', Int), + ('GLX_TRANSPARENT_BLUE_VALUE', Int), + ('GLX_TRANSPARENT_ALPHA_VALUE', Int) +] + +GLXFBConfigGLXAttribs = GLXFBConfigCommonAttribs + [ + ('GLX_FBCONFIG_ID', Int), # an XID, can we do better than int? + ('GLX_MAX_PBUFFER_WIDTH', Int), + ('GLX_MAX_PBUFFER_HEIGHT', Int), + ('GLX_MAX_PBUFFER_PIXELS', Int), + ('GLX_VISUAL_ID', Int) # another XID +] + +GLXFBConfigAttribs = AttribArray(Const(GLXEnum), GLXFBConfigGLXAttribs) +GLXFBConfigSGIXAttribs = AttribArray(GLXEnum, GLXFBConfigCommonAttribs) + +GLXContextARBAttribs = AttribArray(Const(GLXEnum), [ + ('GLX_CONTEXT_MAJOR_VERSION_ARB', Int), + ('GLX_CONTEXT_MINOR_VERSION_ARB', Int), + ('GLX_CONTEXT_FLAGS_ARB', Flags(Int, ["GLX_CONTEXT_DEBUG_BIT_ARB", "GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB"])), + ('GLX_CONTEXT_PROFILE_MASK_ARB', Flags(Int, ["GLX_CONTEXT_CORE_PROFILE_BIT_ARB", "GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB"])) +]) + +GLXPbufferAttribs = AttribArray(Const(GLXEnum), [ + ('GLX_PBUFFER_WIDTH', Int), + ('GLX_PBUFFER_HEIGHT', Int), + ('GLX_LARGEST_PBUFFER', Bool), + ('GLX_PRESERVED_CONTENTS', Bool) +]) + +GLXPbufferSGIXAttribs = AttribArray(GLXEnum, [ + ('GLX_PRESERVED_CONTENTS_SGIX', Bool), + ('GLX_LARGEST_PBUFFER', Bool), + ('GLX_DIGITAL_MEDIA_PBUFFER_SGIX', Bool)], +) + +glxapi = Module("GLX") PROC = Opaque("__GLXextFuncPtr") -glxapi.add_functions([ +glxapi.addFunctions([ # GLX - Function(Pointer(XVisualInfo), "glXChooseVisual", [(Display, "dpy"), (Int, "screen"), (Array(GLXAttrib, "__AttribList_size(attribList)"), "attribList")]), + Function(Pointer(XVisualInfo), "glXChooseVisual", [(Display, "dpy"), (Int, "screen"), (GLXVisualAttribs, "attribList")]), Function(GLXContext, "glXCreateContext", [(Display, "dpy"), (Pointer(XVisualInfo), "vis"), (GLXContext, "shareList"), (Bool, "direct")]), Function(Void, "glXDestroyContext", [(Display, "dpy"), (GLXContext, "ctx")]), Function(Bool, "glXMakeCurrent", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLXContext, "ctx")]), @@ -261,7 +307,7 @@ glxapi.add_functions([ Function(Bool, "glXQueryVersion", [(Display, "dpy"), Out(Pointer(Int), "maj"), Out(Pointer(Int), "min")]), Function(Bool, "glXIsDirect", [(Display, "dpy"), (GLXContext, "ctx")]), Function(GLXError, "glXGetConfig", [(Display, "dpy"), (Pointer(XVisualInfo), "visual"), - (GLXAttrib, "attrib"), Out(Pointer(Int), "value")]), + (GLXEnum, "attrib"), Out(Pointer(Int), "value")]), Function(GLXContext, "glXGetCurrentContext", [], sideeffects=False), Function(GLXDrawable, "glXGetCurrentDrawable", [], sideeffects=False), Function(Void, "glXWaitGL", []), @@ -269,28 +315,28 @@ glxapi.add_functions([ Function(Void, "glXUseXFont", [(Font, "font"), (Int, "first"), (Int, "count"), (Int, "list")]), # GLX 1.1 and later - Function((Const(String("char *"))), "glXQueryExtensionsString", [(Display, "dpy"), (Int, "screen")]), - Function((Const(String("char *"))), "glXQueryServerString", [(Display, "dpy"), (Int, "screen"), (GLXname, "name")]), - Function((Const(String("char *"))), "glXGetClientString", [(Display, "dpy"), (GLXname, "name")]), + Function((ConstCString), "glXQueryExtensionsString", [(Display, "dpy"), (Int, "screen")], sideeffects=False), + Function((ConstCString), "glXQueryServerString", [(Display, "dpy"), (Int, "screen"), (GLXname, "name")], sideeffects=False), + Function((ConstCString), "glXGetClientString", [(Display, "dpy"), (GLXname, "name")], sideeffects=False), # GLX 1.2 and later Function(Display, "glXGetCurrentDisplay", [], sideeffects=False), # GLX 1.3 and later - Function(Array(GLXFBConfig, "*nitems"), "glXChooseFBConfig", [(Display, "dpy"), (Int, "screen"), (Array(Const(GLXAttrib), "__AttribList_size(attribList)"), "attribList"), Out(Pointer(Int), "nitems")]), - Function(Int, "glXGetFBConfigAttrib", [(Display, "dpy"), (GLXFBConfig, "config"), (GLXAttrib, "attribute"), Out(Pointer(Int), "value")]), + Function(Array(GLXFBConfig, "*nitems"), "glXChooseFBConfig", [(Display, "dpy"), (Int, "screen"), (GLXFBConfigAttribs, "attribList"), Out(Pointer(Int), "nitems")]), + Function(Int, "glXGetFBConfigAttrib", [(Display, "dpy"), (GLXFBConfig, "config"), (GLXEnum, "attribute"), Out(Pointer(Int), "value")]), Function(Array(GLXFBConfig, "*nelements"), "glXGetFBConfigs", [(Display, "dpy"), (Int, "screen"), Out(Pointer(Int), "nelements")]), Function(Pointer(XVisualInfo), "glXGetVisualFromFBConfig", [(Display, "dpy"), (GLXFBConfig, "config")]), Function(GLXWindow, "glXCreateWindow", [(Display, "dpy"), (GLXFBConfig, "config"), - (Window, "win"), (Array(Const(Int), "__AttribList_size(attribList)"), "attribList")]), + (Window, "win"), (UnusedAttribs, "attribList")]), Function(Void, "glXDestroyWindow", [(Display, "dpy"), (GLXWindow, "window")]), Function(GLXPixmap, "glXCreatePixmap", [(Display, "dpy"), (GLXFBConfig, "config"), - (Pixmap, "pixmap"), (Array(Const(Int), "__AttribList_size(attribList)"), "attribList")]), + (Pixmap, "pixmap"), (UnusedAttribs, "attribList")]), Function(Void, "glXDestroyPixmap", [(Display, "dpy"), (GLXPixmap, "pixmap")]), Function(GLXPbuffer, "glXCreatePbuffer", [(Display, "dpy"), (GLXFBConfig, "config"), - (Array(Const(GLXEnum), "__AttribList_size(attribList)"), "attribList")]), + (GLXPbufferAttribs, "attribList")]), Function(Void, "glXDestroyPbuffer", [(Display, "dpy"), (GLXPbuffer, "pbuf")]), Function(Void, "glXQueryDrawable", [(Display, "dpy"), (GLXDrawable, "draw"), (GLXEnum, "attribute"), Out(Pointer(UInt), "value")]), @@ -308,7 +354,9 @@ glxapi.add_functions([ Out(Pointer(ULong), "mask")]), # GLX_ARB_create_context - Function(GLXContext, "glXCreateContextAttribsARB", [(Display, "dpy"), (GLXFBConfig, "config"), (GLXContext, "share_context"), (Bool, "direct"), (Array(Const(GLXAttrib), "__AttribList_size(attrib_list)"), "attrib_list")]), + Function(GLXContext, "glXCreateContextAttribsARB", [(Display, "dpy"), (GLXFBConfig, "config"), + (GLXContext, "share_context"), (Bool, "direct"), + (GLXContextARBAttribs, "attrib_list")]), # GLX_SGI_swap_control Function(Int, "glXSwapIntervalSGI", [(Int, "interval")]), @@ -334,18 +382,18 @@ glxapi.add_functions([ # GLX_SGIX_fbconfig Function(Int, "glXGetFBConfigAttribSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Int, "attribute"), Out(Pointer(Int), "value")]), - Function(OpaquePointer(GLXFBConfigSGIX), "glXChooseFBConfigSGIX", [(Display, "dpy"), (Int, "screen"), (Array(Int, "__AttribList_size(attrib_list)"), "attrib_list"), (OpaquePointer(Int), "nelements")]), + Function(OpaquePointer(GLXFBConfigSGIX), "glXChooseFBConfigSGIX", [(Display, "dpy"), (Int, "screen"), (GLXFBConfigSGIXAttribs, "attrib_list"), Out(Pointer(Int), "nelements")]), Function(GLXPixmap, "glXCreateGLXPixmapWithConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Pixmap, "pixmap")]), Function(GLXContext, "glXCreateContextWithConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Int, "render_type"), (GLXContext, "share_list"), (Bool, "direct")]), - Function(OpaquePointer(XVisualInfo), "glXGetVisualFromFBConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config")]), + Function(Pointer(XVisualInfo), "glXGetVisualFromFBConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config")]), Function(GLXFBConfigSGIX, "glXGetFBConfigFromVisualSGIX", [(Display, "dpy"), Out(Pointer(XVisualInfo), "vis")]), # GLX_SGIX_pbuffer - Function(GLXPbufferSGIX, "glXCreateGLXPbufferSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (UInt, "width"), (UInt, "height"), (Array(Int, "__AttribList_size(attrib_list)"), "attrib_list")]), + Function(GLXPbufferSGIX, "glXCreateGLXPbufferSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (UInt, "width"), (UInt, "height"), (GLXPbufferSGIXAttribs, "attrib_list")]), Function(Void, "glXDestroyGLXPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuf")]), - Function(Int, "glXQueryGLXPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuf"), (Int, "attribute"), (OpaquePointer(UInt), "value")]), + Function(Int, "glXQueryGLXPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuf"), (Int, "attribute"), Out(Pointer(UInt), "value")]), Function(Void, "glXSelectEventSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (ULong, "mask")]), - Function(Void, "glXGetSelectedEventSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(ULong), "mask")]), + Function(Void, "glXGetSelectedEventSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), Out(Pointer(ULong), "mask")]), # GLX_SGI_cushion Function(Void, "glXCushionSGI", [(Display, "dpy"), (Window, "window"), (Float, "cushion")]), @@ -374,7 +422,7 @@ glxapi.add_functions([ Function(Void, "glXCopySubBufferMESA", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "x"), (Int, "y"), (Int, "width"), (Int, "height")]), # GLX_MESA_pixmap_colormap - #Function(GLXPixmap, "glXCreateGLXPixmapMESA", [(Display, "dpy"), (OpaquePointer(XVisualInfo), "visual"), (Pixmap, "pixmap"), (Colormap, "cmap")]), + Function(GLXPixmap, "glXCreateGLXPixmapMESA", [(Display, "dpy"), (Pointer(XVisualInfo), "visual"), (Pixmap, "pixmap"), (Colormap, "cmap")]), # GLX_MESA_release_buffers Function(Bool, "glXReleaseBuffersMESA", [(Display, "dpy"), (GLXDrawable, "drawable")]), @@ -382,6 +430,10 @@ glxapi.add_functions([ # GLX_MESA_set_3dfx_mode Function(Bool, "glXSet3DfxModeMESA", [(Int, "mode")]), + # GLX_MESA_swap_control + Function(Int, "glXSwapIntervalMESA", [(UInt, "interval")]), + Function(Int, "glXGetSwapIntervalMESA", [], sideeffects=False), + # GLX_OML_sync_control Function(Bool, "glXGetSyncValuesOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(Int64), "ust"), (OpaquePointer(Int64), "msc"), (OpaquePointer(Int64), "sbc")]), Function(Bool, "glXGetMscRateOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(Int32), "numerator"), (OpaquePointer(Int32), "denominator")]), @@ -403,20 +455,20 @@ glxapi.add_functions([ Function(UInt, "glXGetAGPOffsetMESA", [(OpaquePointer(Const(Void)), "pointer")]), # EXT_texture_from_pixmap - Function(Void, "glXBindTexImageEXT", [(Display, "display"), (GLXDrawable, "drawable"), (Int, "buffer"), (Array(Const(Int), "__AttribList_size(attrib_list)"), "attrib_list")]), - Function(Void, "glXReleaseTexImageEXT", [(Display, "display"), (GLXDrawable, "drawable"), (Int, "buffer")]), + Function(Void, "glXBindTexImageEXT", [(Display, "display"), (GLXDrawable, "drawable"), (GLXEnum, "buffer"), (GLXFBConfigAttribs, "attrib_list")]), + Function(Void, "glXReleaseTexImageEXT", [(Display, "display"), (GLXDrawable, "drawable"), (GLXEnum, "buffer")]), # GLX_NV_present_video - #Function(OpaquePointer(UInt), "glXEnumerateVideoDevicesNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "nelements")]), - #Function(Int, "glXBindVideoDeviceNV", [(Display, "dpy"), (UInt, "video_slot"), (UInt, "video_device"), (Array(Const(Int), "__AttribList_size(attrib_list)"), "attrib_list")]), + Function(Array(UInt, "(nelements ? *nelements : 0)"), "glXEnumerateVideoDevicesNV", [(Display, "dpy"), (Int, "screen"), Out(Pointer(Int), "nelements")]), + Function(Int, "glXBindVideoDeviceNV", [(Display, "dpy"), (UInt, "video_slot"), (UInt, "video_device"), (UnusedAttribs, "attrib_list")]), # GLX_NV_video_output - #Function(Int, "glXGetVideoDeviceNV", [(Display, "dpy"), (Int, "screen"), (Int, "numVideoDevices"), (OpaquePointer(GLXVideoDeviceNV), "pVideoDevice")]), - #Function(Int, "glXReleaseVideoDeviceNV", [(Display, "dpy"), (Int, "screen"), (GLXVideoDeviceNV, "VideoDevice")]), - #Function(Int, "glXBindVideoImageNV", [(Display, "dpy"), (GLXVideoDeviceNV, "VideoDevice"), (GLXPbuffer, "pbuf"), (Int, "iVideoBuffer")]), - #Function(Int, "glXReleaseVideoImageNV", [(Display, "dpy"), (GLXPbuffer, "pbuf")]), - #Function(Int, "glXSendPbufferToVideoNV", [(Display, "dpy"), (GLXPbuffer, "pbuf"), (Int, "iBufferType"), (OpaquePointer(ULong), "pulCounterPbuffer"), (GLboolean, "bBlock")]), - #Function(Int, "glXGetVideoInfoNV", [(Display, "dpy"), (Int, "screen"), (GLXVideoDeviceNV, "VideoDevice"), (OpaquePointer(ULong), "pulCounterOutputPbuffer"), (OpaquePointer(ULong), "pulCounterOutputVideo")]), + Function(Int, "glXGetVideoDeviceNV", [(Display, "dpy"), (Int, "screen"), (Int, "numVideoDevices"), Out(Array(GLXVideoDeviceNV, "numVideoDevices"), "pVideoDevice")]), + Function(Int, "glXReleaseVideoDeviceNV", [(Display, "dpy"), (Int, "screen"), (GLXVideoDeviceNV, "VideoDevice")]), + Function(Int, "glXBindVideoImageNV", [(Display, "dpy"), (GLXVideoDeviceNV, "VideoDevice"), (GLXPbuffer, "pbuf"), (Int, "iVideoBuffer")]), + Function(Int, "glXReleaseVideoImageNV", [(Display, "dpy"), (GLXPbuffer, "pbuf")]), + Function(Int, "glXSendPbufferToVideoNV", [(Display, "dpy"), (GLXPbuffer, "pbuf"), (Int, "iBufferType"), Out(Pointer(ULong), "pulCounterPbuffer"), (GLboolean, "bBlock")]), + Function(Int, "glXGetVideoInfoNV", [(Display, "dpy"), (Int, "screen"), (GLXVideoDeviceNV, "VideoDevice"), Out(Pointer(ULong), "pulCounterOutputPbuffer"), Out(Pointer(ULong), "pulCounterOutputVideo")], sideeffects=False), # GLX_NV_swap_group Function(Bool, "glXJoinSwapGroupNV", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLuint, "group")]), @@ -427,14 +479,14 @@ glxapi.add_functions([ Function(Bool, "glXResetFrameCountNV", [(Display, "dpy"), (Int, "screen")]), # GLX_NV_video_capture - #Function(Int, "glXBindVideoCaptureDeviceNV", [(Display, "dpy"), (UInt, "video_capture_slot"), (GLXVideoCaptureDeviceNV, "device")]), - #Function(OpaquePointer(GLXVideoCaptureDeviceNV), "glXEnumerateVideoCaptureDevicesNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "nelements")]), - #Function(Void, "glXLockVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device")]), - #Function(Int, "glXQueryVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device"), (Int, "attribute"), (OpaquePointer(Int), "value")]), - #Function(Void, "glXReleaseVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device")]), + Function(Int, "glXBindVideoCaptureDeviceNV", [(Display, "dpy"), (UInt, "video_capture_slot"), (GLXVideoCaptureDeviceNV, "device")]), + Function(Array(GLXVideoCaptureDeviceNV, "(nelements ? *nelements : 0)"), "glXEnumerateVideoCaptureDevicesNV", [(Display, "dpy"), (Int, "screen"), Out(Pointer(Int), "nelements")]), + Function(Void, "glXLockVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device")]), + Function(Int, "glXQueryVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device"), (Int, "attribute"), Out(Pointer(Int), "value")], sideeffects=False), + Function(Void, "glXReleaseVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device")]), # GLX_EXT_swap_control - Function(Int, "glXSwapIntervalEXT", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "interval")]), + Function(Void, "glXSwapIntervalEXT", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "interval")]), # GLX_NV_copy_image Function(Void, "glXCopyImageSubDataNV", [(Display, "dpy"), (GLXContext, "srcCtx"), (GLuint, "srcName"), (GLenum, "srcTarget"), (GLint, "srcLevel"), (GLint, "srcX"), (GLint, "srcY"), (GLint, "srcZ"), (GLXContext, "dstCtx"), (GLuint, "dstName"), (GLenum, "dstTarget"), (GLint, "dstLevel"), (GLint, "dstX"), (GLint, "dstY"), (GLint, "dstZ"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), @@ -444,8 +496,10 @@ glxapi.add_functions([ Function(Void, "glXFreeMemoryNV", [(OpaquePointer(Void), "pointer")]), # Must be last - Function(PROC, "glXGetProcAddressARB", [(Alias("const GLubyte *", CString), "procName")]), - Function(PROC, "glXGetProcAddress", [(Alias("const GLubyte *", CString), "procName")]), + Function(PROC, "glXGetProcAddressARB", [(String(Const(GLubyte)), "procName")]), + Function(PROC, "glXGetProcAddress", [(String(Const(GLubyte)), "procName")]), ]) +# To prevent collision with stdapi.Bool +del Bool