virgl: do not skip readback because of explicit flush
authorChia-I Wu <olvaffe@gmail.com>
Tue, 7 May 2019 17:56:40 +0000 (10:56 -0700)
committerChia-I Wu <olvaffe@gmail.com>
Tue, 14 May 2019 17:00:22 +0000 (17:00 +0000)
Both apps and we (see virgl_buffer_transfer_flush_region) might
flush regions that are unmodified.  We have to read back for those
flushes.

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_resource.c

index bd0a633e47113fa60c36fe3c2c59185bddf0941c..9cbff8d8d54008c3ef2bfc9a8c6d021c20b5e505 100644 (file)
@@ -56,9 +56,6 @@ bool virgl_res_needs_readback(struct virgl_context *vctx,
       readback = false;
    else if (usage & PIPE_TRANSFER_DISCARD_RANGE)
       readback = false;
-   else if ((usage & (PIPE_TRANSFER_WRITE | PIPE_TRANSFER_FLUSH_EXPLICIT)) ==
-            (PIPE_TRANSFER_WRITE | PIPE_TRANSFER_FLUSH_EXPLICIT))
-      readback = false;
    return readback;
 }