diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2015-11-07 23:13:13 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2015-11-11 12:27:49 +0000 |
commit | 51abcc7460da76bd64d4336dcf253c571b820e71 (patch) | |
tree | 0372b7828dda48d5dc8933f1a02e1ea1952be108 /src/hardwareintegration/client | |
parent | 618c2bfc35b522d2fae05b00b0ef5412d9bf28f5 (diff) |
RPi: Resolve all BRCM functions dynamically
Directly calling eglCreateGlobalImageBRCM and friends is not ideal due to the
messy RPi distro setups: shipping Mesa (sw rasterizer only) in standard locations
may cause picking up those EGL/GLES libs instead of the Broadcom ones from /opt/vc
when building Qt. While this is something that should be fixed in the sysroot (since
it is a problem at runtime anyway), let's make life easier by resolving via
eglGetProcAddress, which is the right approach in any case.
Change-Id: I73f7698b638691d97743a6f819bc7c8ee6ebd245
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
Diffstat (limited to 'src/hardwareintegration/client')
3 files changed, 2 insertions, 4 deletions
diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp index c9ebb96b4..ca4b653af 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp @@ -90,13 +90,13 @@ void QWaylandBrcmEglIntegration::initialize(QWaylandDisplay *waylandDisplay) qWarning("failed to resolve eglFlushBRCM, performance will suffer"); } - eglCreateGlobalImageBRCM = ::eglCreateGlobalImageBRCM; + eglCreateGlobalImageBRCM = (PFNEGLCREATEGLOBALIMAGEBRCMPROC)eglGetProcAddress("eglCreateGlobalImageBRCM"); if (!eglCreateGlobalImageBRCM) { qWarning("failed to resolve eglCreateGlobalImageBRCM"); return; } - eglDestroyGlobalImageBRCM = ::eglDestroyGlobalImageBRCM; + eglDestroyGlobalImageBRCM = (PFNEGLDESTROYGLOBALIMAGEBRCMPROC)eglGetProcAddress("eglDestroyGlobalImageBRCM"); if (!eglDestroyGlobalImageBRCM) { qWarning("failed to resolve eglDestroyGlobalImageBRCM"); return; diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h index 7fe557fbb..cc5940f4e 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h @@ -40,7 +40,6 @@ #include <EGL/egl.h> #include <EGL/eglext.h> -#define EGL_EGLEXT_PROTOTYPES #include <EGL/eglext_brcm.h> #include <QtCore/qglobal.h> diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp index 7cead1dc7..54e95317b 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp @@ -42,7 +42,6 @@ #include <QtGui/QWindow> #include <qpa/qwindowsysteminterface.h> -#define EGL_EGLEXT_PROTOTYPES #include <EGL/eglext_brcm.h> #include <wayland-client.h> |