minor code movement
[mesa.git] / src / egl / main / eglglobals.h
1 #ifndef EGLGLOBALS_INCLUDED
2 #define EGLGLOBALS_INCLUDED
3
4 #include "egltypedefs.h"
5 #include "eglhash.h"
6
7
8 /**
9 * Per-thread info
10 */
11 struct _egl_thread_info
12 {
13 EGLint LastError;
14 _EGLContext *CurrentContext;
15 };
16
17
18 /**
19 * Global library data
20 */
21 struct _egl_global
22 {
23 EGLBoolean Initialized;
24
25 _EGLHashtable *Displays;
26 _EGLHashtable *Contexts;
27 _EGLHashtable *Surfaces;
28
29 EGLScreenMESA FreeScreenHandle;
30
31 /* XXX temporary */
32 _EGLThreadInfo ThreadInfo;
33 };
34
35
36 extern struct _egl_global _eglGlobal;
37
38
39 extern void
40 _eglInitGlobals(void);
41
42
43 extern void
44 _eglDestroyGlobals(void);
45
46
47 extern _EGLThreadInfo *
48 _eglGetCurrentThread(void);
49
50
51 extern void
52 _eglError(EGLint errCode, const char *msg);
53
54
55 #endif /* EGLGLOBALS_INCLUDED */