+bool VulkanFramebuffer::is_presentable() const
+{
+ const Framebuffer &self = *static_cast<const Framebuffer *>(this);
+ return std::any_of(self.attachments.begin(), self.attachments.end(),
+ [](const Framebuffer::Attachment &a){ return dynamic_cast<const SwapChainTexture *>(a.tex); });
+}
+