diff options
author | Eric Engestrom <[email protected]> | 2017-09-25 22:35:24 +0100 |
---|---|---|
committer | Eric Engestrom <[email protected]> | 2018-10-31 11:01:54 +0000 |
commit | cb0980e69aa921af7086e5d00a547735bc3229e2 (patch) | |
tree | c9ee9e11bddd37dd98c90699609c29c3f5f53383 /src/egl/main/egldriver.c | |
parent | 21d9b78289fadc09c0dc5cf82eef9e798a99b196 (diff) |
egl: move alloc & init out of _eglBuiltInDriver{DRI2,Haiku}
This is a revert of Marek's 84f3afc2e122cb418573 revert, with a missing
line added back. I failed a rebase and dropped that crucial line, and
didn't do a runtime test after my rebase, and as a result broke EGL for
everyone.
This commit has been tested by Intel's CI and I re-read it once more, so
it should be good this time.
--
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 <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/egl/main/egldriver.c')
-rw-r--r-- | src/egl/main/egldriver.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index 218b3daef25..3fe37f1641c 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -54,8 +54,13 @@ _eglGetDriver(void) { mtx_lock(&_eglModuleMutex); - if (!_eglDriver) - _eglDriver = _eglBuiltInDriver(); + if (!_eglDriver) { + _eglDriver = calloc(1, sizeof(*_eglDriver)); + if (!_eglDriver) + return NULL; + _eglInitDriverFallbacks(_eglDriver); + _eglInitDriver(_eglDriver); + } mtx_unlock(&_eglModuleMutex); |