From 89a9220cbf2b247668e31c1117599ed97433cc72 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 12 Jul 2022 19:40:38 -0400 Subject: [PATCH] zink: reject swizzled format blits e.g., R8G8B8A8 -> B8G8R8A8 is invalid, so use u_blitter fixes (various gl configs): KHR-GL46.blend_equation_advanced* cc: mesa-stable Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_blit.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/zink/zink_blit.c b/src/gallium/drivers/zink/zink_blit.c index 88b6aa3f459..ef22fc30655 100644 --- a/src/gallium/drivers/zink/zink_blit.c +++ b/src/gallium/drivers/zink/zink_blit.c @@ -44,9 +44,12 @@ blit_resolve(struct zink_context *ctx, const struct pipe_blit_info *info, bool * struct zink_resource *dst = zink_resource(info->dst.resource); struct zink_screen *screen = zink_screen(ctx->base.screen); + /* aliased/swizzled formats need u_blitter */ if (src->format != zink_get_format(screen, info->src.format) || dst->format != zink_get_format(screen, info->dst.format)) return false; + if (src->format != dst->format) + return false; apply_dst_clears(ctx, info, false); zink_fb_clears_apply_region(ctx, info->src.resource, zink_rect_from_box(&info->src.box));