/* AMD's uniform buffer objects only work with the core version of
shaders. */
- if(!(get_gl_version()>=Version(2, 0)))
+ if(get_gl_version()<Version(2, 0))
extensions.erase("GL_ARB_uniform_buffer_object");
}
}
#endif
}
+inline GLProfile _get_gl_profile()
+{
+ if(get_gl_api()==OPENGL && get_gl_version()>=Version(3, 0))
+ {
+ int mask;
+ glGetIntegerv(GL_CONTEXT_PROFILE_MASK, &mask);
+ if(mask==GL_CONTEXT_CORE_PROFILE_BIT)
+ return CORE_PROFILE;
+ }
+
+ return COMPATIBILITY_PROFILE;
+}
+
+GLProfile get_gl_profile()
+{
+ static GLProfile profile = _get_gl_profile();
+ return profile;
+}
+
inline Version _get_gl_version()
{
const char *gl_ver_ptr = reinterpret_cast<const char *>(glGetString(GL_VERSION));