]> git.tdb.fi Git - libs/gl.git/blobdiff - source/extension.cpp
Add functions to control environment map updates
[libs/gl.git] / source / extension.cpp
index b65172fc691dc4b71e8ba2d4c5dc6e03eac9bfa2..a095986123dd535d192881c2870649ae8e936e43 100644 (file)
 #include "extension.h"
 #include "gl.h"
 
+#ifndef GL_VERSION_3_0
+#define GL_NUM_EXTENSIONS 0x821D
+#endif
+
+#ifndef GL_VERSION_3_2
+#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
+#define GL_CONTEXT_PROFILE_MASK 0x9126
+#endif
+
 using namespace std;
 
 namespace Msp {
@@ -70,6 +79,9 @@ Require::Require(const Extension &ext)
 
 bool is_supported(const string &ext)
 {
+       if(is_disabled(ext))
+               return false;
+
        static set<string> extensions;
        static bool init_done = false;
 
@@ -130,6 +142,9 @@ bool is_disabled(const string &ext)
                                buffer. */
                                disabled_exts.insert("GL_NV_primitive_restart");
 
+                               // The core primitive restart feature does not work either.
+                               disabled_exts.insert("GL_MSP_primitive_restart");
+
                                /* AMD's uniform buffer objects only work with the core version of
                                shaders. */
                                if(get_gl_version()<Version(2, 0))
@@ -186,7 +201,7 @@ inline Version _get_gl_version()
        if(const char *force_ver_ptr = getenv("MSPGL_FORCE_VERSION"))
        {
                Version force_ver(force_ver_ptr);
-               if(!(force_ver>=ver))
+               if(force_ver<ver)
                        ver = force_ver;
        }
 
@@ -214,7 +229,7 @@ inline Version _get_glsl_version()
        if(const char *force_ver_ptr = getenv("MSPGL_FORCE_GLSL_VERSION"))
        {
                Version force_ver(force_ver_ptr);
-               if(!(force_ver>=ver))
+               if(force_ver<ver)
                        ver = force_ver;
        }
 
@@ -229,7 +244,7 @@ const Version &get_glsl_version()
 
 ExtFunc *get_proc_address(const string &name)
 {
-#if defined(WIN32)
+#if defined(_WIN32)
        return reinterpret_cast<ExtFunc *>(wglGetProcAddress(name.c_str()));
 #elif defined(__APPLE__)
        (void)name;