Hi David, On 18 July 2018 at 01:12, David Riley <davidri...@chromium.org> wrote: > Allow platform_surfaceless to use swrast even if DRM is not available. > To be used to allow a fuzzer for virgl to be run on a jailed VM without > hardware GL or DRM support. > > Signed-off-by: David Riley <davidri...@chromium.org> > --- > src/egl/drivers/dri2/platform_surfaceless.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/src/egl/drivers/dri2/platform_surfaceless.c > b/src/egl/drivers/dri2/platform_surfaceless.c > index f5fe7119c6..f4618bfa11 100644 > --- a/src/egl/drivers/dri2/platform_surfaceless.c > +++ b/src/egl/drivers/dri2/platform_surfaceless.c > @@ -293,6 +293,7 @@ surfaceless_probe_device(_EGLDisplay *dpy, bool swrast) > int fd; > int i; > > + /* Attempt to find DRM device. */ > for (i = 0; i < limit; ++i) { > char *card_path; > if (asprintf(&card_path, DRM_RENDER_DEV_NAME, DRM_DIR_NAME, base + i) > < 0) > @@ -327,6 +328,24 @@ surfaceless_probe_device(_EGLDisplay *dpy, bool swrast) > dri2_dpy->loader_extensions = NULL; > } > > + /* No DRM device, so attempt to fall back to software path w/o DRM. */ > + if (swrast) { > + _eglLog(_EGL_DEBUG, "Falling back to surfaceless swrast without DRM."); > + dri2_dpy->fd = -1; > + dri2_dpy->driver_name = strdup("swrast"); > + if (!dri2_dpy->driver_name) { > + return false; > + } > + > + if (dri2_load_driver_swrast(dpy)) { > + dri2_dpy->loader_extensions = swrast_loader_extensions; > + return true; > + } > + > + free(dri2_dpy->driver_name); > + dri2_dpy->driver_name = NULL; > + }
Using swrast gives you a fairly different feature-set than kms_swrast. Since you're doing virglrenderer fuzzing, you haven't really noticed it. Regardless, this patch seems like a hack, alike the ones Tomeu did [1]. There are some ideas, in the comments, how to address this in a better fashion. If you can give it a try, that'll be appreciated. I don't quite have the time to pursue it atm. HTH Emil [1] https://gitlab.collabora.com/tomeu/mesa/commit/4f804ceecd658492234cbf0fa5fb1b156a8fb79c https://gitlab.collabora.com/tomeu/mesa/commit/54adda6a4d7b5c783d54dfd37d38d1a5a0f3187f _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev