Move eglconvenience to QtGui

Task-number: QTBUG-83255
Change-Id: I8a008d8906308dd73a0793db5b88d3a1b6fdaf5c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
Friedemann Kleint 2020-07-08 15:48:46 +02:00
parent 70f7155fcc
commit ee0198a018
66 changed files with 292 additions and 289 deletions

View File

@ -331,6 +331,13 @@ qt_extend_target(Gui CONDITION WIN32
#### Keys ignored in scope 7:.:.:gui.pro:WIN32:
# CMAKE_WINDOWS_BUILD = "True"
qt_extend_target(Gui CONDITION QT_FEATURE_egl
SOURCES
opengl/platform/egl/qeglconvenience.cpp opengl/platform/egl/qeglconvenience_p.h
opengl/platform/egl/qeglstreamconvenience.cpp opengl/platform/egl/qeglstreamconvenience_p.h
opengl/platform/egl/qt_egl_p.h
)
#### Keys ignored in scope 8:.:.:gui.pro:QT_FEATURE_egl:
# CMAKE_EGL_LIBS = "$$cmakeProcessLibs($$QMAKE_LIBS_EGL)"
@ -687,6 +694,29 @@ qt_extend_target(Gui CONDITION QT_FEATURE_opengl AND QT_FEATURE_xlib AND NOT QT_
X11::X11
)
qt_extend_target(Gui CONDITION QT_FEATURE_egl AND QT_FEATURE_opengl
SOURCES
opengl/platform/egl/qeglpbuffer.cpp opengl/platform/egl/qeglpbuffer_p.h
opengl/platform/egl/qeglplatformcontext.cpp opengl/platform/egl/qeglplatformcontext_p.h
)
qt_extend_target(Gui CONDITION QT_FEATURE_egl AND QT_FEATURE_egl_x11
SOURCES
opengl/platform/egl/qxlibeglintegration.cpp opengl/platform/egl/qxlibeglintegration_p.h
LIBRARIES
X11::X11
)
qt_extend_target(Gui CONDITION QT_FEATURE_egl AND NOT QT_FEATURE_egl_x11
DEFINES
QT_EGL_NO_X11
)
qt_extend_target(Gui CONDITION QT_FEATURE_dlopen AND QT_FEATURE_egl
LIBRARIES
${CMAKE_DL_LIBS}
)
qt_extend_target(Gui CONDITION QT_FEATURE_vulkan
SOURCES
rhi/qrhivulkan.cpp rhi/qrhivulkan_p.h
@ -700,7 +730,7 @@ qt_extend_target(Gui CONDITION QT_FEATURE_vulkan
Vulkan::Vulkan_nolink
)
#### Keys ignored in scope 104:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vkgen:
#### Keys ignored in scope 110:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vkgen:
# QMAKE_EXTRA_COMPILERS = "qvkgen_h" "qvkgen_ph" "qvkgen_pimpl"
# QMAKE_QVKGEN_INPUT = "vulkan/vk.xml"
# QMAKE_QVKGEN_LICENSE_HEADER = "$$QT_SOURCE_TREE/header.LGPL"
@ -716,10 +746,10 @@ qt_extend_target(Gui CONDITION QT_FEATURE_vulkan
# qvkgen_pimpl.input = "QMAKE_QVKGEN_INPUT"
# qvkgen_pimpl.output = "$$OUT_PWD/vulkan/qvulkanfunctions_p.cpp"
#### Keys ignored in scope 105:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vulkan:
#### Keys ignored in scope 111:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vulkan:
# qvkgen_h.variable_out = "HEADERS"
#### Keys ignored in scope 106:.:vulkan:vulkan/vulkan.pri:else:
#### Keys ignored in scope 112:.:vulkan:vulkan/vulkan.pri:else:
# qvkgen_h.CONFIG = "target_predeps" "no_link"
qt_extend_target(Gui CONDITION WASM

View File

@ -410,6 +410,23 @@ qt_extend_target(Gui CONDITION WIN32
#### Keys ignored in scope 7:.:.:gui.pro:WIN32:
# CMAKE_WINDOWS_BUILD = "True"
# special case begin
if(QT_FEATURE_egl)
qt_find_package(EGL)
endif()
# special case end
qt_extend_target(Gui CONDITION QT_FEATURE_egl
SOURCES
opengl/platform/egl/qeglconvenience.cpp opengl/platform/egl/qeglconvenience_p.h
opengl/platform/egl/qeglstreamconvenience.cpp opengl/platform/egl/qeglstreamconvenience_p.h
opengl/platform/egl/qt_egl_p.h
# special case begin
LIBRARIES
EGL::EGL # special case
# special case end
)
#### Keys ignored in scope 8:.:.:gui.pro:QT_FEATURE_egl:
# CMAKE_EGL_LIBS = "$$cmakeProcessLibs($$QMAKE_LIBS_EGL)"
@ -793,6 +810,29 @@ qt_extend_target(Gui CONDITION QT_FEATURE_opengl AND QT_FEATURE_xlib AND NOT QT_
X11::X11
)
qt_extend_target(Gui CONDITION QT_FEATURE_egl AND QT_FEATURE_opengl
SOURCES
opengl/platform/egl/qeglpbuffer.cpp opengl/platform/egl/qeglpbuffer_p.h
opengl/platform/egl/qeglplatformcontext.cpp opengl/platform/egl/qeglplatformcontext_p.h
)
qt_extend_target(Gui CONDITION QT_FEATURE_egl AND QT_FEATURE_egl_x11
SOURCES
opengl/platform/egl/qxlibeglintegration.cpp opengl/platform/egl/qxlibeglintegration_p.h
LIBRARIES
X11::X11
)
qt_extend_target(Gui CONDITION QT_FEATURE_egl AND NOT QT_FEATURE_egl_x11
DEFINES
QT_EGL_NO_X11
)
qt_extend_target(Gui CONDITION QT_FEATURE_dlopen AND QT_FEATURE_egl
LIBRARIES
${CMAKE_DL_LIBS}
)
qt_extend_target(Gui CONDITION QT_FEATURE_vulkan
SOURCES
rhi/qrhivulkan.cpp rhi/qrhivulkan_p.h
@ -806,7 +846,7 @@ qt_extend_target(Gui CONDITION QT_FEATURE_vulkan
Vulkan::Vulkan_nolink
)
#### Keys ignored in scope 99:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vkgen:
#### Keys ignored in scope 110:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vkgen:
# special case begin
# We must always generate syncqt-injected header files,
# because we added a custom command earlier for those for framework builds.
@ -862,10 +902,10 @@ add_custom_command(
# qvkgen_pimpl.input = "QMAKE_QVKGEN_INPUT"
# qvkgen_pimpl.output = "$$OUT_PWD/vulkan/qvulkanfunctions_p.cpp"
#### Keys ignored in scope 105:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vulkan:
#### Keys ignored in scope 111:.:vulkan:vulkan/vulkan.pri:QT_FEATURE_vulkan:
# qvkgen_h.variable_out = "HEADERS"
#### Keys ignored in scope 106:.:vulkan:vulkan/vulkan.pri:else:
#### Keys ignored in scope 112:.:vulkan:vulkan/vulkan.pri:else:
# qvkgen_h.CONFIG = "target_predeps" "no_link"
qt_extend_target(Gui CONDITION WASM

View File

@ -0,0 +1,32 @@
HEADERS += \
opengl/platform/egl/qeglconvenience_p.h \
opengl/platform/egl/qeglstreamconvenience_p.h \
opengl/platform/egl/qt_egl_p.h
SOURCES += \
opengl/platform/egl/qeglconvenience.cpp \
opengl/platform/egl/qeglstreamconvenience.cpp
qtConfig(opengl) {
HEADERS += \
opengl/platform/egl/qeglplatformcontext_p.h \
opengl/platform/egl/qeglpbuffer_p.h
SOURCES += \
opengl/platform/egl/qeglplatformcontext.cpp \
opengl/platform/egl/qeglpbuffer.cpp
}
qtConfig(egl_x11) {
HEADERS += \
opengl/platform/egl/qxlibeglintegration_p.h
SOURCES += \
opengl/platform/egl/qxlibeglintegration.cpp
QMAKE_USE_PRIVATE += xlib
} else {
# Avoid X11 header collision, use generic EGL native types
DEFINES += QT_EGL_NO_X11
}
CONFIG += egl
qtConfig(dlopen): QMAKE_USE_PRIVATE += libdl

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -37,14 +37,15 @@
**
****************************************************************************/
#include <QByteArray>
#include <QOpenGLContext>
#include <QtCore/qbytearray.h>
#include <QtGui/qopenglcontext.h>
#ifdef Q_OS_LINUX
#include <sys/ioctl.h>
#include <linux/fb.h>
#endif
#include <private/qmath_p.h>
#include <QtGui/private/qmath_p.h>
#include "qeglconvenience_p.h"

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -51,28 +51,44 @@
// We mean it.
//
#include <QtGui/QSurfaceFormat>
#include <QtCore/QList>
#include <QtCore/QSizeF>
#include <QtEglSupport/private/qt_egl_p.h>
#include <QtGui/qsurfaceformat.h>
#include <QtCore/qlist.h>
#include <QtCore/qsize.h>
#include <QtGui/private/qt_egl_p.h>
QT_BEGIN_NAMESPACE
QList<EGLint> q_createConfigAttributesFromFormat(const QSurfaceFormat &format);
bool q_reduceConfigAttributes(QList<EGLint> *configAttributes);
EGLConfig q_configFromGLFormat(EGLDisplay display, const QSurfaceFormat &format, bool highestPixelFormat = false, int surfaceType = EGL_WINDOW_BIT);
QSurfaceFormat q_glFormatFromConfig(EGLDisplay display, const EGLConfig config, const QSurfaceFormat &referenceFormat = QSurfaceFormat());
bool q_hasEglExtension(EGLDisplay display,const char* extensionName);
void q_printEglConfig(EGLDisplay display, EGLConfig config);
Q_GUI_EXPORT QList<EGLint> q_createConfigAttributesFromFormat(const QSurfaceFormat &format);
Q_GUI_EXPORT bool q_reduceConfigAttributes(QList<EGLint> *configAttributes);
Q_GUI_EXPORT EGLConfig q_configFromGLFormat(EGLDisplay display,
const QSurfaceFormat &format,
bool highestPixelFormat = false,
int surfaceType = EGL_WINDOW_BIT);
Q_GUI_EXPORT QSurfaceFormat q_glFormatFromConfig(EGLDisplay display, const EGLConfig config,
const QSurfaceFormat &referenceFormat = {});
Q_GUI_EXPORT bool q_hasEglExtension(EGLDisplay display,const char* extensionName);
Q_GUI_EXPORT void q_printEglConfig(EGLDisplay display, EGLConfig config);
#ifdef Q_OS_UNIX
QSizeF q_physicalScreenSizeFromFb(int framebufferDevice, const QSize &screenSize = QSize());
QSize q_screenSizeFromFb(int framebufferDevice);
int q_screenDepthFromFb(int framebufferDevice);
qreal q_refreshRateFromFb(int framebufferDevice);
Q_GUI_EXPORT QSizeF q_physicalScreenSizeFromFb(int framebufferDevice,
const QSize &screenSize = {});
Q_GUI_EXPORT QSize q_screenSizeFromFb(int framebufferDevice);
Q_GUI_EXPORT int q_screenDepthFromFb(int framebufferDevice);
Q_GUI_EXPORT qreal q_refreshRateFromFb(int framebufferDevice);
#endif
class QEglConfigChooser
class Q_GUI_EXPORT QEglConfigChooser
{
public:
QEglConfigChooser(EGLDisplay display);

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -37,7 +37,7 @@
**
****************************************************************************/
#include <QtGui/QOffscreenSurface>
#include <QtGui/qoffscreensurface.h>
#include "qeglpbuffer_p.h"
#include "qeglconvenience_p.h"

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -52,11 +52,11 @@
//
#include <qpa/qplatformoffscreensurface.h>
#include <QtEglSupport/private/qeglplatformcontext_p.h>
#include <QtGui/private/qeglplatformcontext_p.h>
QT_BEGIN_NAMESPACE
class QEGLPbuffer : public QPlatformOffscreenSurface
class Q_GUI_EXPORT QEGLPbuffer : public QPlatformOffscreenSurface
{
public:
QEGLPbuffer(EGLDisplay display, const QSurfaceFormat &format, QOffscreenSurface *offscreenSurface,

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -41,8 +41,8 @@
#include "qeglconvenience_p.h"
#include "qeglpbuffer_p.h"
#include <qpa/qplatformwindow.h>
#include <QOpenGLContext>
#include <QDebug>
#include <QtGui/qopenglcontext.h>
#include <QtCore/qdebug.h>
#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED)
#include <QtCore/private/qjnihelpers_p.h>

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -54,13 +54,13 @@
#include <QtCore/qtextstream.h>
#include <qpa/qplatformwindow.h>
#include <qpa/qplatformopenglcontext.h>
#include <QtCore/QVariant>
#include <QtEglSupport/private/qt_egl_p.h>
#include <QtCore/qvariant.h>
#include <QtGui/private/qt_egl_p.h>
#include <QtGui/private/qopenglcontext_p.h>
QT_BEGIN_NAMESPACE
class QEGLPlatformContext : public QPlatformOpenGLContext,
class Q_GUI_EXPORT QEGLPlatformContext : public QPlatformOpenGLContext,
public QPlatformInterface::QEGLContext
{
public:

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -51,8 +51,9 @@
// We mean it.
//
#include <qglobal.h>
#include <QtEglSupport/private/qt_egl_p.h>
#include <QtGui/qtguiglobal.h>
#include <QtGui/private/qt_egl_p.h>
// This provides runtime EGLDevice/Output/Stream support even when eglext.h in
// the sysroot is not up-to-date.
@ -158,7 +159,7 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEATTRIBNVPROC) (EGLDi
QT_BEGIN_NAMESPACE
class QEGLStreamConvenience
class Q_GUI_EXPORT QEGLStreamConvenience
{
public:
QEGLStreamConvenience();

View File

@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtGui module of the Qt Toolkit.
@ -51,6 +51,10 @@
// We mean it.
//
// q(data/text)stream.h must be included before any header file that defines Status
#include <QtCore/qdatastream.h>
#include <QtCore/qtextstream.h>
#ifdef QT_EGL_NO_X11
# ifndef EGL_NO_X11
# define EGL_NO_X11

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -37,9 +37,11 @@
**
****************************************************************************/
#include <QLoggingCategory>
#include <QtCore/qloggingcategory.h>
#include "qxlibeglintegration_p.h"
QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(lcXlibEglDebug, "qt.egl.xlib.debug")
VisualID QXlibEglIntegration::getCompatibleVisualId(Display *display, EGLDisplay eglDisplay, EGLConfig config)
@ -160,3 +162,5 @@ VisualID QXlibEglIntegration::getCompatibleVisualId(Display *display, EGLDisplay
qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
return (VisualID)0;
}
QT_END_NAMESPACE

View File

@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@ -37,8 +37,8 @@
**
****************************************************************************/
#ifndef QTESTLITEEGLINTEGRATION_H
#define QTESTLITEEGLINTEGRATION_H
#ifndef QXLIBEGLINTEGRATION_H
#define QXLIBEGLINTEGRATION_H
//
// W A R N I N G
@ -51,15 +51,19 @@
// We mean it.
//
#include "qeglconvenience_p.h"
#include <QtGui/private/qeglconvenience_p.h>
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
class QXlibEglIntegration
QT_BEGIN_NAMESPACE
class Q_GUI_EXPORT QXlibEglIntegration
{
public:
static VisualID getCompatibleVisualId(Display *display, EGLDisplay eglDisplay, EGLConfig config);
};
#endif // QTESTLITEEGLINTEGRATION_H
QT_END_NAMESPACE
#endif // QXLIBEGLINTEGRATION_H

View File

@ -1,2 +1,4 @@
qtConfig(xlib):qtConfig(opengl):!qtConfig(opengles2): \
include(unix/unix.pri)
qtConfig(egl): \
include(egl/egl.pri)

View File

@ -6,9 +6,6 @@ add_subdirectory(linuxofono)
if(QT_FEATURE_evdev OR QT_FEATURE_integrityhid OR QT_FEATURE_libinput OR QT_FEATURE_tslib OR QT_FEATURE_xkbcommon)
add_subdirectory(input)
endif()
if(QT_FEATURE_egl)
add_subdirectory(eglconvenience)
endif()
if(QT_FEATURE_kms)
add_subdirectory(kmsconvenience)
endif()

View File

@ -10,9 +10,6 @@ endif()
if(QT_FEATURE_evdev OR QT_FEATURE_integrityhid OR QT_FEATURE_libinput OR QT_FEATURE_tslib OR QT_FEATURE_xkbcommon)
add_subdirectory(input)
endif()
if(QT_FEATURE_egl)
add_subdirectory(eglconvenience)
endif()
if(QT_FEATURE_kms)
add_subdirectory(kmsconvenience)
endif()

View File

@ -1,50 +0,0 @@
# Generated from eglconvenience.pro.
#####################################################################
## EglSupport Module:
#####################################################################
qt_add_module(EglSupport
STATIC
INTERNAL_MODULE
SOURCES
qeglconvenience.cpp qeglconvenience_p.h
qeglstreamconvenience.cpp qeglstreamconvenience_p.h
qt_egl_p.h
DEFINES
QT_NO_CAST_FROM_ASCII
PUBLIC_LIBRARIES
Qt::CorePrivate
Qt::GuiPrivate
PRECOMPILED_HEADER
"../../corelib/global/qt_pch.h"
)
#### Keys ignored in scope 1:.:.:eglconvenience.pro:<TRUE>:
# MODULE = "egl_support"
## Scopes:
#####################################################################
qt_extend_target(EglSupport CONDITION QT_FEATURE_opengl
SOURCES
qeglpbuffer.cpp qeglpbuffer_p.h
qeglplatformcontext.cpp qeglplatformcontext_p.h
)
qt_extend_target(EglSupport CONDITION QT_FEATURE_egl_x11
SOURCES
qxlibeglintegration.cpp qxlibeglintegration_p.h
LIBRARIES
X11::X11
)
qt_extend_target(EglSupport CONDITION NOT QT_FEATURE_egl_x11
DEFINES
QT_EGL_NO_X11
)
qt_extend_target(EglSupport CONDITION QT_FEATURE_dlopen
LIBRARIES
${CMAKE_DL_LIBS}
)

View File

@ -1,53 +0,0 @@
# Generated from eglconvenience.pro.
#####################################################################
## EglSupport Module:
#####################################################################
qt_find_package(EGL) # special case
qt_add_module(EglSupport
STATIC
INTERNAL_MODULE
SOURCES
qeglconvenience.cpp qeglconvenience_p.h
qeglstreamconvenience.cpp qeglstreamconvenience_p.h
qt_egl_p.h
DEFINES
QT_NO_CAST_FROM_ASCII
PUBLIC_LIBRARIES
Qt::CorePrivate
Qt::GuiPrivate
EGL::EGL # special case
PRECOMPILED_HEADER
"../../corelib/global/qt_pch.h"
)
#### Keys ignored in scope 1:.:.:eglconvenience.pro:<TRUE>:
# MODULE = "egl_support"
## Scopes:
#####################################################################
qt_extend_target(EglSupport CONDITION QT_FEATURE_opengl
SOURCES
qeglpbuffer.cpp qeglpbuffer_p.h
qeglplatformcontext.cpp qeglplatformcontext_p.h
)
qt_extend_target(EglSupport CONDITION QT_FEATURE_egl_x11
SOURCES
qxlibeglintegration.cpp qxlibeglintegration_p.h
LIBRARIES
X11::X11
)
qt_extend_target(EglSupport CONDITION NOT QT_FEATURE_egl_x11
DEFINES
QT_EGL_NO_X11
)
qt_extend_target(EglSupport CONDITION QT_FEATURE_dlopen
LIBRARIES
${CMAKE_DL_LIBS}
)

View File

@ -1,43 +0,0 @@
TARGET = QtEglSupport
MODULE = egl_support
QT = core-private gui-private
CONFIG += static internal_module
DEFINES += QT_NO_CAST_FROM_ASCII
PRECOMPILED_HEADER = ../../corelib/global/qt_pch.h
HEADERS += \
qeglconvenience_p.h \
qeglstreamconvenience_p.h \
qt_egl_p.h
SOURCES += \
qeglconvenience.cpp \
qeglstreamconvenience.cpp
qtConfig(opengl) {
HEADERS += \
qeglplatformcontext_p.h \
qeglpbuffer_p.h
SOURCES += \
qeglplatformcontext.cpp \
qeglpbuffer.cpp
}
qtConfig(egl_x11) {
HEADERS += \
qxlibeglintegration_p.h
SOURCES += \
qxlibeglintegration.cpp
QMAKE_USE_PRIVATE += xlib
} else {
# Avoid X11 header collision, use generic EGL native types
DEFINES += QT_EGL_NO_X11
}
CONFIG += egl
qtConfig(dlopen): QMAKE_USE_PRIVATE += libdl
load(qt_module)

View File

@ -10,8 +10,6 @@ qtConfig(evdev)|qtConfig(tslib)|qtConfig(libinput)|qtConfig(integrityhid)|qtConf
input.depends += devicediscovery
}
qtConfig(egl): \
SUBDIRS += eglconvenience
qtConfig(kms): \
SUBDIRS += kmsconvenience

View File

@ -45,9 +45,9 @@ qt_internal_add_plugin(QAndroidIntegrationPlugin
${CMAKE_CURRENT_SOURCE_DIR}
${QT_SOURCE_TREE}/src/3rdparty/android
PUBLIC_LIBRARIES
EGL::EGL
Qt::Core
Qt::CorePrivate
Qt::EglSupportPrivate
Qt::Gui
Qt::GuiPrivate
android

View File

@ -3,6 +3,7 @@
#####################################################################
## QAndroidIntegrationPlugin Plugin:
#####################################################################
qt_find_package(EGL) # special case
qt_internal_add_plugin(QAndroidIntegrationPlugin
OUTPUT_NAME qtforandroid
@ -46,13 +47,14 @@ qt_internal_add_plugin(QAndroidIntegrationPlugin
${CMAKE_CURRENT_SOURCE_DIR}
${QT_SOURCE_TREE}/src/3rdparty/android
PUBLIC_LIBRARIES
EGL::EGL
Qt::Core
Qt::CorePrivate
Qt::EglSupportPrivate
Qt::Gui
Qt::GuiPrivate
android
jnigraphics
EGL::EGL # special case
)
#### Keys ignored in scope 1:.:.:android.pro:<TRUE>:

View File

@ -3,8 +3,7 @@ TARGET = qtforandroid
LIBS += -ljnigraphics -landroid
QT += \
core-private gui-private \
egl_support-private
core-private gui-private
OTHER_FILES += $$PWD/android.json
@ -86,6 +85,8 @@ qtConfig(vulkan) {
$$PWD/qandroidplatformvulkanwindow.h
}
QMAKE_USE += egl
PLUGIN_TYPE = platforms
PLUGIN_CLASS_NAME = QAndroidIntegrationPlugin
load(qt_plugin)

View File

@ -46,7 +46,7 @@
#include <QOffscreenSurface>
#include <QThread>
#include <QtEglSupport/private/qeglpbuffer_p.h>
#include <QtGui/private/qeglpbuffer_p.h>
#include <qpa/qwindowsysteminterface.h>
#include <qpa/qplatformwindow.h>
#include <qpa/qplatformoffscreensurface.h>

View File

@ -40,7 +40,7 @@
#include "qandroidplatformoffscreensurface.h"
#include <QtGui/QOffscreenSurface>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <android/native_window.h>

View File

@ -41,7 +41,7 @@
#define QANDROIDPLATFORMOFFSCREENSURFACETEXTURE_H
#include <qpa/qplatformoffscreensurface.h>
#include <QtEglSupport/private/qeglplatformcontext_p.h>
#include <QtGui/private/qeglplatformcontext_p.h>
QT_BEGIN_NAMESPACE
class QOffscreenSurface;

View File

@ -43,7 +43,7 @@
#include "qandroidplatformintegration.h"
#include "qandroidplatformoffscreensurface.h"
#include <QtEglSupport/private/qeglpbuffer_p.h>
#include <QtGui/private/qeglpbuffer_p.h>
#include <QSurface>
#include <QtGui/private/qopenglcontext_p.h>

View File

@ -41,7 +41,7 @@
#ifndef QANDROIDPLATFORMOPENGLCONTEXT_H
#define QANDROIDPLATFORMOPENGLCONTEXT_H
#include <QtEglSupport/private/qeglplatformcontext_p.h>
#include <QtGui/private/qeglplatformcontext_p.h>
QT_BEGIN_NAMESPACE

View File

@ -51,7 +51,7 @@
#include <qpa/qwindowsysteminterface.h>
#include <qpa/qplatformscreen.h>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <android/native_window.h>
#include <android/native_window_jni.h>

View File

@ -37,8 +37,6 @@ qt_extend_target(QDirectFbIntegrationPlugin CONDITION QT_CONFIG___contains___dir
qdirectfb_egl.cpp qdirectfb_egl.h
DEFINES
DIRECTFB_GL_EGL
PUBLIC_LIBRARIES
Qt::EglSupportPrivate
)
qt_extend_target(QDirectFbIntegrationPlugin CONDITION NOT DIRECTFB_PLATFORM_HOOKS_SOURCES_ISEMPTY

View File

@ -2,6 +2,7 @@
# begin special case:
qt_find_package(DirectFB)
qt_find_package(EGL)
# end special case:
#####################################################################
@ -24,6 +25,7 @@ qt_internal_add_plugin(QDirectFbIntegrationPlugin
qdirectfbwindow.cpp qdirectfbwindow.h
PUBLIC_LIBRARIES
PkgConfig::DirectFB
EGL::EGL # special case
Qt::Core
Qt::CorePrivate
Qt::Gui
@ -41,8 +43,6 @@ qt_extend_target(QDirectFbIntegrationPlugin CONDITION QT_CONFIG___contains___dir
qdirectfb_egl.cpp qdirectfb_egl.h
DEFINES
DIRECTFB_GL_EGL
PUBLIC_LIBRARIES
Qt::EglSupportPrivate
)
qt_extend_target(QDirectFbIntegrationPlugin CONDITION NOT DIRECTFB_PLATFORM_HOOKS_SOURCES_ISEMPTY

View File

@ -26,7 +26,6 @@ HEADERS = qdirectfbintegration.h \
# ### port the GL context
contains(QT_CONFIG, directfb_egl) {
QT += egl_support-private
HEADERS += qdirectfb_egl.h
SOURCES += qdirectfb_egl.cpp
DEFINES += DIRECTFB_GL_EGL

View File

@ -47,10 +47,10 @@
#include <qpa/qwindowsysteminterface.h>
#include <QtGui/QScreen>
#include <QtEglSupport/private/qeglplatformcontext_p.h>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglplatformcontext_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <QtEglSupport/private/qt_egl_p.h>
#include <QtGui/private/qt_egl_p.h>
QT_BEGIN_NAMESPACE

View File

@ -22,7 +22,6 @@ qt_add_module(EglFSDeviceIntegration
PUBLIC_LIBRARIES
Qt::CorePrivate
Qt::DeviceDiscoverySupportPrivate
Qt::EglSupportPrivate
Qt::FbSupportPrivate
Qt::GuiPrivate
Qt::PlatformHeadersPrivate

View File

@ -23,7 +23,6 @@ qt_add_module(EglFSDeviceIntegration
PUBLIC_LIBRARIES
Qt::CorePrivate
Qt::DeviceDiscoverySupportPrivate
Qt::EglSupportPrivate
Qt::FbSupportPrivate
Qt::GuiPrivate
Qt::PlatformHeadersPrivate

View File

@ -39,8 +39,8 @@
#include "qeglfsglobal_p.h"
#include <QtGui/QSurface>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtEglSupport/private/qeglpbuffer_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <QtGui/private/qeglpbuffer_p.h>
#include "qeglfscontext_p.h"
#include "qeglfswindow_p.h"

View File

@ -53,7 +53,7 @@
#include "qeglfsglobal_p.h"
#include "qeglfscursor_p.h"
#include <QtEglSupport/private/qeglplatformcontext_p.h>
#include <QtGui/private/qeglplatformcontext_p.h>
#include <QtCore/QVariant>
QT_BEGIN_NAMESPACE

View File

@ -46,7 +46,7 @@
#include "qeglfsscreen_p.h"
#include "qeglfshooks_p.h"
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <QGuiApplication>
#include <private/qguiapplication_p.h>
#include <QScreen>

View File

@ -53,7 +53,7 @@
#include <QtCore/qglobal.h>
#include <QtEglSupport/private/qt_egl_p.h>
#include <QtGui/private/qt_egl_p.h>
QT_BEGIN_NAMESPACE

View File

@ -61,10 +61,10 @@
#endif
#include "qeglfsoffscreenwindow_p.h"
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#ifndef QT_NO_OPENGL
# include <QtEglSupport/private/qeglplatformcontext_p.h>
# include <QtEglSupport/private/qeglpbuffer_p.h>
# include <QtGui/private/qeglplatformcontext_p.h>
# include <QtGui/private/qeglpbuffer_p.h>
#endif
#include <QtGui/private/qgenericunixfontdatabase_p.h>

View File

@ -40,7 +40,7 @@
#include "qeglfsoffscreenwindow_p.h"
#include "qeglfshooks_p.h"
#include <QtGui/QOffscreenSurface>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
QT_BEGIN_NAMESPACE

View File

@ -47,7 +47,7 @@
# include <QtGui/QOpenGLContext>
# include <QtOpenGL/private/qopenglcompositorbackingstore_p.h>
#endif
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include "qeglfswindow_p.h"
#ifndef QT_NO_OPENGL

View File

@ -42,8 +42,8 @@
#include "private/qeglfsintegration_p.h"
#include <private/qguiapplication_p.h>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtEglSupport/private/qeglplatformcontext_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <QtGui/private/qeglplatformcontext_p.h>
#include <qpa/qwindowsysteminterface.h>

View File

@ -41,7 +41,7 @@
#include "qeglfskmsgbmintegration.h"
#include "qeglfskmsgbmscreen.h"
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
QT_BEGIN_NAMESPACE

View File

@ -41,7 +41,7 @@
#include "qeglfskmsegldeviceintegration.h"
#include "qeglfskmsegldevice.h"
#include "qeglfskmsegldevicescreen.h"
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include "private/qeglfswindow_p.h"
#include "private/qeglfscursor_p.h"
#include <QLoggingCategory>

View File

@ -46,7 +46,7 @@
#include <xf86drm.h>
#include <xf86drmMode.h>
#include <QtEglSupport/private/qeglstreamconvenience_p.h>
#include <QtGui/private/qeglstreamconvenience_p.h>
QT_BEGIN_NAMESPACE

View File

@ -45,7 +45,7 @@
#include "private/qeglfswindow_p.h"
#include <QtDeviceDiscoverySupport/private/qdevicediscovery_p.h>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <QtCore/QLoggingCategory>
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonObject>

View File

@ -38,7 +38,7 @@
****************************************************************************/
#include <QDebug>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <EGL/egl.h>
#include "INTEGRITY.h"
#include "qeglfsrcarintegration.h"

View File

@ -12,7 +12,7 @@ QT += \
core-private gui-private \
platformheaders-private \
devicediscovery_support-private \
fb_support-private egl_support-private
fb_support-private
qtHaveModule(input_support-private): \
QT += input_support-private

View File

@ -17,7 +17,6 @@ qt_internal_add_plugin(QMinimalEglIntegrationPlugin
PUBLIC_LIBRARIES
Qt::Core
Qt::CorePrivate
Qt::EglSupportPrivate
Qt::Gui
Qt::GuiPrivate
)

View File

@ -1,4 +1,5 @@
# Generated from minimalegl.pro.
qt_find_package(EGL) # special case
#####################################################################
## QMinimalEglIntegrationPlugin Plugin:
@ -18,9 +19,9 @@ qt_internal_add_plugin(QMinimalEglIntegrationPlugin
PUBLIC_LIBRARIES
Qt::Core
Qt::CorePrivate
Qt::EglSupportPrivate
Qt::Gui
Qt::GuiPrivate
EGL::EGL # special case
)
#### Keys ignored in scope 1:.:.:minimalegl.pro:<TRUE>:

View File

@ -1,8 +1,7 @@
TARGET = qminimalegl
QT += \
core-private gui-private \
egl_support-private
core-private gui-private
#DEFINES += QEGL_EXTRA_DEBUG

View File

@ -40,9 +40,9 @@
#include "qminimaleglscreen.h"
#include "qminimaleglwindow.h"
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#ifndef QT_NO_OPENGL
# include <QtEglSupport/private/qeglplatformcontext_p.h>
# include <QtGui/private/qeglplatformcontext_p.h>
#endif
#ifdef Q_OPENKODE

View File

@ -44,7 +44,7 @@
#include <QtCore/QTextStream>
#include <QtEglSupport/private/qt_egl_p.h>
#include <QtGui/private/qt_egl_p.h>
QT_BEGIN_NAMESPACE

View File

@ -1,8 +1,7 @@
TARGET = qqnx
QT += \
core-private gui-private \
egl_support-private
core-private gui-private
# Uncomment this to build with support for IMF once it becomes available in the BBNDK
#CONFIG += qqnx_imf

View File

@ -46,7 +46,7 @@
#include <QtCore/QSize>
#include <EGL/egl.h>
#include <QtEglSupport/private/qeglplatformcontext_p.h>
#include <QtGui/private/qeglplatformcontext_p.h>
QT_BEGIN_NAMESPACE

View File

@ -37,9 +37,9 @@
#include <emscripten/bind.h>
#include <emscripten/val.h>
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#ifndef QT_NO_OPENGL
# include <QtEglSupport/private/qeglplatformcontext_p.h>
# include <QtGui/private/qeglplatformcontext_p.h>
#endif
#include <qpa/qwindowsysteminterface.h>
#include <QtCore/qcoreapplication.h>

View File

@ -1,8 +1,7 @@
TARGET = qwasm
CONFIG += static plugin
QT += \
core-private gui-private \
egl_support-private
core-private gui-private
qtConfig(opengl): QT += opengl-private

View File

@ -0,0 +1,27 @@
# Generated from xcb_egl.pro.
#####################################################################
## QXcbEglIntegrationPlugin Plugin:
#####################################################################
qt_internal_add_plugin(QXcbEglIntegrationPlugin
OUTPUT_NAME qxcb-egl-integration
TYPE xcbglintegrations
SOURCES
qxcbeglcontext.h
qxcbeglintegration.cpp qxcbeglintegration.h
qxcbeglmain.cpp
qxcbeglnativeinterfacehandler.cpp qxcbeglnativeinterfacehandler.h
qxcbeglwindow.cpp qxcbeglwindow.h
DEFINES
QT_NO_FOREACH
INCLUDE_DIRECTORIES
..
../..
PUBLIC_LIBRARIES
Qt::Core
Qt::CorePrivate
Qt::Gui
Qt::GuiPrivate
Qt::XcbQpaPrivate
)

View File

@ -4,6 +4,8 @@
## QXcbEglIntegrationPlugin Plugin:
#####################################################################
qt_find_package(EGL) # special case
qt_internal_add_plugin(QXcbEglIntegrationPlugin
OUTPUT_NAME qxcb-egl-integration
TYPE xcbglintegrations
@ -21,8 +23,8 @@ qt_internal_add_plugin(QXcbEglIntegrationPlugin
PUBLIC_LIBRARIES
Qt::Core
Qt::CorePrivate
Qt::EglSupportPrivate
Qt::Gui
Qt::GuiPrivate
Qt::XcbQpaPrivate
EGL::EGL # special case
)

View File

@ -41,8 +41,8 @@
#define QXCBEGLCONTEXT_H
#include "qxcbeglwindow.h"
#include <QtEglSupport/private/qeglplatformcontext_p.h>
#include <QtEglSupport/private/qeglpbuffer_p.h>
#include <QtGui/private/qeglplatformcontext_p.h>
#include <QtGui/private/qeglpbuffer_p.h>
QT_BEGIN_NAMESPACE

View File

@ -46,7 +46,7 @@
#include <QtGui/private/qcssparser_p.h>
#include <QtGui/private/qtextengine_p.h>
#include <QtEglSupport/private/qt_egl_p.h>
#include <QtGui/private/qt_egl_p.h>
QT_BEGIN_NAMESPACE

View File

@ -42,7 +42,7 @@
#include "qxcbeglcontext.h"
#include <QtGui/QOffscreenSurface>
#include <QtEglSupport/private/qeglstreamconvenience_p.h>
#include <QtGui/private/qeglstreamconvenience_p.h>
#include "qxcbeglnativeinterfacehandler.h"

View File

@ -41,8 +41,8 @@
#include "qxcbeglintegration.h"
#include <QtEglSupport/private/qeglconvenience_p.h>
#include <QtEglSupport/private/qxlibeglintegration_p.h>
#include <QtGui/private/qeglconvenience_p.h>
#include <QtGui/private/qxlibeglintegration_p.h>
QT_BEGIN_NAMESPACE

View File

@ -1,7 +1,6 @@
TARGET = qxcb-egl-integration
include(../gl_integrations_plugin_base.pri)
QT += egl_support-private
CONFIG += egl