virgl: unmap uploader at flush time

This should save some memory when allocating and freeing transfers.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
This commit is contained in:
Gurchetan Singh 2019-01-07 18:19:03 -08:00 committed by Gert Wollny
parent 14f265b533
commit d5c2dacc15

View file

@ -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;