zink: only add mutable bind for transient surfaces when necessary

Fixes: 3cd3195d31 ("zink: always add mutable to transient surface creation when needed")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37767>
This commit is contained in:
Mike Blumenkrantz 2025-10-07 15:50:29 -04:00
parent 4043ea91b6
commit 0ab8878a6e

View file

@ -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;