summaryrefslogtreecommitdiffstats
path: root/src/hardwareintegration/client
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-11-07 23:13:13 +0100
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-11-11 12:27:49 +0000
commit51abcc7460da76bd64d4336dcf253c571b820e71 (patch)
tree0372b7828dda48d5dc8933f1a02e1ea1952be108 /src/hardwareintegration/client
parent618c2bfc35b522d2fae05b00b0ef5412d9bf28f5 (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')
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp4
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h1
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp1
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>