summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga
diff options
context:
space:
mode:
authorThomas Hellstrom <[email protected]>2017-06-14 15:39:42 +0200
committerThomas Hellstrom <[email protected]>2017-06-16 08:40:26 +0200
commita37eede540a69392f817162b0c37a992d59a0b17 (patch)
tree07f6393faa8301723aaf0acaa8aeb747a382334e /src/gallium/drivers/svga
parent5732ac3eccdc750593d2c0d3a5348d709106cdbf (diff)
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 <[email protected]> Reviewed-by: Neha Bhende <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga')
-rw-r--r--src/gallium/drivers/svga/svga_pipe_blit.c4
1 files changed, 3 insertions, 1 deletions
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,
&copy_region_blit);
if (!try_copy_region(svga, &copy_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,
&copy_region_blit);
if (!try_copy_region(svga, &copy_region_blit)) {
+ debug_printf("svga: Destination blit format conversion failed.\n");
ret = false;
goto done;
}