[Mesa-dev] [PATCH 2/2] egl/surfaceless: Use KMS swrast fallback

Gurchetan Singh gurchetansingh at chromium.org
Tue Oct 3 18:06:44 UTC 2017


I mostly ran other tests suites. We actually don't run dEQP on VMs since
our current swrast-based implementation would segfault. We would need a
patch like:

https://lists.freedesktop.org/archives/mesa-dev/2017-August/164922.html

for it to work. However, I was able to verify dEQP successfully runs with
this patchset, though I just ran a few tests. I expect the full suite to be
up and running soon ...

On Tue, Oct 3, 2017 at 10:04 AM, Eric Engestrom <eric.engestrom at imgtec.com>
wrote:

> On Tuesday, 2017-10-03 16:30:18 +0000, Gurchetan Singh wrote:
> > Hi Eric,
> >
> > Yes, you pushing this series would be great.
>
> Done; since I was editing it anyway, I also moved the _eglLog() string
> to avoid breaking it (makes grepping easier).
>
> > I did run our test suite on this patchset as well.
>
> You mean deqp, or another one?
> I assume the results were "100% success"?
>
> >
> > Best wishes,
> > Gurchetan
> >
> > On Tue, Oct 3, 2017 at 7:02 AM, Eric Engestrom <
> eric.engestrom at imgtec.com>
> > wrote:
> >
> > > On Monday, 2017-10-02 20:48:24 +0000, gurchetansingh at chromium.org
> wrote:
> > > > From: Gurchetan Singh <gurchetansingh at chromium.org>
> > > >
> > > > The kms_swrast extension is an actively developed software fallback,
> > > > and platform_surfaceless can use it if there are no available
> > > > hardware drivers.
> > > >
> > > > v2: Split into 2 patches, use booleans, check LIBGL_ALWAYS_SOFTWARE,
> > > >     and modify the eglLog level (Emil, Eric, Tomasz).
> > >
> > > Thanks, this is perfect :)
> > >
> > > Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
> > >
> > > Do you want me to push this for you?
> > >
> > > It might be worth running deqp and other test suites to make sure
> > > everything is wired up correctly.
> > > (Given your chromium affiliation, I'm assuming you already know how to
> > > use the surfaceless patches for deqp [1])
> > >
> > > [1] https://chromium.googlesource.com/chromiumos/overlays/
> > > chromiumos-overlay/+/master/media-gfx/deqp
> > >
> > > > ---
> > > >  src/egl/drivers/dri2/platform_surfaceless.c | 19
> +++++++++++++++----
> > > >  1 file changed, 15 insertions(+), 4 deletions(-)
> > > >
> > > > diff --git a/src/egl/drivers/dri2/platform_surfaceless.c
> > > b/src/egl/drivers/dri2/platform_surfaceless.c
> > > > index f6aa217d39..b0a43ac9de 100644
> > > > --- a/src/egl/drivers/dri2/platform_surfaceless.c
> > > > +++ b/src/egl/drivers/dri2/platform_surfaceless.c
> > > [snip]
> > > > @@ -320,7 +324,14 @@ dri2_initialize_surfaceless(_EGLDriver *drv,
> > > _EGLDisplay *disp)
> > > >
> > > >     dri2_dpy->fd = -1;
> > > >     disp->DriverData = (void *) dri2_dpy;
> > >
> > > Nit: newline here
> > > (I'll add it if/when I commit it, don't send a v3 for that)
> > >
> > > > -   if (!surfaceless_probe_device(disp)) {
> > > > +   if (!env_var_as_boolean("LIBGL_ALWAYS_SOFTWARE", false)) {
> > > > +      driver_loaded = surfaceless_probe_device(disp, false);
> > > > +      if (!driver_loaded)
> > > > +         _eglLog(_EGL_WARNING, "No hardware driver found, falling
> back
> > > to "
> > > > +              "software rendering");
> > > > +   }
> > > > +
> > > > +   if (!driver_loaded && !surfaceless_probe_device(disp, true)) {
> > > >        err = "DRI2: failed to load driver";
> > > >        goto cleanup;
> > > >     }
> > > > --
> > > > 2.13.5
> > > >
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171003/369d00c5/attachment.html>


More information about the mesa-dev mailing list