From 9e9d9b352e7a87f42f4fb9117faaf8a350953a0c Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 5 Apr 2019 08:27:14 +0200 Subject: [PATCH] virgl: only blit if resource is read Signed-off-by: Erik Faye-Lund Reviewed-by: Gurchetan Singh --- 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); -- 2.30.2