blob: e95b2565a23172d883b2e5ea09d0eb1e3bdb3081 [file] [log] [blame]
Brian Paul21666e32002-10-05 18:30:13 +00001/*
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
Brian Paulf72e4422005-01-04 00:58:29 +000017#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
Brian Paul21666e32002-10-05 18:30:13 +000029extern int
30QueryPbuffers(Display *dpy, int screen);
31
32
Brian Paulf72e4422005-01-04 00:58:29 +000033extern void
34PrintFBConfigInfo(Display *dpy, int screen, FBCONFIG config, Bool horizFormat);
35
36
37extern FBCONFIG *
38ChooseFBConfig(Display *dpy, int screen, const int attribs[], int *nConfigs);
39
40
Brian Paul71fc6a32005-01-06 23:59:37 +000041extern FBCONFIG *
42GetAllFBConfigs(Display *dpy, int screen, int *nConfigs);
43
44
Brian Paulf72e4422005-01-04 00:58:29 +000045extern XVisualInfo *
46GetVisualFromFBConfig(Display *dpy, int screen, FBCONFIG config);
47
48
Brian Paulc6178292005-04-06 22:41:46 +000049extern GLXContext
50CreateContext(Display *dpy, int screen, FBCONFIG config);
51
52
53extern void
54DestroyContext(Display *dpy, GLXContext ctx);
55
56
Brian Paulf72e4422005-01-04 00:58:29 +000057extern PBUFFER
58CreatePbuffer(Display *dpy, int screen, FBCONFIG config,
59 int width, int height, Bool preserve, Bool largest);
Brian Paul21666e32002-10-05 18:30:13 +000060
61
62extern void
Brian Paulf72e4422005-01-04 00:58:29 +000063DestroyPbuffer(Display *dpy, int screen, PBUFFER pbuffer);
Brian Paul21666e32002-10-05 18:30:13 +000064
65
66#endif /*PBUTIL_H*/