[Mesa-dev] [PATCH 10/10] egl/android: Add fallback to kms_swrast driver

Rob Herring robh at kernel.org
Tue Jul 19 22:40:39 UTC 2016

On Fri, Jul 15, 2016 at 2:53 AM, Tomasz Figa <tfiga at chromium.org> wrote:
> If no hardware driver is present, it is possible to fall back to
> the kms_swrast driver with any DRI node that supports dumb GEM create
> and mmap IOCTLs with softpipe/llvmpipe drivers. This patch makes the
> Android EGL platform code retry probe with kms_swrast if hardware-only
> probe fails.

Presumably, you need a gralloc that supports this too? It would be
nice to have access to it to reproduce this setup.


>  #define DRM_RENDER_DEV_NAME  "%s/renderD%d"
>  static int
> -droid_open_device(_EGLDisplay *dpy)
> +droid_open_device(_EGLDisplay *dpy, int swrast)
>  {
>     struct dri2_egl_display *dri2_dpy = dpy->DriverData;
>     const int limit = 64;
> @@ -933,7 +936,7 @@ droid_open_device(_EGLDisplay *dpy)
>        if (fd < 0)
>           continue;
> -      if (!droid_probe_device(dpy, fd))
> +      if (!droid_probe_device(dpy, fd, swrast))

This only gets here if a render node is present and successfully
opened. I would think in the sw rendering case, we want this to work
when there's only a card node present. Furthermore, you can't do dumb
allocs on a render node, so I don't see how this can work at all.


More information about the mesa-dev mailing list