From 6d6b82a159cdc03587b18d6acec0c2e00f066677 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Wed, 22 Jul 2020 01:13:13 +0200 Subject: [PATCH] egl: inline _eglMatchAndInitialize() and refactor _eglMatchDriver() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Eric Engestrom Reviewed-by: Marcin Ślusarz Reviewed-by: Emil Velikov Part-of: --- src/egl/main/egldriver.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index e6d50984727..f58b00e1a3c 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -48,15 +48,6 @@ extern _EGLDriver _eglDriver; -static _EGLDriver * -_eglMatchAndInitialize(_EGLDisplay *disp) -{ - if (_eglDriver.Initialize(&_eglDriver, disp)) - return &_eglDriver; - - return NULL; -} - /** * Match a display to a driver. The matching is done by finding the first * driver that can initialize the display. @@ -64,8 +55,6 @@ _eglMatchAndInitialize(_EGLDisplay *disp) bool _eglMatchDriver(_EGLDisplay *disp) { - _EGLDriver *best_drv; - assert(!disp->Initialized); /* set options */ @@ -74,18 +63,22 @@ _eglMatchDriver(_EGLDisplay *disp) if (disp->Options.ForceSoftware) _eglLog(_EGL_DEBUG, "Found 'LIBGL_ALWAYS_SOFTWARE' set, will use a CPU renderer"); - best_drv = _eglMatchAndInitialize(disp); - if (!best_drv && !disp->Options.ForceSoftware) { - disp->Options.ForceSoftware = EGL_TRUE; - best_drv = _eglMatchAndInitialize(disp); - } - - if (best_drv) { - disp->Driver = best_drv; + if (_eglDriver.Initialize(&_eglDriver, disp)) { + disp->Driver = &_eglDriver; disp->Initialized = EGL_TRUE; + return true; } - return best_drv != NULL; + if (disp->Options.ForceSoftware) + return false; + + disp->Options.ForceSoftware = EGL_TRUE; + if (!_eglDriver.Initialize(&_eglDriver, disp)) + return false; + + disp->Driver = &_eglDriver; + disp->Initialized = EGL_TRUE; + return true; } __eglMustCastToProperFunctionPointerType -- 2.30.2