Bug 59129

Summary: [chromium] Texture manager textures don't always get unreserved
Product: WebKit Reporter: Vangelis Kokkevis <vangelis>
Component: WebCore Misc.Assignee: Vangelis Kokkevis <vangelis>
Status: RESOLVED FIXED    
Severity: Normal CC: enne, jamesr
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Patch jamesr: review+

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>