Added config.test for brcm_egl.
authorSamuel Rødal <samuel.rodal@nokia.com>
Sat, 19 May 2012 12:08:25 +0000 (14:08 +0200)
committerJørgen Lind <jorgen.lind@nokia.com>
Mon, 21 May 2012 06:48:14 +0000 (08:48 +0200)
Change-Id: Ia103645ba0823dc94b42578de1f1e39e7dd84956
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
config.tests/brcm_egl/brcm_egl.pro [new file with mode: 0644]
config.tests/brcm_egl/main.cpp [new file with mode: 0644]
src/compositor/hardware_integration/hardware_integration.pri
src/plugins/platforms/wayland/gl_integration/gl_integration.pri
sync.profile

diff --git a/config.tests/brcm_egl/brcm_egl.pro b/config.tests/brcm_egl/brcm_egl.pro
new file mode 100644 (file)
index 0000000..7ad4dcf
--- /dev/null
@@ -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 (file)
index 0000000..ca43df0
--- /dev/null
@@ -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;
+}
index c6735aa..0156c49 100644 (file)
@@ -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
             }
index f96a9ca..e621c11 100644 (file)
@@ -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 {
index 1390fe1..d20e7fb 100644 (file)
@@ -27,5 +27,6 @@
 
 # Compile tests
 %configtests = (
-    "xkbcommon" => {}
+    "xkbcommon" => {},
+    "brcm_egl" => {}
 );