summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config.tests/brcm_egl/brcm_egl.pro10
-rw-r--r--config.tests/brcm_egl/main.cpp67
-rw-r--r--src/compositor/hardware_integration/hardware_integration.pri4
-rw-r--r--src/plugins/platforms/wayland/gl_integration/gl_integration.pri4
-rw-r--r--sync.profile3
5 files changed, 83 insertions, 5 deletions
diff --git a/config.tests/brcm_egl/brcm_egl.pro b/config.tests/brcm_egl/brcm_egl.pro
new file mode 100644
index 000000000..7ad4dcf7e
--- /dev/null
+++ b/config.tests/brcm_egl/brcm_egl.pro
@@ -0,0 +1,10 @@
+TEMPLATE = app
+TARGET = brcm_egl
+QT = core gui
+DEPENDPATH += .
+INCLUDEPATH += .
+
+LIBS += -lEGL -lGLESv2
+
+# Input
+SOURCES += main.cpp
diff --git a/config.tests/brcm_egl/main.cpp b/config.tests/brcm_egl/main.cpp
new file mode 100644
index 000000000..ca43df0d9
--- /dev/null
+++ b/config.tests/brcm_egl/main.cpp
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the Qt Compositor.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <qglobal.h>
+
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+#define EGL_EGLEXT_PROTOTYPES
+#include <EGL/eglext_brcm.h>
+
+int main()
+{
+ EGLDisplay display = eglGetDisplay((EGLNativeDisplayType)EGL_DEFAULT_DISPLAY);
+ if (!display)
+ qFatal("No EGL display");
+ EGLint major, minor;
+ if (!eglInitialize(display, &major, &minor))
+ qFatal("Failed to initialize EGL");
+
+ EGLint pixel_format = EGL_PIXEL_FORMAT_ARGB_8888_BRCM;
+
+ EGLint id[2];
+ eglCreateGlobalImageBRCM(32, 32, pixel_format, 0, 32 * 4, id);
+ eglDestroyGlobalImageBRCM(id);
+
+ eglTerminate(display);
+
+ return 0;
+}
diff --git a/src/compositor/hardware_integration/hardware_integration.pri b/src/compositor/hardware_integration/hardware_integration.pri
index c6735aaf3..0156c4907 100644
--- a/src/compositor/hardware_integration/hardware_integration.pri
+++ b/src/compositor/hardware_integration/hardware_integration.pri
@@ -16,11 +16,11 @@ isEmpty(QT_WAYLAND_GL_CONFIG):QT_WAYLAND_GL_CONFIG = $$(QT_WAYLAND_GL_CONFIG)
isEqual(QT_WAYLAND_GL_CONFIG, xcomposite_egl) {
QT_WAYLAND_GL_INTEGRATION = xcomposite_egl
CONFIG += xcomposite_egl
- } else:isEqual(QT_WAYLAND_GL_CONFIG, brcm_egl) {
+ } else:isEqual(QT_WAYLAND_GL_CONFIG, brcm_egl)|isEmpty(QT_WAYLAND_GL_CONFIG):contains(config_test_brcm_egl,yes) {
QT_WAYLAND_GL_INTEGRATION = brcm_egl
CONFIG += brcm_egl
} else {
- QT_WAYLAND_GL_INTEGRATION = $$QT_WAYLAND_GL_CONFIG
+ QT_WAYLAND_GL_INTEGRATION = wayland_egl
CONFIG += wayland_egl
DEFINES += MESA_EGL_NO_X11_HEADERS
}
diff --git a/src/plugins/platforms/wayland/gl_integration/gl_integration.pri b/src/plugins/platforms/wayland/gl_integration/gl_integration.pri
index f96a9caee..e621c11e8 100644
--- a/src/plugins/platforms/wayland/gl_integration/gl_integration.pri
+++ b/src/plugins/platforms/wayland/gl_integration/gl_integration.pri
@@ -16,11 +16,11 @@ contains(QT_CONFIG, opengl):!equals(QT_WAYLAND_GL_CONFIG, nogl) {
} else:isEqual(QT_WAYLAND_GL_CONFIG,readback) {
QT_WAYLAND_GL_INTEGRATION = readback_egl
CONFIG += readback_egl
- } else:isEqual(QT_WAYLAND_GL_CONFIG, brcm_egl) {
+ } else:isEqual(QT_WAYLAND_GL_CONFIG, brcm_egl)|isEmpty(QT_WAYLAND_GL_CONFIG):contains(config_test_brcm_egl,yes) {
QT_WAYLAND_GL_INTEGRATION = brcm_egl
CONFIG += brcm_egl
} else {
- QT_WAYLAND_GL_INTEGRATION = $$QT_WAYLAND_GL_CONFIG
+ QT_WAYLAND_GL_INTEGRATION = wayland_egl
CONFIG += wayland_egl
}
} else:mac {
diff --git a/sync.profile b/sync.profile
index 1390fe180..d20e7fb83 100644
--- a/sync.profile
+++ b/sync.profile
@@ -27,5 +27,6 @@
# Compile tests
%configtests = (
- "xkbcommon" => {}
+ "xkbcommon" => {},
+ "brcm_egl" => {}
);