From 9a6bed4d97b22de2dfdd32f1128aa30acdd9e439 Mon Sep 17 00:00:00 2001 From: Hiroyuki Ishii Date: Tue, 29 Jun 2021 17:13:03 +0900 Subject: qt5: Fix timer leak in qtwayland to avoid animations being sluggish With long-running qt applications which have fluid animations in wayland environment, the animation becomes obviously sluggish because massive amount of memcpy() is called through a constructor being placed in a loop in QTimerInfoList::timerInsert() function. This is caused by a timer-index leak bug of qtwayland, which is already reported to the qt project as following ticket. https://bugreports.qt.io/browse/QTBUG-79838 Unfortunately QTBUG-79838 is still open because maintenance of non-commercial version of qt5 is already stopped. However, we've confirmed that the patch attached to that ticket works fine except for that part of it is no longer needed due to the deletion of the code. So let's apply only effective part of it. Bug-AGL: SPEC-3991 Signed-off-by: Hiroyuki Ishii Change-Id: Ib148b81aabb98e8df10c1414cdbfe26f7ddf09a6 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26466 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller --- .../dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland_aglcore.inc | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland_aglcore.inc (limited to 'meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland_aglcore.inc') diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland_aglcore.inc b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland_aglcore.inc new file mode 100644 index 000000000..ef5d0c7b5 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland_aglcore.inc @@ -0,0 +1,6 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/qtwayland:" + +# Patch reported in https://bugreports.qt.io/browse/QTBUG-79838, not upstreamed +SRC_URI += " \ + file://0001-Fix-timer-leak-and-a-potential-race.patch \ + " -- cgit 1.2.3-korg