diff options
Diffstat (limited to 'glfw/src/context.c')
-rw-r--r-- | glfw/src/context.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/glfw/src/context.c b/glfw/src/context.c index 8f01846..f8b8008 100644 --- a/glfw/src/context.c +++ b/glfw/src/context.c @@ -588,7 +588,6 @@ GLFWAPI void glfwSwapInterval(int interval) GLFWAPI int glfwExtensionSupported(const char* extension) { - const GLubyte* extensions; _GLFWwindow* window; _GLFW_REQUIRE_INIT_OR_RETURN(GL_FALSE); @@ -600,29 +599,14 @@ GLFWAPI int glfwExtensionSupported(const char* extension) return GL_FALSE; } - if (!extension || *extension == '\0') + if (*extension == '\0') { _glfwInputError(GLFW_INVALID_VALUE, NULL); return GL_FALSE; } - if (window->context.major < 3) - { - // Check if extension is in the old style OpenGL extensions string - - extensions = glGetString(GL_EXTENSIONS); - if (!extensions) - { - _glfwInputError(GLFW_PLATFORM_ERROR, - "Failed to retrieve extension string"); - return GL_FALSE; - } - - if (_glfwStringInExtensionString(extension, extensions)) - return GL_TRUE; - } #if defined(_GLFW_USE_OPENGL) - else + if (window->context.major >= 3) { int i; GLint count; @@ -645,7 +629,22 @@ GLFWAPI int glfwExtensionSupported(const char* extension) return GL_TRUE; } } + else #endif // _GLFW_USE_OPENGL + { + // Check if extension is in the old style OpenGL extensions string + + const GLubyte* extensions = glGetString(GL_EXTENSIONS); + if (!extensions) + { + _glfwInputError(GLFW_PLATFORM_ERROR, + "Failed to retrieve extension string"); + return GL_FALSE; + } + + if (_glfwStringInExtensionString(extension, extensions)) + return GL_TRUE; + } // Check if extension is in the platform-specific string return _glfwPlatformExtensionSupported(extension); |