]> git.tdb.fi Git - libs/gl.git/blobdiff - source/extension.cpp
Remove the deprecated ProgramBuilder class
[libs/gl.git] / source / extension.cpp
index 2dc298c1f5105f13892d2d499567fd0112424a1e..8618cc3eeef599e7c7a1dc36fe2ef724f234e91f 100644 (file)
@@ -2,7 +2,9 @@
 #include <cstdlib>
 #if defined(__ANDROID__)
 #include <EGL/egl.h>
-#elif !defined(_WIN32) && !defined(__APPLE__)
+#elif defined(_WIN32)
+#include <windows.h>
+#elif !defined(__APPLE__)
 #define GLX_GLXEXT_PROTOTYPES
 #include <GL/glx.h>
 #endif
@@ -79,6 +81,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;
 
@@ -134,10 +139,8 @@ bool is_disabled(const string &ext)
                        string renderer = renderer_ptr;
                        if(renderer.find("Radeon")!=string::npos || renderer.find("AMD")!=string::npos)
                        {
-                               /* Radeon doesn't process NV_primitive_restart correctly and treats
-                               the restart index as a normal element if the indices are stored in a
-                               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. */
@@ -195,7 +198,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;
        }
 
@@ -223,7 +226,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;
        }