summaryrefslogtreecommitdiffstats
path: root/src/hardwareintegration/client/wayland-egl
Commit message (Collapse)AuthorAgeFilesLines
* Client: Improve logging for wayland-eglJohan Klokkhammer Helsing2018-11-071-4/+4
| | | | | | | Use logging categories, and print error code when eglInitialize fails. Change-Id: Iacba3b74a5dad23aba2309919fac7662967c94d7 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Don't include system versions of wayland protocolJohan Klokkhammer Helsing2018-10-032-2/+2
| | | | | | | | | | | | | | | | | | | | | wayland-client.h and wayland-server.h includes protocol generated for the version of wayland.xml corresponding to the libwayland version. This becomes a problem when we want to support a version of wayland.xml that's newer than the system libwayland. The solution is to include wayland-client-core.h and wayland-client-server.h instead. These headers don't include any wayland-scanner generated code, so we can safely compile and link code generated against the version of wayland.xml that we ship. [ChangeLog] Code generated by qtwaylandscanner now includes wayland-client-core.h and wayland-server-core.h instead of wayland-client.h and wayland-server.h. This might break source compatibility for code using custom wayland extensions. Fixes: QTBUG-70553 Change-Id: Ice0cdb60ecc4f936acc0e158b96f7978549f62c1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-021-1/+2
|\ | | | | | | Change-Id: I4bd7389958fcee8b16d131625280c7d125894212
| * Client: Fix deadlock for xdg-shell when makeCurrent is called earlyJohan Klokkhammer Helsing2018-09-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | If makeCurrent was called before the window was exposed, it would disable resizing, which would block the window from applying the configure which the client needs to ack in order to be exposed. Fixes the issue by locking resizing only if the window is exposed. Change-Id: I0e6b30bc4b08886fb95d502cac0b735d4bb732d2 Fixes: QTBUG-70646 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-09-181-0/+3
|\| | | | | | | Change-Id: I27420ad626a0c6a18b9a11c6ffdc102006fe78e0
| * Workaround for crash in QWaylandGlContext::makeCurrentv5.12.0-alpha1Johan Klokkhammer Helsing2018-09-121-0/+3
| | | | | | | | | | | | | | | | | | | | QOpenGLContext::makeCurrent no longer sets the current context before calling the platform function. Task-number: QTBUG-70511 Change-Id: I67766d43b1142b0742f655b5c2728f4c87fbfb5f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-09-112-4/+7
|\| | | | | | | Change-Id: I40724946222f7e51b3cf36a2ce1cd60d7801f41a
| * Fix eglGetError call in error handlingJohan Klokkhammer Helsing2018-09-071-1/+1
| | | | | | | | | | Change-Id: I215db1d8bb321e0fe9d49d09c8b5f0d2492e901d Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Fix regression in QWaylandGlContext::makeCurrent for offscreen surfacesJohan Klokkhammer Helsing2018-09-042-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Fixed a bug where offscreen surfaces would get surfaceless EGL contexts. Fixes a regression in in bf09c7a1. The call, window->updateSurface(window->isExposed()), is problematic because offscreen textures are never exposed, and consequently, eglSurface will be EGL_NO_SURFACE, which will then create a surfaceless context in the call: eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context) This reverts to the old behavior of always trying to create an EGL surface, unless the window doesn't have a valid wl_surface, in which case it doesn't make sense (which is what bf09c7a1 fixed, QTBUG-65553). Task-number: QTBUG-70242 Task-number: QTBUG-68605 Task-number: QTBUG-67601 Change-Id: I44b07bb8bf4b33c73c6379a1de8e9e5cfd220b51 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Remove redundant virtualJohan Klokkhammer Helsing2018-09-051-1/+1
|/ | | | | Change-Id: Ie8b76534a1c7904abd6b2e1e594174004847b28c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix renderableType of requested wayland surfaceMichal Klocek2018-06-151-1/+1
| | | | | | | | | Commit 815206 fixed renderableType of wayland gl context, keep for sanity also correct renderableType for surface. This is most likely never used, but makes more sense to keep it in sync. Change-Id: I8e8cae1feba20054aac94be246e449ccb0974240 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Respect requested surface when creating gl contextMichal Klocek2018-06-131-1/+1
| | | | | | | | | | | When creating gl context with egl pass reference format [ChangeLog][QPA plugin] Fixed a bug where QSurfaceFormat::renderableType() was ignored when creating an OpenGL context. Change-Id: Id7ae55413b8b515e344e9147345631186bef6d6c Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Fix crash when calling setVisible for EGL windows twice within one slotJohan Klokkhammer Helsing2018-03-232-9/+0
| | | | | | Task-number: QTBUG-63411 Change-Id: I56c367a1801d215e93bf195332272cfee300cdd8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Don't try to create compatibility GL context when profile is unsetv5.11.0-beta2Johan Klokkhammer Helsing2018-03-091-4/+12
| | | | | | | | Context creation would sometimes fail because of this. Change-Id: Icf73a42ee2bb984ebfc09b7ed98f094d544134b8 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Use override when applicableJohan Klokkhammer Helsing2018-02-281-1/+1
| | | | | | | | | | Applied automatic fixes using clang-tidy's modernize-use-override. This adds the "override" keyword where it's possible and also removes the "virtual" keyword when redundant. Change-Id: I899950e5cf8782785d30a245a9c69c1720905d50 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use default member initialization for raw pointersJohan Klokkhammer Helsing2018-02-283-6/+6
| | | | | | | | Initialize to nullptr to prevent undefined behavior. Change-Id: I7753c0be77a886d62ecb1cd7b86fc8c98340b0b8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Init variables where they are declared when possible (clang-tidy)Johan Klokkhammer Helsing2018-02-276-20/+10
| | | | | | | | | | | | | | | | | | | | clang-tidy -p compile_commands.json $file \ -checks='-*,modernize-use-default-member-init,readability-redundant-member-init' \ -config='{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: "1"}]}' \ -header-filter='qtwayland' \ -fix Afterwards I ran search and replace on the diff to clean up some whitespace errors: - Replaced '(\n\+[^:\n]*)(:\s+\+\s+)' with '$1: ' - Replaced '(\n\+[^,\n]*)(,\s+\+\s+)' with '$1, ' - Replaced '\n\+\s*\n' with '\n' I also had to do some manual edits, because for some reason, this particular clang-tidy check doesn't trigger for some files. Change-Id: I3b3909bac4bf20108bbe8ad1e01bcc54236dae1b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge remote-tracking branch 'qt/5.10' into devPaul Olav Tvete2018-01-311-1/+1
|\ | | | | | | Change-Id: I603cbb164e6015c1bb7796bd8bb055d84dbc3b04
| * Don't recreate hidden egl surfacesDavid Edmundson2018-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWaylandEglWindow deletes surfaces when a window changes from hidden to visible, presumably as a result of us not having a valid wl_surface object. By extension it doesn't make sense to create a surface whilst a window is still hidden. This fixes a crash where a QQuickWindow hides and then is destroyed. In QQuickWindow destruction we have to create a valid context in order to delete any textures/assets owned by the scene graph; as the wl_surface has gone this causes an error in the EGL libs when we create an EGL surface. Task-number: QTBUG-65553 Change-Id: I9b37a86326bf2cd7737c4e839c1aa8c74cf08116 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Automatically change scale when entering a new outputJohan Klokkhammer Helsing2017-11-152-0/+6
| | | | | | | | | | | | Change-Id: I99198d47eac5b2091fe2bfd8fc24646be9c9890a Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* | Replace Q_NULLPTR with nullptrKevin Funk2017-09-262-3/+3
|/ | | | | | | Change-Id: I9699a957430b8d3574ce29acb91b7ada9ea6209b Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-261-2/+7
|\ | | | | | | | | | | | | Conflicts: src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h Change-Id: Ie45a13d3c866d0503e6e31b2a53b70f3420c5066
| * Fix crashing in non-core GLES functions on some systemsLaszlo Agocs2016-11-291-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | The 5.7 refactoring for QOpenGLFunctions introduced new requirements for the QPlatformGLContext::getProcAddress implementations. Implementations outside of qtbase were unfortunately forgotten. QtWayland's implementation does not derive from the common EGL version so it needs its own patch. Task-number: QTBUG-57326 Change-Id: Ie2ad22bf5986870aac74adc1e4c654c616091034 Reviewed-by: Risto Avila <risto.avila@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Replace all occurrences of Q_DECL_OVERRIDE with overrideJohan Klokkhammer Helsing2017-01-233-21/+21
|/ | | | | Change-Id: I16b7b23efe944b49d1fcc9e7588cdb0a991cebd1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use the feature system internallyLars Knoll2016-11-231-1/+0
| | | | | | | | | Get rid of almost all DEFINES += ... in the pro files, instead use the proper QT_CONFIG() macro to determine whether a feature is available. Change-Id: I867769be2085c6ba93b6815e223e2b89edcb245d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Move qtwayland over to use the new configuration systemLars Knoll2016-11-231-7/+2
| | | | | | | | | | | | | Re-use configuration results from qtbase where possible and move all pkg-config handling over to be done at configuration time. Since waylandclient and waylandcompositor are two independent libs, this required some duplication of features and libraries used by both in the configure.json files. Change-Id: I1f3ec56c85cb780324cc7634a3ad7951125853a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Create and destroy the shell surface when showing and hidingGiulio Camuffo2016-11-172-0/+14
| | | | | | | | | | | | | | | | | | This changes the shell surface handling for windows, and instead of creating the shell surface at initialization time, and then attaching a null buffer to hide it, it creates the shell surface on setVisible(true), and destroys it on setVisible(false). This fixes hiding when using xdg_shell, as that interface defines that attaching a null buffer to an xdg_surface is an error. Also this should help with bugged EGL drivers which attach a buffer after eglSwapBuffers() returns, which used to cause a newly hidden window to get a new valid buffer after we attached a null one, showing it again. Task-number: QTBUG-47902 Change-Id: I8e0a0442319a98cc1361803ea7be1d079b36fc8c Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* use modularized platformsupport modulesv5.8.0-beta1Oswald Buddenhagen2016-10-224-4/+4
| | | | | Change-Id: I7883470e22deb089240d86df7dc2d625a107a53e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix for wayland-egl on DRIVE CXLaszlo Agocs2016-08-102-2/+2
| | | | | | | | | Have to adapt after the changes in qtbase Task-number: QTBUG-55140 Change-Id: I5b5c981514c7ea2898c631db579d4d7d43975e3d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Fix build with ICC 17: problem parsing override keywordThiago Macieira2016-08-031-1/+1
| | | | | | | | | | | | | So just use the typedef that QPlatformOpenGLContext defines for a function pointer. qwaylandglcontext.h(76): error: expected a ";" Intel Issue ID: 6000161944 Change-Id: I149e0540c00745fe8119fffd1463ce5c4ffdeb4c Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-303-12/+12
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandinputcontext_p.h src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h Change-Id: Iac517e1985e4e67d7ca00ca4c10dcda9dd9079f9
| * Add missing Q_DECL_OVERRIDEs to client classes.Johan Klokkhammer Helsing2016-06-272-11/+11
| | | | | | | | | | | | Change-Id: I10e550a25ce498bbeedc242ac73059cc6fdcef30 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Fix content positioning relative to decoration on scaled outputsJohan Klokkhammer Helsing2016-06-081-1/+1
| | | | | | | | | | | | | | | | | | Only the width and height were scaled previously, causing an incorrect offset from the lower left corner, resulting in a small transparent gap to form between the decoration and the content on the right and top. Change-Id: I0b253c05c9b260d9ff3a6ab5f8aea42370561959 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* | Use the EGL_EXT_platform_wayland extension if availableGiulio Camuffo2016-06-212-5/+32
| | | | | | | | | | | | | | | | | | This allows to avoid polluting the environment with the EGL_PLATFORM variable, and conversely to avoid relying on it and still be sure to get a valid display. Change-Id: I3dd4b62b1358fdc0ba8a5cedb1233e13405611df Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Use getProcAddress(const char*) to work with updates in QOpenGLContextErik Larsson2016-03-022-3/+3
| | | | | | | | | | | | | | | | | | QOpenGLContext changed the getProcAddress overload to use const char* instead of QByteArray in commit (qtbase 29d8159c4478a5275d2ea102daf270a91ed7e92e). Change-Id: Idce613ebd06daeb111fd76ebee89a82182d028d5 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Add missing lib when pkg-config is not usedLaszlo Agocs2016-01-281-1/+1
| | | | | | | | | | | | | | | | | | Some embedded SDKs will not have pkg-config available for Wayland. Hence we need to keep the manual LIBS+=... path functional. Change-Id: I3815267254ce5c137918e817ade434cffba9f20b Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-208-112/+160
| | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I76ae5d3e64f096eb3163d6163a38d68c7c1ca756 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge branch 'wip-compositor-api' into devPaul Olav Tvete2015-12-022-1/+2
|\ \ | | | | | | | | | | | | | | | | | | This introduces the new compositor API, removing the old API (which was never officially supported). Change-Id: I1dc01f0fb4edc749e34ed8356e56ad87d7d64913
| * | Merge remote-tracking branch 'qt/5.6' into wip-compositor-apiPaul Olav Tvete2015-12-021-2/+4
| |\| | | | | | | | | | Change-Id: Ie70fdd03e1259a8cb75bbdbf1324e3e4a2b51807
| * | Merge branch 'qt/5.6' into wip-compositor-apiPaul Olav Tvete2015-10-132-0/+8
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/wayland/pure-qml/main.cpp examples/wayland/pure-qml/qml/Chrome.qml examples/wayland/pure-qml/qml/main.qml src/client/qwaylanddnd_p.h src/compositor/compositor_api/qwaylandquicksurface.cpp src/compositor/compositor_api/qwaylandsurface_p.h src/compositor/compositor_api/qwaylandsurfaceitem.cpp src/compositor/extensions/qwlinputmethodcontext_p.h src/compositor/hardware_integration/qwlclientbufferintegration_p.h src/compositor/hardware_integration/qwlclientbufferintegrationfactory_p.h src/compositor/hardware_integration/qwlclientbufferintegrationplugin_p.h src/compositor/hardware_integration/qwlhwintegration_p.h src/compositor/hardware_integration/qwlserverbufferintegrationfactory_p.h src/compositor/hardware_integration/qwlserverbufferintegrationplugin_p.h src/compositor/wayland_wrapper/qwlcompositor_p.h src/compositor/wayland_wrapper/qwldatadevice_p.h src/compositor/wayland_wrapper/qwldatadevicemanager_p.h src/compositor/wayland_wrapper/qwldatasource_p.h src/compositor/wayland_wrapper/qwlextendedsurface_p.h src/compositor/wayland_wrapper/qwlinputdevice_p.h src/compositor/wayland_wrapper/qwlinputmethod_p.h src/compositor/wayland_wrapper/qwlinputpanel_p.h src/compositor/wayland_wrapper/qwlinputpanelsurface_p.h src/compositor/wayland_wrapper/qwlkeyboard.cpp src/compositor/wayland_wrapper/qwlkeyboard_p.h src/compositor/wayland_wrapper/qwloutput_p.h src/compositor/wayland_wrapper/qwlpointer_p.h src/compositor/wayland_wrapper/qwlregion_p.h src/compositor/wayland_wrapper/qwlshellsurface_p.h src/compositor/wayland_wrapper/qwlsubsurface_p.h src/compositor/wayland_wrapper/qwlsurface.cpp src/compositor/wayland_wrapper/qwlsurface_p.h src/compositor/wayland_wrapper/qwltextinput_p.h src/compositor/wayland_wrapper/qwltextinputmanager_p.h src/compositor/wayland_wrapper/qwltouch_p.h src/compositor/windowmanagerprotocol/waylandwindowmanagerintegration_p.h src/imports/compositor/WaylandCursorItem.qml Change-Id: I4e63ef295b297022d4970b3c68b3d565843086bd
| * | | Make sure to update the content fbo for QWaylandGLContextJørgen Lind2015-08-282-1/+2
| | | | | | | | | | | | | | | | Change-Id: I09f34fe3ea6bb3b57e49c63284f48d8af908ec1a
* | | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-011-2/+4
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylanddisplay_p.h Change-Id: I602b90a055d1322af369fb7b77a68583154b660f
| * | | Get rid of the egl config test and use what qtbase providesLaszlo Agocs2015-11-111-2/+4
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | contains(QT_CONFIG, egl) and CONFIG += egl is the only sane way to test for and pull in EGL headers and libs. This is particularly important when trying to be robust and guard against half-broken sysroots on embedded where a naive PKGCONFIG += egl breaks. Also add an EGL_WAYLAND_BUFFER_WL define to keep wayland-egl compiling. We are not testing for that in any config tests may cause a failure in sysroots that have parts of Mesa thrown in but pick ip an older EGL header from the vendor's driver. Change-Id: I7b7e6a7a91e78dbda5b6954ad08761298c538efc Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* / | Make swap buffer call non-blocking for subsurfacesMikko Levonmaa2015-11-122-1/+30
|/ / | | | | | | | | | | | | | | | | Allows clients that use subsurfaces in synchronized mode to continue processing the event loop even in cases where a frame callback is not delivered from the compositor pending a parent surface commit Change-Id: I7df38afc4080546b60184dacecde321ba8062fac Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* / Fix deadlock when hiding and showing EGL windowsv5.5.1Giulio Camuffo2015-09-092-0/+8
|/ | | | | | | | | | | | When hiding a window we attach a NULL buffer, which means that any frame callback that is still waiting will not be sent. In the SHM case we just destroy it, but we cannot do that in the EGL case, since we don't have a hold of it. So destroy the EGLSurface, which will in turn destroy the callback. Task-number: QTBUG-46921 Change-Id: I20e0d1ca7b53fb88096101d46979996dd944d429 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Fix threaded OpenGL rendering on Mesa and possibly other EGLsGiulio Camuffo2015-05-143-4/+14
| | | | | | | | | eglBindAPI's docs says "defines the current rendering API for EGL in the thread it is called from". We were instead just calling it in the thread the context was created in, not in the thread used for rendering. Change-Id: Iba8ffe75a6f4f8b9d1bba59c0e7cce34499e9c48 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-178-178/+114
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I5a74d32515c3f1fe7aa1916f4241c92832510f8c Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
* Namespace the platform pluginsGiulio Camuffo2015-01-297-4/+35
| | | | | | | | | | | | There currently is a QWaylandInputDevice class both in the wayland QPA plugin and in the QtCompositor API. This causes the qwindow-compositor example to crash when running nested in a wayland session due to a mismatch between the two classes. By namespacing all the plugin code we make sure that name clashes will not happen anymore. Change-Id: I17497cff697599200bea68bf01dfde474526390f Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Implement high-dpi supportMorten Johan Sorvig2014-12-172-4/+6
| | | | | | | | | | | | | | | | | | | | | | | Wayland 1.2 added support for display scaling, where wl_output has a "scale" event informing the the client that the compositor will scale the output surfaces by the given factor. The client then has the option of providing large surfaces to match the target pixel densety and bypass the compositor's scaling. This is done by calling wl_surface::set_buffer_scale. Re-use the current high-dpi support in Qt by implementing devicePixelRatio() for QWaylandScreen and QWaylandWindow. Provide high resolution buffers both for raster and OpenGL graphics. Introduce a new coordinate system: buffer coordinates, which is related to the window coordinate system via an "int scale" scale factor. This scale factor corresponds to Qts qreal devicePixelRatio, but we keep the name and the type in the QtWayland implementation. Change-Id: Ie10d7e5b4833480a9a25d96a26ad02150eb6e83f Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Enable Qt WebEngine on WaylandLaszlo Agocs2014-12-042-0/+30
| | | | | | | | | The native resource getters that are supported by eglfs will have to be supported by the wayland platform plugin too. (on wayland-egl at least) Change-Id: Ibbab649c04785dbde177342c45b9bc6f1edd954d Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>