From a37eede540a69392f817162b0c37a992d59a0b17 Mon Sep 17 00:00:00 2001 From: Thomas Hellstrom Date: Wed, 14 Jun 2017 15:39:42 +0200 Subject: [PATCH] svga: Fix incorrect format conversion blit destination The blit.dst.resource member that was used as destination was modified earlier in the function, effectively making us try to blit the content onto itself. Fix this and also add a debug printout when the format conversion blits fail. Signed-off-by: Thomas Hellstrom Reviewed-by: Neha Bhende --- src/gallium/drivers/svga/svga_pipe_blit.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/svga/svga_pipe_blit.c b/src/gallium/drivers/svga/svga_pipe_blit.c index fd287a1815c..28996062ab3 100644 --- a/src/gallium/drivers/svga/svga_pipe_blit.c +++ b/src/gallium/drivers/svga/svga_pipe_blit.c @@ -547,6 +547,7 @@ try_blit(struct svga_context *svga, const struct pipe_blit_info *blit_info) blit.src.level, &blit.src.box, ©_region_blit); if (!try_copy_region(svga, ©_region_blit)) { + debug_printf("svga: Source blit format conversion failed.\n"); ret = false; goto done; } @@ -593,13 +594,14 @@ try_blit(struct svga_context *svga, const struct pipe_blit_info *blit_info) * A temporary resource was created for the blit, we need to * copy from the temporary resource back to the original destination. */ - build_blit_info(blit.dst.resource, + build_blit_info(dst, blit.dst.level, blit.dst.box.x, blit.dst.box.y, blit.dst.box.z, newDst, blit.dst.level, &blit.dst.box, ©_region_blit); if (!try_copy_region(svga, ©_region_blit)) { + debug_printf("svga: Destination blit format conversion failed.\n"); ret = false; goto done; } -- 2.30.2