Vulkan: Defrag buffers when growing.

This commit is contained in:
Unknown W. Brackets committed 2016-03-20 15:20:42 -07:00
1 parent f2513ffcd6
commit 9e4389cbf5
2 files changed
+16 -2

No files matched your search

+14
View File
@@ -76,3 +76,17 @@ void VulkanPushBuffer::NextBuffer() {
offset_ = 0;
Map(device);
}
void VulkanPushBuffer::Defragment() {
if (buffers_.size() <= 1) {
return;
}
// Okay, we have more than one. Destroy them all and start over with a larger one.
size_t newSize = size_ * buffers_.size();
Destroy(ctx_);
size_ = newSize;
bool res = AddBuffer();
assert(res);
}