diff options
author | Andy Nichols <andy.nichols@digia.com> | 2014-02-04 15:04:56 +0100 |
---|---|---|
committer | Andy Nichols <andy.nichols@digia.com> | 2014-02-04 15:04:56 +0100 |
commit | e5d1d051e413160e37e7b61d8d7ad74298f98a76 (patch) | |
tree | 804f966db6780b539ec90206017a1a79c006450b /src/hardwareintegration | |
parent | 05076e4e16615741becfc434979502901cbf396a (diff) | |
parent | 50f43a0c56e4329facbba6b7e4bbec0e87ff9d63 (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
src/client/hardwareintegration/qwaylandclientbufferintegrationplugin_p.h
src/client/hardwareintegration/qwaylandserverbufferintegrationplugin_p.h
src/compositor/hardware_integration/qwaylandclientbufferintegrationplugin.h
src/compositor/hardware_integration/qwaylandserverbufferintegrationplugin.h
src/plugins/hardwareintegration/client/brcm-egl/main.cpp
src/plugins/hardwareintegration/client/drm-egl-server/main.cpp
src/plugins/hardwareintegration/client/wayland-egl/main.cpp
src/plugins/hardwareintegration/client/xcomposite-egl/main.cpp
src/plugins/hardwareintegration/client/xcomposite-glx/main.cpp
src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp
src/plugins/hardwareintegration/compositor/drm-egl-server/main.cpp
src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp
src/plugins/hardwareintegration/compositor/xcomposite-egl/main.cpp
src/plugins/hardwareintegration/compositor/xcomposite-glx/main.cpp
Change-Id: I9a9b418075970dd334babc3590b9b0315c2afb0d
Diffstat (limited to 'src/hardwareintegration')
19 files changed, 77 insertions, 94 deletions
diff --git a/src/hardwareintegration/client/brcm-egl/brcm-egl.pri b/src/hardwareintegration/client/brcm-egl/brcm-egl.pri index 542c1c717..eb8e450f9 100644 --- a/src/hardwareintegration/client/brcm-egl/brcm-egl.pri +++ b/src/hardwareintegration/client/brcm-egl/brcm-egl.pri @@ -1,5 +1,18 @@ INCLUDEPATH += $$PWD -LIBS += -lEGL + +contains(QT_CONFIG, no-pkg-config) { + CONFIG += link_pkgconfig + PKGCONFIG += wayland-client +} else { + LIBS += -lwayland-client +} + +for(p, QMAKE_LIBDIR_EGL) { + exists($$p):LIBS += -L$$p +} + +LIBS += $$QMAKE_LIBS_EGL +INCLUDEPATH += $$QMAKE_INCDIR_EGL SOURCES += $$PWD/qwaylandbrcmeglintegration.cpp \ $$PWD/qwaylandbrcmglcontext.cpp \ @@ -10,4 +23,4 @@ HEADERS += $$PWD/qwaylandbrcmeglintegration.h \ $$PWD/qwaylandbrcmeglwindow.h CONFIG += wayland-scanner -WAYLANDCLIENTSOURCES += ../../../extensions/brcm.xml +WAYLANDCLIENTSOURCES += $$PWD/../../../extensions/brcm.xml diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp index 197f4d2ce..f1e14c10c 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp @@ -41,7 +41,7 @@ #include "qwaylandbrcmeglintegration.h" -#include "qwaylandglintegration.h" +#include <QtWaylandClient/private/qwaylandclientbufferintegration_p.h> #include "qwaylandbrcmeglwindow.h" #include "qwaylandbrcmglcontext.h" @@ -52,11 +52,10 @@ QT_BEGIN_NAMESPACE -QWaylandBrcmEglIntegration::QWaylandBrcmEglIntegration(QWaylandDisplay *waylandDisplay) - : m_waylandDisplay(waylandDisplay->wl_display()) +QWaylandBrcmEglIntegration::QWaylandBrcmEglIntegration() + : m_waylandDisplay(0) { qDebug() << "Using Brcm-EGL"; - waylandDisplay->addRegistryListener(wlDisplayHandleGlobal, this); } void QWaylandBrcmEglIntegration::wlDisplayHandleGlobal(void *data, struct wl_registry *registry, uint32_t id, const QString &interface, uint32_t version) @@ -78,8 +77,10 @@ QWaylandBrcmEglIntegration::~QWaylandBrcmEglIntegration() eglTerminate(m_eglDisplay); } -void QWaylandBrcmEglIntegration::initialize() +void QWaylandBrcmEglIntegration::initialize(QWaylandDisplay *waylandDisplay) { + m_waylandDisplay = waylandDisplay->wl_display(); + waylandDisplay->addRegistryListener(wlDisplayHandleGlobal, this); EGLint major,minor; m_eglDisplay = eglGetDisplay((EGLNativeDisplayType)EGL_DEFAULT_DISPLAY); if (m_eglDisplay == NULL) { diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h index f1100d8de..471f3a03c 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h @@ -42,7 +42,7 @@ #ifndef QWAYLANDBRCMEGLINTEGRATION_H #define QWAYLANDBRCMEGLINTEGRATION_H -#include "qwaylandglintegration.h" +#include <QtWaylandClient/private/qwaylandclientbufferintegration_p.h> #include <EGL/egl.h> #include <EGL/eglext.h> @@ -59,13 +59,13 @@ class QWindow; struct qt_brcm; -class QWaylandBrcmEglIntegration : public QWaylandGLIntegration +class QWaylandBrcmEglIntegration : public QWaylandClientBufferIntegration { public: - QWaylandBrcmEglIntegration(QWaylandDisplay *waylandDisplay); + QWaylandBrcmEglIntegration(); ~QWaylandBrcmEglIntegration(); - void initialize(); + void initialize(QWaylandDisplay *waylandDisplay); bool supportsThreadedOpenGL() const { return true; } diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp index 5c67ba8e5..3ca72a772 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp @@ -41,8 +41,8 @@ #include "qwaylandbrcmeglwindow.h" -#include "qwaylandbuffer.h" -#include "qwaylandscreen.h" +#include <QtWaylandClient/private/qwaylandbuffer_p.h> +#include <QtWaylandClient/private/qwaylandscreen_p.h> #include "qwaylandbrcmglcontext.h" #include <QtPlatformSupport/private/qeglconvenience_p.h> @@ -127,12 +127,12 @@ private: QWaylandBrcmEglWindow::QWaylandBrcmEglWindow(QWindow *window) : QWaylandWindow(window) - , m_eglIntegration(static_cast<QWaylandBrcmEglIntegration *>(mDisplay->eglIntegration())) + , m_eglIntegration(static_cast<QWaylandBrcmEglIntegration *>(mDisplay->clientBufferIntegration())) , m_eglConfig(0) , m_format(window->format()) + , m_eventQueue(wl_display_create_queue(mDisplay->wl_display())) , m_current(0) , m_count(0) - , m_eventQueue(wl_display_create_queue(mDisplay->wl_display())) { } @@ -249,38 +249,14 @@ void QWaylandBrcmEglWindow::swapBuffers() } m_buffers[m_current]->bind(); - - m_mutex.lock(); - m_pending << m_buffers[m_current]; - m_mutex.unlock(); - - // can't use a direct call since swapBuffers might be called from a separate thread - QMetaObject::invokeMethod(this, "flushBuffers"); + attach(m_buffers[m_current], 0, 0); + damage(QRect(QPoint(), geometry().size())); + commit(); m_current = (m_current + 1) % m_count; - m_buffers[m_current]->waitForRelease(); } -void QWaylandBrcmEglWindow::flushBuffers() -{ - if (m_pending.isEmpty()) - return; - - QSize size = geometry().size(); - - m_mutex.lock(); - while (!m_pending.isEmpty()) { - QWaylandBrcmBuffer *buffer = m_pending.takeFirst(); - attach(buffer, 0, 0); - damage(QRect(QPoint(), size)); - commit(); - } - m_mutex.unlock(); - - mDisplay->flushRequests(); -} - bool QWaylandBrcmEglWindow::makeCurrent(EGLContext context) { if (!m_count) diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h index 5a3fa0461..bc8f12d1f 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h @@ -42,7 +42,7 @@ #ifndef QWAYLANDBRCMEGLWINDOW_H #define QWAYLANDBRCMEGLWINDOW_H -#include "qwaylandwindow.h" +#include <QtWaylandClient/private/qwaylandwindow_p.h> #include "qwaylandbrcmeglintegration.h" #include <QMutex> @@ -68,9 +68,6 @@ public: bool makeCurrent(EGLContext context); void swapBuffers(); -private slots: - void flushBuffers(); - private: void createEglSurfaces(); void destroyEglSurfaces(); @@ -93,8 +90,6 @@ private: int m_current; int m_count; - QList<QWaylandBrcmBuffer *> m_pending; - QMutex m_mutex; }; diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp index dfb86e54c..85b7b49f0 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp @@ -41,8 +41,8 @@ #include "qwaylandbrcmglcontext.h" -#include "qwaylanddisplay.h" -#include "qwaylandwindow.h" +#include <QtWaylandClient/private/qwaylanddisplay_p.h> +#include <QtWaylandClient/private/qwaylandwindow_p.h> #include "qwaylandbrcmeglwindow.h" #include <QtPlatformSupport/private/qeglconvenience_p.h> diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h index 7beef166b..a66c0a601 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h @@ -42,7 +42,7 @@ #ifndef QWAYLANDBRCMGLCONTEXT_H #define QWAYLANDBRCMGLCONTEXT_H -#include "qwaylanddisplay.h" +#include <QtWaylandClient/private/qwaylanddisplay_p.h> #include <qpa/qplatformopenglcontext.h> diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp index 1e86bd313..dc5bbc3ba 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp @@ -90,7 +90,7 @@ void QWaylandEglWindow::setGeometry(const QRect &rect) createDecoration(); QMargins margins = frameMargins(); - QSize sizeWithMargins = geometry().size() + QSize(margins.left() + margins.right(), margins.top() + margins.bottom()); + QSize sizeWithMargins = rect.size() + QSize(margins.left() + margins.right(), margins.top() + margins.bottom()); if (m_waylandEglWindow) { int current_width, current_height; diff --git a/src/hardwareintegration/client/wayland-egl/wayland-egl.pri b/src/hardwareintegration/client/wayland-egl/wayland-egl.pri index bf03a8c72..107a96f93 100644 --- a/src/hardwareintegration/client/wayland-egl/wayland-egl.pri +++ b/src/hardwareintegration/client/wayland-egl/wayland-egl.pri @@ -1,7 +1,7 @@ INCLUDEPATH += $$PWD !contains(QT_CONFIG, no-pkg-config) { CONFIG += link_pkgconfig - PKGCONFIG += wayland-egl egl + PKGCONFIG += wayland-client wayland-egl egl } else { LIBS += -lwayland-egl -lEGL } diff --git a/src/hardwareintegration/client/xcomposite-egl/xcomposite-egl.pri b/src/hardwareintegration/client/xcomposite-egl/xcomposite-egl.pri index fa08daaf2..89ec9840d 100644 --- a/src/hardwareintegration/client/xcomposite-egl/xcomposite-egl.pri +++ b/src/hardwareintegration/client/xcomposite-egl/xcomposite-egl.pri @@ -3,7 +3,7 @@ include($$PWD/../xcomposite_share/xcomposite_share.pri) !contains(QT_CONFIG, no-pkg-config) { CONFIG += link_pkgconfig - PKGCONFIG += xcomposite egl x11 + PKGCONFIG += wayland-client xcomposite egl x11 } else { LIBS += -lXcomposite -lEGL -lX11 } diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.cpp b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.cpp index 62a9b0f34..b2c0dd5d3 100644 --- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.cpp +++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.cpp @@ -49,15 +49,14 @@ QT_BEGIN_NAMESPACE -QWaylandXCompositeGLXIntegration::QWaylandXCompositeGLXIntegration(QWaylandDisplay *waylandDisplay) - : mWaylandDisplay(waylandDisplay) +QWaylandXCompositeGLXIntegration::QWaylandXCompositeGLXIntegration() + : mWaylandDisplay(0) , mWaylandComposite(0) , mDisplay(0) , mScreen(0) , mRootWindow(0) { qDebug() << "Using XComposite-GLX"; - waylandDisplay->addRegistryListener(QWaylandXCompositeGLXIntegration::wlDisplayHandleGlobal, this); } QWaylandXCompositeGLXIntegration::~QWaylandXCompositeGLXIntegration() @@ -65,8 +64,10 @@ QWaylandXCompositeGLXIntegration::~QWaylandXCompositeGLXIntegration() XCloseDisplay(mDisplay); } -void QWaylandXCompositeGLXIntegration::initialize() +void QWaylandXCompositeGLXIntegration::initialize(QWaylandDisplay *display) { + mWaylandDisplay = display; + mWaylandDisplay->addRegistryListener(QWaylandXCompositeGLXIntegration::wlDisplayHandleGlobal, this); } QWaylandWindow * QWaylandXCompositeGLXIntegration::createEglWindow(QWindow *window) diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h index 8e1d762dc..174629159 100644 --- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h +++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h @@ -42,7 +42,7 @@ #ifndef QWAYLANDXCOMPOSITEGLXINTEGRATION_H #define QWAYLANDXCOMPOSITEGLXINTEGRATION_H -#include <QtWaylandClient/qwaylandglintegration.h> +#include <QtWaylandClient/private/qwaylandclientbufferintegration_p.h> #include <wayland-client.h> #include <QtCore/QTextStream> @@ -63,13 +63,13 @@ struct qt_xcomposite; QT_BEGIN_NAMESPACE -class QWaylandXCompositeGLXIntegration : public QWaylandGLIntegration +class QWaylandXCompositeGLXIntegration : public QWaylandClientBufferIntegration { public: - QWaylandXCompositeGLXIntegration(QWaylandDisplay * waylandDispaly); + QWaylandXCompositeGLXIntegration(); ~QWaylandXCompositeGLXIntegration(); - void initialize(); + void initialize(QWaylandDisplay *display); bool waitingForEvents() { return !mDisplay; } QWaylandWindow *createEglWindow(QWindow *window); diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h index 88f417f2d..9866ad039 100644 --- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h +++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h @@ -42,13 +42,13 @@ #ifndef QWAYLANDXCOMPOSITEGLXWINDOW_H #define QWAYLANDXCOMPOSITEGLXWINDOW_H -#include "qwaylandwindow.h" +#include <QtWaylandClient/private/qwaylandwindow_p.h> #include "qwaylandxcompositeglxintegration.h" #include "qwaylandxcompositeglxcontext.h" #include <QtCore/QWaitCondition> -#include "qwaylandbuffer.h" +#include <QtWaylandClient/private/qwaylandbuffer_p.h> QT_BEGIN_NAMESPACE diff --git a/src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri b/src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri index cc41322bb..3ecf5e7cb 100644 --- a/src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri +++ b/src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri @@ -3,7 +3,7 @@ include ($$PWD/../xcomposite_share/xcomposite_share.pri) !contains(QT_CONFIG, no-pkg-config) { CONFIG += link_pkgconfig - PKGCONFIG += xcomposite gl x11 + PKGCONFIG += wayland-client xcomposite gl x11 } else { LIBS += -lXcomposite -lGL -lX11 } diff --git a/src/hardwareintegration/compositor/brcm-egl/brcm-egl.pri b/src/hardwareintegration/compositor/brcm-egl/brcm-egl.pri index c04b4abc9..72645ace3 100644 --- a/src/hardwareintegration/compositor/brcm-egl/brcm-egl.pri +++ b/src/hardwareintegration/compositor/brcm-egl/brcm-egl.pri @@ -3,17 +3,30 @@ load(qt_plugin) QT = compositor compositor-private core-private gui-private -INCLUDEPATH = $$PWD -LIBS += -lwayland-server -lEGL +INCLUDEPATH += $$PWD + +!contains(QT_CONFIG, no-pkg-config) { + CONFIG += link_pkgconfig + PKGCONFIG += wayland-server +} else { + LIBS += -lwayland-server +} + +for(p, QMAKE_LIBDIR_EGL) { + exists($$p):LIBS += -L$$p +} + +LIBS += $$QMAKE_LIBS_EGL +INCLUDEPATH += $$QMAKE_INCDIR_EGL SOURCES += \ - brcmeglintegration.cpp \ - brcmbuffer.cpp + $$PWD/brcmeglintegration.cpp \ + $$PWD/brcmbuffer.cpp HEADERS += \ - brcmeglintegration.h \ - brcmbuffer.h + $$PWD/brcmeglintegration.h \ + $$PWD/brcmbuffer.h CONFIG += wayland-scanner WAYLANDSERVERSOURCES += $$PWD/../../../extensions/brcm.xml diff --git a/src/hardwareintegration/compositor/brcm-egl/brcmbuffer.h b/src/hardwareintegration/compositor/brcm-egl/brcmbuffer.h index 6ec5868f9..785ec2160 100644 --- a/src/hardwareintegration/compositor/brcm-egl/brcmbuffer.h +++ b/src/hardwareintegration/compositor/brcm-egl/brcmbuffer.h @@ -42,7 +42,7 @@ #define BRCMBUFFER_H #include <QtCompositor/private/qwlcompositor_p.h> -#include <qwayland-server-wayland.h> +#include <QtCompositor/private/qwayland-server-wayland.h> #include <QtCore/QSize> #include <QtCore/QVector> diff --git a/src/hardwareintegration/compositor/brcm-egl/brcmeglintegration.h b/src/hardwareintegration/compositor/brcm-egl/brcmeglintegration.h index f6486ed4b..25c5ab71e 100644 --- a/src/hardwareintegration/compositor/brcm-egl/brcmeglintegration.h +++ b/src/hardwareintegration/compositor/brcm-egl/brcmeglintegration.h @@ -58,7 +58,7 @@ public: void initializeHardware(QtWayland::Display *waylandDisplay) Q_DECL_OVERRIDE; - void udpateTextureFromBuffer(struct ::wl_resource *buffer) Q_DECL_OVERRIDE; + void bindTextureToBuffer(struct ::wl_resource *buffer) Q_DECL_OVERRIDE; bool isYInverted(struct ::wl_resource *) const Q_DECL_OVERRIDE; QSize bufferSize(struct ::wl_resource *buffer) const Q_DECL_OVERRIDE; diff --git a/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp b/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp index a127b7bd2..ede8a9abf 100644 --- a/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp +++ b/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp @@ -54,10 +54,12 @@ #include <EGL/egl.h> #include <EGL/eglext.h> +/* Needed for compatibility with Mesa older than 10.0. */ +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL_compat) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value); + #ifndef EGL_WL_bind_wayland_display typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display); typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, struct wl_buffer *buffer, EGLint attribute, EGLint *value); #endif #ifndef EGL_KHR_image @@ -79,7 +81,6 @@ public: : egl_display(EGL_NO_DISPLAY) , valid(false) , display_bound(false) - , flipperConnected(false) , egl_bind_wayland_display(0) , egl_unbind_wayland_display(0) , egl_query_wayland_buffer(0) @@ -90,10 +91,9 @@ public: EGLDisplay egl_display; bool valid; bool display_bound; - bool flipperConnected; PFNEGLBINDWAYLANDDISPLAYWL egl_bind_wayland_display; PFNEGLUNBINDWAYLANDDISPLAYWL egl_unbind_wayland_display; - PFNEGLQUERYWAYLANDBUFFERWL egl_query_wayland_buffer; + PFNEGLQUERYWAYLANDBUFFERWL_compat egl_query_wayland_buffer; PFNEGLCREATEIMAGEKHRPROC egl_create_image; PFNEGLDESTROYIMAGEKHRPROC egl_destroy_image; @@ -138,7 +138,7 @@ void WaylandEglClientBufferIntegration::initializeHardware(QtWayland::Display *w return; } - d->egl_query_wayland_buffer = reinterpret_cast<PFNEGLQUERYWAYLANDBUFFERWL>(eglGetProcAddress("eglQueryWaylandBufferWL")); + d->egl_query_wayland_buffer = reinterpret_cast<PFNEGLQUERYWAYLANDBUFFERWL_compat>(eglGetProcAddress("eglQueryWaylandBufferWL")); if (!d->egl_query_wayland_buffer) { qWarning("Failed to initialize egl display. Could not find eglQueryWaylandBufferWL.\n"); return; @@ -212,20 +212,6 @@ bool WaylandEglClientBufferIntegration::isYInverted(struct ::wl_resource *buffer } -bool WaylandEglClientBufferIntegration::setDirectRenderSurface(QWaylandSurface *surface) -{ - Q_D(WaylandEglClientBufferIntegration); - - QPlatformScreen *screen = QPlatformScreen::platformScreenForWindow(m_compositor->window()); - QPlatformScreenPageFlipper *flipper = screen ? screen->pageFlipper() : 0; - if (flipper && !d->flipperConnected) { - QObject::connect(flipper, SIGNAL(bufferReleased(QPlatformScreenBuffer*)), m_compositor->handle(), SLOT(releaseBuffer(QPlatformScreenBuffer*))); - d->flipperConnected = true; - } - Q_UNUSED(surface); - return flipper; -} - void *WaylandEglClientBufferIntegration::lockNativeBuffer(struct ::wl_resource *buffer, QOpenGLContext *) const { Q_D(const WaylandEglClientBufferIntegration); diff --git a/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h b/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h index a289baa0d..94d31fc80 100644 --- a/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h +++ b/src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h @@ -59,8 +59,6 @@ public: void bindTextureToBuffer(struct ::wl_resource *buffer) Q_DECL_OVERRIDE; bool isYInverted(struct ::wl_resource *) const Q_DECL_OVERRIDE; - bool setDirectRenderSurface(QWaylandSurface *) Q_DECL_OVERRIDE; - void *lockNativeBuffer(struct ::wl_resource *buffer, QOpenGLContext *context) const Q_DECL_OVERRIDE; void unlockNativeBuffer(void *native_buffer, QOpenGLContext *context) const Q_DECL_OVERRIDE; |