#include "resources/pools/render_target_pool.hpp" #include namespace sophia { RenderTargetPool::RenderTargetPool(Device& device, vk::Format format) : device{device}, format{format} {} RenderTargetHandle RenderTargetPool::create(u32 width, u32 height) { return pool.create(device, format, width, height); } void RenderTargetPool::release(RenderTargetHandle handle) { SOPHIA_ASSERT(pool.isAlive(handle), "invalid RenderTargetHandle"); device.waitIdle(); pool.release(handle); } void RenderTargetPool::applyPendingResizes() { ZoneScoped; pool.forEach([](RenderTarget& target) { target.applyPendingResize(); }); } } // namespace sophia