Merge branch 'mesa_7_7_branch'
[mesa.git] / src / egl / main / eglmode.h
1 #ifndef EGLMODE_INCLUDED
2 #define EGLMODE_INCLUDED
3
4 #include "egltypedefs.h"
5
6
7 #define EGL_NO_MODE_MESA 0
8
9
10 /**
11 * Data structure which corresponds to an EGLModeMESA.
12 */
13 struct _egl_mode
14 {
15 EGLModeMESA Handle; /* the public/opaque handle which names this mode */
16 EGLint Width, Height; /* size in pixels */
17 EGLint RefreshRate; /* rate * 1000.0 */
18 EGLint Optimal;
19 EGLint Interlaced;
20 const char *Name;
21
22 /* Other possible attributes */
23 /* interlaced */
24 /* external sync */
25 };
26
27
28 extern _EGLMode *
29 _eglLookupMode(EGLModeMESA mode, _EGLDisplay *dpy);
30
31
32 PUBLIC _EGLMode *
33 _eglAddNewMode(_EGLScreen *screen, EGLint width, EGLint height,
34 EGLint refreshRate, const char *name);
35
36
37 extern EGLBoolean
38 _eglChooseModeMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn,
39 const EGLint *attrib_list, EGLModeMESA *modes,
40 EGLint modes_size, EGLint *num_modes);
41
42
43 extern EGLBoolean
44 _eglGetModesMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn,
45 EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
46
47
48 extern EGLBoolean
49 _eglGetModeAttribMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLMode *m,
50 EGLint attribute, EGLint *value);
51
52
53 extern const char *
54 _eglQueryModeStringMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLMode *m);
55
56
57 #endif /* EGLMODE_INCLUDED */