egl: move alloc & init out of _eglBuiltInDriver{DRI2,Haiku}

Note: dropping the EGL_BAD_ALLOC in egl_haiku because it's
overwritten by the EGL_NOT_INITIALIZED in eglInitialize().

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
Eric Engestrom
2017-09-25 22:35:24 +01:00
committed by Eric Engestrom
parent 4893673b15
commit 8cb84c8477
5 changed files with 18 additions and 31 deletions

View File

@@ -52,8 +52,12 @@ _eglGetDriver(void)
{
mtx_lock(&_eglModuleMutex);
if (!_eglDriver)
_eglDriver = _eglBuiltInDriver();
if (!_eglDriver) {
_eglDriver = calloc(1, sizeof(*_eglDriver));
if (!_eglDriver)
return NULL;
_eglInitDriver(_eglDriver);
}
mtx_unlock(&_eglModuleMutex);