From: Emil Velikov Date: Wed, 4 Mar 2020 18:33:09 +0000 (+0000) Subject: egl/drm: reinstate (kms_)swrast support X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa5e800e05ab227786862383d3243e06c06d36d7;p=mesa.git egl/drm: reinstate (kms_)swrast support With earlier commit we've added a generic LIBGL_ALWAYS_SOFTWARE handling yet did not consider that the existing codebase unconditionally errors out when set. That was fixed with a latter commit, while the fix itself added erroneous restriction for egl/drm. As mentioned in the report - the feature was working for ages. It was a Gnome developer who added kms_swrast support for gbm in the first place. Admittedly kms_swrast is somewhat in the middle between traditional swrast and HW drivers, regardless - reinstate support. Fixes: 47273d7312c ("egl: set UseFallback if LIBGL_ALWAYS_SOFTWARE is set") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/165 Signed-off-by: Emil Velikov Reviewed-by: Adam Jackson Acked-by: Eric Engestrom Part-of: --- diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c index d0ab172d659..d25141a52a2 100644 --- a/src/egl/drivers/dri2/platform_drm.c +++ b/src/egl/drivers/dri2/platform_drm.c @@ -695,10 +695,6 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp) struct gbm_device *gbm; const char *err; - /* Not supported yet */ - if (disp->Options.ForceSoftware) - return EGL_FALSE; - dri2_dpy = calloc(1, sizeof *dri2_dpy); if (!dri2_dpy) return _eglError(EGL_BAD_ALLOC, "eglInitialize"); @@ -732,7 +728,7 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp) goto cleanup; } - dev = _eglAddDevice(dri2_dpy->fd, false); + dev = _eglAddDevice(dri2_dpy->fd, disp->Options.ForceSoftware); if (!dev) { err = "DRI2: failed to find EGLDevice"; goto cleanup;