summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Update plugins.qmltypes for Qt 5.13Kai Koehne2019-03-072-6/+40
| | | | | | | | Task-number: QTBUG-73739 Task-number: QTBUG-74042 Change-Id: I2074321978f0c32aabeb0d3d4873c5d12d09946d Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Compositor: Add missing WaylandSurface::bufferSize propertyJohan Klokkhammer Helsing2019-03-071-1/+2
| | | | | | | ...and also add revision info for the bufferSizeChanged signal. Change-Id: I2b8e9bea7cafc70c078e74b191c3c87b322ff216 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Compositor: Add revision number for new APIJohan Klokkhammer Helsing2019-03-053-5/+7
| | | | | | | | | | | | | Revisioning API in QML serves two purposes: - Making sure QML code developed against an older version of Qt doesn't change its behavior when run with newer versions. This can otherwise happen due to QML being interpreted, and QML's liberal scoping rules. - Allowing developers to target an older version of Qt, but developing a newer version by explicitly asking for an older import. Change-Id: I837cd449028c4b84c33afa97bcf6c1149801facd Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Client: Don't send illegal wl_pointer.set_cursor requestsJohan Klokkhammer Helsing2019-02-272-4/+29
| | | | | | | | | When the cursor focus' wl_surface is destroyed, or the pointer leaves a surface, we have to reset the enter serial to avoid sending illegal set_cursor requests. Change-Id: I0c886e4123acb4aebd325b07bf15b9d3fa8589da Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Compositor: Add missing version information for new APIJohan Klokkhammer Helsing2019-02-272-0/+22
| | | | | Change-Id: Ieec4a97d901f236d2cec003d8b35e2f95b1b2aea Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Client: Decrease buffer_scale for small cursor themesJohan Klokkhammer Helsing2019-02-271-8/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all setups or themes have cursors with a matching DPI. In such cases, wl_cursor_load_theme will then return a theme that is the closest resolution it can get. With the previous implementation, cursors themes without a high dpi version would become become really tiny on high DPI displays. This patch prevents it by setting a lower wl_surface.scale for those themes. This also implements proper tracking of the cursor surface's entered outputs (i.e. if the entered surface is destroyed, the scale is reset, and similarly the following sequence of events should also be handled: wl_surface.enter(wl_output@1) wl_surface.enter(wl_output@2) wl_surface.leave(wl_output@2) In the old implementation, we would be stuck with the scale from wl_output@2, but now we now should correctly get the scale of wl_output@1. [ChangeLog][QPA plugin] Cursors on high DPI screens are now scaled up if the cursor theme does not have an appropriate high resolution version. Change-Id: Ic87d00e35612b5afdf8c2e3a4463fcfef1f1f09d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-262-0/+2
|\ | | | | | | Change-Id: I4c99725971d7c15448ca3f01306ae869af9ef057
| * Fix the build with -no-guiLiang Qi2019-02-252-0/+2
| | | | | | | | | | | | Change-Id: I9ff6ac4e33e89691e06965515a54e91a831b7a0a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Client: Don't leak wl_data_offersJohan Klokkhammer Helsing2019-02-205-50/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Fixed a leak of wl_data_offers. Data offers would previously leak when a surface with keyboard focus was destroyed... or if it was hidden... or if it changed type, and so on. Make keyboard focus follow a wl_surface instead of a QWaylandWindow. This also fixes a couple of other minor issues, such as the mRepeatTimer not stopping when a wl_surface was destroyed. Ideally, we would have a QWaylandSurface class separate from the QWaylandWindow, but that's out of scope for this fix. Fixes: QTBUG-73825 Change-Id: I56e502512c3959e3fcdb63744adc4a7698e3d53d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-164-9/+19
|\| | | | | | | Change-Id: Ifb1c6c64abbb5c453092eeb1aff91572b57de410
| * Client xdg-shell: Fix crash when switching popupsJohan Klokkhammer Helsing2019-02-124-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call to flushWindowSystemEvents() sometimes caused new popups to be shown in the middle of hiding another. I.e. if multiple events show and hide surfaces, they would be shown/hidden in opposite order of their corresponding events. QMenus sometimes suffered from this (can be seen with the qopenglwidget example from qtbase). When the flush was added 5 years ago in 50f43a0c5, it was to "reduce the chances of seeing a bad frame". I don't see any rendering artifacts, though, and I can't find any bug report on it. So let's hope it's safe to remove the hack. [ChangeLog][QPA plugin] Fixed a crash that sometimes happened when switching popups. Also adds more info to the workaround warning message that appears when a popup grab is attempted and there already is another grabbing popup that is not the parent. Fixes: QTBUG-73524 Change-Id: Ibfcbb48c4bbe295c2be1a30add2d7e05cad398c5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Refactor cursors and fix various bugsJohan Klokkhammer Helsing2019-02-159-190/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is mostly a cleanup to prepare for implementations of xcursor-configuration, but also fixes a couple of issues. Most of the logic has now been moved out of QWaylandDisplay and QWaylandCursor and into QWaylandInputDevice and QWaylandInputDevice::Pointer. QWaylandDisplay now only contains mechanisms for avoiding loading the same theme multiple times. There is now only one setCursor method on QWaylandInputDevice, accepting a QCursor and storing its values so changing scale factor doesn't require calling setCursor again. QWaylandInputDevice::Pointer::updateCursor() is called instead. Cursor buffer scale is now set according to enter/leave events of the cursor surface itself instead of the current window, this fixes incorrect buffer scales for cursors on windows that span multiple outputs. The window buffer scale can still be passed into the seat as a fallback until the first enter event is received. This also fixes a bug where the QWaylandBuffer of a bitmap cursor could be deleted while it was being used as a cursor. [ChangeLog][QPA plugin] Fixed a bug where the DPI of bitmap cursors were not sent to the compositor, leading to the compositor incorrectly scaling the cursor up or down. [ChangeLog][QPA plugin] Fixed a bug where bitmap cursor hotspots were off when the screen scale factor was different from the bitmap cursor device pixel ratio. Task-number: QTBUG-68571 Change-Id: I747a47ffff01b7b5f6a0ede3552ab37884c4fa60 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-091-2/+2
|\| | | | | | | Change-Id: I1b00775ff2d9ede97dbcd9f9deb9f2a947cf1ae5
| * Doc: Fix wrong link to isBufferLockedNico Vertriest2019-02-071-2/+2
| | | | | | | | | | | | Change-Id: I5024e50af6e403e9373181948b36548bc0862f9b Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client: Fix incorrect decoration size when QT_SCALE_FACTOR is setJohan Klokkhammer Helsing2019-01-305-28/+51
| | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Fixed a bug where window decorations were to small for for the content when QT_SCALE_FACTOR was set. Fixes: QTBUG-72993 Change-Id: I1ed26e038c27f7c4454a6bcc04f0849e4af789e7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Add deprecated support for wl_scalerJohan Klokkhammer Helsing2019-01-247-0/+667
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] Add deprecated support for the deprecated wl_scaler. Some clients are stuck on the unofficial Weston protocol wl_scaler instead of the standardized and stable wp_viewporter. This implements optional support for wl_scaler. This patch has been written to be easily removable in Qt 6, and touches a minimal amount of other code. The implementation can be tested using the new manual test compositor: tests/manual/wlscaler. Weston 1.11.1 has a demo client named weston-resizor, which can be used to test. Note that although newer versions of Weston also have weston-resizor, those versions use wp_viewporter instead of wl_scaler, so you really need 1.11.1 or earlier to test. Fixes: QTBUG-69635 Change-Id: Id572e28044cd764eaf63b1259a92bc589711c39d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Fix platform integration not building with -no-feature-wayland-serverJohan Klokkhammer Helsing2019-01-232-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | The plugins subdir which includes the platform plugins was not built without the feature wayland-server. Moves the checks inside the plugins folder to make it build. Also disables some tests that won't pass without the compositor API. Fixes: QTBUG-73169 Change-Id: Ie68badd2ff62ee544c31edaff7c732082e0a4115 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-2218-109/+868
|\| | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/3rdparty/protocol/qt_attribution.json src/client/qwaylandintegration.cpp Change-Id: I475889f2817c7094b68a2948fdd34ddf8b0c486f
| * Merge remote-tracking branch 'qt/5.12.1' into 5.12Paul Olav Tvete2019-01-2116-106/+869
| |\ | | | | | | | | | Change-Id: I6ca92b605c55b0c8941d42e40fad624f00a65cd3
| | * Fix black client windows when not using window decorations on NVIDIADominik Holland2019-01-081-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWaylandGlContext::makeCurrent() tries to be smart and only call eglMakeCurrent() if really needed. This causes problems on NVIDIA where the call is always needed. Change-Id: I08d881d69f79a0fd4ea83a65780052e269a566be Task-number: QTBUG-71697 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Fix flickering (black frames) of wayland clients on NVIDIADominik Holland2019-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the threaded render loop rendering the texture we acquired from the eglstream is done in a different thread. This rendering needs to be finished before the next acquire call for the eglstream is done otherwise we might end up rendering a broken (black) frame and see the client flicker. To fix this, make sure to send the frame callbacks after the rendering was completed and not before the rendering starts. Change-Id: I5a75914d14d2df7fa8b6bbd526f87e3ef6208cd6 Task-number: QTBUG-71697 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Revert "Client: Full implementation for frame callbacks"Johan Klokkhammer Helsing2019-01-083-103/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This caused regressions because QtQuick depends on swapBuffers for throttling animations. We probably need to emulate a blocking swapBuffers and continue after a timeout, but until we have a patch for this, revert this to avoid releasing a regression. This brings back the bug with a frozen event loop when a surface is waiting for a frame callback, but this is preferable to a regression. This reverts commit 1dc85b95ab0adc1e805d059e2c35c671ef790011. Fixes: QTBUG-72578 Change-Id: If6435a947aae5e9fd775404649a392bfafe9130a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * wl_eglstream_controller implementation for NVIDIAPaul Olav Tvete2019-01-0812-1/+827
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new client buffer integration: wayland-eglstream-controller, which contains the EGLStream logic from wayland-egl, and additionally uses NVIDIA's wayland-eglstream-controller protocol to avoid the issue where the stream is not ready at the time of first buffer attach. This is not enabled by default. Can be used like this: QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=wayland-eglstream-controller ./pure-qml Fixes: QTBUG-71697 Change-Id: I73bb2a8fe9852afe1b5807cbb8c35dc4c7624dad Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Remove stray surfaceDestroyed() declarationPier Luigi Fiorini2019-01-181-1/+0
| | | | | | | | | | | | | | | Change-Id: I1a23d6ab5a455603990db269446c15a012c0f879 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Remove unimplemented QWaylandCompositor::createSurfaceViewJohan Klokkhammer Helsing2019-01-181-2/+0
| |/ | | | | | | | | | | | | | | Seems like it was just a left behind by mistake in fffa0f76 back in 2011. Fixes: QTBUG-73070 Change-Id: I3055d2c72cd6752de9917d765684ff049c0dbc6c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Update wayland.xml to version 1.16.0Johan Klokkhammer Helsing2019-01-212-478/+1151
| | | | | | | | | | | | | | | | | | | | | | | | Now that we've stopped including the system libwayland protocol headers, i.e. wayland-client.h and wayland-server.h, it should be safe to update the protocol definitions to the latest version. Note that this just updates the protocol definition, the implementations for the various interfaces are still using the old versions. Change-Id: I961e762553756e11e4c5b33c74101f0c16661232 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Compositor xdg-shell: Warn when clients supply invalid anchor rectsJohan Klokkhammer Helsing2019-01-182-10/+28
| | | | | | | | | | | | | | | | | | | | | | From the protocol: "When the xdg_positioner object is used to position a child surface, the rectangle may not extend outside the window geometry of the child's parent surface." Adds a warning for both v6 and stable when clients do this. Change-Id: I575a89785f45c080d488be748ec099569b38ea9b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Client: Initialize m_retainedReadIndexJohan Klokkhammer Helsing2019-01-181-1/+1
| | | | | | | | | | | | Change-Id: I9ae028cda8f8a874eb8379f16a9ef7facf0ed85d Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Client: Implement xdg-output-unstable-v1 version 2Johan Klokkhammer Helsing2019-01-173-1/+7
| | | | | | | | | | | | | | | | | | | | Adds handler for the new name event and updates tests accordingly. This means QScreen::name() will now typically return strings like: "VGA-1", "WL-1", "DP-2", "HDMI-A-1" instead of "Screen25", "Screen26", "Screen27" etc. Change-Id: I3d5748a2fd0d772e2344ac53f0ed808790a84ba5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Clean up .gitignorePier Luigi Fiorini2019-01-172-0/+6
| | | | | | | | | | | | | | | | | | Ignore more files resulting from the build process. Glob all scanner generated files, and add exceptions for pregenerated files. Change-Id: Ica60951356bdc145ebd66f5e6fc6bf4e23f2aa72 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Compositor: Emit a signal when WaylandQuickItem.compositor changesJohan Klokkhammer Helsing2019-01-172-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes warnings like: QQmlExpression: Expression qrc:/Chrome.qml:13:5 depends on non-NOTIFYable properties: Chrome_QMLTYPE_28::compositor [ChangeLog][Compositor] Added a missing change signal for WaylandQuickItem.compositor. Change-Id: I9f372c46778d0851a82a8dcbb0751a0e12f825b1 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Member init for some variables that are not covered by constructorsJohan Klokkhammer Helsing2019-01-1615-23/+23
| | | | | | | | | | | | | | Where it makes sense, default init variables to sensible values Change-Id: Ie2aa6ab79a6a3c8322bb0ff804f340f7ffd1c1d1 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Track changes to window geometry for xdg-shell and xdg-shell-v6Pier Luigi Fiorini2019-01-156-6/+17
| | | | | | | | | | | | | | | | | | | | Send window geometry every time the window is resized. [ChangeLog][QPA plugin] Send window geometry every time the window is resized. Change-Id: I8f3824c31455345be2b582e7d3a55077b47851b6 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Set size hints for xdg-shell and xdg-shell-v6Pier Luigi Fiorini2019-01-157-1/+82
| | | | | | | | | | | | | | | | | | | | Send minimum and maximum size hints to compositors. [ChangeLog][QPA plugin] Implement minimum and maximum size in the xdg-shell and xdg-shell-v6 shell integrations. Change-Id: I631c3348c8333d7a246b21228a92c436f5adb5dc Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client decorations: Show menu on right clickJohan Klokkhammer Helsing2019-01-1412-6/+57
| | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] A window menu is now shown when the window decorations are right-clicked (if supported by the compositor). Change-Id: I13bf0c8cd91a6e5a3b44e47114dfdc2ff0e97f3a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-034-23/+44
|\| | | | | | | | | | | | | Conflicts: src/client/qwaylandinputdevice.cpp Change-Id: I4f985d6e47b4199a940ff1cd40e65165c28e49b2
| * Client: Don't assume windows have surfaces in QWaylandInputContext::updateJohan Klokkhammer Helsing2019-01-031-7/+16
| | | | | | | | | | | | Fixes: QTBUG-72751 Change-Id: I6018a34d4a4cfcbdef5d6cd05d2d4ef12846efea Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Client: Fix incorrect damage for decoration edgesJohan Klokkhammer Helsing2019-01-031-1/+2
| | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Fixed a bug where surface damage for window decorations was outside the surface. Fixes: QTBUG-72818 Change-Id: I32d00174f1c308952a98bdb55731eb77be54f331 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Client: Fix various input related crashes for events without focusJohan Klokkhammer Helsing2019-01-021-14/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some compositors fail to send wl_pointer.enter events before button and axis events. This led to nullptr dereference crashes. [ChangeLog][QPA plugin] Fixed a crash caused by compositors sending incorrect pointer events. Fix it by adding nullptr checks before trying to access the pointer focus in case the compositor didn't send enter, or if something deleted the surface (it's a QPointer). This means we are now silently ignoring events for misbehaving compositors (which is probably not optimal), but I don't see how we can easily distinguish between a missing enter and a deleted QWaylandSurface without adding more bookkeeping overhead. Ditto for wl_keyboard. Fixes: QTBUG-72235 Change-Id: I4bfaa3da4ebae37b059e1e450975566559edf40b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Client xdg-shell: Fix protocol error for tooltips on popupsJohan Klokkhammer Helsing2018-12-261-1/+1
| | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Fixed a protocol error that used to happen when closing a menu with an active tooltip. Fixes: QTBUG-71734 Change-Id: I784fef08494fabaa4debea11f51116cf9de1f86e Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Compositor: Implement support for the viewporter extensionJohan Klokkhammer Helsing2019-01-0211-2/+661
| | | | | | | | | | | | | | [ChangeLog][Compositor] Added support for the viewporter Wayland extension. Change-Id: I1d33652fab6ff18da4ae1ae3497f0ca43517420a Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-12-2222-93/+178
|\| | | | | | | | | | | | | | | Conflicts: README src/hardwareintegration/client/xcomposite_share/xcomposite_share.pri Change-Id: I7cbbf39916821f0f1749e3ccab3151f68f4aa1ac
| * Compositor: Fix crash in QWaylandSurface::waylandClientJohan Klokkhammer Helsing2018-12-222-1/+14
| | | | | | | | | | | | | | | | Adds a test for customSurface which crashed without the fix. Fixes: QTBUG-72688 Change-Id: I30c50e474379c61b90b2dd294eae9a7c88c105a2 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Client: Full implementation for frame callbacksJohan Klokkhammer Helsing2018-12-133-35/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Wayland plugin now takes full control over delivering update request and implement frame callbacks for both egl and shm. Fixes two bugs: [ChangeLog][Client] The non-blocking version of eglSwapBuffers is now used. This fixed a bug where minimized windows would block the event loop. Also, when we relied on the QPA version of requestUpdate, we would sometimes deliver one update request while we were waiting for a frame callback. When we implement the fallback timer ourselves we can make sure we only deliver the fallback if there are no pending frame callbacks. Fixes: QTBUG-69077 Change-Id: I2d3a6896c32e63d8520b57448a3601a817816a91 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Specify X11 dependency explicitlyPaul Olav Tvete2018-12-131-1/+1
| | | | | | | | | | | | | | Fixing build issue now that XComposite no longer pulls in X11. Change-Id: I4c5e77188cf167716aa64f2575d70ac2ca37608b Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Fix scaling if wrong attached window size is returnedKimmo Ollila2018-12-111-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Some drivers may return wrong size from wl_egl_window_get_attached_size and can therefore ignore wl_egl_window_resize calls. This patch introduces a new env variable QT_WAYLAND_DISABLE_RESIZECHECK to skip the size check and to force resizing of egl window on create and resize events. Task-number: QTBUG-70079 Change-Id: I9be97480088c63ae0a6dc3d1d1e026b0683a627e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Fix invalid QWaylandOutputMode comparison operatorJędrzej Nowacki2018-12-061-2/+2
| | | | | | | | | | | | Fixes: QTBUG-72288 Change-Id: I61fde92ea4275febbb4ec8c067280a4ca570d7c1 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * use new feature name xkbcommon_evdev -> xkbcommonGatis Paeglis2018-12-0514-52/+52
| | | | | | | | | | | | | | | | | | The xkbcommon configure logic was refactored in qtbase/c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a. For more details see the relevant commit. Change-Id: Ic1aa26846ab8266c589f6e92dc8b81aba36df58a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | remove stray Q_UNUSED callGatis Paeglis2018-12-171-2/+0
| | | | | | | | | | | | | | The variable actually is used. Change-Id: I758c35e49b5c9f861ae40c34dcd4fa60d85361ae Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Compositor: Implement linux-dmabuf-unstable-v1Andreas Cord-Landwehr2018-12-1314-3/+1608
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] Added support for linux-dmabuf-unstable-v1. Implement client side DMABUF buffer sharing support by supporting the linux-dmabuf-unstable-v1 (version 3) protocol. For enabling DMABUF, set the following environment variables for the compositor: QT_QPA_PLATFORM=eglfs QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=linux-dmabuf-unstable-v1 The current implementation supports the following DRM buffer formats: - RGB and RGBA - YUYV This implementation requires Mesa with the following patch applied. Otherwise, textures are not updated. The patch is contained in Mesa 18.1.5. See https://patchwork.freedesktop.org/patch/238080/ Fixes: QTBUG-66288 Fixes: QTBUG-67845 Change-Id: Id4d90337dbe0be956b0f964426ebed3f281c6c30 Reviewed-by: Johan Helsing <johan.helsing@qt.io>