summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2016-02-02 09:50:19 +0100
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-03-02 12:16:23 +0000
commit696dc4f6dfcac6b2bbc6c874408cb9127f5abdf1 (patch)
treef620361147fa5be44b52867269bb48d5c225274b /src
parent69f29b90322338bb7cd884a0cecdb8dd5dd2573e (diff)
Simplify and speed up code resolving gl functions
Change-Id: I36d8881b658760dde18e4f52742c49f3c0cab7a5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/platformsupport/cglconvenience/cglconvenience.mm14
-rw-r--r--src/platformsupport/cglconvenience/cglconvenience_p.h1
-rw-r--r--src/plugins/platforms/cocoa/qcocoaglcontext.mm3
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()