int _glfwPlatformExtensionSupported(const char* extension) { const GLubyte* extensions; _GLFWwindow* window = _glfwLibrary.currentWindow; if (window->WGL.GetExtensionsStringEXT != NULL) { extensions = (GLubyte*) window->WGL.GetExtensionsStringEXT(); if (extensions != NULL) { if (_glfwStringInExtensionString(extension, extensions)) return GL_TRUE; } } if (window->WGL.GetExtensionsStringARB != NULL) { extensions = (GLubyte*) window->WGL.GetExtensionsStringARB(window->WGL.DC); if (extensions != NULL) { if (_glfwStringInExtensionString(extension, extensions)) return GL_TRUE; } } return GL_FALSE; }
int _glfwPlatformExtensionSupported(const char* extension) { const GLubyte* extensions; _GLFWwindow* window = _glfwPlatformGetCurrentContext(); if (window->wgl.GetExtensionsStringEXT != NULL) { extensions = (GLubyte*) window->wgl.GetExtensionsStringEXT(); if (extensions != NULL) { if (_glfwStringInExtensionString(extension, extensions)) return GL_TRUE; } } if (window->wgl.GetExtensionsStringARB != NULL) { extensions = (GLubyte*) window->wgl.GetExtensionsStringARB(window->wgl.dc); if (extensions != NULL) { if (_glfwStringInExtensionString(extension, extensions)) return GL_TRUE; } } return GL_FALSE; }
static int extensionSupported(const char* extension) { const char* extensions; _GLFWwindow* window = _glfwPlatformGetCurrentContext(); if (_glfw.wgl.GetExtensionsStringEXT) { extensions = _glfw.wgl.GetExtensionsStringEXT(); if (extensions) { if (_glfwStringInExtensionString(extension, extensions)) return GLFW_TRUE; } } if (_glfw.wgl.GetExtensionsStringARB) { extensions = _glfw.wgl.GetExtensionsStringARB(window->context.wgl.dc); if (extensions) { if (_glfwStringInExtensionString(extension, extensions)) return GLFW_TRUE; } } return GLFW_FALSE; }
static int extensionSupportedWGL(const char* extension) { const char* extensions; if (_glfw.wgl.GetExtensionsStringEXT) { extensions = _glfw.wgl.GetExtensionsStringEXT(); if (extensions) { if (_glfwStringInExtensionString(extension, extensions)) return GLFW_TRUE; } } if (_glfw.wgl.GetExtensionsStringARB) { extensions = _glfw.wgl.GetExtensionsStringARB(wglGetCurrentDC()); if (extensions) { if (_glfwStringInExtensionString(extension, extensions)) return GLFW_TRUE; } } return GLFW_FALSE; }
GLFWAPI int glfwExtensionSupported(const char* extension) { const GLubyte* extensions; _GLFWwindow* window; if (!_glfwInitialized) { _glfwInputError(GLFW_NOT_INITIALIZED, NULL); return GL_FALSE; } window = _glfwPlatformGetCurrentContext(); if (!window) { _glfwInputError(GLFW_NO_CURRENT_CONTEXT, NULL); return GL_FALSE; } if (extension == NULL || *extension == '\0') { _glfwInputError(GLFW_INVALID_VALUE, NULL); return GL_FALSE; } if (window->glMajor < 3) { // Check if extension is in the old style OpenGL extensions string extensions = glGetString(GL_EXTENSIONS); if (extensions != NULL) { if (_glfwStringInExtensionString(extension, extensions)) return GL_TRUE; } } #if defined(_GLFW_USE_OPENGL) else { int i; GLint count; // Check if extension is in the modern OpenGL extensions string list glGetIntegerv(GL_NUM_EXTENSIONS, &count); for (i = 0; i < count; i++) { if (strcmp((const char*) window->GetStringi(GL_EXTENSIONS, i), extension) == 0) { return GL_TRUE; } } } #endif // _GLFW_USE_OPENGL // Check if extension is in the platform-specific string return _glfwPlatformExtensionSupported(extension); }
static int extensionSupported(const char* extension) { const char* extensions = eglQueryString(_glfw.egl.display, EGL_EXTENSIONS); if (extensions) { if (_glfwStringInExtensionString(extension, extensions)) return GLFW_TRUE; } return GLFW_FALSE; }
static int extensionSupportedGLX(const char* extension) { const char* extensions = glXQueryExtensionsString(_glfw.x11.display, _glfw.x11.screen); if (extensions) { if (_glfwStringInExtensionString(extension, extensions)) return GLFW_TRUE; } return GLFW_FALSE; }
int _glfwPlatformExtensionSupported(const char* extension) { const char* extensions = _glfw_glXQueryExtensionsString(_glfw.x11.display, _glfw.x11.screen); if (extensions) { if (_glfwStringInExtensionString(extension, extensions)) return GL_TRUE; } return GL_FALSE; }
int _glfwPlatformExtensionSupported(const char* extension) { const char* extensions; extensions = eglQueryString(_glfw.egl.display, EGL_EXTENSIONS); if (extensions != NULL) { if (_glfwStringInExtensionString(extension, (unsigned char*) extensions)) return GL_TRUE; } return GL_FALSE; }
int _glfwPlatformExtensionSupported(const char *extension) { const GLubyte *extensions; // Get list of GLX extensions extensions = (const GLubyte *) glXQueryExtensionsString(_glfw.x11.display, _glfw.x11.screen); if (extensions != NULL) { if (_glfwStringInExtensionString(extension, extensions)) return GL_TRUE; } return GL_FALSE; }
int _glfwPlatformExtensionSupported( const char *extension ) { const GLubyte *extensions; WGLGETEXTENSIONSSTRINGEXT_T _wglGetExtensionsStringEXT; WGLGETEXTENSIONSSTRINGARB_T _wglGetExtensionsStringARB; // Try wglGetExtensionsStringEXT _wglGetExtensionsStringEXT = (WGLGETEXTENSIONSSTRINGEXT_T) wglGetProcAddress( "wglGetExtensionsStringEXT" ); if( _wglGetExtensionsStringEXT != NULL ) { extensions = (GLubyte *) _wglGetExtensionsStringEXT(); if( extensions != NULL ) { if( _glfwStringInExtensionString( extension, extensions ) ) { return GL_TRUE; } } } // Try wglGetExtensionsStringARB _wglGetExtensionsStringARB = (WGLGETEXTENSIONSSTRINGARB_T) wglGetProcAddress( "wglGetExtensionsStringARB" ); if( _wglGetExtensionsStringARB != NULL ) { extensions = (GLubyte *) _wglGetExtensionsStringARB(_glfwWin.DC); if( extensions != NULL ) { if( _glfwStringInExtensionString( extension, extensions ) ) { return GL_TRUE; } } } return GL_FALSE; }
static int extensionSupportedWGL(const char* extension) { const char* extensions = NULL; if (_glfw.wgl.GetExtensionsStringARB) extensions = _glfw.wgl.GetExtensionsStringARB(wglGetCurrentDC()); else if (_glfw.wgl.GetExtensionsStringEXT) extensions = _glfw.wgl.GetExtensionsStringEXT(); if (!extensions) return GLFW_FALSE; return _glfwStringInExtensionString(extension, extensions); }
GLFWAPI int glfwExtensionSupported(const char* extension) { _GLFWwindow* window; _GLFW_REQUIRE_INIT_OR_RETURN(GL_FALSE); window = _glfwPlatformGetCurrentContext(); if (!window) { _glfwInputError(GLFW_NO_CURRENT_CONTEXT, NULL); return GL_FALSE; } if (*extension == '\0') { _glfwInputError(GLFW_INVALID_VALUE, NULL); return GL_FALSE; } #if defined(_GLFW_USE_OPENGL) if (window->context.major >= 3) { int i; GLint count; // Check if extension is in the modern OpenGL extensions string list window->GetIntegerv(GL_NUM_EXTENSIONS, &count); for (i = 0; i < count; i++) { const char* en = (const char*) window->GetStringi(GL_EXTENSIONS, i); if (!en) { _glfwInputError(GLFW_PLATFORM_ERROR, "Failed to retrieve extension string %i", i); return GL_FALSE; } if (strcmp(en, extension) == 0) return GL_TRUE; } } else #endif // _GLFW_USE_OPENGL { // Check if extension is in the old style OpenGL extensions string const char* extensions = (const char*) window->GetString(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); }