eglmode.h revision 897cb8950ae14ffe7029b1daf16113ff62ce0dfe
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 */
13struct _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
28extern _EGLMode *
29_eglLookupMode(EGLModeMESA mode, _EGLDisplay *dpy);
30
31
32PUBLIC _EGLMode *
33_eglAddNewMode(_EGLScreen *screen, EGLint width, EGLint height,
34               EGLint refreshRate, const char *name);
35
36
37extern 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
43extern EGLBoolean
44_eglGetModesMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn,
45                 EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
46
47
48extern EGLBoolean
49_eglGetModeAttribMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLMode *m,
50                      EGLint attribute, EGLint *value);
51
52
53extern const char *
54_eglQueryModeStringMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLMode *m);
55
56
57#endif /* EGLMODE_INCLUDED */
58