virgl: PIPE_TRANSFER_READ does not imply flush
authorChia-I Wu <olvaffe@gmail.com>
Tue, 7 May 2019 20:22:51 +0000 (13:22 -0700)
committerChia-I Wu <olvaffe@gmail.com>
Tue, 14 May 2019 17:00:22 +0000 (17:00 +0000)
virgl_res_needs_flush should suffice.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
src/gallium/drivers/virgl/virgl_buffer.c

index 42434752d53a031c59b69121880cc50a5696b5fb..d4bde39096ebab290e1db170a51adbc45102a44f 100644 (file)
@@ -43,11 +43,8 @@ static void *virgl_buffer_transfer_map(struct pipe_context *ctx,
 
    trans = virgl_resource_create_transfer(&vctx->transfer_pool, resource,
                                           &vbuf->metadata, level, usage, box);
-   if (usage & PIPE_TRANSFER_READ)
-      flush = true;
-   else
-      flush = virgl_res_needs_flush(vctx, trans);
 
+   flush = virgl_res_needs_flush(vctx, trans);
    if (flush)
       ctx->flush(ctx, NULL, 0);