summaryrefslogtreecommitdiff
path: root/libs/hwui/TextureCache.cpp
diff options
context:
space:
mode:
author Romain Guy <romainguy@android.com> 2010-07-06 11:39:32 -0700
committer Romain Guy <romainguy@android.com> 2010-07-06 12:00:33 -0700
commitdda570201ac851dd85af3861f7e575721d3345da (patch)
tree795e46c7cae42b22814af1ef2ac70c083debd746 /libs/hwui/TextureCache.cpp
parent216108c492fef05261c70f1018d94cef0c3b23fd (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.cpp4
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;