diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2016-01-29 10:43:35 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-03-01 14:46:14 +0000 |
commit | 29d8159c4478a5275d2ea102daf270a91ed7e92e (patch) | |
tree | 709a145107cdfc58e67b4fabe6a76534d5cc7801 /src/platformsupport/cglconvenience/cglconvenience.mm | |
parent | 7ee585bbffb4350ec327116d30cd63e3d1142581 (diff) |
Avoid repeated QByteArray creation when resolving opengl functions
Add an getProcAddress(const char *) overload to QOpenGLContext,
and refactor the QPA interface to take a const char *. Like this
we can avoid lots of mallocs when resoving GL methods.
Change-Id: Ic45b985fbaa0da8d32ba3e3b485351173352ca6f
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/platformsupport/cglconvenience/cglconvenience.mm')
-rw-r--r-- | src/platformsupport/cglconvenience/cglconvenience.mm | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/platformsupport/cglconvenience/cglconvenience.mm b/src/platformsupport/cglconvenience/cglconvenience.mm index aafd4db863..051b299404 100644 --- a/src/platformsupport/cglconvenience/cglconvenience.mm +++ b/src/platformsupport/cglconvenience/cglconvenience.mm @@ -43,17 +43,17 @@ #include <AppKit/AppKit.h> #include <QVector> -void (*qcgl_getProcAddress(const QByteArray &procName))() +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.constData())); + CFStringRef procNameCF = QCFString::toCFStringRef(QString::fromLatin1(procName)); void *proc = CFBundleGetFunctionPointerForName(bundle, procNameCF); CFRelease(url); CFRelease(bundle); CFRelease(procNameCF); - return (void (*) ())proc; + return (QFunctionPointer)proc; } // Match up with createNSOpenGLPixelFormat below! |