From d791e9a77db8de5d912fadcca08c2289fde0cf38 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 24 Jan 2023 16:46:02 -0500 Subject: [PATCH] zink: return false for implicit feedback loop check with image binds this can only be GENERAL layout so it's not a feedback loop ever Part-of: --- src/gallium/drivers/zink/zink_context.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index 9a325197908..f53b1b4b4ac 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -5143,7 +5143,8 @@ zink_tc_context_unwrap(struct pipe_context *pctx, bool threaded) static bool add_implicit_color_feedback_loop(struct zink_context *ctx, struct zink_resource *res) { - if (!res->fb_bind_count || !res->sampler_bind_count[0]) + /* can only feedback loop with fb+sampler bind; image bind must be GENERAL */ + if (!res->fb_bind_count || !res->sampler_bind_count[0] || res->image_bind_count[0]) return false; bool is_feedback = false; /* avoid false positives when a texture is bound but not used */