From: José Fonseca Date: Mon, 31 Oct 2011 14:00:13 +0000 (+0000) Subject: gluCheckExtension does not exist on Windows. X-Git-Url: https://git.cworth.org/git?p=apitrace-tests;a=commitdiff_plain;h=bddf57766cf7d52011d4298917aaf3a8e042964b gluCheckExtension does not exist on Windows. --- 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;