From: Kristian H. Kristensen Date: Fri, 1 Feb 2019 23:20:05 +0000 (-0800) Subject: freedreno: Don't tell the blitter what it can't do X-Git-Tag: upstream/19.3.0~9881 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d2639f2eac204944cfaa67021b8c54ae834fae53;p=platform%2Fupstream%2Fmesa.git 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 Signed-off-by: Kristian H. Kristensen --- diff --git a/src/gallium/drivers/freedreno/freedreno_blitter.c b/src/gallium/drivers/freedreno/freedreno_blitter.c index c8f0347..f779f0f 100644 --- a/src/gallium/drivers/freedreno/freedreno_blitter.c +++ b/src/gallium/drivers/freedreno/freedreno_blitter.c @@ -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); } /**