[Webkit-unassigned] [Bug 89786] [Chromium] RenderPass textures are evicted at the end of every frame

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 22 16:34:06 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=89786





--- Comment #5 from Dana Jansens <danakj at chromium.org>  2012-06-22 16:34:05 PST ---
(From update of attachment 149107)
View in context: https://bugs.webkit.org/attachment.cgi?id=149107&action=review

>>>> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:-1196
>>>> -    m_implTextureManager->deleteEvictedTextures(m_implTextureAllocator.get());
>>> 
>>> So what is actually holding the render surface textures to the limit?
>> 
>> Hiliariously, I don't think we actually hold ourselves to the max limit at all during drawing, we evict but don't delete, and end up allocating and keeping all the surfaces in the frame until the frame is done.
>> 
>> The delete here would be good to drop us back to the max limit. To actually stay below it, we should be deleting evicted textures between every reserve() and allocate() on a managed texture in LRC.
> 
> Can evict and delete be one operation?

The TextureManager we're using right now is designed for cross-thread operation, really for a completely different use case. Evict is something done on the main thread so it doesn't actually do the delete (main thread can't access the GC3d).

reserve() causes the eviction, so you could call deleteEvictedTextures() after each reserve and that would have the effect.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list