From: Dave Airlie Date: Mon, 6 Jun 2022 05:11:30 +0000 (+1000) Subject: nvk: descriptor set freeing fix X-Git-Tag: upstream/23.3.3~4582 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0b675ef7a373e352f68b39aa9537e8b5942cb68a;p=platform%2Fupstream%2Fmesa.git nvk: descriptor set freeing fix Part-of: --- diff --git a/src/nouveau/vulkan/nvk_descriptor_set.c b/src/nouveau/vulkan/nvk_descriptor_set.c index 0458632..bac6c63 100644 --- a/src/nouveau/vulkan/nvk_descriptor_set.c +++ b/src/nouveau/vulkan/nvk_descriptor_set.c @@ -178,6 +178,17 @@ static void nvk_descriptor_set_destroy(struct nvk_device *device, struct nvk_descriptor_pool *pool, struct nvk_descriptor_set *set, bool free_bo) { + if (free_bo) { + for (int i = 0; i < pool->entry_count; ++i) { + if (pool->entries[i].set == set) { + memmove(&pool->entries[i], &pool->entries[i + 1], + sizeof(pool->entries[i]) * (pool->entry_count - i - 1)); + --pool->entry_count; + break; + } + } + } + vk_object_base_finish(&set->base); vk_free2(&device->vk.alloc, NULL, set); }