diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-04-11 12:08:40 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-15 13:55:53 +0200 |
commit | d3cb4cfcfa11b71b433184b8116aae4dc57758ec (patch) | |
tree | 46ef4dc3954df276314c37251c33dbc58bce690b /examples/webenginewidgets/browser | |
parent | e545ecaf29779950c0c91aa4b5e179b650e7ac8c (diff) | |
download | qtwebengine-d3cb4cfcfa11b71b433184b8116aae4dc57758ec.tar.gz |
Fix the leak of resources imported more than once
A compositor owns the resources it produces through its ResourceProvider.
A refcount for each resource is kept according to how many times it
is exported to parent compositors. If the same resource is sent more
than once to the parent, the resource needs to be returned as often
in CompositorFrameAck messages to make sure that it gets cleaned up.
Since we would overwrite any previous MailboxTexture with a new one
when receiving a TransferableResource, this would break the refcount
of the child compositor and keep the resource alive.
This would cause http://ie.microsoft.com/testdrive/performance/penguinmark/
to continuously allocate new textures in the GPU thread.
Fix the issue by counting how many times the resource was imported, as
ResourceProvider does itself, and populate ReturnedResource::count
according to that value.
Change-Id: I3a1f8da41338b5d431592f92fca8ef865ee2415c
Reviewed-by: Arvid Nilsson <anilsson@blackberry.com>
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Diffstat (limited to 'examples/webenginewidgets/browser')
0 files changed, 0 insertions, 0 deletions