1 #ifndef MSP_GL_FRAMEBUFFER_BACKEND_H_
2 #define MSP_GL_FRAMEBUFFER_BACKEND_H_
5 #include "frameformat.h"
14 class VulkanFramebuffer: public NonCopyable
16 friend class RenderPass;
17 friend class VulkanCommands;
18 friend class VulkanPipelineState;
22 mutable VkFramebuffer handle = 0;
23 mutable std::vector<VkImageView> view_handles;
24 std::string debug_name;
26 VulkanFramebuffer(bool);
27 VulkanFramebuffer(VulkanFramebuffer &&);
30 bool is_format_supported(const FrameFormat &) const;
31 void format_changed(const FrameFormat &) { }
32 static void require_layered() { }
34 bool is_presentable() const;
36 void update(unsigned) const;
37 void require_complete() const { }
39 void prepare_image_layouts(bool = false) const;
41 void set_debug_name(const std::string &);
42 void set_vulkan_object_name() const;
45 using FramebufferBackend = VulkanFramebuffer;