zink: unset barrier info if resource object no longer has usage after reset

this avoids spurious barriers

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12845>
This commit is contained in:
Mike Blumenkrantz 2021-09-08 15:25:42 -04:00 committed by Marge Bot
parent ecf5d706ef
commit 904261b985

View file

@ -36,7 +36,11 @@ zink_reset_batch_state(struct zink_context *ctx, struct zink_batch_state *bs)
/* unref all used resources */
set_foreach_remove(bs->resources, entry) {
struct zink_resource_object *obj = (struct zink_resource_object *)entry->key;
zink_resource_object_usage_unset(obj, bs);
if (!zink_resource_object_usage_unset(obj, bs)) {
obj->unordered_barrier = false;
obj->access = 0;
obj->access_stage = 0;
}
util_dynarray_append(&bs->unref_resources, struct zink_resource_object*, obj);
}