#include "GPU_GarbageCollector.h" GPU_GarbageCollector::GPU_GarbageCollector(VkDevice device) : device_(device) {} void GPU_GarbageCollector::AddGarbage(Garbage garbage) { std::scoped_lock lock(m_heap_); heap_.push_back(garbage); } void GPU_GarbageCollector::FreeHeap() { std::scoped_lock lock(m_heap_); for (auto& i : heap_) { vkFreeMemory(device_, i.device_memory, nullptr); vkDestroyBuffer(device_, i.buffer, nullptr); } heap_.clear(); }