aboutsummaryrefslogtreecommitdiffstats
path: root/src/egl/main/egldriver.c
diff options
context:
space:
mode:
authorEric Engestrom <[email protected]>2017-09-25 22:35:24 +0100
committerEric Engestrom <[email protected]>2018-10-31 11:01:54 +0000
commitcb0980e69aa921af7086e5d00a547735bc3229e2 (patch)
treec9ee9e11bddd37dd98c90699609c29c3f5f53383 /src/egl/main/egldriver.c
parent21d9b78289fadc09c0dc5cf82eef9e798a99b196 (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.c9
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);