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