summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Client: really use OpenGL ES 2 API for decoration blitterPeter Seiderer2019-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Really use (as the comment states) the OpenGL ES 2 API for the decoration blitter. Task-number: QTBUG-80356 Change-Id: I4c923343e721a824521fb9b2b36be5d2de984325 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Fix compilation of linuxdmabuf compositor pluginJohan Klokkhammer Helsing2019-12-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Mesa's eglext.h no longer includes eglmesaext.h, so copy over the typedefs we need. Fixes: QTBUG-79709 Change-Id: I3190ef56e0e162636efea440dff7e760cf11fcd0 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Adjust the Wayland Vulkan configuration testsJames McDonnell2019-12-062-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define VK_USE_PLATFORM_WAYLAND_KHR before the vulkan.h include so the test will fail if the Wayland WSI header doesn't exist. Require features.vulkan so that vulkan related code won't build when --disable-vulkan is used. Change-Id: I275efcb3e728b59c6f99598c235074b941f1fbf0 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2019-12-047-20/+52
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-12-037-20/+52
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | Conflicts: src/compositor/configure.json Change-Id: Id608424a63a4bcef4adb3f66d55a3cc32c86f2a2
| | * | Add client test for touch down and motion in same frameJohan Klokkhammer Helsing2019-11-291-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-79744 Change-Id: Ibb8239b4f53a345105bee3cc7a0fb4b777cabf9b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * | Avoid animating single frame cursorsDavid Edmundson2019-11-283-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently to determine if a cursor is animated or not we check the cursor theme delay. This doesn't work in practice as by default many cursor themes have a delay of 50 set even if they don't animate. This comes from xcursorgen which specifies a delay of 50ms if there isn't anything set in the config. (https://github.com/freedesktop/xcursorgen/blob/master/xcursorgen.c#L92) Given many themes will have a delay we should also check the number of images in a given cursor. In order to do that without a double lookup QWaylandCursor needed to return the native wl_cursor, not wl_cursor_image and move the relevant logic. Change-Id: Ie782ace8054910ae76e61cab33ceca0377194929 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | * | Fix detection of linux-dmabufJohan Klokkhammer Helsing2019-11-263-4/+4
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some systems drm_fourcc.h is not in /usr/include, but in /usr/include/libdrm, and that path can be found through pkg-config. This is already done with the drm lib in qtbase/src/configure.json so this just tells the test (and the plugins) to use the include paths for the existing "drm" lib. Fixes: QTBUG-80075 Change-Id: I84c8c1008724b49b6bedb4fc3ef398e292f1c6c7 Reviewed-by: Andreas Cord-Landwehr <cordlandwehr@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Add test for a compositor with no outputsJohan Klokkhammer Helsing2019-12-044-1/+75
|/ / | | | | | | | | | | | | | | | | | | This needs to be a separate test and can't be part of tst_output because there is special screen handling at platform integration initialization, which only happens once per test process. Task-number: QTBUG-79111 Change-Id: Iad9f98be6807c9071c783db1fa8e8c81a7de08be Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-2315-35/+100
|\ \ | |/ | | | | Change-Id: If5fcfe5252c1ac1db63ec77136b186a104280b57
| * Fix spelling of linuxaccessibility_support-privateJohan Klokkhammer Helsing2019-11-181-2/+2
| | | | | | | | | | | | | | | | Fixes issues with the cmake conversion tool. Task-number: QTBUG-78177 Change-Id: I49edbcba7494d1916cf6bf976148c9433615d8a0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Doc: Fix documentation warningsTopi Reinio2019-11-1311-24/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing function and function/qml method parameter documentation, linking issues, and other minor tweaks. QDoc fails to parse a Q_PROPERTY if the property type includes the keyword 'enum' - fix that in the header file for QWaylandXdgToplevel::DecorationMode. These changes bring the currect warning count to zero. Fixes: QTBUG-79817 Change-Id: I302b110eb91858f06e9cd410872a12365d421a8e Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-11-123-9/+9
| |\ | | | | | | | | | Change-Id: I24b2eade3e8946a654ef6cf3d02ea95255aa1c00
| | * Fix race condition in tests on xdg_toplevel configure5.13Johan Klokkhammer Helsing2019-11-072-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | Tests should not use non-direct connections, as that means tests can run when the compositor is not locked. Change-Id: I7b1f0e3bb866db540f72307ad96f778ec0edd7ee Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Fix touch being ignored when down and motion are in the same frameJohan Klokkhammer Helsing2019-11-051-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Wayland protocol gives no guarantees about which events are part of a frame, so handle the case where we receive wl_touch.down and wl_touch.motion within the same frame. Fixes: QTBUG-79744 Change-Id: I5dd9302576d81da38e003c8e7e74da6a98def603 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Compositor: Use RHI-compatible APIJohan Klokkhammer Helsing2019-11-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Egl clients now work when the compositor is started with QSG_RHI=1 and QSG_RHI_BACKEND=gl in the environment. Change-Id: I4ebcee174c86dd65470d41b5799c12def6b68f85 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Client: Add test for removing and adding a screen at runtimeJohan Klokkhammer Helsing2019-11-121-0/+43
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-79111 Change-Id: I4b8f08148850fe02972266936ba7d8d6ed1f36bb Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Support running with no screensJohan Klokkhammer Helsing2019-11-1220-42/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] The QPA plugin now supports running with no screens attached. This is handled by adding a fake screen when the last screen is disconnected, similarly to what the other QPA plugins do. Fixes: QTBUG-79111 Change-Id: I4a0e023ae784217dd030f0c62f12487fdff4825c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-097-5/+87
|\ \ \ | |/ / | | | | | | Change-Id: Idf4c63d08423691afd8823c734ba79085aa9e14f
| * | Coin: Make sure lib/libQt5WaylandCompositor.so gets split outJohan Klokkhammer Helsing2019-11-061-0/+1
| | | | | | | | | | | | | | | | | | Task-number: COIN-349 Change-Id: I62a888a72948dfb15d6210a6ede39d2fdde30f21 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
| * | Add configuration file to help the coin ExportTool to split the contentv5.14.0-beta3Simon Hausmann2019-11-051-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default all files shall be in the base package, but additional packages can be specified in the top-level object by name along with python glob.glob compatible masks. Task-number: COIN-349 Change-Id: Ic0e2bae67d7c8a596f249ce527bb58c0a50d7ab2 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Antti Kokko <antti.kokko@qt.io>
| * | Merge remote-tracking branch 'origin/5.13' into 5.14Liang Qi2019-11-056-5/+75
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylanddisplay.cpp src/client/qwaylandwindow.cpp Change-Id: I30ddf5305b3087b93cf4d6e562fd0146dea61cc0
| | * Add client test for subsurface with hidden parentJohan Klokkhammer Helsing2019-11-041-0/+23
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-79674 Change-Id: I451ee4423dee511f41070498a61167912920c086 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Client: Fix crash when showing a child window with a hidden parentJohan Klokkhammer Helsing2019-11-042-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Fixed a crash when showing a window with a hidden parent. Now we just avoid creating the subsurface, so nothing is shown. Seems to be the same behavior as on xcb. Fixes: QTBUG-79674 Change-Id: Ia46fcd9a0da5aad4704816a41515cb1e128ac65f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Add basic client test for subsurfacesJohan Klokkhammer Helsing2019-11-043-1/+43
| | | | | | | | | | | | | | | Change-Id: I1ef21287933a2afccad989f47e4fe59329b6f537 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Client tests: Fix flaky deadlockJohan Klokkhammer Helsing2019-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes the test would wait indefinitely in the compositor constructor, while also waiting in the compositor thread for m_ready to become true. m_ready is set to true in applicationInitialized(), which is supposed to be called from the client thread after QGuiApplication has been created (and also after the MockCompositor constructor has returned). I.e. the problem is that the wake in MockCompositor::run may sometimes happen before the MockCompositor::MockCompositor starts waiting. Move the wake inside the pre-initialized compositor loop. Essentially waking every 20 ms until the application is initialized. Fixes: QTBUG-66570 Change-Id: Ia5eba5d08ce4d1d3eeca99eae6cfa7d9d4fd5a0b Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Simon Hausmann2019-10-3123-61/+209
|\ \ \ | |/ / | | | | | | Change-Id: I29524a74e495dd46c0dc5d0a0d10e41e55526f14
| * | Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-10-314-3/+73
| |\ \ | | |/ | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: If2159587c5183fcf57558f045bd9af2f25c8289f
| | * Set temporary XDG_RUNTIME_DIR for more testsJohan Klokkhammer Helsing2019-10-313-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests were left out when we switched to using a temporary XDG_RUNTIME_DIR. Fixes: QTBUG-79652 Change-Id: I8208d63f3f6a937406d25b1a8cf3f5b0be04bc73 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| | * Merge remote-tracking branch 'origin/5.13.2' into 5.13Qt Forward Merge Bot2019-10-302-1/+68
| | |\ | | | | | | | | | | | | Change-Id: I677effc9e146875049ac28f094f1a129f27755d8
| | | * Add changes file for Qt 5.13.2v5.13.25.13.2Johan Klokkhammer Helsing2019-10-151-0/+67
| | | | | | | | | | | | | | | | | | | | Change-Id: Icfb0c2bcbf6ae9705da93480c8113fe5baccf33a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | * Bump versionFrederik Gladhorn2019-10-141-1/+1
| | | | | | | | | | | | | | | | Change-Id: I5c9a25629d55b97d839904f73b3bf5cf91ce337e
| * | | Compositor: Use logging category in egl client integrationJohan Klokkhammer Helsing2019-10-301-16/+29
| | | | | | | | | | | | | | | | | | | | Change-Id: I5ad3663b3710b939f08798abad3bc985ab460e88 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | Compositor: Warn and clean up when server buffer integrations failJohan Klokkhammer Helsing2019-10-2813-36/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it consistent with how client buffer integrations work. Also doesn't leave partially initialized integration around for the compositor to use. Change-Id: I6ff898639b958f62330879a2eff1acbc7e5cdb1f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | Remove unused variable WaylandEglClientBufferIntegrationPrivate::validJohan Klokkhammer Helsing2019-10-281-2/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: I489267d8378cbcaf7ae7cd8eee48d4e2a71ca91a Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * | | Update plugins.qmltypes for 5.14Johan Klokkhammer Helsing2019-10-281-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-78690 Change-Id: Id6208ff504894844e3eee5bb5c21ddb07c456cfe Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-264-3/+6
| |\ \ \ | | |/ / | | | | | | | | Change-Id: Ie283d8861ecf11f21621ab18efdc780143559b52
| | * | Client tests: Set WAYLAND_DISPLAYJohan Klokkhammer Helsing2019-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests would previously fail if WAYLAND_DISPLAY was set to something other than empty or wayland-0. For instance when running multiple compositors and trying to run the tests, they would fail because they create a compositor on wayland-0 (using wl_display_add_socket_auto()), but would try to connect to wayland-1 due to the env var. Change-Id: I7771d41737410d5c32f5a6db3de4987096cb4d22 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * | Compositor: Fix crashes when destroying uninitialized surfacesJohan Klokkhammer Helsing2019-10-222-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happened when running qmlplugindump for QtWayland. [ChangeLog][Compositor] Fixed a crash when destroying WaylandSurfaces and WlShellSurfaces which had not yet been initialized. Change-Id: Ia35cc1ccddc6146453d4dbba0ffd41a012a526e3 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * | Compositor: Fix access to member of null referenceJohan Klokkhammer Helsing2019-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This could happen if there were no seats. Change-Id: I4c88a5768289e2ac8a736efaa14e37d499de01c9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-2628-126/+232
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: If09bb13aa7a0aadd5cfb8265166d3b9d1b22e2f1
| * | | Compositor: Warn and clean up when client hardware buffer integrations failJohan Klokkhammer Helsing2019-10-2514-73/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've recently seen a number of performance issues on bugreports and on the mailing list. The problem in many of these cases, is that no client hardware buffer plugin is used. I.e. it's just due to our fallback to CPU buffers when the compositor is configured incorrectly or run in a setup where hardware buffers are not available. This patch detects when client hardware buffer plugins fail and prints a warning explaining the issue to the console. This will make it easier to differentiate between expected and unexpected drops in performance and will hopefully also guide users in the right direction to fix their setup (set the right environment variables and perhaps recompile Qt with a supported OpenGL version). QtWayland::ClientBufferIntegration now returns a bool indicating success or failure. The integration is now destroyed immediately if it failed, instead of leaving it lying around until the compositor shuts down. There has been some slight changes in the xcomposite plugins as well, turning some qFatals into qCWarnings and failing more softly (with the warning mentioned above). Task-number: QTBUG-78483 Change-Id: I55293dbb3cf72768f3982c075fcf63e79329ada1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | Fix QClipboard::ownSelection always returning falseJohan Klokkhammer Helsing2019-10-252-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It would return false regardless of whether we owned the selection. Change-Id: I6df394d8dbceeccb6eb6d0670b4351af1a158491 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | Fix missing emission of QClipboard::selectionChangedJohan Klokkhammer Helsing2019-10-243-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And add a test to verify we've fixed it. Change-Id: Ic6d5e64b3000444465935f7caf7e32ec9c4f1012 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | Add client test for clipboard when losing keyboard focusJohan Klokkhammer Helsing2019-10-232-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, verifies that we fixed a recent bug about QClipboard::dataChanged not being emitted when the clipboard is invalidated due to losing focus. Change-Id: Ie92b618a4f673c21d6582979249700aef8785536 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
| * | | Signal clipboard change when focus lost clears the selection offerPekka Vuorela2019-10-221-0/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: I311a5d422f31347029795dbd2479a771ae93c01f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | | Fix url getting broken on openUrlPekka Vuorela2019-10-211-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UTF-8 byte array cannot be split in random position and assume getting valid content on resulting parts. Switched chunk size to be based on characters, encoded size will vary but don't think that should matter. Change-Id: Ic41ea16d2111b1620993b60fdbc6e739929f25d7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | Client: Print a warning when trying to set clipboard without a seatJohan Klokkhammer Helsing2019-10-211-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This warning can save some time when trying to understand why some qtbase auto tests are failing on headless Weston (which doesn't have seats at the moment). Change-Id: I361546611d12bff8a465af5bb103f61e80d73a15 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * | | Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-10-216-42/+21
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandwindow.cpp tests/auto/compositor/compositor/tst_compositor.cpp Change-Id: Iacfcae577a4a99c847694ae3a2c6e3e9ae050817
| | * | Client: Fix 100ms freeze when applications do not swap after ↵Johan Klokkhammer Helsing2019-10-172-38/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deliverUpdateRequest [ChangeLog][QPA plugin] Fixed a 100 ms freeze that would occur if applications did not draw after receiving a deliverUpdateRequest(). QtQuick does this at the start of animations. This should get rid of those backingstore warnings (and also remove a 100ms freeze before animations start in those instances). Fixes: QTBUG-76813 Change-Id: Id366bf4a14f402fa44530ae46e7b66d9988c14f6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: John Brooks <john.brooks@qt.io>