]> git.tdb.fi Git - libs/gl.git/commitdiff
Add function to check GLSL version
authorMikko Rasa <tdb@tdb.fi>
Mon, 25 Nov 2013 15:22:12 +0000 (17:22 +0200)
committerMikko Rasa <tdb@tdb.fi>
Mon, 25 Nov 2013 15:22:12 +0000 (17:22 +0200)
source/extension.cpp
source/extension.h

index 41b06b217f79c9df88c83498eb595d41cbecaca9..d03616651b39e97c7937c9f9902d7108c11f7b89 100644 (file)
@@ -103,6 +103,18 @@ const Version &get_gl_version()
        return version;
 }
 
+inline Version _get_glsl_version()
+{
+       string glsl_ver = reinterpret_cast<const char *>(glGetString(GL_SHADING_LANGUAGE_VERSION));
+       return Version(glsl_ver.substr(0, glsl_ver.find(' ')));
+}
+
+const Version &get_glsl_version()
+{
+       static Version version = _get_glsl_version();
+       return version;
+}
+
 bool is_version_at_least(unsigned a, unsigned b)
 {
        return get_gl_version()>=Version(a, b);
index df6bd78d35fbdd26264c1e286608a916d1bc0f94..e0fe3eff4bdcf4aa4c54428a0c18a356c09d2b73 100644 (file)
@@ -59,6 +59,9 @@ bool is_supported(const std::string &);
 /** Returns the OpenGL version number, as reported by the implementation. */
 const Version &get_gl_version();
 
+/** Returns the GLSL version number, as reported by the implementation. */
+const Version &get_glsl_version();
+
 /** Indicates whether the OpenGL version is at least a.b. */
 bool is_version_at_least(unsigned a, unsigned b);