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@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16755>
This commit is contained in:
Mike Blumenkrantz 2022-05-27 15:02:38 -04:00 committed by Marge Bot
parent ddcd9c730c
commit 9d34cab4a8

View file

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