diff options
-rw-r--r-- | config.tests/brcm_egl/brcm_egl.pro | 10 | ||||
-rw-r--r-- | config.tests/brcm_egl/main.cpp | 67 | ||||
-rw-r--r-- | src/compositor/hardware_integration/hardware_integration.pri | 4 | ||||
-rw-r--r-- | src/plugins/platforms/wayland/gl_integration/gl_integration.pri | 4 | ||||
-rw-r--r-- | sync.profile | 3 |
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" => {} ); |