Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.9
-
None
Description
When using the linux-dmabuf integration and deleting buffers, the LinuxDmabufWlBuffer and its wl_buffer remains in memory until the client disconnects. While this is very little memory per instance, it can accumulate over time.
It happens because the object is not deleted when the wl_buffer::destroy request is received, but only later when wl_resource_destroy() is called.
Comparing to e.g. the brcm plugin, this calls wl_resource_destroy() from the wl_buffer::destroy() handler. It may be complicated by the fact that there are pointers to the LinuxDmabufWlBuffer objects kept in other places which also need to be cleaned up.
Possible fix here: https://codereview.qt-project.org/c/qt/qtwayland/+/611586
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-132208 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
611586,3 | Clean up buffers on destroy requests immediately | dev | qt/qtwayland | Status: NEW | +2 | +1 |