aboutsummaryrefslogtreecommitdiffstats
path: root/src/egl/drivers/dri2
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2020-03-04 18:33:09 +0000
committerEmil Velikov <[email protected]>2020-04-01 16:21:36 +0100
commitfa5e800e05ab227786862383d3243e06c06d36d7 (patch)
treef7072202fc96b231240781079d759d4cd58713d6 /src/egl/drivers/dri2
parentb699d070a6de273fb3a964e05944b203d0b57090 (diff)
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 <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Acked-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4084>
Diffstat (limited to 'src/egl/drivers/dri2')
-rw-r--r--src/egl/drivers/dri2/platform_drm.c6
1 files changed, 1 insertions, 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;