On Wed, 28 Nov 2018 at 05:51, Gert Wollny <gw.foss...@gmail.com> wrote:
>
> From: Gert Wollny <gert.wol...@collabora.com>
>
> vtest doesn't implement the according API and would segfault:
>
> Program received signal SIGSEGV, Segmentation fault.
>   #0  0x0000000000000000 in ?? ()
>   #1  in virgl_fence_server_sync  at
>        src/gallium/drivers/virgl/virgl_context.c:1049
>   #2  in st_server_wait_sync  at
>        src/mesa/state_tracker/st_cb_syncobj.c:155
>
> so just don't do the call when the function pointers are not set.
>
> Fixes dEQP:
>   dEQP-GLES3.functional.fence_sync.wait_sync_smalldraw
>   dEQP-GLES3.functional.fence_sync.wait_sync_largedraw
>
> Fixes: d1a1c21e7621b5177febf191fcd3d3b8ef69dc96
>   virgl: native fence fd support
>
> Signed-off-by: Gert Wollny <gert.wol...@collabora.com>

Reviewed-by: Dave Airlie <airl...@redhat.com>

For both.

Dave.

> ---
>  src/gallium/drivers/virgl/virgl_context.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/virgl/virgl_context.c 
> b/src/gallium/drivers/virgl/virgl_context.c
> index 892fef76c7..f0ee64c145 100644
> --- a/src/gallium/drivers/virgl/virgl_context.c
> +++ b/src/gallium/drivers/virgl/virgl_context.c
> @@ -1037,7 +1037,8 @@ static void virgl_create_fence_fd(struct pipe_context 
> *ctx,
>     assert(type == PIPE_FD_TYPE_NATIVE_SYNC);
>     struct virgl_screen *rs = virgl_screen(ctx->screen);
>
> -   *fence = rs->vws->cs_create_fence(rs->vws, fd);
> +   if (rs->vws->cs_create_fence)
> +      *fence = rs->vws->cs_create_fence(rs->vws, fd);
>  }
>
>  static void virgl_fence_server_sync(struct pipe_context *ctx,
> @@ -1046,7 +1047,8 @@ static void virgl_fence_server_sync(struct pipe_context 
> *ctx,
>     struct virgl_context *vctx = virgl_context(ctx);
>     struct virgl_screen *rs = virgl_screen(ctx->screen);
>
> -   rs->vws->fence_server_sync(rs->vws, vctx->cbuf, fence);
> +   if (rs->vws->fence_server_sync)
> +      rs->vws->fence_server_sync(rs->vws, vctx->cbuf, fence);
>  }
>
>  static void virgl_set_shader_images(struct pipe_context *ctx,
> --
> 2.18.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to