Merge branch 'gallium-0.1' into gallium-tex-surfaces
[mesa.git] / progs / xdemos / pbutil.h
1 /*
2 * OpenGL pbuffers utility functions.
3 *
4 * Brian Paul
5 * April 1997
6 */
7
8
9 #ifndef PBUTIL_H
10 #define PBUTIL_H
11
12
13 #define GLX_GLXEXT_PROTOTYPES
14 #include <GL/glx.h>
15
16
17 #if defined(GLX_VERSION_1_3)
18 #define PBUFFER GLXPbuffer
19 #define FBCONFIG GLXFBConfig
20 #elif defined(GLX_SGIX_fbconfig) && defined(GLX_SGIX_pbuffer)
21 #define PBUFFER GLXPbufferSGIX
22 #define FBCONFIG GLXFBConfigSGIX
23 #else
24 #define PBUFFER int
25 #define FBCONFIG int
26 #endif
27
28
29 extern int
30 QueryPbuffers(Display *dpy, int screen);
31
32
33 extern void
34 PrintFBConfigInfo(Display *dpy, int screen, FBCONFIG config, Bool horizFormat);
35
36
37 extern FBCONFIG *
38 ChooseFBConfig(Display *dpy, int screen, const int attribs[], int *nConfigs);
39
40
41 extern FBCONFIG *
42 GetAllFBConfigs(Display *dpy, int screen, int *nConfigs);
43
44
45 extern XVisualInfo *
46 GetVisualFromFBConfig(Display *dpy, int screen, FBCONFIG config);
47
48
49 extern GLXContext
50 CreateContext(Display *dpy, int screen, FBCONFIG config);
51
52
53 extern void
54 DestroyContext(Display *dpy, GLXContext ctx);
55
56
57 extern PBUFFER
58 CreatePbuffer(Display *dpy, int screen, FBCONFIG config,
59 int width, int height, Bool preserve, Bool largest);
60
61
62 extern void
63 DestroyPbuffer(Display *dpy, int screen, PBUFFER pbuffer);
64
65
66 #endif /*PBUTIL_H*/