From 0ab8878a6e70a402ad082b2ddd6feff73d2c4290 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 7 Oct 2025 15:50:29 -0400 Subject: [PATCH] zink: only add mutable bind for transient surfaces when necessary Fixes: 3cd3195d319 ("zink: always add mutable to transient surface creation when needed") Part-of: --- src/gallium/drivers/zink/zink_surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_surface.c b/src/gallium/drivers/zink/zink_surface.c index f681dff87f6..415af721e19 100644 --- a/src/gallium/drivers/zink/zink_surface.c +++ b/src/gallium/drivers/zink/zink_surface.c @@ -297,7 +297,7 @@ zink_create_transient_surface(struct zink_context *ctx, const struct pipe_surfac rtempl.nr_samples = nr_samples; rtempl.bind &= ~(PIPE_BIND_LINEAR | ZINK_BIND_DMABUF); rtempl.bind |= ZINK_BIND_TRANSIENT; - if (psurf->format != rtempl.format) + if (zink_format_needs_mutable(rtempl.format, psurf->format)) rtempl.bind |= ZINK_BIND_MUTABLE; res->transient = zink_resource(ctx->base.screen->resource_create(ctx->base.screen, &rtempl)); transient = res->transient;