mesa: Change "BRIAN PAUL" to "THE AUTHORS" in license text.
[mesa.git] / src / mesa / drivers / x11 / realglx.h
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 * THE AUTHORS 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 */