diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2023-01-24 16:46:02 -0500 |
---|---|---|
committer | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2023-01-25 15:04:12 -0500 |
commit | d791e9a77db8de5d912fadcca08c2289fde0cf38 (patch) | |
tree | ab8ea76bfaf4ea9b7b45b29c8625b7e9f64bcdb0 /src/gallium | |
parent | bdaded5a1881fa40a93d8679c8dbc3757b99238b (diff) |
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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20891>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/zink/zink_context.c | 3 |
1 files changed, 2 insertions, 1 deletions
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 */ |