Mesa (master): virgl: only blit if resource is read

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 17 07:41:24 UTC 2019


Module: Mesa
Branch: master
Commit: 9e9d9b352e7a87f42f4fb9117faaf8a350953a0c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e9d9b352e7a87f42f4fb9117faaf8a350953a0c

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Fri Apr  5 08:27:14 2019 +0200

virgl: only blit if resource is read

Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh at chromium.org>

---

 src/gallium/drivers/virgl/virgl_texture.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/virgl/virgl_texture.c b/src/gallium/drivers/virgl/virgl_texture.c
index 5cb01cb18a0..471fe6c7b9a 100644
--- a/src/gallium/drivers/virgl/virgl_texture.c
+++ b/src/gallium/drivers/virgl/virgl_texture.c
@@ -178,8 +178,11 @@ static void *texture_transfer_map_resolve(struct pipe_context *ctx,
    struct pipe_box dst_box = *box;
    dst_box.x = dst_box.y = dst_box.z = 0;
 
-   virgl_copy_region_with_blit(ctx, resolve_tmp, 0, &dst_box, resource, level, box);
-   ctx->flush(ctx, NULL, 0);
+   if (usage & PIPE_TRANSFER_READ) {
+      virgl_copy_region_with_blit(ctx, resolve_tmp, 0, &dst_box, resource,
+                                  level, box);
+      ctx->flush(ctx, NULL, 0);
+   }
 
    void *ptr = texture_transfer_map_plain(ctx, resolve_tmp, 0, usage, &dst_box,
                                           &trans->resolve_transfer);




More information about the mesa-commit mailing list