glCheckFramebufferStatus — check the completeness status of a framebuffer
GLenum glCheckFramebufferStatus( | GLenum | target); | 
            glCheckFramebufferStatus queries the completeness status of the framebuffer object currently bound to target.
            target must be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER.
            GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER.
        
            The return value is GL_FRAMEBUFFER_COMPLETE if the framebuffer bound to target is complete. Otherwise,
            the return value is determined as follows:
            
                        GL_FRAMEBUFFER_UNDEFINED is returned if target is the default framebuffer, but the default framebuffer does not exist.
                    
                        GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT is returned if any of the framebuffer attachment points are framebuffer incomplete.
                    
                        GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT is returned if the framebuffer does not have at least one image attached to it.
                    
                        GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER is returned if the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
                         is GL_NONE for any color attachment point(s) named by GL_DRAW_BUFFERi.
                    
                        GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER is returned if GL_READ_BUFFER is not GL_NONE
                        and the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_NONE for the color attachment point named
                        by GL_READ_BUFFER.
                    
                        GL_FRAMEBUFFER_UNSUPPORTED is returned if the combination of internal formats of the attached images violates
                        an implementation-dependent set of restrictions.
                    
                        GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE is returned if the value of GL_RENDERBUFFER_SAMPLES is not the same
                        for all attached renderbuffers; if the value of GL_TEXTURE_SAMPLES is the not same for all attached textures; or, if the attached
                        images are a mix of renderbuffers and textures, the value of GL_RENDERBUFFER_SAMPLES does not match the value of
                        GL_TEXTURE_SAMPLES.
                    
                        GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE is also returned if the value of GL_TEXTURE_FIXED_SAMPLE_LOCATIONS is
                        not the same for all attached textures; or, if the attached images are a mix of renderbuffers and textures, the value of GL_TEXTURE_FIXED_SAMPLE_LOCATIONS
                        is not GL_TRUE for all attached textures.
                    
                        GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS is returned if any framebuffer attachment is layered, and any populated attachment is not layered,
                        or if all populated color attachments are not from textures of the same target.
                    
Additionally, if an error occurs, zero is returned.
            GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER,
            GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER.
        
Copyright © 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.