Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1.  
  2. /*
  3.  * Mesa 3-D graphics library
  4.  *
  5.  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
  6.  *
  7.  * Permission is hereby granted, free of charge, to any person obtaining a
  8.  * copy of this software and associated documentation files (the "Software"),
  9.  * to deal in the Software without restriction, including without limitation
  10.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  11.  * and/or sell copies of the Software, and to permit persons to whom the
  12.  * Software is furnished to do so, subject to the following conditions:
  13.  *
  14.  * The above copyright notice and this permission notice shall be included
  15.  * in all copies or substantial portions of the Software.
  16.  *
  17.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  18.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  20.  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
  21.  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  22.  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  23.  * 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.