X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fext_framebuffer_blit.cpp;h=6fec8a6861916bcbe4651e390d8491bf8493fa2f;hb=a3d248c7db9f04919ed5e4053f6e2a2f776cec47;hp=7519e13cf24e3663870b22c24c7711fab9f89094;hpb=4acc43935d3b19bae688e89ed42119e326a26f2d;p=libs%2Fgl.git diff --git a/source/ext_framebuffer_blit.cpp b/source/ext_framebuffer_blit.cpp index 7519e13c..6fec8a68 100644 --- a/source/ext_framebuffer_blit.cpp +++ b/source/ext_framebuffer_blit.cpp @@ -1,15 +1,26 @@ -#include "extension.h" #include "ext_framebuffer_blit.h" namespace Msp { namespace GL { -PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebufferEXT = 0; +PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebuffer = 0; -void init_ext_framebuffer_blit() +Extension::SupportLevel init_ext_framebuffer_blit() { - glBlitFramebufferEXT = reinterpret_cast(get_proc_address("glBlitFramebufferEXT")); + if(is_version_at_least(3, 0) || is_supported("GL_ARB_framebuffer_object")) + { + glBlitFramebuffer = reinterpret_cast(get_proc_address("glBlitFramebuffer")); + return Extension::CORE; + } + if(is_supported("GL_EXT_framebuffer_blit")) + { + glBlitFramebuffer = reinterpret_cast(get_proc_address("glBlitFramebufferEXT")); + return Extension::EXTENSION; + } + return Extension::UNSUPPORTED; } +Extension EXT_framebuffer_blit("GL_EXT_framebuffer_blit", init_ext_framebuffer_blit); + } // namespace GL } // namespace Msp