diff options
Diffstat (limited to 'src/sna/gen6_render.c')
-rw-r--r-- | src/sna/gen6_render.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index b014e9ec..123bb15c 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -2907,7 +2907,11 @@ fallback_blt: if (!kgem_check_bo(&sna->kgem, tmp.dst.bo, tmp.src.bo, NULL)) { DBG(("%s: too large for a single operation\n", __FUNCTION__)); - goto fallback_tiled_src; + if (tmp.src.bo != src_bo) + kgem_bo_destroy(&sna->kgem, tmp.src.bo); + if (tmp.redirect.real_bo) + kgem_bo_destroy(&sna->kgem, tmp.dst.bo); + goto fallback_blt; } _kgem_set_mode(&sna->kgem, KGEM_RENDER); } @@ -2950,9 +2954,6 @@ fallback_blt: kgem_bo_destroy(&sna->kgem, tmp.src.bo); return true; -fallback_tiled_src: - if (tmp.src.bo != src_bo) - kgem_bo_destroy(&sna->kgem, tmp.src.bo); fallback_tiled_dst: if (tmp.redirect.real_bo) kgem_bo_destroy(&sna->kgem, tmp.dst.bo); |