diff options
author | 2010-07-06 11:39:32 -0700 | |
---|---|---|
committer | 2010-07-06 12:00:33 -0700 | |
commit | dda570201ac851dd85af3861f7e575721d3345da (patch) | |
tree | 795e46c7cae42b22814af1ef2ac70c083debd746 /libs/hwui/TextureCache.cpp | |
parent | 216108c492fef05261c70f1018d94cef0c3b23fd (diff) |
Add a layer (FBO) cache.
The cache is used to draw layers so that a new
texture does not have to be recreated every time
a call to saveLayer() happens.
The FBO cache used a KeyedVector, which is a bad
idea. The cache should be able to store several
FBOs of the same size (this happens a lot during
scrolling with fading edges for instance.) This
will be changed in a future CL.
Change-Id: Ic316189e625f0dbcf0d273a71cc981a433d48726
Diffstat (limited to 'libs/hwui/TextureCache.cpp')
-rw-r--r-- | libs/hwui/TextureCache.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/hwui/TextureCache.cpp b/libs/hwui/TextureCache.cpp index 93ee138a373c..612f04e5570e 100644 --- a/libs/hwui/TextureCache.cpp +++ b/libs/hwui/TextureCache.cpp @@ -28,7 +28,7 @@ namespace uirenderer { /////////////////////////////////////////////////////////////////////////////// TextureCache::TextureCache(uint32_t maxByteSize): - mCache(GenerationCache<SkBitmap, Texture>::kUnlimitedCapacity), + mCache(GenerationCache<SkBitmap*, Texture*>::kUnlimitedCapacity), mSize(0), mMaxSize(maxByteSize) { mCache.setOnEntryRemovedListener(this); } @@ -60,7 +60,7 @@ void TextureCache::setMaxSize(uint32_t maxSize) { // Callbacks /////////////////////////////////////////////////////////////////////////////// -void TextureCache::operator()(SkBitmap* bitmap, Texture* texture) { +void TextureCache::operator()(SkBitmap*& bitmap, Texture*& texture) { if (bitmap) { const uint32_t size = bitmap->rowBytes() * bitmap->height(); mSize -= size; |