/* * Mesa 3-D graphics library * * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ #ifndef REALGLX_H #define REALGLX_H extern struct _glxapi_table * _real_GetGLXDispatchTable(void); /* * Basically just need these to prevent compiler warnings. */ extern XVisualInfo * _real_glXChooseVisual( Display *dpy, int screen, int *list ); extern GLXContext _real_glXCreateContext( Display *dpy, XVisualInfo *visinfo, GLXContext share_list, Bool direct ); extern GLXPixmap _real_glXCreateGLXPixmap( Display *dpy, XVisualInfo *visinfo, Pixmap pixmap ); extern GLXPixmap _real_glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visinfo, Pixmap pixmap, Colormap cmap ); extern void _real_glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap ); extern void _real_glXCopyContext( Display *dpy, GLXContext src, GLXContext dst, unsigned long mask ); extern Bool _real_glXMakeCurrent( Display *dpy, GLXDrawable drawable, GLXContext ctx ); extern Bool _real_glXQueryExtension( Display *dpy, int *errorb, int *event ); extern void _real_glXDestroyContext( Display *dpy, GLXContext ctx ); extern Bool _real_glXIsDirect( Display *dpy, GLXContext ctx ); extern void _real_glXSwapBuffers( Display *dpy, GLXDrawable drawable ); extern void _real_glXUseXFont( Font font, int first, int count, int listbase ); extern Bool _real_glXQueryVersion( Display *dpy, int *maj, int *min ); extern int _real_glXGetConfig( Display *dpy, XVisualInfo *visinfo, int attrib, int *value ); extern void _real_glXWaitGL( void ); extern void _real_glXWaitX( void ); /* GLX 1.1 and later */ extern const char * _real_glXQueryExtensionsString( Display *dpy, int screen ); /* GLX 1.1 and later */ extern const char * _real_glXQueryServerString( Display *dpy, int screen, int name ); /* GLX 1.1 and later */ extern const char * _real_glXGetClientString( Display *dpy, int name ); /* * GLX 1.3 and later */ extern GLXFBConfig * _real_glXChooseFBConfig( Display *dpy, int screen, const int *attribList, int *nitems ); extern int _real_glXGetFBConfigAttrib( Display *dpy, GLXFBConfig config, int attribute, int *value ); extern GLXFBConfig * _real_glXGetFBConfigs( Display *dpy, int screen, int *nelements ); extern XVisualInfo * _real_glXGetVisualFromFBConfig( Display *dpy, GLXFBConfig config ); extern GLXWindow _real_glXCreateWindow( Display *dpy, GLXFBConfig config, Window win, const int *attribList ); extern void _real_glXDestroyWindow( Display *dpy, GLXWindow window ); extern GLXPixmap _real_glXCreatePixmap( Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attribList ); extern void _real_glXDestroyPixmap( Display *dpy, GLXPixmap pixmap ); extern GLXPbuffer _real_glXCreatePbuffer( Display *dpy, GLXFBConfig config, const int *attribList ); extern void _real_glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf ); extern void _real_glXQueryDrawable( Display *dpy, GLXDrawable draw, int attribute, unsigned int *value ); extern GLXContext _real_glXCreateNewContext( Display *dpy, GLXFBConfig config, int renderType, GLXContext shareList, Bool direct ); extern Bool _real_glXMakeContextCurrent( Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx ); extern int _real_glXQueryContext( Display *dpy, GLXContext ctx, int attribute, int *value ); extern void _real_glXSelectEvent( Display *dpy, GLXDrawable drawable, unsigned long mask ); extern void _real_glXGetSelectedEvent( Display *dpy, GLXDrawable drawable, unsigned long *mask ); #ifdef GLX_SGI_swap_control extern int _real_glXSwapIntervalSGI(int interval); #endif #ifdef GLX_SGI_video_sync extern int _real_glXGetVideoSyncSGI(unsigned int *count); extern int _real_glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count); #endif #ifdef GLX_SGI_make_current_read extern Bool _real_glXMakeCurrentReadSGI(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); extern GLXDrawable _real_glXGetCurrentReadDrawableSGI(void); #endif #if defined(_VL_H) && defined(GLX_SGIX_video_source) extern GLXVideoSourceSGIX _real_glXCreateGLXVideoSourceSGIX(Display *dpy, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode); extern void _real_glXDestroyGLXVideoSourceSGIX(Display *dpy, GLXVideoSourceSGIX src); #endif #ifdef GLX_EXT_import_context extern void _real_glXFreeContextEXT(Display *dpy, GLXContext context); extern GLXContextID _real_glXGetContextIDEXT(const GLXContext context); extern Display * _real_glXGetCurrentDisplayEXT(void); extern GLXContext _real_glXImportContextEXT(Display *dpy, GLXContextID contextID); extern int _real_glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute, int *value); #endif #ifdef GLX_SGIX_fbconfig extern int _real_glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value); extern GLXFBConfigSGIX * _real_glXChooseFBConfigSGIX(Display *dpy, int screen, int *attrib_list, int *nelements); extern GLXPixmap _real_glXCreateGLXPixmapWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap); extern GLXContext _real_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); extern XVisualInfo * _real_glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfigSGIX config); extern GLXFBConfigSGIX _real_glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis); #endif #ifdef GLX_SGIX_pbuffer extern GLXPbufferSGIX _real_glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list); extern void _real_glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuf); extern int _real_glXQueryGLXPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value); extern void _real_glXSelectEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long mask); extern void _real_glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long *mask); #endif #ifdef GLX_SGI_cushion extern void _real_glXCushionSGI(Display *dpy, Window win, float cushion); #endif #ifdef GLX_SGIX_video_resize extern int _real_glXBindChannelToWindowSGIX(Display *dpy, int screen, int channel , Window window); extern int _real_glXChannelRectSGIX(Display *dpy, int screen, int channel, int x, int y, int w, int h); extern int _real_glXQueryChannelRectSGIX(Display *dpy, int screen, int channel, int *x, int *y, int *w, int *h); extern int _real_glXQueryChannelDeltasSGIX(Display *dpy, int screen, int channel, int *dx, int *dy, int *dw, int *dh); extern int _real_glXChannelRectSyncSGIX(Display *dpy, int screen, int channel, GLenum synctype); #endif #if defined(_DM_BUFFER_H_) && defined(GLX_SGIX_dmbuffer) extern Bool _real_glXAssociateDMPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer); #endif #ifdef GLX_SGIX_swap_group extern void _real_glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable, GLXDrawable member); #endif #ifdef GLX_SGIX_swap_barrier extern void _real_glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable, int barrier); extern Bool _real_glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max); #endif #ifdef GLX_SUN_get_transparent_index extern Status _real_glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay, long *pTransparent); #endif #ifdef GLX_MESA_release_buffers extern Bool _real_glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); #endif #ifdef GLX_MESA_set_3dfx_mode extern Bool _real_glXSet3DfxModeMESA( int mode ); #endif #ifdef GLX_NV_vertex_array_range extern void * _real_glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); extern void _real_glXFreeMemoryNV(GLvoid *pointer); #endif #ifdef GLX_MESA_agp_offset extern GLuint _real_glXGetAGPOffsetMESA(const GLvoid *pointer); #endif #ifdef GLX_MESA_copy_sub_buffer extern void _real_glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, int x, int y, int width, int height ); #endif #endif /* REALGLX_H */