X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Fframebuffer_backend.h;h=258db95fe9bbc0438ca01f77b95f6614a5ea444e;hb=HEAD;hp=7a7ebfbe82d3da5a8fa577ab3cb0c67b59d6faf9;hpb=24ad0788cfe20dc619669429615220061b4865ea;p=libs%2Fgl.git diff --git a/source/backends/opengl/framebuffer_backend.h b/source/backends/opengl/framebuffer_backend.h index 7a7ebfbe..258db95f 100644 --- a/source/backends/opengl/framebuffer_backend.h +++ b/source/backends/opengl/framebuffer_backend.h @@ -2,29 +2,36 @@ #define MSP_GL_FRAMEBUFFER_BACKEND_H_ #include +#include #include "frameformat.h" namespace Msp { namespace GL { -class OpenGLFramebuffer +class OpenGLFramebuffer: public NonCopyable { friend class OpenGLCommands; friend class OpenGLPipelineState; protected: unsigned id = 0; + unsigned resolve_id = 0; mutable unsigned status; OpenGLFramebuffer(bool); + OpenGLFramebuffer(OpenGLFramebuffer &&); ~OpenGLFramebuffer(); void set_system_format(const FrameFormat &); static bool is_format_supported(const FrameFormat &); + void format_changed(const FrameFormat &); static void require_layered(); + bool is_presentable() const { return id==0; } + void resize_system(unsigned, unsigned); void update(unsigned) const; + void update(unsigned, bool) const; void require_complete() const; void set_debug_name(const std::string &);