summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/virgl/virgl_context.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/virgl/virgl_context.c b/src/gallium/drivers/virgl/virgl_context.c
index 9a91df49fe8..41201c59d1c 100644
--- a/src/gallium/drivers/virgl/virgl_context.c
+++ b/src/gallium/drivers/virgl/virgl_context.c
@@ -730,8 +730,6 @@ static void virgl_draw_vbo(struct pipe_context *ctx,
}
}
- u_upload_unmap(vctx->uploader);
-
vctx->num_draws++;
virgl_hw_set_vertex_buffers(vctx);
if (info.index_size)
@@ -749,6 +747,9 @@ static void virgl_flush_eq(struct virgl_context *ctx, void *closure,
struct virgl_screen *rs = virgl_screen(ctx->base.screen);
int out_fence_fd = -1;
+ if (ctx->num_draws)
+ u_upload_unmap(ctx->uploader);
+
/* send the buffer to the remote side for decoding */
ctx->num_transfers = ctx->num_draws = 0;