Summary: | Plasma causes X to leak video memory | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Ahmed Waheed <oneofone> |
Component: | general | Assignee: | David Edmundson <kde> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | bhush94, hamelg, plasma-bugs |
Priority: | NOR | ||
Version: | 5.7.3 | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/plasma-framework/8e517b1578ad1e5988f440790f5048416a7dd68c | Version Fixed In: |
Description
Ahmed Waheed
2016-08-31 18:03:18 UTC
Confirmed, issue with previews and threaded render loops. See my patch on Rb @David Edmundson any chance I can workaround this bug until it is fixed? Turn off window thumbnails in the task manager Git commit 8e517b1578ad1e5988f440790f5048416a7dd68c by David Edmundson. Committed on 03/09/2016 at 08:33. Pushed by davidedmundson into branch 'master'. WindowThumbnail: Do GL calls in the correct thread WindowThumbnail did some open GL operations, discarding old textures, in the GUI thread. Whislt it's not going to cause a threading issue (as updatePaintNode always ran when the main thread was blocked) we're not meant to mix threads with openGL contexts. It also seems to have a GL leak on nvidia, which was previously masked by the double delete fixed in https://git.reviewboard.kde.org/r/126131/diff/2/ It seems only one worked, and in the applied version we went with the wrong one. This patch makes use of QQuickItem::releaseResources to delete the GL textures on window change and destructor; it's then removed from stopRedirecting so that start/stop redirecting handles xcb on the GUI thread and updatePaintNode/discardPixmap is the GL stuff on the render thread. See http://doc.qt.io/qt-5/qquickitem.html#graphics-resource-handling REVIEW: 128763 M +114 -44 src/declarativeimports/core/windowthumbnail.cpp M +5 -1 src/declarativeimports/core/windowthumbnail.h http://commits.kde.org/plasma-framework/8e517b1578ad1e5988f440790f5048416a7dd68c *** Bug 368869 has been marked as a duplicate of this bug. *** |