[Mesa-dev] [PATCH] virgl/vtest: disconnect on destroy
Marc-André Lureau
mlureau at redhat.com
Fri Feb 10 08:55:54 UTC 2017
----- Original Message -----
> On 10 February 2017 at 00:35, <marcandre.lureau at redhat.com> wrote:
> > From: Marc-André Lureau <marcandre.lureau at redhat.com>
> >
> > Since vtest is currently only handling a context at a time, calling
> > disconnect in virgl_vtest_winsys_destroy() allows to pass tests such as
> > piglit egl-create-context-invalid-flag-gles.
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
> > ---
> > src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c | 9 +++++++++
> > src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c | 1 +
> > src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h | 2 ++
> > 3 files changed, 12 insertions(+)
> >
> > diff --git a/src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c
> > b/src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c
> > index 4541419d8e..585b9e8156 100644
> > --- a/src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c
> > +++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c
> > @@ -101,11 +101,20 @@ static int virgl_vtest_send_init(struct
> > virgl_vtest_winsys *vws)
> > return 0;
> > }
> >
> > +int virgl_vtest_disconnect(struct virgl_vtest_winsys *vws)
> > +{
> > + if (vws->sock_fd != -1)
> > + return close(vws->sock_fd);
> > +
> > + return 0;
> > +}
>
> Does it need to return a value at all?
No, but vtest_connect either :)
Feel free to change on commit, thanks
>
> Otherwise
> Reviewed-by: Dave Airlie <airlied at redhat.com>
> > +
> > int virgl_vtest_connect(struct virgl_vtest_winsys *vws)
> > {
> > struct sockaddr_un un;
> > int sock, ret;
> >
> > + vws->sock_fd = -1;
> > sock = socket(PF_UNIX, SOCK_STREAM, 0);
> > if (sock < 0)
> > return -1;
> > diff --git a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
> > b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
> > index ce8ac97756..99470fde80 100644
> > --- a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
> > +++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
> > @@ -620,6 +620,7 @@ virgl_vtest_winsys_destroy(struct virgl_winsys *vws)
> > virgl_cache_flush(vtws);
> >
> > pipe_mutex_destroy(vtws->mutex);
> > + virgl_vtest_disconnect(vtws);
> > FREE(vtws);
> > }
> >
> > diff --git a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h
> > b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h
> > index b4faa70b67..7ee5f6f09b 100644
> > --- a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h
> > +++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h
> > @@ -106,6 +106,8 @@ virgl_vtest_cmd_buf(struct virgl_cmd_buf *cbuf)
> >
> >
> > int virgl_vtest_connect(struct virgl_vtest_winsys *vws);
> > +int virgl_vtest_disconnect(struct virgl_vtest_winsys *vws);
> > +
> > int virgl_vtest_send_get_caps(struct virgl_vtest_winsys *vws,
> > struct virgl_drm_caps *caps);
> >
> > --
> > 2.11.0.295.gd7dffce1c.dirty
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list