From 67a7f6f24433beb5795bea5325700f50d845ed64 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Wed, 2 Jan 2019 11:35:02 -0500 Subject: [PATCH] freedreno: remove blit_via_copy_region() If we hit the memcpy() path for copy_region(), that will try to do a transfer_map(), which goes badly for blits to/from staging triggered by transfer_map() or transfer_unmap(). We could possibly add fd_blit2() which has allow_transfer_map param, and call that for staging blits. But I'm not really sure if trying the blit via copy_region() is very useful. At least for newer gens that implement fd_context::blit(), it probably isn't. Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/freedreno_resource.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c index f1e439b7133..838881cf150 100644 --- a/src/gallium/drivers/freedreno/freedreno_resource.c +++ b/src/gallium/drivers/freedreno/freedreno_resource.c @@ -979,10 +979,6 @@ fd_blit(struct pipe_context *pctx, const struct pipe_blit_info *blit_info) if (info.render_condition_enable && !fd_render_condition_check(pctx)) return; - if (util_try_blit_via_copy_region(pctx, &info)) { - return; /* done */ - } - if (info.mask & PIPE_MASK_S) { DBG("cannot blit stencil, skipping"); info.mask &= ~PIPE_MASK_S; -- 2.30.2