egl: let each platform decided how to handle LIBGL_ALWAYS_SOFTWARE

My refactor in 47273d7312 missed this early return; because
of it, setting UseFallback one layer above actually prevented the
software path from being used.

Remove this early return and let each platform's dri2_initialize_*()
decide what it can do with the LIBGL_ALWAYS_SOFTWARE restriction.

platform_{surfaceless,x11,wayland} were already handling it themselves.

Fixes: 47273d7312 "egl: set UseFallback if LIBGL_ALWAYS_SOFTWARE is set"
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reported-by: Brendan King <Brendan.King@imgtec.com>
This commit is contained in:
Eric Engestrom 2017-12-20 15:53:08 +00:00 committed by Emil Velikov
parent e491bffc5c
commit 2f421651ac
3 changed files with 8 additions and 4 deletions

View file

@ -910,10 +910,6 @@ dri2_initialize(_EGLDriver *drv, _EGLDisplay *disp)
return EGL_TRUE;
}
/* not until swrast_dri is supported */
if (disp->Options.UseFallback)
return EGL_FALSE;
switch (disp->Platform) {
case _EGL_PLATFORM_SURFACELESS:
ret = dri2_initialize_surfaceless(drv, disp);

View file

@ -1179,6 +1179,10 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *dpy)
const char *err;
int ret;
/* Not supported yet */
if (disp->Options.UseFallback)
return EGL_FALSE;
loader_set_logger(_eglLog);
dri2_dpy = calloc(1, sizeof(*dri2_dpy));

View file

@ -652,6 +652,10 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
struct gbm_device *gbm;
const char *err;
/* Not supported yet */
if (disp->Options.UseFallback)
return EGL_FALSE;
loader_set_logger(_eglLog);
dri2_dpy = calloc(1, sizeof *dri2_dpy);