virgl: add texture_barrier stub
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Fri, 20 Jul 2018 10:10:20 +0000 (11:10 +0100)
committerDave Airlie <airlied@redhat.com>
Wed, 1 Aug 2018 04:03:51 +0000 (14:03 +1000)
In gallium, supporting FBFETCH means supporting non-coherent fetches, but
in virglrenderer, due to technical reasons this is backed by coherent
fetches instead. This means we don't need to do anything for the barriers.

However, if we don't have a texture_barrier implementation, we get crashes
because the non-coherent extensions is exposed.

So, let's leave this as a NOP for now.

[airlied: I've got a more complete impl of this somewhere, once we
land the host side].
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
src/gallium/drivers/virgl/virgl_context.c

index ae1da337994116c4d42d93fa977870b2f966cfe5..d1a1c98660e2ead059975894b167c4a2e1eddf46 100644 (file)
@@ -804,6 +804,12 @@ static void virgl_set_sampler_views(struct pipe_context *ctx,
    virgl_attach_res_sampler_views(vctx, shader_type);
 }
 
+static void
+virgl_texture_barrier(struct pipe_context *pctx, unsigned flags)
+{
+   /* stub */
+}
+
 static void virgl_destroy_sampler_view(struct pipe_context *ctx,
                                  struct pipe_sampler_view *view)
 {
@@ -1174,6 +1180,7 @@ struct pipe_context *virgl_context_create(struct pipe_screen *pscreen,
    vctx->base.create_sampler_view = virgl_create_sampler_view;
    vctx->base.sampler_view_destroy = virgl_destroy_sampler_view;
    vctx->base.set_sampler_views = virgl_set_sampler_views;
+   vctx->base.texture_barrier = virgl_texture_barrier;
 
    vctx->base.create_sampler_state = virgl_create_sampler_state;
    vctx->base.delete_sampler_state = virgl_delete_sampler_state;