diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index 3aad83199b1..931d5667a23 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -29,8 +29,8 @@ reset_obj(struct zink_screen *screen, struct zink_batch_state *bs, struct zink_r /* if no batch usage exists after removing the usage from 'bs', this resource is considered fully idle */ if (!zink_resource_object_usage_unset(obj, bs)) { /* the resource is idle, so reset all access/reordering info */ - obj->unordered_read = false; - obj->unordered_write = false; + obj->unordered_read = true; + obj->unordered_write = true; obj->access = 0; obj->access_stage = 0; /* also prune dead view objects */ diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index b337c65068f..10d5397a7ad 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -597,6 +597,8 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t return NULL; simple_mtx_init(&obj->view_lock, mtx_plain); util_dynarray_init(&obj->views, NULL); + obj->unordered_read = true; + obj->unordered_write = true; obj->last_dt_idx = obj->dt_idx = UINT32_MAX; //TODO: unionize VkMemoryRequirements reqs = {0};