introduce HW integrations client plugins

Change-Id: I07bdcf8db16741291b88084f045ae7b93a89b63f
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
This commit is contained in:
Jorgen Lind 2013-11-21 15:35:06 +01:00 committed by The Qt Project
parent 49eb590a92
commit 6a33e75b8d
13 changed files with 371 additions and 14 deletions

View File

@ -0,0 +1,3 @@
{
"Keys": [ "wayland-brcm" ]
}

View File

@ -0,0 +1,14 @@
PLUGIN_TYPE = wayland-graphics-integration/client
load(qt_plugin)
QT += waylandclient-private
include(../../../../hardwareintegration/client/brcm-egl/brcm-egl.pri)
LIBS += -lEGL
OTHER_FILES += \
brcm-egl.json
SOURCES += main.cpp

View File

@ -0,0 +1,74 @@
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtWaylandClient/qwaylandclientbufferintegrationplugin.h>
#include "qwaylandbrcmeglclientbufferintegration.h"
QT_BEGIN_NAMESPACE
class QWaylandBrcmEglClientBufferPlugin : public QWaylandClientBufferIntegrationPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.WaylandClient.QWaylandClientBufferIntegrationFactoryInterface.5.1" FILE "brcm-egl.json")
public:
QStringList keys() const;
QWaylandClientBufferIntegration *create(const QString&, const QStringList&);
};
QStringList QWaylandBrcmEglClientBufferPlugin::keys() const
{
QStringList list;
list << "brcm";
return list;
}
QWaylandEglClientBufferIntegration *QWaylandBrcmEglClientBufferPlugin::create(const QString& system, const QStringList& paramList)
{
Q_UNUSED(paramList);
if (system.toLower() == "brcm")
return new QWaylandBrcmEglClientBufferIntegration();
return 0;
}
QT_END_NAMESPACE
#include "main.moc"

View File

@ -1,16 +1,15 @@
TEMPLATE=subdirs
#config_wayland_egl {
# SUBDIRS += qwayland-egl
#}
#config_brcm_egl {
# SUBDIRS += qwayland-brcm-egl
#}
#config_xcomposite {
# config_egl {
# SUBDIRS += qwayland-xcomposite-egl
# }
# config_glx {
# SUBDIRS += qwayland-xcomposite-glx
# }
#}
config_wayland_egl: \
SUBDIRS += wayland-egl
config_brcm_egl: \
SUBDIRS += brcm-egl
config_xcomposite {
config_egl: \
SUBDIRS += xcomposite-egl
!contains(QT_CONFIG, opengles2):config_glx: \
SUBDIRS += xcomposite-glx
}

View File

@ -0,0 +1,74 @@
/****************************************************************************
**
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtWaylandClient/qwaylandclientbufferintegrationplugin.h>
#include "qwaylandeglclientbufferintegration.h"
QT_BEGIN_NAMESPACE
class QWaylandEglClientBufferPlugin : public QWaylandClientBufferIntegrationPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.WaylandClient.QWaylandClientBufferIntegrationFactoryInterface.5.1" FILE "wayland-egl.json")
public:
QStringList keys() const;
QWaylandClientBufferIntegration *create(const QString&, const QStringList&);
};
QStringList QWaylandEglClientBufferPlugin::keys() const
{
QStringList list;
list << "wayland-egl";
return list;
}
QWaylandClientBufferIntegration *QWaylandEglClientBufferPlugin::create(const QString& system, const QStringList& paramList)
{
Q_UNUSED(paramList);
if (system.toLower() == "wayland-egl")
return new QWaylandEglClientBufferIntegration();
return 0;
}
QT_END_NAMESPACE
#include "main.moc"

View File

@ -0,0 +1,3 @@
{
"Keys": [ "wayland-egl" ]
}

View File

@ -0,0 +1,12 @@
PLUGIN_TYPE = wayland-graphics-integration/client
load(qt_plugin)
QT += waylandclient-private
include(../../../../hardwareintegration/client/wayland-egl/wayland-egl.pri)
OTHER_FILES += \
wayland-egl.json
SOURCES += main.cpp

View File

@ -0,0 +1,74 @@
/****************************************************************************
**
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtWaylandClient/qwaylandclientbufferintegrationplugin.h>
#include "qwaylandxcompositeeglclientbufferintegration.h"
QT_BEGIN_NAMESPACE
class QWaylandXCompositeEglClientBufferIntegrationPlugin : public QWaylandClientBufferIntegrationPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.WaylandClient.QWaylandClientBufferIntegrationFactoryInterface.5.1" FILE "xcomposite-egl.json")
public:
QStringList keys() const;
QWaylandClientBufferIntegration *create(const QString&, const QStringList&);
};
QStringList QWaylandXCompositeEglClientBufferIntegrationPlugin::keys() const
{
QStringList list;
list << "xcomposite" << "xcomposite-egl";
return list;
}
QWaylandClientBufferIntegration *QWaylandXCompositeEglClientBufferIntegrationPlugin::create(const QString& system, const QStringList& paramList)
{
Q_UNUSED(paramList);
if (system.toLower() == "xcomposite" || system.toLower() == "xcomposite-egl")
return new QWaylandXCompositeEGLClientBufferIntegration();
return 0;
}
QT_END_NAMESPACE
#include "main.moc"

View File

@ -0,0 +1,3 @@
{
"Keys": [ "wayland-xcomposite" ]
}

View File

@ -0,0 +1,12 @@
PLUGIN_TYPE = wayland-graphics-integration/client
load(qt_plugin)
QT += waylandclient-private
include(../../../../hardwareintegration/client/xcomposite-egl/xcomposite-egl.pri)
OTHER_FILES += xcomposite-egl.json
SOURCES += \
main.cpp

View File

@ -0,0 +1,74 @@
/****************************************************************************
**
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtWaylandClient/qwaylandclientbufferintegrationplugin.h>
#include "qwaylandxcompositeglxclientbufferintegration.h"
QT_BEGIN_NAMESPACE
class QWaylandXCompositeGlxClientBufferIntegrationPlugin : public QWaylandClientBufferIntegrationPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.WaylandClient.QWaylandClientBufferIntegrationFactoryInterface.5.1" FILE "xcomposite-glx.json")
public:
QStringList keys() const;
QWaylandClientBufferIntegration *create(const QString&, const QStringList&);
};
QStringList QWaylandXCompositeGlxClientBufferIntegrationPlugin::keys() const
{
QStringList list;
list << "xcomposite-glx";
return list;
}
QWaylandClientBufferIntegration *QWaylandXCompositeGlxClientBufferIntegrationPlugin::create(const QString& system, const QStringList& paramList)
{
Q_UNUSED(paramList);
if (system.toLower() == "xcomposite-glx")
return new QWaylandXCompositeGLXClientBufferIntegration();
return 0;
}
QT_END_NAMESPACE
#include "main.moc"

View File

@ -0,0 +1,3 @@
{
"Keys": [ "wayland-xcomposite-glx" ]
}

View File

@ -0,0 +1,12 @@
PLUGIN_TYPE = wayland-graphics-integration/client
load(qt_plugin)
QT += waylandclient-private
include(../../../../hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri)
OTHER_FILES += xcomposite-glx.json
SOURCES += \
main.cpp