diff --git a/.pick_status.json b/.pick_status.json index 1f6809e2724..55665154dc1 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -796,7 +796,7 @@ "description": "zink: null some descriptor buffer pointers during destruction", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "13c6ad0038aa42f1c908ca1adecde9bebf9f2509" }, diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c index 2dab523c171..15823b161c4 100644 --- a/src/gallium/drivers/zink/zink_descriptors.c +++ b/src/gallium/drivers/zink/zink_descriptors.c @@ -1463,8 +1463,10 @@ zink_batch_descriptor_deinit(struct zink_screen *screen, struct zink_batch_state if (bs->dd.db_xfer) pipe_buffer_unmap(&bs->ctx->base, bs->dd.db_xfer); + bs->dd.db_xfer = NULL; if (bs->dd.db) screen->base.resource_destroy(&screen->base, &bs->dd.db->base.b); + bs->dd.db = NULL; bs->dd.db_bound = false; bs->dd.db_offset = 0; memset(bs->dd.cur_db_offset, 0, sizeof(bs->dd.cur_db_offset));