]> git.tdb.fi Git - libs/gl.git/blobdiff - source/framebuffer.cpp
Add sanity checks to bind functions
[libs/gl.git] / source / framebuffer.cpp
index 237f417a9b45db982ffe54e8a59e0bf9a8895e8f..f402b64366e98e4d1cc44e56fb446d14a495d4bf 100644 (file)
@@ -39,6 +39,15 @@ void operator<<(LexicalConverter &conv, FramebufferStatus status)
        case FRAMEBUFFER_INCOMPLETE_READ_BUFFER:
                conv.result("missing read buffer attachment");
                break;
+       case FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:
+               conv.result("mismatched attachment sample counts");
+               break;
+       case FRAMEBUFFER_INCOMPLETE_LAYER_COUNT:
+               conv.result("mismatched attachment layer counts");
+               break;
+       case FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS:
+               conv.result("mismatched attachment layering");
+               break;
        case FRAMEBUFFER_UNSUPPORTED:
                conv.result("unsupported");
                break;
@@ -346,6 +355,9 @@ void Framebuffer::blit_from(const Framebuffer &other, BufferBits bits, bool filt
 
 void Framebuffer::bind() const
 {
+       if(attachments.empty())
+               throw invalid_operation("Framebuffer::bind");
+
        if(set_current(this))
        {
                glBindFramebuffer(GL_FRAMEBUFFER, id);