diff --git a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c index e7ac9f1398a..fefcdbfa411 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c +++ b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c @@ -165,7 +165,8 @@ etna_resource_copy_region(struct pipe_context *pctx, struct pipe_resource *dst, * to non-aligned: can fall back to rendering-based copy? * XXX this goes wrong when source surface is supertiled. */ - if (util_blitter_is_copy_supported(ctx->blitter, dst, src)) { + if (src->target != PIPE_BUFFER && dst->target != PIPE_BUFFER && + util_blitter_is_copy_supported(ctx->blitter, dst, src)) { etna_blit_save_state(ctx); util_blitter_copy_texture(ctx->blitter, dst, dst_level, dstx, dsty, dstz, src, src_level, src_box);