Bug 59129 - [chromium] Texture manager textures don't always get unreserved
Summary: [chromium] Texture manager textures don't always get unreserved
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Vangelis Kokkevis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-21 12:22 PDT by Vangelis Kokkevis
Modified: 2011-04-21 18:05 PDT (History)
2 users (show)

See Also:


Attachments
Patch (16.85 KB, patch)
2011-04-21 12:27 PDT, Vangelis Kokkevis
jamesr: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vangelis Kokkevis 2011-04-21 12:22:13 PDT
Currently layers reserve textures in the texture manager when their contents are painted and unreserve after the layer has been drawn.  Since the compositor can skip layers at draw time (e.g. when the layer is outside the clip rect) some textures are left reserved.  Over time they add to the memory (VRAM) bloat.

The debug chromium builds currently assert when a texture is reserved twice (which is an indication that the texture was not unreserved after the previous draw).

An easy repro case for the assert is loading this page:

http://www.satine.org/research/webkit/snowleopard/snowstack.html
Comment 1 Vangelis Kokkevis 2011-04-21 12:27:52 PDT
Created attachment 90577 [details]
Patch
Comment 2 James Robinson 2011-04-21 12:58:37 PDT
Comment on attachment 90577 [details]
Patch

Looks good.  I'm pretty sure this will conflict with enne's upload patch.
Comment 3 Vangelis Kokkevis 2011-04-21 18:05:58 PDT
Committed r84582: <http://trac.webkit.org/changeset/84582>