Home | History | Annotate | Download | only in x11
      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