zink: null some descriptor buffer pointers during destruction
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 3 May 2023 15:43:53 +0000 (11:43 -0400)
committerMarge Bot <emma+marge@anholt.net>
Wed, 3 May 2023 20:08:07 +0000 (20:08 +0000)
this shouldn't actually be needed? and yet...

Fixes: 13c6ad0038a ("zink: use a single descriptor buffer for all non-bindless types")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22827>

src/gallium/drivers/zink/zink_descriptors.c

index 2a6d8b1..74c2cd9 100644 (file)
@@ -1469,8 +1469,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));