#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 {
bool is_supported(const string &ext)
{
+ if(is_disabled(ext))
+ return false;
+
static set<string> extensions;
static bool init_done = false;
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))
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;
}
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;
}
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;