BlitFrameBufferEXT is throwing INVALID_OPERATION, with a READ_FRAMEBUFFER of my valid color-only FBO, and a DRAW_FRAMEBUFFER of 0, the window.
0 is also NONE, and the spec argues that nothing should happen if either buffer is NONE.
Clearly I’m confused here, and could use some enlightenment. You should be able to blit from a framebuffer object to the default unnamed framebuffer, right?
glBindFramebufferEXT( GL_DRAW_FRAMEBUFFER_EXT, 0 ); CHECKGL; glBindFramebufferEXT( GL_READ_FRAMEBUFFER_EXT, rt.fbo->_handle ); CHECKGL; GL_CHECK_FRAMEBUFFER_STATUS( GL_DRAW_FRAMEBUFFER_EXT ); GL_CHECK_FRAMEBUFFER_STATUS( GL_READ_FRAMEBUFFER_EXT ); CHECKGL; glBlitFramebufferEXT( 0, 0, rt.width, rt.height, 0, 0, appWindow.width, appWindow.height, GL_COLOR_BUFFER_BIT, GL_NEAREST );
CHECKGL is a macro for glGetError
Only the blit causes an error, if I comment it out, everything goes on its invisible-but-seeming-to-work way.
What mistakes should I be looking for? My old FBO path w/ Texture2D still works.