unreachable("Unsupported blit");
}
+ /* Legalize compression /before/ calling into u_blitter to avoid recursion.
+ * u_blitter bans recursive usage.
+ */
+ agx_legalize_compression(ctx, agx_resource(info->dst.resource),
+ info->dst.format);
+
+ agx_legalize_compression(ctx, agx_resource(info->src.resource),
+ info->src.format);
+
agx_blitter_save(ctx, ctx->blitter, info->render_condition_enable);
util_blitter_blit(ctx->blitter, info);
}
void agx_decompress(struct agx_context *ctx, struct agx_resource *rsrc,
const char *reason);
+void agx_legalize_compression(struct agx_context *ctx,
+ struct agx_resource *rsrc,
+ enum pipe_format format);
+
struct agx_transfer {
struct pipe_transfer base;
void *map;