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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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)) {