summaryrefslogtreecommitdiff
path: root/src/gallium
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2023-01-24 16:46:02 -0500
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>2023-01-25 15:04:12 -0500
commitd791e9a77db8de5d912fadcca08c2289fde0cf38 (patch)
treeab8ea76bfaf4ea9b7b45b29c8625b7e9f64bcdb0 /src/gallium
parentbdaded5a1881fa40a93d8679c8dbc3757b99238b (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.c3
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 */