[Mesa-dev] [PATCH] virgl: Set meta data for textures from handle.

Chia-I Wu olvaffe at gmail.com
Wed Jul 17 18:26:41 UTC 2019


On Wed, Jul 17, 2019 at 10:14 AM Erik Faye-Lund
<erik.faye-lund at collabora.com> wrote:
>
> On Wed, 2019-07-17 at 10:02 -0700, Lepton Wu wrote:
> > The set of meta data was removed by commit 8083464. It broke lots of
> > dEQP tests when running with pbuffer surface type.
> >
> > Fixes: 80834640137 ("virgl: remove dead code")
> > Signed-off-by: Lepton Wu <lepton at chromium.org>
> > ---
> >  src/gallium/drivers/virgl/virgl_resource.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/src/gallium/drivers/virgl/virgl_resource.c
> > b/src/gallium/drivers/virgl/virgl_resource.c
> > index c22a78a4731..909deb774c7 100644
> > --- a/src/gallium/drivers/virgl/virgl_resource.c
> > +++ b/src/gallium/drivers/virgl/virgl_resource.c
> > @@ -515,6 +515,7 @@ static struct pipe_resource
> > *virgl_resource_from_handle(struct pipe_screen *scre
> >     res->u.b = *templ;
> >     res->u.b.screen = &vs->base;
> >     pipe_reference_init(&res->u.b.reference, 1);
> > +   virgl_resource_layout(&res->u.b, &res->metadata);
There was a similar MR for this

  https://gitlab.freedesktop.org/mesa/mesa/merge_requests/965

Can you add a check to make sure the stride is compatible?

  if (res->metadata->stride[0] != whandle->stride) reject the whandle;

> >
> >     res->hw_res = vs->vws->resource_create_from_handle(vs->vws,
> > whandle);
> >     if (!res->hw_res) {
>
> Whoops! Good catch, sorry for the mess!
>
> Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
>
> _______________________________________________
> 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