]> git.tdb.fi Git - libs/gl.git/blobdiff - source/extension.cpp
Add a function to determine the active GL profile
[libs/gl.git] / source / extension.cpp
index 2183a965027d85550447fc77589f419789db890d..78fc7e1c3c767caf5c7ac10693ca3ebc0e947aab 100644 (file)
@@ -132,6 +132,25 @@ GLApi get_gl_api()
 #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));