From Mathias Froehlich, "Without this change packed depth stencil attachments are only supported if the

GL_EXT_framebuffer_blit extension is available. This is due to the early
return from the constructor if this is missing.
As far as I read the standard extension documents, this blit call is not
required to have packed depth stencil fbos.
The change fixes this and allows packed stencil attachments on machines
without the multisample blit command."
This commit is contained in:
Robert Osfield
2009-06-08 13:51:24 +00:00
parent 3ec6c6a4d9
commit 148bd9f232

View File

@@ -94,19 +94,19 @@ FBOExtensions::FBOExtensions(unsigned int contextID)
glFramebufferRenderbufferEXT != 0 &&
glGenerateMipmapEXT != 0;
if (!isGLExtensionSupported(contextID, "GL_EXT_framebuffer_blit"))
return;
LOAD_FBO_EXT(glBlitFramebufferEXT);
if (isGLExtensionSupported(contextID, "GL_EXT_framebuffer_multisample"))
if (isGLExtensionSupported(contextID, "GL_EXT_framebuffer_blit"))
{
LOAD_FBO_EXT(glRenderbufferStorageMultisampleEXT);
}
LOAD_FBO_EXT(glBlitFramebufferEXT);
if (isGLExtensionSupported(contextID, "GL_NV_framebuffer_multisample_coverage"))
{
LOAD_FBO_EXT(glRenderbufferStorageMultisampleCoverageNV);
if (isGLExtensionSupported(contextID, "GL_EXT_framebuffer_multisample"))
{
LOAD_FBO_EXT(glRenderbufferStorageMultisampleEXT);
}
if (isGLExtensionSupported(contextID, "GL_NV_framebuffer_multisample_coverage"))
{
LOAD_FBO_EXT(glRenderbufferStorageMultisampleCoverageNV);
}
}
if (isGLExtensionSupported(contextID, "GL_EXT_packed_depth_stencil"))