26 lines
674 B
C++
26 lines
674 B
C++
#include "resources/pools/render_target_pool.hpp"
|
|
|
|
#include <tracy/Tracy.hpp>
|
|
|
|
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
|