X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fscreen%2Fextensions.cxx;h=8ef03a6aa740ebe42b7cfe9db29488735a6cf440;hb=5f804cb0eb126ab7162855dad14d20eb381309c6;hp=8f9797903f2d22cb51c9490b9ec53326bdeef074;hpb=a191e9762a2e978c4555543d959893b5a6fa3675;p=simgear.git diff --git a/simgear/screen/extensions.cxx b/simgear/screen/extensions.cxx index 8f979790..8ef03a6a 100644 --- a/simgear/screen/extensions.cxx +++ b/simgear/screen/extensions.cxx @@ -22,16 +22,17 @@ * */ -#include #include "extensions.hxx" -#include -static bool SGSearchExtensionsString(char *extString, char *extName) { +#include +#include // for glGetString + +bool SGSearchExtensionsString(const char *extString, const char *extName) { // Returns GL_TRUE if the *extName string appears in the *extString string, // surrounded by white spaces, or GL_FALSE otherwise. - char *p, *end; + const char *p, *end; int n, extNameLen; if ((extString == NULL) || (extName == NULL)) @@ -53,73 +54,12 @@ static bool SGSearchExtensionsString(char *extString, char *extName) { return GL_FALSE; } -bool SGIsOpenGLExtensionSupported(char *extName) { +bool SGIsOpenGLExtensionSupported(const char *extName) { // Returns GL_TRUE if the OpenGL Extension whose name is *extName // is supported by the system, or GL_FALSE otherwise. // // The *extName string must follow the OpenGL extensions naming scheme // (ie: "GL_type_extension", like GL_EXT_convolution) - return SGSearchExtensionsString((char *)glGetString(GL_EXTENSIONS),extName); -} - -#ifdef __APPLE__ - -#include - -void* macosxGetGLProcAddress(const char *func) { - - /* We may want to cache the bundleRef at some point */ - static CFBundleRef bundle = 0; - - if (!bundle) { - - CFURLRef bundleURL = CFURLCreateWithFileSystemPath (kCFAllocatorDefault, - CFSTR("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, true); - - bundle = CFBundleCreate (kCFAllocatorDefault, bundleURL); - CFRelease (bundleURL); - } - - if (!bundle) - return 0; - - CFStringRef functionName = CFStringCreateWithCString - (kCFAllocatorDefault, func, kCFStringEncodingASCII); - - void *function; - - function = CFBundleGetFunctionPointerForName (bundle, functionName); - - CFRelease (functionName); - - return function; -} - -#elif !defined( WIN32 ) - -void *SGGetGLProcAddress(const char *func) { - static void *libHandle = NULL; - void *fptr = NULL; - - /* - * Clear the error buffer - */ - dlerror(); - - if (libHandle == NULL) - libHandle = dlopen("libGL.so", RTLD_LAZY); - - if (libHandle != NULL) { - fptr = dlsym(libHandle, func); - - char *error = dlerror(); - if (error) - SG_LOG(SG_GENERAL, SG_INFO, error); - } - - return fptr; + return SGSearchExtensionsString((const char *)glGetString(GL_EXTENSIONS),extName); } - -#endif -