+++ /dev/null
-#include "arb_uniform_buffer_object.h"
-
-namespace Msp {
-namespace GL {
-
-PFNGLBINDBUFFERBASEPROC glBindBufferBase = 0;
-PFNGLBINDBUFFERRANGEPROC glBindBufferRange = 0;
-PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glGetActiveUniformBlockName = 0;
-PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv = 0;
-PFNGLGETACTIVEUNIFORMNAMEPROC glGetActiveUniformName = 0;
-PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv = 0;
-PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex = 0;
-PFNGLGETUNIFORMINDICESPROC glGetUniformIndices = 0;
-PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding = 0;
-
-Extension::SupportLevel init_arb_uniform_buffer_object()
-{
- if(is_version_at_least(3, 0) || is_supported("GL_ARB_uniform_buffer_object"))
- {
- glBindBufferBase = reinterpret_cast<PFNGLBINDBUFFERBASEPROC>(get_proc_address("glBindBufferBase"));
- glBindBufferRange = reinterpret_cast<PFNGLBINDBUFFERRANGEPROC>(get_proc_address("glBindBufferRange"));
- glGetActiveUniformBlockName = reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC>(get_proc_address("glGetActiveUniformBlockName"));
- glGetActiveUniformBlockiv = reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIVPROC>(get_proc_address("glGetActiveUniformBlockiv"));
- glGetActiveUniformName = reinterpret_cast<PFNGLGETACTIVEUNIFORMNAMEPROC>(get_proc_address("glGetActiveUniformName"));
- glGetActiveUniformsiv = reinterpret_cast<PFNGLGETACTIVEUNIFORMSIVPROC>(get_proc_address("glGetActiveUniformsiv"));
- glGetUniformBlockIndex = reinterpret_cast<PFNGLGETUNIFORMBLOCKINDEXPROC>(get_proc_address("glGetUniformBlockIndex"));
- glGetUniformIndices = reinterpret_cast<PFNGLGETUNIFORMINDICESPROC>(get_proc_address("glGetUniformIndices"));
- glUniformBlockBinding = reinterpret_cast<PFNGLUNIFORMBLOCKBINDINGPROC>(get_proc_address("glUniformBlockBinding"));
- return Extension::CORE;
- }
- return Extension::UNSUPPORTED;
-}
-
-Extension ARB_uniform_buffer_object("GL_ARB_uniform_buffer_object", init_arb_uniform_buffer_object);
-
-} // namespace GL
-} // namespace Msp