1 #ifndef MSP_GL_FRAMEBUFFER_BACKEND_H_
2 #define MSP_GL_FRAMEBUFFER_BACKEND_H_
5 #include <msp/core/noncopyable.h>
6 #include "frameformat.h"
11 class OpenGLFramebuffer: public NonCopyable
13 friend class OpenGLCommands;
14 friend class OpenGLPipelineState;
18 mutable unsigned status;
20 OpenGLFramebuffer(bool);
21 OpenGLFramebuffer(OpenGLFramebuffer &&);
24 void set_system_format(const FrameFormat &);
25 static bool is_format_supported(const FrameFormat &);
26 static void require_layered();
28 void resize_system(unsigned, unsigned);
29 void update(unsigned) const;
30 void require_complete() const;
32 void set_debug_name(const std::string &);
35 using FramebufferBackend = OpenGLFramebuffer;