From ce1761edabf8c27f3e76d6790b0876930ef390dc Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Tue, 9 Apr 2019 14:25:51 +0200 Subject: virgl: document potentially failing blit This blit can fail, but this is not new; in the old version we didn't even try to blit in this case. So let's just document the limitation for now, and leave this for another day. Signed-off-by: Erik Faye-Lund Reviewed-by: Gurchetan Singh --- src/gallium/drivers/virgl/virgl_texture.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/gallium/drivers/virgl/virgl_texture.c b/src/gallium/drivers/virgl/virgl_texture.c index bbda3f2406e..f0a2465021c 100644 --- a/src/gallium/drivers/virgl/virgl_texture.c +++ b/src/gallium/drivers/virgl/virgl_texture.c @@ -298,6 +298,12 @@ static void virgl_texture_transfer_unmap(struct pipe_context *ctx, flush_data(ctx, virgl_transfer(trans->resolve_transfer), &trans->resolve_transfer->box); + /* FINISHME: In case the destination format isn't renderable here, the + * blit here will currently fail. This could for instance happen if the + * mapped resource is of a compressed format, and it's mapped with both + * read and write usage. + */ + virgl_copy_region_with_blit(ctx, trans->base.resource, trans->base.level, &transfer->box, -- cgit v1.2.3