Mesa (main): zink: fix change flagging for compact descriptor cache

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 1 02:33:38 UTC 2022


Module: Mesa
Branch: main
Commit: 9d34cab4a8412baded94d6baa1727302890f2ca9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d34cab4a8412baded94d6baa1727302890f2ca9

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri May 27 15:02:38 2022 -0400

zink: fix change flagging for compact descriptor cache

using pool existence alone is broken since the pools are compacted,
so instead flag based on whether usage exists

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16755>

---

 src/gallium/drivers/zink/zink_descriptors.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c
index 917b8fdeeec..6e88f2bfb2e 100644
--- a/src/gallium/drivers/zink/zink_descriptors.c
+++ b/src/gallium/drivers/zink/zink_descriptors.c
@@ -1472,8 +1472,8 @@ zink_descriptors_update(struct zink_context *ctx, bool is_compute)
 
    if (ctx->dd->pg[is_compute] != pg) {
       for (int h = 0; h < ZINK_DESCRIPTOR_TYPES; h++) {
-            bool has_usage = !!pg->dsl[h + 1];
-            ctx->dd->changed[is_compute][h] |= has_usage;
+         if (pg->dd->real_binding_usage & BITFIELD_BIT(h))
+            ctx->dd->changed[is_compute][h] = true;
       }
    }
    zink_context_update_descriptor_states(ctx, pg);



More information about the mesa-commit mailing list