diff options
author | Danylo Piliaiev <dpiliaiev@igalia.com> | 2022-02-03 18:07:21 +0200 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-02-04 21:07:30 +0000 |
commit | 183bc15bdbe22e46596ffa281781f0c473ad7cb4 (patch) | |
tree | a449186c9e2c7b652441adaab654d4494210932d | |
parent | 81061ed6454a91dae913b0379875369a2fb4ea9a (diff) |
turnip: Unconditionaly remove descriptor set from pool's list on free
We didn't remove desc set from the pool's list if pool was
host_memory_base. On the other hand in there is no point in removing
desc set from the list in DestroyDescriptorPool/ResetDescriptorPool.
Fixes: da7a4751
("turnip: Drop references to layout of all sets on pool reset/destruction")
Fixes cts tests:
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.draw
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.dispatch
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14855>
-rw-r--r-- | src/freedreno/vulkan/tu_descriptor_set.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/freedreno/vulkan/tu_descriptor_set.c b/src/freedreno/vulkan/tu_descriptor_set.c index 0c2cef08787..834ade7a5ca 100644 --- a/src/freedreno/vulkan/tu_descriptor_set.c +++ b/src/freedreno/vulkan/tu_descriptor_set.c @@ -589,8 +589,6 @@ tu_descriptor_set_destroy(struct tu_device *device, } } - list_del(&set->pool_link); - vk_object_free(&device->vk, NULL, set); } @@ -814,8 +812,10 @@ tu_FreeDescriptorSets(VkDevice _device, for (uint32_t i = 0; i < count; i++) { TU_FROM_HANDLE(tu_descriptor_set, set, pDescriptorSets[i]); - if (set) + if (set) { tu_descriptor_set_layout_unref(device, set->layout); + list_del(&set->pool_link); + } if (set && !pool->host_memory_base) tu_descriptor_set_destroy(device, pool, set, true); |