egl: Make _eglGlobal initialize statically.
Now that display and surface hash tables are moved out, _eglGlobal can be initialized statically. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This commit is contained in:
@@ -50,7 +50,6 @@ EGLDisplay EGLAPIENTRY
|
|||||||
eglGetDisplay(NativeDisplayType nativeDisplay)
|
eglGetDisplay(NativeDisplayType nativeDisplay)
|
||||||
{
|
{
|
||||||
_EGLDisplay *dpy;
|
_EGLDisplay *dpy;
|
||||||
_eglInitGlobals();
|
|
||||||
dpy = _eglFindDisplay(nativeDisplay);
|
dpy = _eglFindDisplay(nativeDisplay);
|
||||||
if (!dpy) {
|
if (!dpy) {
|
||||||
dpy = _eglNewDisplay(nativeDisplay);
|
dpy = _eglNewDisplay(nativeDisplay);
|
||||||
|
@@ -5,29 +5,9 @@
|
|||||||
|
|
||||||
struct _egl_global _eglGlobal =
|
struct _egl_global _eglGlobal =
|
||||||
{
|
{
|
||||||
EGL_FALSE
|
1, /* FreeScreenHandle */
|
||||||
|
0x0, /* ClientAPIsMask */
|
||||||
|
{ 0x0 }, /* ClientAPIs */
|
||||||
|
0, /* NumDrivers */
|
||||||
|
{ NULL }, /* Drivers */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Init the fields in the _eglGlobal struct
|
|
||||||
* May be safely called more than once.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
_eglInitGlobals(void)
|
|
||||||
{
|
|
||||||
if (!_eglGlobal.Initialized) {
|
|
||||||
_eglGlobal.FreeScreenHandle = 1;
|
|
||||||
_eglGlobal.Initialized = EGL_TRUE;
|
|
||||||
|
|
||||||
_eglGlobal.ClientAPIsMask = 0x0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Should call this via an atexit handler.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
_eglDestroyGlobals(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
@@ -11,8 +11,6 @@
|
|||||||
*/
|
*/
|
||||||
struct _egl_global
|
struct _egl_global
|
||||||
{
|
{
|
||||||
EGLBoolean Initialized;
|
|
||||||
|
|
||||||
EGLScreenMESA FreeScreenHandle;
|
EGLScreenMESA FreeScreenHandle;
|
||||||
|
|
||||||
/* bitmaks of supported APIs (supported by _some_ driver) */
|
/* bitmaks of supported APIs (supported by _some_ driver) */
|
||||||
@@ -28,12 +26,4 @@ struct _egl_global
|
|||||||
extern struct _egl_global _eglGlobal;
|
extern struct _egl_global _eglGlobal;
|
||||||
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_eglInitGlobals(void);
|
|
||||||
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_eglDestroyGlobals(void);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* EGLGLOBALS_INCLUDED */
|
#endif /* EGLGLOBALS_INCLUDED */
|
||||||
|
Reference in New Issue
Block a user