freedreno: remove blit_via_copy_region()
authorRob Clark <robdclark@gmail.com>
Wed, 2 Jan 2019 16:35:02 +0000 (11:35 -0500)
committerRob Clark <robdclark@gmail.com>
Thu, 3 Jan 2019 13:10:32 +0000 (08:10 -0500)
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 <robdclark@gmail.com>
src/gallium/drivers/freedreno/freedreno_resource.c

index f1e439b713385efe26511b0af39d865d3de4d3eb..838881cf1502c1f2bf3bfcb2b662526127ecb2db 100644 (file)
@@ -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;