1 2 /* 3 * Mesa 3-D graphics library 4 * Version: 3.5 5 * 6 * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. 7 * 8 * Permission is hereby granted, free of charge, to any person obtaining a 9 * copy of this software and associated documentation files (the "Software"), 10 * to deal in the Software without restriction, including without limitation 11 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 12 * and/or sell copies of the Software, and to permit persons to whom the 13 * Software is furnished to do so, subject to the following conditions: 14 * 15 * The above copyright notice and this permission notice shall be included 16 * in all copies or substantial portions of the Software. 17 * 18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 21 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 22 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 23 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 */ 25 26 27 #ifndef REALGLX_H 28 #define REALGLX_H 29 30 31 extern struct _glxapi_table * 32 _real_GetGLXDispatchTable(void); 33 34 35 /* 36 * Basically just need these to prevent compiler warnings. 37 */ 38 39 40 extern XVisualInfo * 41 _real_glXChooseVisual( Display *dpy, int screen, int *list ); 42 43 extern GLXContext 44 _real_glXCreateContext( Display *dpy, XVisualInfo *visinfo, 45 GLXContext share_list, Bool direct ); 46 47 extern GLXPixmap 48 _real_glXCreateGLXPixmap( Display *dpy, XVisualInfo *visinfo, Pixmap pixmap ); 49 50 extern GLXPixmap 51 _real_glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visinfo, 52 Pixmap pixmap, Colormap cmap ); 53 54 extern void 55 _real_glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap ); 56 57 extern void 58 _real_glXCopyContext( Display *dpy, GLXContext src, GLXContext dst, 59 unsigned long mask ); 60 61 extern Bool 62 _real_glXMakeCurrent( Display *dpy, GLXDrawable drawable, GLXContext ctx ); 63 64 extern Bool 65 _real_glXQueryExtension( Display *dpy, int *errorb, int *event ); 66 67 extern void 68 _real_glXDestroyContext( Display *dpy, GLXContext ctx ); 69 70 extern Bool 71 _real_glXIsDirect( Display *dpy, GLXContext ctx ); 72 73 extern void 74 _real_glXSwapBuffers( Display *dpy, GLXDrawable drawable ); 75 76 extern void 77 _real_glXUseXFont( Font font, int first, int count, int listbase ); 78 79 extern Bool 80 _real_glXQueryVersion( Display *dpy, int *maj, int *min ); 81 82 extern int 83 _real_glXGetConfig( Display *dpy, XVisualInfo *visinfo, 84 int attrib, int *value ); 85 86 extern void 87 _real_glXWaitGL( void ); 88 89 90 extern void 91 _real_glXWaitX( void ); 92 93 /* GLX 1.1 and later */ 94 extern const char * 95 _real_glXQueryExtensionsString( Display *dpy, int screen ); 96 97 /* GLX 1.1 and later */ 98 extern const char * 99 _real_glXQueryServerString( Display *dpy, int screen, int name ); 100 101 /* GLX 1.1 and later */ 102 extern const char * 103 _real_glXGetClientString( Display *dpy, int name ); 104 105 106 /* 107 * GLX 1.3 and later 108 */ 109 110 extern GLXFBConfig * 111 _real_glXChooseFBConfig( Display *dpy, int screen, 112 const int *attribList, int *nitems ); 113 114 extern int 115 _real_glXGetFBConfigAttrib( Display *dpy, GLXFBConfig config, 116 int attribute, int *value ); 117 118 extern GLXFBConfig * 119 _real_glXGetFBConfigs( Display *dpy, int screen, int *nelements ); 120 121 extern XVisualInfo * 122 _real_glXGetVisualFromFBConfig( Display *dpy, GLXFBConfig config ); 123 124 extern GLXWindow 125 _real_glXCreateWindow( Display *dpy, GLXFBConfig config, Window win, 126 const int *attribList ); 127 128 extern void 129 _real_glXDestroyWindow( Display *dpy, GLXWindow window ); 130 131 extern GLXPixmap 132 _real_glXCreatePixmap( Display *dpy, GLXFBConfig config, Pixmap pixmap, 133 const int *attribList ); 134 135 extern void 136 _real_glXDestroyPixmap( Display *dpy, GLXPixmap pixmap ); 137 138 extern GLXPbuffer 139 _real_glXCreatePbuffer( Display *dpy, GLXFBConfig config, 140 const int *attribList ); 141 142 extern void 143 _real_glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf ); 144 145 extern void 146 _real_glXQueryDrawable( Display *dpy, GLXDrawable draw, int attribute, 147 unsigned int *value ); 148 149 extern GLXContext 150 _real_glXCreateNewContext( Display *dpy, GLXFBConfig config, 151 int renderType, GLXContext shareList, Bool direct ); 152 153 154 extern Bool 155 _real_glXMakeContextCurrent( Display *dpy, GLXDrawable draw, 156 GLXDrawable read, GLXContext ctx ); 157 158 extern int 159 _real_glXQueryContext( Display *dpy, GLXContext ctx, int attribute, int *value ); 160 161 extern void 162 _real_glXSelectEvent( Display *dpy, GLXDrawable drawable, unsigned long mask ); 163 164 extern void 165 _real_glXGetSelectedEvent( Display *dpy, GLXDrawable drawable, 166 unsigned long *mask ); 167 168 #ifdef GLX_SGI_swap_control 169 extern int 170 _real_glXSwapIntervalSGI(int interval); 171 #endif 172 173 174 #ifdef GLX_SGI_video_sync 175 extern int 176 _real_glXGetVideoSyncSGI(unsigned int *count); 177 178 extern int 179 _real_glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count); 180 #endif 181 182 183 #ifdef GLX_SGI_make_current_read 184 extern Bool 185 _real_glXMakeCurrentReadSGI(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 186 187 extern GLXDrawable 188 _real_glXGetCurrentReadDrawableSGI(void); 189 #endif 190 191 #if defined(_VL_H) && defined(GLX_SGIX_video_source) 192 extern GLXVideoSourceSGIX 193 _real_glXCreateGLXVideoSourceSGIX(Display *dpy, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode); 194 195 extern void 196 _real_glXDestroyGLXVideoSourceSGIX(Display *dpy, GLXVideoSourceSGIX src); 197 #endif 198 199 #ifdef GLX_EXT_import_context 200 extern void 201 _real_glXFreeContextEXT(Display *dpy, GLXContext context); 202 203 extern GLXContextID 204 _real_glXGetContextIDEXT(const GLXContext context); 205 206 extern Display * 207 _real_glXGetCurrentDisplayEXT(void); 208 209 extern GLXContext 210 _real_glXImportContextEXT(Display *dpy, GLXContextID contextID); 211 212 extern int 213 _real_glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute, int *value); 214 #endif 215 216 #ifdef GLX_SGIX_fbconfig 217 extern int 218 _real_glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value); 219 220 extern GLXFBConfigSGIX * 221 _real_glXChooseFBConfigSGIX(Display *dpy, int screen, int *attrib_list, int *nelements); 222 223 extern GLXPixmap 224 _real_glXCreateGLXPixmapWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap); 225 226 extern GLXContext 227 _real_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); 228 229 extern XVisualInfo * 230 _real_glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfigSGIX config); 231 232 extern GLXFBConfigSGIX 233 _real_glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis); 234 #endif 235 236 #ifdef GLX_SGIX_pbuffer 237 extern GLXPbufferSGIX 238 _real_glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list); 239 240 extern void 241 _real_glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuf); 242 243 extern int 244 _real_glXQueryGLXPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value); 245 246 extern void 247 _real_glXSelectEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long mask); 248 249 extern void 250 _real_glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long *mask); 251 #endif 252 253 #ifdef GLX_SGI_cushion 254 extern void 255 _real_glXCushionSGI(Display *dpy, Window win, float cushion); 256 #endif 257 258 #ifdef GLX_SGIX_video_resize 259 extern int 260 _real_glXBindChannelToWindowSGIX(Display *dpy, int screen, int channel , Window window); 261 262 extern int 263 _real_glXChannelRectSGIX(Display *dpy, int screen, int channel, int x, int y, int w, int h); 264 265 extern int 266 _real_glXQueryChannelRectSGIX(Display *dpy, int screen, int channel, int *x, int *y, int *w, int *h); 267 268 extern int 269 _real_glXQueryChannelDeltasSGIX(Display *dpy, int screen, int channel, int *dx, int *dy, int *dw, int *dh); 270 271 extern int 272 _real_glXChannelRectSyncSGIX(Display *dpy, int screen, int channel, GLenum synctype); 273 #endif 274 275 #if defined(_DM_BUFFER_H_) && defined(GLX_SGIX_dmbuffer) 276 extern Bool 277 _real_glXAssociateDMPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer); 278 #endif 279 280 #ifdef GLX_SGIX_swap_group 281 extern void 282 _real_glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable, GLXDrawable member); 283 #endif 284 285 #ifdef GLX_SGIX_swap_barrier 286 extern void 287 _real_glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable, int barrier); 288 289 extern Bool 290 _real_glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max); 291 #endif 292 293 #ifdef GLX_SUN_get_transparent_index 294 extern Status 295 _real_glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay, long *pTransparent); 296 #endif 297 298 #ifdef GLX_MESA_release_buffers 299 extern Bool 300 _real_glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); 301 #endif 302 303 #ifdef GLX_MESA_set_3dfx_mode 304 extern Bool 305 _real_glXSet3DfxModeMESA( int mode ); 306 #endif 307 308 #ifdef GLX_NV_vertex_array_range 309 extern void * 310 _real_glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 311 extern void 312 _real_glXFreeMemoryNV(GLvoid *pointer); 313 #endif 314 315 #ifdef GLX_MESA_agp_offset 316 extern GLuint 317 _real_glXGetAGPOffsetMESA(const GLvoid *pointer); 318 #endif 319 320 #ifdef GLX_MESA_copy_sub_buffer 321 extern void 322 _real_glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, 323 int x, int y, int width, int height ); 324 #endif 325 326 #endif /* REALGLX_H */ 327