destroy<VkBuffer, &VulkanFunctions::DestroyBuffer>(handle, mem_id);
}
+void DestroyQueue::destroy(VkDescriptorPool handle)
+{
+ destroy<VkDescriptorPool, &VulkanFunctions::DestroyDescriptorPool>(handle);
+}
+
void DestroyQueue::destroy(VkFence handle)
{
destroy<VkFence, &VulkanFunctions::DestroyFence>(handle);
destroy<VkFramebuffer, &VulkanFunctions::DestroyFramebuffer>(handle);
}
+void DestroyQueue::destroy(VkImage handle, unsigned mem_id)
+{
+ destroy<VkImage, &VulkanFunctions::DestroyImage>(handle, mem_id);
+}
+
void DestroyQueue::destroy(VkImageView handle)
{
destroy<VkImageView, &VulkanFunctions::DestroyImageView>(handle);
}
+void DestroyQueue::destroy(VkSampler handle)
+{
+ destroy<VkSampler, &VulkanFunctions::DestroySampler>(handle);
+}
+
void DestroyQueue::destroy(VkSemaphore handle)
{
destroy<VkSemaphore, &VulkanFunctions::DestroySemaphore>(handle);
const VulkanFunctions &vk = device.get_functions();
MemoryAllocator &allocator = device.get_allocator();
- ++current_frame;
while(!queue.empty() && current_frame>=queue.front().on_frame)
{
const Entry &e = queue.front();
allocator.release(e.memory_id);
queue.pop_front();
}
+
+ ++current_frame;
}
} // namespace GL