diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2016-02-02 09:50:19 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-03-02 12:16:23 +0000 |
commit | 696dc4f6dfcac6b2bbc6c874408cb9127f5abdf1 (patch) | |
tree | f620361147fa5be44b52867269bb48d5c225274b | |
parent | 69f29b90322338bb7cd884a0cecdb8dd5dd2573e (diff) |
Simplify and speed up code resolving gl functions
Change-Id: I36d8881b658760dde18e4f52742c49f3c0cab7a5
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-rw-r--r-- | src/platformsupport/cglconvenience/cglconvenience.mm | 14 | ||||
-rw-r--r-- | src/platformsupport/cglconvenience/cglconvenience_p.h | 1 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaglcontext.mm | 3 |
3 files changed, 3 insertions, 15 deletions
diff --git a/src/platformsupport/cglconvenience/cglconvenience.mm b/src/platformsupport/cglconvenience/cglconvenience.mm index 051b299404..a18510a9e2 100644 --- a/src/platformsupport/cglconvenience/cglconvenience.mm +++ b/src/platformsupport/cglconvenience/cglconvenience.mm @@ -42,19 +42,7 @@ #include <QtCore/private/qcore_mac_p.h> #include <AppKit/AppKit.h> #include <QVector> - -QFunctionPointer qcgl_getProcAddress(const char *procName) -{ - CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, - CFSTR("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, false); - CFBundleRef bundle = CFBundleCreate(kCFAllocatorDefault, url); - CFStringRef procNameCF = QCFString::toCFStringRef(QString::fromLatin1(procName)); - void *proc = CFBundleGetFunctionPointerForName(bundle, procNameCF); - CFRelease(url); - CFRelease(bundle); - CFRelease(procNameCF); - return (QFunctionPointer)proc; -} +#include <qdebug.h> // Match up with createNSOpenGLPixelFormat below! QSurfaceFormat qcgl_surfaceFormat() diff --git a/src/platformsupport/cglconvenience/cglconvenience_p.h b/src/platformsupport/cglconvenience/cglconvenience_p.h index adc1879916..e531e73549 100644 --- a/src/platformsupport/cglconvenience/cglconvenience_p.h +++ b/src/platformsupport/cglconvenience/cglconvenience_p.h @@ -55,7 +55,6 @@ #include <QString> #include <OpenGL/OpenGL.h> -QFunctionPointer qcgl_getProcAddress(const char *procName); QSurfaceFormat qcgl_surfaceFormat(); void *qcgl_createNSOpenGLPixelFormat(const QSurfaceFormat &format); diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.mm b/src/plugins/platforms/cocoa/qcocoaglcontext.mm index c004f26d02..7a12969972 100644 --- a/src/plugins/platforms/cocoa/qcocoaglcontext.mm +++ b/src/plugins/platforms/cocoa/qcocoaglcontext.mm @@ -44,6 +44,7 @@ #include <QtCore/private/qcore_mac_p.h> #include <QtPlatformSupport/private/cglconvenience_p.h> #include <QtPlatformHeaders/qcocoanativecontext.h> +#include <dlfcn.h> #import <AppKit/AppKit.h> @@ -337,7 +338,7 @@ void QCocoaGLContext::doneCurrent() QFunctionPointer QCocoaGLContext::getProcAddress(const char *procName) { - return qcgl_getProcAddress(procName); + return (QFunctionPointer)dlsym(RTLD_DEFAULT, procName); } void QCocoaGLContext::update() |