Mesa (master): egl/drm: reinstate (kms_)swrast support
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Apr 1 16:53:34 UTC 2020
Module: Mesa
Branch: master
Commit: fa5e800e05ab227786862383d3243e06c06d36d7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa5e800e05ab227786862383d3243e06c06d36d7
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Wed Mar 4 18:33:09 2020 +0000
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 <emil.l.velikov at gmail.com>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Acked-by: Eric Engestrom <eric at engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4084>
---
src/egl/drivers/dri2/platform_drm.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
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;
More information about the mesa-commit
mailing list