freedreno: Don't tell the blitter what it can't do

Call ctx->blit() and let it reject blits it can't do instead of giving
up on stencil blits and blits u_blitter can't do.

Reviewed-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Kristian H. Kristensen <hoegsberg@chromium.org>
This commit is contained in:
Kristian H. Kristensen 2019-02-01 15:20:05 -08:00
parent 8cf1303698
commit d2639f2eac

View file

@ -258,6 +258,9 @@ 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 (ctx->blit && ctx->blit(ctx, &info))
return;
if (info.mask & PIPE_MASK_S) {
DBG("cannot blit stencil, skipping");
info.mask &= ~PIPE_MASK_S;
@ -270,8 +273,7 @@ fd_blit(struct pipe_context *pctx, const struct pipe_blit_info *blit_info)
return;
}
if (!(ctx->blit && ctx->blit(ctx, &info)))
fd_blitter_blit(ctx, &info);
fd_blitter_blit(ctx, &info);
}
/**