Copyright (c) 2013-2018 The Khronos Group Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------ This file, glx.xml, is the GLX API Registry. The canonical version of the registry, together with documentation, schema, and Python generator scripts used to generate C header files for GLX, can always be found in the Khronos Registry at https://github.com/KhronosGroup/OpenGL-Registry = 199901L #include #elif defined(__sun__) || defined(__digital__) #include #if defined(__STDC__) #if defined(__arch64__) || defined(_LP64) typedef long int int64_t; typedef unsigned long int uint64_t; #else typedef long long int int64_t; typedef unsigned long long int uint64_t; #endif /* __arch64__ */ #endif /* __STDC__ */ #elif defined( __VMS ) || defined(__sgi) #include #elif defined(__SCO__) || defined(__USLC__) #include #elif defined(__UNIXOS2__) || defined(__SOL64__) typedef long int int32_t; typedef long long int int64_t; typedef unsigned long long int uint64_t; #elif defined(_WIN32) && defined(__GNUC__) #include #elif defined(_WIN32) typedef __int32 int32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; #else /* Fallback if nothing above works */ #include #endif #endif]]> typedef XID GLXFBConfigID; typedef struct __GLXFBConfigRec *GLXFBConfig; typedef XID GLXContextID; typedef struct __GLXcontextRec *GLXContext; typedef XID GLXPixmap; typedef XID GLXDrawable; typedef XID GLXWindow; typedef XID GLXPbuffer; typedef void ( *__GLXextFuncPtr)(void); typedef XID GLXVideoCaptureDeviceNV; typedef unsigned int GLXVideoDeviceNV; typedef XID GLXVideoSourceSGIX; typedef XID GLXFBConfigIDSGIX; typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; typedef XID GLXPbufferSGIX; typedef struct { int event_type; /* GLX_DAMAGED or GLX_SAVED */ int draw_type; /* GLX_WINDOW or GLX_PBUFFER */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came for SendEvent request */ Display *display; /* display the event was read from */ GLXDrawable drawable; /* XID of Drawable */ unsigned int buffer_mask; /* mask indicating which buffers are affected */ unsigned int aux_buffer; /* which aux buffer was affected */ int x, y; int width, height; int count; /* if nonzero, at least this many more */ } GLXPbufferClobberEvent; typedef struct { int type; unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ GLXDrawable drawable; /* drawable on which event was requested in event mask */ int event_type; int64_t ust; int64_t msc; int64_t sbc; } GLXBufferSwapComplete; typedef union __GLXEvent { GLXPbufferClobberEvent glxpbufferclobber; GLXBufferSwapComplete glxbufferswapcomplete; long pad[24]; } GLXEvent; typedef struct { int type; unsigned long serial; Bool send_event; Display *display; int extension; int evtype; GLXDrawable window; Bool stereo_tree; } GLXStereoNotifyEventEXT; typedef struct { int type; unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came for SendEvent request */ Display *display; /* display the event was read from */ GLXDrawable drawable; /* i.d. of Drawable */ int event_type; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ int draw_type; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ unsigned int mask; /* mask indicating which buffers are affected*/ int x, y; int width, height; int count; /* if nonzero, at least this many more */ } GLXBufferClobberEventSGIX; typedef struct { char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ int networkId; } GLXHyperpipeNetworkSGIX; typedef struct { char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ int channel; unsigned int participationType; int timeSlice; } GLXHyperpipeConfigSGIX; typedef struct { char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ int srcXOrigin, srcYOrigin, srcWidth, srcHeight; int destXOrigin, destYOrigin, destWidth, destHeight; } GLXPipeRect; typedef struct { char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ int XOrigin, YOrigin, maxHeight, maxWidth; } GLXPipeRectLimits; Bool glXAssociateDMPbufferSGIX Display *dpy GLXPbufferSGIX pbuffer DMparams *params DMbuffer dmbuffer int glXBindChannelToWindowSGIX Display *display int screen int channel Window window int glXBindHyperpipeSGIX Display *dpy int hpId Bool glXBindSwapBarrierNV Display *dpy GLuint group GLuint barrier void glXBindSwapBarrierSGIX Display *dpy GLXDrawable drawable int barrier void glXBindTexImageEXT Display *dpy GLXDrawable drawable int buffer const int *attrib_list int glXBindVideoCaptureDeviceNV Display *dpy unsigned int video_capture_slot GLXVideoCaptureDeviceNV device int glXBindVideoDeviceNV Display *dpy unsigned int video_slot unsigned int video_device const int *attrib_list int glXBindVideoImageNV Display *dpy GLXVideoDeviceNV VideoDevice GLXPbuffer pbuf int iVideoBuffer void glXBlitContextFramebufferAMD GLXContext dstCtx GLint srcX0 GLint srcY0 GLint srcX1 GLint srcY1 GLint dstX0 GLint dstY0 GLint dstX1 GLint dstY1 GLbitfield mask GLenum filter int glXChannelRectSGIX Display *display int screen int channel int x int y int w int h int glXChannelRectSyncSGIX Display *display int screen int channel GLenum synctype GLXFBConfig *glXChooseFBConfig Display *dpy int screen const int *attrib_list int *nelements GLXFBConfigSGIX *glXChooseFBConfigSGIX Display *dpy int screen int *attrib_list int *nelements XVisualInfo *glXChooseVisual Display *dpy int screen int *attribList void glXCopyBufferSubDataNV Display *dpy GLXContext readCtx GLXContext writeCtx GLenum readTarget GLenum writeTarget GLintptr readOffset GLintptr writeOffset GLsizeiptr size void glXNamedCopyBufferSubDataNV Display *dpy GLXContext readCtx GLXContext writeCtx GLuint readBuffer GLuint writeBuffer GLintptr readOffset GLintptr writeOffset GLsizeiptr size void glXCopyContext Display *dpy GLXContext src GLXContext dst unsigned long mask 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 void glXCopySubBufferMESA Display *dpy GLXDrawable drawable int x int y int width int height GLXContext glXCreateAssociatedContextAMD unsigned int id GLXContext share_list GLXContext glXCreateAssociatedContextAttribsAMD unsigned int id GLXContext share_context const int *attribList GLXContext glXCreateContextAttribsARB Display *dpy GLXFBConfig config GLXContext share_context Bool direct const int *attrib_list GLXContext glXCreateContext Display *dpy XVisualInfo *vis GLXContext shareList Bool direct GLXContext glXCreateContextWithConfigSGIX Display *dpy GLXFBConfigSGIX config int render_type GLXContext share_list Bool direct GLXPbufferSGIX glXCreateGLXPbufferSGIX Display *dpy GLXFBConfigSGIX config unsigned int width unsigned int height int *attrib_list GLXPixmap glXCreateGLXPixmap Display *dpy XVisualInfo *visual Pixmap pixmap GLXPixmap glXCreateGLXPixmapMESA Display *dpy XVisualInfo *visual Pixmap pixmap Colormap cmap GLXPixmap glXCreateGLXPixmapWithConfigSGIX Display *dpy GLXFBConfigSGIX config Pixmap pixmap GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX Display *display int screen VLServer server VLPath path int nodeClass VLNode drainNode GLXContext glXCreateNewContext Display *dpy GLXFBConfig config int render_type GLXContext share_list Bool direct GLXPbuffer glXCreatePbuffer Display *dpy GLXFBConfig config const int *attrib_list GLXPixmap glXCreatePixmap Display *dpy GLXFBConfig config Pixmap pixmap const int *attrib_list GLXWindow glXCreateWindow Display *dpy GLXFBConfig config Window win const int *attrib_list void glXCushionSGI Display *dpy Window window float cushion Bool glXDelayBeforeSwapNV Display *dpy GLXDrawable drawable GLfloat seconds Bool glXDeleteAssociatedContextAMD GLXContext ctx void glXDestroyContext Display *dpy GLXContext ctx void glXDestroyGLXPbufferSGIX Display *dpy GLXPbufferSGIX pbuf void glXDestroyGLXPixmap Display *dpy GLXPixmap pixmap void glXDestroyGLXVideoSourceSGIX Display *dpy GLXVideoSourceSGIX glxvideosource int glXDestroyHyperpipeConfigSGIX Display *dpy int hpId void glXDestroyPbuffer Display *dpy GLXPbuffer pbuf void glXDestroyPixmap Display *dpy GLXPixmap pixmap void glXDestroyWindow Display *dpy GLXWindow win GLXVideoCaptureDeviceNV *glXEnumerateVideoCaptureDevicesNV Display *dpy int screen int *nelements unsigned int *glXEnumerateVideoDevicesNV Display *dpy int screen int *nelements void glXFreeContextEXT Display *dpy GLXContext context unsigned int glXGetAGPOffsetMESA const void *pointer const char *glXGetClientString Display *dpy int name int glXGetConfig Display *dpy XVisualInfo *visual int attrib int *value unsigned int glXGetContextGPUIDAMD GLXContext ctx GLXContextID glXGetContextIDEXT const GLXContext context GLXContext glXGetCurrentAssociatedContextAMD GLXContext glXGetCurrentContext Display *glXGetCurrentDisplayEXT Display *glXGetCurrentDisplay GLXDrawable glXGetCurrentDrawable GLXDrawable glXGetCurrentReadDrawableSGI GLXDrawable glXGetCurrentReadDrawable int glXGetFBConfigAttrib Display *dpy GLXFBConfig config int attribute int *value int glXGetFBConfigAttribSGIX Display *dpy GLXFBConfigSGIX config int attribute int *value GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX Display *dpy XVisualInfo *vis GLXFBConfig *glXGetFBConfigs Display *dpy int screen int *nelements unsigned int glXGetGPUIDsAMD unsigned int maxCount unsigned int *ids int glXGetGPUInfoAMD unsigned int id int property GLenum dataType unsigned int size void *data Bool glXGetMscRateOML Display *dpy GLXDrawable drawable int32_t *numerator int32_t *denominator __GLXextFuncPtr glXGetProcAddressARB const GLubyte *procName __GLXextFuncPtr glXGetProcAddress const GLubyte *procName void glXGetSelectedEvent Display *dpy GLXDrawable draw unsigned long *event_mask void glXGetSelectedEventSGIX Display *dpy GLXDrawable drawable unsigned long *mask int glXGetSwapIntervalMESA Bool glXGetSyncValuesOML Display *dpy GLXDrawable drawable int64_t *ust int64_t *msc int64_t *sbc Status glXGetTransparentIndexSUN Display *dpy Window overlay Window underlay long *pTransparentIndex int glXGetVideoDeviceNV Display *dpy int screen int numVideoDevices GLXVideoDeviceNV *pVideoDevice int glXGetVideoInfoNV Display *dpy int screen GLXVideoDeviceNV VideoDevice unsigned long *pulCounterOutputPbuffer unsigned long *pulCounterOutputVideo int glXGetVideoSyncSGI unsigned int *count XVisualInfo *glXGetVisualFromFBConfig Display *dpy GLXFBConfig config XVisualInfo *glXGetVisualFromFBConfigSGIX Display *dpy GLXFBConfigSGIX config int glXHyperpipeAttribSGIX Display *dpy int timeSlice int attrib int size void *attribList int glXHyperpipeConfigSGIX Display *dpy int networkId int npipes GLXHyperpipeConfigSGIX *cfg int *hpId GLXContext glXImportContextEXT Display *dpy GLXContextID contextID Bool glXIsDirect Display *dpy GLXContext ctx Bool glXJoinSwapGroupNV Display *dpy GLXDrawable drawable GLuint group void glXJoinSwapGroupSGIX Display *dpy GLXDrawable drawable GLXDrawable member void glXLockVideoCaptureDeviceNV Display *dpy GLXVideoCaptureDeviceNV device Bool glXMakeAssociatedContextCurrentAMD GLXContext ctx Bool glXMakeContextCurrent Display *dpy GLXDrawable draw GLXDrawable read GLXContext ctx Bool glXMakeCurrent Display *dpy GLXDrawable drawable GLXContext ctx Bool glXMakeCurrentReadSGI Display *dpy GLXDrawable draw GLXDrawable read GLXContext ctx int glXQueryChannelDeltasSGIX Display *display int screen int channel int *x int *y int *w int *h int glXQueryChannelRectSGIX Display *display int screen int channel int *dx int *dy int *dw int *dh int glXQueryContext Display *dpy GLXContext ctx int attribute int *value int glXQueryContextInfoEXT Display *dpy GLXContext context int attribute int *value Bool glXQueryCurrentRendererIntegerMESA int attribute unsigned int *value const char *glXQueryCurrentRendererStringMESA int attribute void glXQueryDrawable Display *dpy GLXDrawable draw int attribute unsigned int *value Bool glXQueryExtension Display *dpy int *errorb int *event const char *glXQueryExtensionsString Display *dpy int screen Bool glXQueryFrameCountNV Display *dpy int screen GLuint *count int glXQueryGLXPbufferSGIX Display *dpy GLXPbufferSGIX pbuf int attribute unsigned int *value int glXQueryHyperpipeAttribSGIX Display *dpy int timeSlice int attrib int size void *returnAttribList int glXQueryHyperpipeBestAttribSGIX Display *dpy int timeSlice int attrib int size void *attribList void *returnAttribList GLXHyperpipeConfigSGIX *glXQueryHyperpipeConfigSGIX Display *dpy int hpId int *npipes GLXHyperpipeNetworkSGIX *glXQueryHyperpipeNetworkSGIX Display *dpy int *npipes Bool glXQueryMaxSwapBarriersSGIX Display *dpy int screen int *max Bool glXQueryMaxSwapGroupsNV Display *dpy int screen GLuint *maxGroups GLuint *maxBarriers Bool glXQueryRendererIntegerMESA Display *dpy int screen int renderer int attribute unsigned int *value const char *glXQueryRendererStringMESA Display *dpy int screen int renderer int attribute const char *glXQueryServerString Display *dpy int screen int name Bool glXQuerySwapGroupNV Display *dpy GLXDrawable drawable GLuint *group GLuint *barrier Bool glXQueryVersion Display *dpy int *maj int *min int glXQueryVideoCaptureDeviceNV Display *dpy GLXVideoCaptureDeviceNV device int attribute int *value Bool glXReleaseBuffersMESA Display *dpy GLXDrawable drawable void glXReleaseTexImageEXT Display *dpy GLXDrawable drawable int buffer void glXReleaseVideoCaptureDeviceNV Display *dpy GLXVideoCaptureDeviceNV device int glXReleaseVideoDeviceNV Display *dpy int screen GLXVideoDeviceNV VideoDevice int glXReleaseVideoImageNV Display *dpy GLXPbuffer pbuf Bool glXResetFrameCountNV Display *dpy int screen void glXSelectEvent Display *dpy GLXDrawable draw unsigned long event_mask void glXSelectEventSGIX Display *dpy GLXDrawable drawable unsigned long mask int glXSendPbufferToVideoNV Display *dpy GLXPbuffer pbuf int iBufferType unsigned long *pulCounterPbuffer GLboolean bBlock Bool glXSet3DfxModeMESA int mode void glXSwapBuffers Display *dpy GLXDrawable drawable int64_t glXSwapBuffersMscOML Display *dpy GLXDrawable drawable int64_t target_msc int64_t divisor int64_t remainder int glXSwapIntervalMESA unsigned int interval void glXSwapIntervalEXT Display *dpy GLXDrawable drawable int interval int glXSwapIntervalSGI int interval void glXUseXFont Font font int first int count int list Bool glXWaitForMscOML Display *dpy GLXDrawable drawable int64_t target_msc int64_t divisor int64_t remainder int64_t *ust int64_t *msc int64_t *sbc Bool glXWaitForSbcOML Display *dpy GLXDrawable drawable int64_t target_sbc int64_t *ust int64_t *msc int64_t *sbc void glXWaitGL int glXWaitVideoSyncSGI int divisor int remainder unsigned int *count void glXWaitX