vk_resource_pool: Handle eErrorFragmentedPool. (#2071)

This commit is contained in:
squidbus
2025-01-06 05:31:45 -08:00
committed by GitHub
parent 7cdeb51670
commit fb67d948b6

View File

@@ -153,7 +153,8 @@ vk::DescriptorSet DescriptorHeap::Commit(vk::DescriptorSetLayout set_layout) {
}
// The pool has run out. Record current tick and place it in pending list.
ASSERT_MSG(result == vk::Result::eErrorOutOfPoolMemory,
ASSERT_MSG(result == vk::Result::eErrorOutOfPoolMemory ||
result == vk::Result::eErrorFragmentedPool,
"Unexpected error during descriptor set allocation {}", vk::to_string(result));
pending_pools.emplace_back(curr_pool, master_semaphore->CurrentTick());
if (const auto [pool, tick] = pending_pools.front(); master_semaphore->IsFree(tick)) {