diff --git a/auto/core/GL_VERSION_2_0 b/auto/core/GL_VERSION_2_0 new file mode 100644 index 0000000..d00d7eb --- /dev/null +++ b/auto/core/GL_VERSION_2_0 @@ -0,0 +1 @@ +GL_VERSION_2_0 diff --git a/auto/src/glew_gl.c b/auto/src/glew_gl.c index e429c49..c310af7 100644 --- a/auto/src/glew_gl.c +++ b/auto/src/glew_gl.c @@ -57,56 +57,77 @@ static GLenum glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST) { const GLubyte* s; - GLuint i; + GLuint major, minor; /* query opengl version */ s = glGetString(GL_VERSION); if (!s) return GLEW_ERROR_NO_GL_VERSION; - i = _glewStrCLen(s, '.')+1; - if (s+i-1 == NULL || s+i == NULL || s[i] < '1') + major = _glewStrCLen(s, '.')-1; + minor = _glewStrCLen(s, '.')+1; + + if (s+major == NULL + || s+minor-1 == NULL || s+minor == NULL + || (s[major] == 1 && s[minor] < '1')) { return GLEW_ERROR_GL_VERSION_10_ONLY; } else { - if (s[i] >= '5') + if (s[major] >= '2') { GLEW_VERSION_1_1 = GL_TRUE; GLEW_VERSION_1_2 = GL_TRUE; GLEW_VERSION_1_3 = GL_TRUE; GLEW_VERSION_1_4 = GL_TRUE; GLEW_VERSION_1_5 = GL_TRUE; + GLEW_VERSION_2_0 = GL_TRUE; } - if (s[i] == '4') + else { - GLEW_VERSION_1_1 = GL_TRUE; - GLEW_VERSION_1_2 = GL_TRUE; - GLEW_VERSION_1_3 = GL_TRUE; - GLEW_VERSION_1_4 = GL_TRUE; - GLEW_VERSION_1_5 = GL_FALSE; - } - if (s[i] == '3') - { - GLEW_VERSION_1_1 = GL_TRUE; - GLEW_VERSION_1_2 = GL_TRUE; - GLEW_VERSION_1_3 = GL_TRUE; - GLEW_VERSION_1_4 = GL_FALSE; - GLEW_VERSION_1_5 = GL_FALSE; - } - if (s[i] == '2') - { - GLEW_VERSION_1_1 = GL_TRUE; - GLEW_VERSION_1_2 = GL_TRUE; - GLEW_VERSION_1_3 = GL_FALSE; - GLEW_VERSION_1_4 = GL_FALSE; - GLEW_VERSION_1_5 = GL_FALSE; - } - if (s[i] < '2') - { - GLEW_VERSION_1_1 = GL_TRUE; - GLEW_VERSION_1_2 = GL_FALSE; - GLEW_VERSION_1_3 = GL_FALSE; - GLEW_VERSION_1_4 = GL_FALSE; - GLEW_VERSION_1_5 = GL_FALSE; + if (s[minor] >= '5') + { + GLEW_VERSION_1_1 = GL_TRUE; + GLEW_VERSION_1_2 = GL_TRUE; + GLEW_VERSION_1_3 = GL_TRUE; + GLEW_VERSION_1_4 = GL_TRUE; + GLEW_VERSION_1_5 = GL_TRUE; + GLEW_VERSION_2_0 = GL_FALSE; + } + if (s[minor] == '4') + { + GLEW_VERSION_1_1 = GL_TRUE; + GLEW_VERSION_1_2 = GL_TRUE; + GLEW_VERSION_1_3 = GL_TRUE; + GLEW_VERSION_1_4 = GL_TRUE; + GLEW_VERSION_1_5 = GL_FALSE; + GLEW_VERSION_2_0 = GL_FALSE; + } + if (s[minor] == '3') + { + GLEW_VERSION_1_1 = GL_TRUE; + GLEW_VERSION_1_2 = GL_TRUE; + GLEW_VERSION_1_3 = GL_TRUE; + GLEW_VERSION_1_4 = GL_FALSE; + GLEW_VERSION_1_5 = GL_FALSE; + GLEW_VERSION_2_0 = GL_FALSE; + } + if (s[minor] == '2') + { + GLEW_VERSION_1_1 = GL_TRUE; + GLEW_VERSION_1_2 = GL_TRUE; + GLEW_VERSION_1_3 = GL_FALSE; + GLEW_VERSION_1_4 = GL_FALSE; + GLEW_VERSION_1_5 = GL_FALSE; + GLEW_VERSION_2_0 = GL_FALSE; + } + if (s[minor] < '2') + { + GLEW_VERSION_1_1 = GL_TRUE; + GLEW_VERSION_1_2 = GL_FALSE; + GLEW_VERSION_1_3 = GL_FALSE; + GLEW_VERSION_1_4 = GL_FALSE; + GLEW_VERSION_1_5 = GL_FALSE; + GLEW_VERSION_2_0 = GL_FALSE; + } } } /* initialize extensions */ diff --git a/auto/src/glew_pre.h b/auto/src/glew_pre.h index 1485c74..f2012ef 100644 --- a/auto/src/glew_pre.h +++ b/auto/src/glew_pre.h @@ -1096,6 +1096,13 @@ GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei heigh #endif /* GL_VERSION_1_1 */ +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 + +#define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0) + +#endif /* GL_VERSION_2_0 */ + /* ---------------------------------- GLU ---------------------------------- */ /* this is where we can safely include GLU */ @@ -1105,4 +1112,3 @@ GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei heigh #include #endif -