From bddf57766cf7d52011d4298917aaf3a8e042964b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Mon, 31 Oct 2011 14:00:13 +0000 Subject: [PATCH] gluCheckExtension does not exist on Windows. --- apps/gl/gremedy.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/apps/gl/gremedy.c b/apps/gl/gremedy.c index 0f6597a..4d4b3b8 100644 --- a/apps/gl/gremedy.c +++ b/apps/gl/gremedy.c @@ -44,6 +44,35 @@ static int win; +/** + * Identical to gluCheckExtension, which is not part of GLU on Windows. + */ +static GLboolean +checkExtension(const char *extName, const GLubyte *extString) +{ + const char *p = (const char *)extString; + const char *q = extName; + char c; + do { + c = *p++; + if (c == '\0' || c == ' ') { + if (q && *q == '\0') { + return GL_TRUE; + } else { + q = extName; + } + } else { + if (q && *q == c) { + ++q; + } else { + q = 0; + } + } + } while (c); + return GL_FALSE; +} + + static void checkGlError(const char *call) { GLenum error = glGetError(); if (error != GL_NO_ERROR) { @@ -60,8 +89,8 @@ static void Init(void) extensions = glGetString(GL_EXTENSIONS); checkGlError("glGetString(GL_EXTENSIONS)"); - has_GL_GREMEDY_string_marker = gluCheckExtension("GL_GREMEDY_string_marker", extensions); - has_GL_GREMEDY_frame_terminator = gluCheckExtension("GL_GREMEDY_string_marker", extensions); + has_GL_GREMEDY_string_marker = checkExtension("GL_GREMEDY_string_marker", extensions); + has_GL_GREMEDY_frame_terminator = checkExtension("GL_GREMEDY_string_marker", extensions); if (GLEW_VERSION_3_0) { GLint has_GL3_GREMEDY_string_marker = 0; -- 2.43.0