From a213706ecea7b2b8add17aa2ac1514911902602a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Samuel=20R=C3=B8dal?= Date: Sat, 19 May 2012 14:08:25 +0200 Subject: [PATCH] Added config.test for brcm_egl. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: Ia103645ba0823dc94b42578de1f1e39e7dd84956 Reviewed-by: Jørgen Lind --- config.tests/brcm_egl/brcm_egl.pro | 10 ++++ config.tests/brcm_egl/main.cpp | 67 ++++++++++++++++++++++ .../hardware_integration/hardware_integration.pri | 4 +- .../wayland/gl_integration/gl_integration.pri | 4 +- sync.profile | 3 +- 5 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 config.tests/brcm_egl/brcm_egl.pro create mode 100644 config.tests/brcm_egl/main.cpp diff --git a/config.tests/brcm_egl/brcm_egl.pro b/config.tests/brcm_egl/brcm_egl.pro new file mode 100644 index 0000000..7ad4dcf --- /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 0000000..ca43df0 --- /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 + +#include +#include + +#define EGL_EGLEXT_PROTOTYPES +#include + +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 c6735aa..0156c49 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 f96a9ca..e621c11 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 1390fe1..d20e7fb 100644 --- a/sync.profile +++ b/sync.profile @@ -27,5 +27,6 @@ # Compile tests %configtests = ( - "xkbcommon" => {} + "xkbcommon" => {}, + "brcm_egl" => {} ); -- 2.7.4